From c428d1bdbbff34858304a13d2c70ddeabc3cd38b Mon Sep 17 00:00:00 2001 From: MissingNoL Date: Sun, 23 May 2021 17:59:14 -0700 Subject: [PATCH 01/13] Coded Hyperspace Fury --- data/battle_scripts_1.s | 11 +++++++++++ include/battle_scripts.h | 1 + src/battle_script_commands.c | 7 ++++++- src/data/battle_moves.h | 10 +++++----- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 77eddc8ab6..3c59041b6c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6058,6 +6058,17 @@ BattleScript_AtkDefDownTryDef: BattleScript_AtkDefDownRet: return +BattleScript_DefDown:: + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE + setstatchanger STAT_DEF, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_DefDownRet + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DefDownRet + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_DefDownRet: + return + BattleScript_DefSpDefDown:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 0b94a6ae72..196383dc35 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -90,6 +90,7 @@ extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[]; extern const u8 BattleScript_WishComesTrue[]; extern const u8 BattleScript_IngrainTurnHeal[]; extern const u8 BattleScript_AtkDefDown[]; +extern const u8 BattleScript_DefDown[]; // Hyperspace Fury extern const u8 BattleScript_DefSpDefDown[]; extern const u8 BattleScript_KnockedOff[]; extern const u8 BattleScript_MoveUsedIsImprisoned[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fc0eedcbc4..b990f7d7d4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3148,7 +3148,12 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } - } + } + if (gCurrentMove == MOVE_HYPERSPACE_FURY) + { + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DefDown; + } break; case MOVE_EFFECT_SPECTRAL_THIEF: gBattleStruct->stolenStats[0] = 0; // Stats to steal. diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 61050e44fd..fa1d54c391 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9581,15 +9581,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HYPERSPACE_FURY] = { - .effect = EFFECT_PLACEHOLDER, - .power = 0, + .effect = EFFECT_FEINT, + .power = 100, .type = TYPE_DARK, .accuracy = 0, - .pp = 0, - .secondaryEffectChance = 0, + .pp = 5, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, + .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, }, From 0d47269798452d1fa05fde08e25323f0c605b003 Mon Sep 17 00:00:00 2001 From: MissingNoL Date: Sun, 23 May 2021 18:11:53 -0700 Subject: [PATCH 02/13] Spaces instead of tabs --- src/battle_script_commands.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b990f7d7d4..ede3d16a3a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3149,11 +3149,11 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } } - if (gCurrentMove == MOVE_HYPERSPACE_FURY) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_DefDown; - } + if (gCurrentMove == MOVE_HYPERSPACE_FURY) + { + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DefDown; + } break; case MOVE_EFFECT_SPECTRAL_THIEF: gBattleStruct->stolenStats[0] = 0; // Stats to steal. From 07a9674d22dc60fb2f5f059573ec48a950803d0c Mon Sep 17 00:00:00 2001 From: MissingNoL Date: Sun, 23 May 2021 18:30:22 -0700 Subject: [PATCH 03/13] Fixed --- data/battle_scripts_1.s | 11 ----------- include/battle_scripts.h | 1 - src/battle_script_commands.c | 5 ----- src/data/battle_moves.h | 3 ++- 4 files changed, 2 insertions(+), 18 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 3c59041b6c..77eddc8ab6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6058,17 +6058,6 @@ BattleScript_AtkDefDownTryDef: BattleScript_AtkDefDownRet: return -BattleScript_DefDown:: - setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE - setstatchanger STAT_DEF, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_DefDownRet - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DefDownRet - printfromtable gStatDownStringIds - waitmessage 0x40 -BattleScript_DefDownRet: - return - BattleScript_DefSpDefDown:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 196383dc35..0b94a6ae72 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -90,7 +90,6 @@ extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[]; extern const u8 BattleScript_WishComesTrue[]; extern const u8 BattleScript_IngrainTurnHeal[]; extern const u8 BattleScript_AtkDefDown[]; -extern const u8 BattleScript_DefDown[]; // Hyperspace Fury extern const u8 BattleScript_DefSpDefDown[]; extern const u8 BattleScript_KnockedOff[]; extern const u8 BattleScript_MoveUsedIsImprisoned[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ede3d16a3a..e9fce3ac6f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3149,11 +3149,6 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } } - if (gCurrentMove == MOVE_HYPERSPACE_FURY) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_DefDown; - } break; case MOVE_EFFECT_SPECTRAL_THIEF: gBattleStruct->stolenStats[0] = 0; // Stats to steal. diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index fa1d54c391..5a9de6b9e9 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9581,7 +9581,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HYPERSPACE_FURY] = { - .effect = EFFECT_FEINT, + .effect = EFFECT_ATTACKER_DEFENSE_DOWN_HIT, .power = 100, .type = TYPE_DARK, .accuracy = 0, @@ -9591,6 +9591,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .argument = MOVE_EFFECT_FEINT, }, [MOVE_SHORE_UP] = From 031504cd1217c3a0358b3e3466a09ecf02da7118 Mon Sep 17 00:00:00 2001 From: MissingNoL Date: Sun, 23 May 2021 18:31:49 -0700 Subject: [PATCH 04/13] Spaces instead of tabs --- src/battle_script_commands.c | 2 +- src/data/battle_moves.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e9fce3ac6f..fc0eedcbc4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3148,7 +3148,7 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } - } + } break; case MOVE_EFFECT_SPECTRAL_THIEF: gBattleStruct->stolenStats[0] = 0; // Stats to steal. diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 5a9de6b9e9..689218c3a5 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9591,7 +9591,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .argument = MOVE_EFFECT_FEINT, + .argument = MOVE_EFFECT_FEINT, }, [MOVE_SHORE_UP] = From bfc66a21cc6a03ea34e3f1dd4d8647a7943b54fd Mon Sep 17 00:00:00 2001 From: MissingNoL Date: Sun, 6 Jun 2021 19:14:11 -0700 Subject: [PATCH 05/13] `gBattlescriptCurrInstr[3]` is not reading `species` parameter --- asm/macros/battle_script.inc | 6 ++++++ data/battle_scripts_1.s | 13 +++++++++++++ include/constants/battle_config.h | 2 ++ include/constants/battle_move_effects.h | 3 ++- include/constants/battle_script_commands.h | 1 + include/constants/battle_string_ids.h | 4 +++- include/constants/pokemon.h | 1 + src/battle_message.c | 4 ++++ src/battle_script_commands.c | 8 ++++++++ src/data/battle_moves.h | 4 ++-- 10 files changed, 42 insertions(+), 4 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 9fa3fe0c32..9d624195b5 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1769,6 +1769,12 @@ various \battler, VARIOUS_TRY_ACTIVATE_GRIM_NEIGH .endm + .macro jumpifspecies battler:req, species:req, ptr:req + various \battler, VARIOUS_JUMP_IF_SPECIES + .byte \species + .4byte \ptr + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index b5dc673a0d..6fb81c9ac6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -11,6 +11,7 @@ #include "constants/game_stat.h" #include "constants/trainers.h" #include "constants/battle_config.h" +#include "constants/species.h" .include "asm/macros.inc" .include "asm/macros/battle_script.inc" .include "constants/constants.inc" @@ -369,6 +370,18 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectSleepHit .4byte BattleScript_EffectAttackerDefenseDownHit .4byte BattleScript_EffectBodyPress + .4byte BattleScript_EffectHyperspaceFury + +BattleScript_EffectHyperspaceFury: + jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectAttackerDefenseDownHit + jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt + printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd +BattleScript_ButHoopaCantUseIt: + printstring STRINGID_BUTHOOPACANTUSEIT + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd BattleScript_EffectAttackerDefenseDownHit: setmoveeffect MOVE_EFFECT_DEF_MINUS_1 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index fe376da8d2..9e610b43cc 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -35,6 +35,8 @@ #define SPECIES_ZYGARDE 0 // 50% #define SPECIES_ZYGARDE_10 10011 // 10 % #define SPECIES_ZYGARDE_COMPLETE 10012 // 100 % + #define SPECIES_HOOPA 0 + #define SPECIES_HOOPA_UNBOUND 10013 #endif // Items with peculiar battle effects. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 6174ca4968..0fa6dea893 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -353,7 +353,8 @@ #define EFFECT_SLEEP_HIT 347 // Relic Song #define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 348 #define EFFECT_BODY_PRESS 349 +#define EFFECT_HYPERSPACE_FURY 350 -#define NUM_BATTLE_MOVE_EFFECTS 350 +#define NUM_BATTLE_MOVE_EFFECTS 351 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index faaf8f17e0..87139bbe0a 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -173,6 +173,7 @@ #define VARIOUS_DESTROY_ABILITY_POPUP 102 #define VARIOUS_TOTEM_BOOST 103 #define VARIOUS_TRY_ACTIVATE_GRIM_NEIGH 104 +#define VARIOUS_JUMP_IF_SPECIES 105 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 266aef147f..9e39413249 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -570,8 +570,10 @@ #define STRINGID_MICLEBERRYACTIVATES 566 #define STRINGID_PKMNSHOOKOFFTHETAUNT 567 #define STRINGID_PKMNGOTOVERITSINFATUATION 568 +#define STRINGID_BUTPOKEMONCANTUSETHEMOVE 569 +#define STRINGID_BUTHOOPACANTUSEIT 570 -#define BATTLESTRINGS_COUNT 569 +#define BATTLESTRINGS_COUNT 571 // The below IDs are all indexes into battle message tables, // used to determine which of a set of messages to print. diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 322bee7061..39157a53bf 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -315,6 +315,7 @@ #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_HIT_IN_SUBSTITUTE (1 << 25) // Hyperspace Fury // Split defines. #define SPLIT_PHYSICAL 0x0 diff --git a/src/battle_message.c b/src/battle_message.c index d4d5756f90..9f4de13d99 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -696,6 +696,8 @@ static const u8 sText_CanActFaster[] = _("{B_ATK_NAME_WITH_PREFIX} can act faste static const u8 sText_MicleBerryActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted the accuracy of its\nnext move using {B_LAST_ITEM}!"); static const u8 sText_PkmnShookOffTheTaunt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} shook off\nthe taunt!"); static const u8 sText_PkmnGotOverItsInfatuation[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} got over\nits infatuation!"); +static const u8 sText_ButPokemonCantUseTheMove[] = _("But {B_ATK_NAME_WITH_PREFIX} can't\nuse the move!"); +static const u8 sText_ButHoopaCantUseIt[] = _("But Hoopa can't use it\nthe way it is now!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { @@ -1256,6 +1258,8 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_AURABREAKENTERS - 12] = sText_AuraBreakActivates, [STRINGID_COMATOSEENTERS - 12] = sText_ComatoseActivates, [STRINGID_SCREENCLEANERENTERS - 12] = sText_ScreenCleanerActivates, + [STRINGID_BUTPOKEMONCANTUSETHEMOVE - 12] = sText_ButPokemonCantUseTheMove, + [STRINGID_BUTHOOPACANTUSEIT - 12] = sText_ButHoopaCantUseIt, }; const u16 gTerrainStringIds[] = diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4c95ecb63d..2a4b2e347e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8426,6 +8426,12 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 7; // exit if loop failed (failsafe) } return; + case VARIOUS_JUMP_IF_SPECIES: + if (gBattleMons[gBattlerAttacker].species == gBattlescriptCurrInstr[3]) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 4); + else + gBattlescriptCurrInstr += 8; + return; } gBattlescriptCurrInstr += 3; @@ -11862,6 +11868,8 @@ bool32 DoesSubstituteBlockMove(u8 battlerAtk, u8 battlerDef, u32 move) return FALSE; else if (GetBattlerAbility(battlerAtk) == ABILITY_INFILTRATOR) return FALSE; + else if (gBattleMoves[move].flags & FLAG_HIT_IN_SUBSTITUTE) + return FALSE; else return TRUE; } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 7746b1196f..ecc0f907b1 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9678,7 +9678,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HYPERSPACE_FURY] = { - .effect = EFFECT_ATTACKER_DEFENSE_DOWN_HIT, + .effect = EFFECT_HYPERSPACE_FURY, .power = 100, .type = TYPE_DARK, .accuracy = 0, @@ -9686,7 +9686,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIT_IN_SUBSTITUTE, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_FEINT, }, From e12c7c07acefaae2d8324cf173e413404a39041a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 13 Oct 2021 21:01:47 -0400 Subject: [PATCH 06/13] New move tilemap bins are easier to edit --- .../battle_anims/backgrounds/dark_void.bin | Bin 1236 -> 2048 bytes .../backgrounds/new/aeroblast_map.bin | Bin 804 -> 896 bytes .../backgrounds/new/blackhole_eclipse.bin | Bin 892 -> 896 bytes .../backgrounds/new/bloom_doom.bin | Bin 564 -> 896 bytes .../backgrounds/new/bolt_strike.bin | Bin 780 -> 896 bytes .../backgrounds/new/clangorous_soulblaze.bin | Bin 700 -> 2048 bytes .../backgrounds/new/dark_void.bin | Bin 1236 -> 2048 bytes .../backgrounds/new/electric_terrain.bin | Bin 2020 -> 4096 bytes .../battle_anims/backgrounds/new/fire1.bin | Bin 684 -> 896 bytes .../backgrounds/new/focus_blast.bin | Bin 952 -> 896 bytes .../backgrounds/new/giga_impact_opponent.bin | Bin 704 -> 896 bytes .../backgrounds/new/giga_impact_player.bin | Bin 744 -> 896 bytes .../backgrounds/new/grassy_terrain.bin | Bin 2244 -> 4096 bytes .../backgrounds/new/high_speed.bin | Bin 496 -> 896 bytes .../backgrounds/new/hydro_cannon.bin | Bin 880 -> 4096 bytes .../backgrounds/new/hydro_pump.bin | Bin 224 -> 896 bytes .../backgrounds/new/inferno_overdrive.bin | Bin 556 -> 896 bytes .../backgrounds/new/leaf_storm.bin | Bin 924 -> 896 bytes .../backgrounds/new/malicious_moonsault.bin | Bin 544 -> 896 bytes .../backgrounds/new/max_lightning.bin | Bin 744 -> 896 bytes .../backgrounds/new/misty_terrain.bin | Bin 2180 -> 4096 bytes .../backgrounds/new/neverending_nightmare.bin | Bin 744 -> 896 bytes .../backgrounds/new/nightmare.bin | Bin 756 -> 896 bytes .../backgrounds/new/psychic_terrain.bin | Bin 1904 -> 4096 bytes .../backgrounds/new/rock_wrecker.bin | Bin 676 -> 896 bytes .../backgrounds/new/shattered_psyche.bin | Bin 808 -> 896 bytes .../battle_anims/backgrounds/new/sky_day.bin | Bin 1052 -> 896 bytes .../backgrounds/new/snuggle_forever.bin | Bin 988 -> 896 bytes .../new/soulstealing_7star_strike.bin | Bin 968 -> 896 bytes .../backgrounds/new/spacial_rend_opponent.bin | Bin 1000 -> 896 bytes .../backgrounds/new/spacial_rend_player.bin | Bin 996 -> 896 bytes .../backgrounds/new/trick_room.bin | Bin 844 -> 896 bytes .../backgrounds/new/twinkle_tackle.bin | Bin 784 -> 896 bytes .../backgrounds/new/water_pulse.bin | Bin 600 -> 896 bytes .../backgrounds/new/waterfall.bin | Bin 2128 -> 2048 bytes .../backgrounds/new/zmove_activate.bin | Bin 520 -> 896 bytes .../backgrounds/new/zmove_mountain.bin | Bin 760 -> 896 bytes .../backgrounds/spacial_rend_opponent.bin | Bin 1000 -> 896 bytes .../backgrounds/spacial_rend_player.bin | Bin 996 -> 896 bytes 39 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/battle_anims/backgrounds/dark_void.bin b/graphics/battle_anims/backgrounds/dark_void.bin index 922b72bc74d7f5c773331b1af537d54c2e939038..97b879f01ba8ebc08c92d30497c894a1a7b186c8 100644 GIT binary patch literal 2048 zcmeH`W0Rg)6h-HaZF8-pgO1IPZM$RJwr!_l+qP|IY}=lBlA3=pUAJznefB-)!?{&E zL<~a2Bo?uWLtNq!p9CZ%5s3poNpO>rjO3&sC8Q3JlqG_4l&1m}sYGR}P?c&_rv^2t zMQ!R(mwMEv0S#$HW17&EW;CY-Eont-+7L-w+R>g4bfgoV=|We!(VZUjq!+#ELtpyQ zp8*VH5Q7=QP=+y_5sYLMqZz|k#xb4=Ok@(1nZi`2F`XIAWEQiT!(8Sup9L&r5sO*E zQkJot6|7_xQNhoISj`&NvMx{|*0X_)Y+^H8*c#N^*#64j!A^Fun?3AhANx7LK@M@4 zBOK)z$2q}CPH~zuoaG$nxxhs(ahWSz$y!A)*)n>*a)9`|{`Lmu&%Cp_gD&w0V? zyuq8i#oN5YyS&Hye87i%#K(NXr+miee8HD|#n*hpw|vL<{J@X=#LxV~ul&aE{K236 z#ozqHYle(rOk)|_IL0-e@l9Yt6Pef~CN-JKO<_t?nc6g_HJ$0rU`8{U*(_!iHJjND zGlx0NWp2aGV_x%_-vSo2kcBN`QHxpJ5|%VXDN9=>V2HATddZh3!g7|kLQq$^Beaj3%_?g&RZ%F&K-tm7Q-1SdMl$xd;q z)12-MXFAK-&T+2uobLh`y2!;YajDB(?h04B$|zU6#JKX6m zce}^E?sLBfJm?`0d&Hw2^SCEG=_yZp#3~?@CWcYb6c+pE<_KH`%=5=p)(_7y5 ij(5H1eINMHM?Ut6PkrWdUj%c}`H#+jbpHRZ`TrM_mOTvs literal 1236 zcmb`DQ*a�EG8%o2G73rS7+FiquMtziyh^wr$(CZQHhOoNf1v=K6Sd&o{d-JM+!# z?1m|k6d)b};-dtFkdRQ6h{PlzDQS|CToEahDJ2RcoK&PHK^oGMP6Z+eOHT$xXCxEK zOct_|4S~r{4irgFa*-S5A&R`@L-{E{K?P#29(hYT|2R-S9deeu#^h5m_z(59}!3<$2!_aU>Fp^PdG-DXcI5eIKOk@(8%oL_F z4NYeTGns{EGl#j%L-Sd{LKdOLEMY0j2rOp>D_IrD@cQJ{tYIy|b%B@w>)C)dvWd-X zq3YH^t8Hv2Vh7sEE_SmA?PVYPIe-pwh{GH~M>)oEPN0*V;xuQ_St#dB$^Ipf`Avw|E=9!@Io4`{)BcMs-jiR)m_6itr*vGtZO@1M=^C>&-EQ_Kx{)da$^UZs9jSxb8`ng_)6>wZ>$5AZ+_vIcvIhkBSb+#@{FqpZ;$ zKhm)_x!GK_9XX`-qSFn04GIeA1^Ja@uEn zwo>kMfr@G!b>0_z(YoZzzT&IaHDC7)-?VP|w(t0^bd-nn#)T*@>76<6rwQk z6rregi&30}6jg$fl%h0cC~Np~l&1m}HCc(uRH3TgrW)0$K~3$|qPE&P)YbFrQJ)6- z){sUtrU^|A-%Rt(X`$Jcw4ya_XiGcV(}9lK>!kV4#787=(1otVhjyboJ?Qz*_oBCE z`_NatHT~$%00uIM!3;^Uxp~G=hB2HGjARs}4L^pljAOj|2~0HnBqpn$!c?X){Xd_; z3}!Nm+00?C;pZ`*1uRs*h{Y^1pC7uEWxD@zR?xweym|6-rS?{-U(FiB=VUGGSg(Eq z8`-3OGh5ioHnvmLwBx_?cd|?Gw3|KbWuM{qb3n~O^>!TMFh@AbF^+SBlbqr-XHrZ! z%Q+G`&jl`WiOYt!jt>prIES(cnxM9CdRheWw;GppQG?xW=B zK(0uoShF2+)RwC|Ay;yio3`Z-c)#9GG)^3YB_<9VDMC@=@gc=1P68#6l9Zw}4xV3< z6G@^Bl1y33Q65PlC9MJ#@l~QSj$4JQ7N7*gttJGiP7P`bAyTPD?WpvKCyhGP73xu+ z2BZrOX+&e1_-INq+~&0K(UMk@9p(YS#Uq2(LK`w^OS{Q3|3TW*A!<4bo#;##9)hk! zvgk&4=pnfe)01BCh~z&?ZypQKM-KL-pM?9v0ErA_5RXTt(_n`11W$$-N^F=EJjK&d zDR_ow8P0RU2%cvoqe8r3{4dJH(PVmQSvg}EOJ>N7V>}a>IMDS^BHM&tA|kHXM9Ec3Uq=8^qnnri_TanGe`v3bx{W z$TlnCBR)nxVLPAFE|~dQUTgxxznI>|d_pU9ZSDzNs;+`h1PtX!tQl*rZR!99RiJGKkG+FbU=1#b*mecYoDOy1*Y9-C6 z?73C6s@idur;-uSY8q6jt~Io#hE!6ume$rZb?RtcG4-^*N&`*ThT2G_u{P1BdJk%x B*LVN` diff --git a/graphics/battle_anims/backgrounds/new/blackhole_eclipse.bin b/graphics/battle_anims/backgrounds/new/blackhole_eclipse.bin index 27457c9a1651b819f7523b850c7d82f049f802ba..54c73addcf4edf828bf0826820bd8a5f61b947db 100644 GIT binary patch literal 896 zcmZ9~Wl$DC6op~26$AwZ1(o+$fP#sFqJpAg2cdupDi#*l-QC^Y-QC^Y-QC@}ANoU` zJ9BqtXP$e{?5q`uNkUSRk(?ByBo(Q##)dT5Vn2%L{pFYG$4kCG@>z0Xi6;2 zXif{Wvn8#FBc9f@p)KubPX{{E$!zXS7rN4o?)0E1z35FJ`qIzj>(2lNGRSB@1~Y`A z3}ZMW7|AF`GlsE@V>}a>$Ry(@Gli*4V>&aK$t-3whq=sSzR?R<$RZZAgrzKFxzUzd z!Ae%Knl-Fto$>40z(zK)nJsK(8{65zPIei;+xUg-VK4jG&jAi5_(L4#2uC@_aZYfO zQ=H}uXF11tE^yJfOI+rPIjzTLQ|TN zh>~bd3tFO9v?dvlX+sKaQ9Ig`N*a+4bfi;Nn2s{&Ocydy7G3E^chrNP^rAP)rVlyv zC7Me=<%YzFwO zlu|}e&PA+ay$%K!a|s*Rs2$2-6PI!sx|}PxlB>|wRB#Q~qU*Sx8@Q3!O$u-37H&ni zv6(I0jw-o>JGqPK-Q1%S_p%k;$2PWeKZy_UpmL+ZLp&@VVF!=$80=KIi^q9FJjqi$ z%`;**dw7=T(x?iu_A1=U^Wp_w)td7JuEAI4vM7lHFS?=OYXSu7~ z&E4I@J>_2R?QHi+agMV4I#*#rp^`KDIdsfPdG1e`86T!a3nBwN(1TPo*c#%Y&i62@ zz{5SlBb_+PqqQNSqR?aHu^#6lkFP2VGxH~Sq9<9CJ;hU9Y)$iY&+trZmS=m8=Q=iz X^7&ri5^JFsd9jx`vee7GoPB2iycXQs diff --git a/graphics/battle_anims/backgrounds/new/bloom_doom.bin b/graphics/battle_anims/backgrounds/new/bloom_doom.bin index 3d27e562722661103aa46eb75c10c7e79aa9e6a6..9ea250a3406697b9016ffbcfeb24a4239fc64e8d 100644 GIT binary patch literal 896 zcmc)FRdbX<5QX6i1Wj=Fhp@Q2ySux)ySux)ySqzpcmG9vfn|47l>+Xl_oC1A^yxDb zC+@$IPWm*nyx{-0}n}uY3Xd6$mJ(kirr|MHCG( zizyy>e^DZ$es}&{Dfy3%BuSyPca;)SS{Y@PQ(grXRZ>|MRaH}64K>wLTOD=PQ(prO zHPSdpZKCPV+DvmTwA4y#Z35bA7o1XPuY-;{>8y*cx`pYkhn{-rt&hI?=^soEFwh`_ z4KdU(!;LV~D5H%r);Qx$FwrEFO)=Fp)5Du)m}!>T=9p`q`4(7ck;Rr+YMJF$SZS5j z)>vzu^)}dOlg+l+YMbqL*lCyD_SkEm{SG+jki(8R>X_qBIO&wr&N%Cw^DemPlFP2R z>YD2TH{5i~ZFk&tPjZC&9(d@H$DVlVnde@3>6O>PA7gprt#{ssdr^N>eMmJQ>rK%g ZeTupN9LbORlYQ|uW+wH9Z@$Oe{Q$aEw|oEq literal 564 zcmYMtXM0O=0LJ0x-yE7~tEY%nwW%XhmwK4`Bm`1vpzPF!G*T#N8b^JuDR7M!XyW=^Q>gMZ(*6~8ep3;k z8O>=STGEQvv=MD-M|(PmAnA0Zljuwry3$Q_Cxae@y!51({`4m75Feored!lRe+Dp6 zW>Ap9O0rERLr@k&$z~Y#a7IK-4kOVhMl*)7SmVfLyh0PuL?$trDQGHDrZFAOU?#Je zjpi_ydCW%(SjZw4V=W<%rID;VgaqUJGr!c(5{9KE1|m%PHfrjj?j)i0;SyyHC|`1m{G i&kN^eeyT{1g+G(~#mV{VhE?{B@0D&wr054fozlNxSdwS} diff --git a/graphics/battle_anims/backgrounds/new/bolt_strike.bin b/graphics/battle_anims/backgrounds/new/bolt_strike.bin index 7a42421cfe5d80048db9e21a752d08d0c2f72e86..32f51b6fe04f6622fa11ef209a5411354fc50e17 100644 GIT binary patch literal 896 zcmZY6Wl$7Q6o%nNKtNOwF(`RISP&2lFc7i3yT!)t?(XjH!tU00k*T zVTw?cVic!@nKn?8Qk13)WhqB_Do~M1RHh15sYZ2b5JgRDQJXr{r5^RobTkcO?+s}b z+Z)q_rZl5DEr>F<oy7p2^K;LEI*P z{vw8jEMhTBSZbkLvW(@dU?r|!^2OlmLt z{ z=t(bfMQ{4hmypOKpMG2<`ZIuwxkOw_0RtHXmqp6Nx z%;QNa#8W)Ye4Y`{@*L0eLbx*YA}_Ikh*-!X7PF*0uzV@Ys^XXPvUr78d5zb@m1QNY zU?p#eH+hSmGV9x9LP;f(uZtg zJ39#OWLKp6BR)pE`GimTjQl-CEB5j^Uo0A=FWJXed`-+Ze9Lzu%f3fHu%83`h<@TA zhxi%&!eNeZl;AOrN2*WoEBcL-oZ>V(!&%PpJ37xF{K;SFZ~oz5E};LYMh;j}j&_V= zEm6ZY9cRTm!L?l5s^hw@=b%;JiB56@tDzgYv6HPPZt7-kZnbbrw=!07s<2yIDNc2o z)2%kna9g*t+Pi~0I@9XpEO&MntE;;?+ua?=aS!)&FO?|Qz1_!st&oeU$UyoZ4lk3d6*^52r-RGHk zH=Xn{$S9M{vdAi%>>^S~4mstLTb_Wt^2x7&f(j|DNSH!V#S{-Hp=3bFO-w1JQAXJ? zg$U(DD*sPE)T*GON-Bpfgl4RwYLc@Pz9ULC)zwh*zl{VZ=~FGW)loOqeyCPYeGS4E z8fv7mCYr|4EYUp8wa`+lFn()owAD^~9dy)5XI*p+=%#x>4?Xn?3cZsR`sk~l{stIm zkimwC79Ba%u)t5sa3hQ~%IMg_7-Nky-UJg(GT9VU1E$3?-3&9$GTR(;%`-o~w7^1( z0)Me3mRe?ctQ9iG-rsCXFvC{cY!B>Zb_Cu|yX>~dUi<8K zz`=k+4vTTbQO6v2!pYdeDW?PbjI+);?}Cdix$KIouDR}pn{J7Ty6uj;?z!)QhaP$C ziKm`#bMv|RM2bU1Q4fRqh>Zr=abS1SkVaZ*B@q%vW5S8Rj1<*` zrZhvE6GaPJVztr%-Q75VJ`EK`7B@|i?A(b2}?ySL&?*X1irB4ednk6XSA2PtNX|ZC zKL}z#tGphr#Q_S7iXzH$9a`{LAb~zE^|e=$~CTYL%7K;%DFAv z;VxzI_k{aA;31EM$2_5er@}Ly^Ma6rN?xjhSG*S9P{mu`3Gey9M?MMFeC7*ZYk!vh g`9mGGb^6!-OZfF~#d6k|>RUM9`JrR93K=550f)Za#Q*>R diff --git a/graphics/battle_anims/backgrounds/new/dark_void.bin b/graphics/battle_anims/backgrounds/new/dark_void.bin index 922b72bc74d7f5c773331b1af537d54c2e939038..97b879f01ba8ebc08c92d30497c894a1a7b186c8 100644 GIT binary patch literal 2048 zcmeH`W0Rg)6h-HaZF8-pgO1IPZM$RJwr!_l+qP|IY}=lBlA3=pUAJznefB-)!?{&E zL<~a2Bo?uWLtNq!p9CZ%5s3poNpO>rjO3&sC8Q3JlqG_4l&1m}sYGR}P?c&_rv^2t zMQ!R(mwMEv0S#$HW17&EW;CY-Eont-+7L-w+R>g4bfgoV=|We!(VZUjq!+#ELtpyQ zp8*VH5Q7=QP=+y_5sYLMqZz|k#xb4=Ok@(1nZi`2F`XIAWEQiT!(8Sup9L&r5sO*E zQkJot6|7_xQNhoISj`&NvMx{|*0X_)Y+^H8*c#N^*#64j!A^Fun?3AhANx7LK@M@4 zBOK)z$2q}CPH~zuoaG$nxxhs(ahWSz$y!A)*)n>*a)9`|{`Lmu&%Cp_gD&w0V? zyuq8i#oN5YyS&Hye87i%#K(NXr+miee8HD|#n*hpw|vL<{J@X=#LxV~ul&aE{K236 z#ozqHYle(rOk)|_IL0-e@l9Yt6Pef~CN-JKO<_t?nc6g_HJ$0rU`8{U*(_!iHJjND zGlx0NWp2aGV_x%_-vSo2kcBN`QHxpJ5|%VXDN9=>V2HATddZh3!g7|kLQq$^Beaj3%_?g&RZ%F&K-tm7Q-1SdMl$xd;q z)12-MXFAK-&T+2uobLh`y2!;YajDB(?h04B$|zU6#JKX6m zce}^E?sLBfJm?`0d&Hw2^SCEG=_yZp#3~?@CWcYb6c+pE<_KH`%=5=p)(_7y5 ij(5H1eINMHM?Ut6PkrWdUj%c}`H#+jbpHRZ`TrM_mOTvs literal 1236 zcmb`DQ*a�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 diff --git a/graphics/battle_anims/backgrounds/new/focus_blast.bin b/graphics/battle_anims/backgrounds/new/focus_blast.bin index 42bed6c96f9587588b049a0372527027aecfc6fa..98e3e8e16b63fe73c0fb8cc7adc2cc1630bd3359 100644 GIT binary patch literal 896 zcmXYo1#}Q(7)7OPBomp*LRPX7L3VPGlU(E`Pf#Rz$w&Th7oZ@8C`=KGQjFr1 z0Hh?PLPk-V=)h7YP+7`Ro(fc?5|yb!RjN^)8q}l~wZov8qknNG^PnnX-0Ee z5JN02X+>+=5Jy|u(Vh-;q!XQqrwd)_Mt6G9lV0?u4}IxJe+Dp+K@4UHLm9?!Mlh05 zjAjgDNnjk~nZQIQF_|e$Wg63&!AugF#cbvmXSEO(fD_KP{ zt69TZ*0G)qY-AIg*}_(~@i33@D37t79qeQmkMjgi@)S?=47=IGvpmQ1yue=e@ggs= zp937^5HIrzucqj=)P6ms-$=dQ4E+{|Il@tn1%8`%LLN`a6M;^0iqo9oUEbq;KHx0p z_>hnIm{0hW&p6KoJ`ehWi(KMMzT#`X;d00;T;&?qxxu%5$M^h@+CTCWH@U^n{KBvN z7IZt%9e(Ez{^T$I<{$2IkAL}(|GCdYrZKJQOm7A=n#s&&F{{~(FuOU-X)be{$4K*< z&-@m!poJ`K5sO;P;+7D#q@|3qw9$d0En`{BS>6g(w33yrVpXeI-5S=kmbI;8UF%uj z1~#;jjcsC6o7vnJ#u#f$TiMz+#@W_(wzorYM>~b=Y`k6UYB#&v!=CoCw|(quKl=v_ zaG--6>=1`K%;Ao3q@x_|7{{96ILAA|iB58|Q=IBFr#r)$COXU6&T+2uobLh`y2!;Y fajDB(?h2D!=_-@MYIRs82CZ?e>s;@K@VC(i6Oa3q literal 952 zcmV~$1z?Q}0EXf3cg}Gf!_L_Bct31R4Z}?Sx|x{n?#`*{?!1@V!R_wuC#|B*`=?DyT#{$qXthwF*^HHL6pCnkbW6)CQua z4s{i)M_LxyN-_17Py=#kNF&skCNw1%HKRE#$Rpa4RP2t*&=>WiKLZ$u3K_&;hM=JoF^u781S1*6Xf%egjAJ~Sz(gi78BJj- z)0mECFq2u#Mst|UJm#YXEMyUj(Gr%jjOAzrD=B6bTFn~PvJRE7o(*gy*u-YGuvL-5 zZHjLvWd}RaE_Snry=Wi%Ilw`5h{GJ=C_2VPT+DHFf=jrR%h2Uq!IfNvuI3u9@A zbzIL4=tgehW^O^ZavQgE2fCBHxSM+@x|iU-Fn&L&4}=-vgUWn}hk1mwM|n&+kMo3b z3!fzRlnS2a8T2gA@jNe}7dg!tUP3SP3a|1SdYw0TleY-pR&bVcyo285J>KU7!VeYu zh>!UMeadHi&KD%V1UBjyBOxJR43)^*E z*U@^;a<&rLR(&^cjvHEy+}KUr)XH@;H+Ksw&n?}`t*v~wae>=f?cClS+|laf(4F1I z>gsOp?jBZ8_i}IdanRTO+}{HfNe*Sfk)ukcD2TdTa&-vLEZQHhO+qP}nwrwZ9JzKM>UqAKgP4~RM=k~2O zaKafE469sm!yOMi@xmJ)eDT8{8vz8WZ;LI@>h6cLNq#33&6h))7NO9*Ne5|NlB zBqbTi2_pq5NkwYXkd}0$CxdmPK}Ir>nJi=_8`%jb2RX?_Zt{?qeB`G95foHih{6=1 zD8(pF3C)+J6s0LcS^Zaz@>HNAm8eV=s#1;W)SxD{6kA($1a+uOJ?hhdhMH(ZW17&E zW;CY-Ev-zgXiXd1(vJ3Y&}1ZSR!2I~nJ$(#`t7>XjqdcIC%x#cUaAj$>1S~!-Jbyr zWDtWL@Ix5NForWi)ksD$nlW~?=`ogZjCa6CCo!17L?$uWAwPwwDqW;{8q=A$VHwL=!Ae$X-D=jbmUXOW0~_^Z6Pww>R<^O79qeQmyX_qI zu$O)8*Xn;0oBIPCWRIIB+1{f9SQ&U1l_T;eiUxXLxI zbAy}Q;x>1<%RR;4*Zcz>@<{K(!yfa5r#$01FL=o-Uh{^xO8JiWeBdLW_{Gwgm;)&tJ+KT`q%7qqPX(kRK~y3b zsZ0n}upxFrsY)33YGMedIuU3!s7WnqlOT1dOFimiZ$MH*8qpYOLQ|U29BDyITG1Nc zHnbI6I|&Oz+T)-D9Wi&JGpSwZigcqpJ?M$K7ri^U^r0`(k4XA60LMUrA`OEW%#c8a zjlmULn;0T7jAJ|#uupW_n8ajaU75mE(WWuogBipnMg_*s z#6O-{PTLC8Z02|{mwC<*t@eBz3$zsP)P*c!v9N@tEMvLO3Rbep;=Wo~!&=s{9yTPV zZ)6jjUD?7`i**~@g&pi<7YVT2626DM>=X8LfP);;Im{7`CfSY|NF<5l&IHQ@?F1(| z#c4g>enuaBmUEoPe1VIh<1TR-zhtiHaVgH=m{V7UYh33BH-%f=<_>p-d)(&%4|N{# zm?wJj(-=$YGoJIpk{%?5U-F9Ayb<2=j`w`f`N$`ndfI2<3#okNoA8|<{3K217r*%v zU`>a=hTwmQ(nRUXpp42SDwA?it{H-x%B|Y(r7*{=_GC;JsHSICb2VxQ;1T)NBJs~_f!7LN`MMf_P+niAQh}aRHzEmeC*sYmdXDE+`ibE literal 744 zcmV~$2SAi%9KhlKdme(w`0hY4wD`T^NWByk2jca8C*U5Krm4Aiu5zZPcaQ_zdk@^A z=Eyw?%Ds1~IMdt%Q#323=P`VRBwS$=RR}*jNq!Ps7=OY7NGU?eK+#1B!V0E>jSxan z1`eEri88_|CZ6I%U@yT3L`u_=SfyzBAs-Qi0b070CYqEo^eHRua+JsMF%>W?Qb|(9 z#V1sz3P~|CC6=nps)jv|>eOIaO^jN^OIB?X@YInAH=knS6&n#Q3lFL;i6oIMr;K{k z=RyM-Vl<+$+-yQqtY&h*IVrS2S+37$Nh^7i6Jr_$pVOK)$QQJw9qlo`q=V#kq!W(L zbWu@V>88p?cBh9&#rpTOyuF~eO6;UVNkqX?)LE#tGw@Ksp%#Ok|Q?KA9=$I%_J^ly^Ea3?{oA-kHoo zW;2Jm%)^>5?lcy#5Lv`xmar82GBR1NZm&RAvWhs@YSbFmvW_g3Z>`ta8`#JX$R;+k zg{{bsY-2k+ulN5_aKLSvg0sEILa~MI43yC zDd99{ILoYm?|K&g4Wtu)C z<2?n4R))6e=xA-%exeI&e;uHU*ma;Ts+|QvT7q>NAv#q1&bm)vXoq%&=rA3QnWw_c F{{glD(u@EA diff --git a/graphics/battle_anims/backgrounds/new/grassy_terrain.bin b/graphics/battle_anims/backgrounds/new/grassy_terrain.bin index be2421aaf18efd07a9667f6774effb4c68e6f46a..e955c23199355ec8e14ae9287f1d5b0d0df94635 100644 GIT binary patch literal 4096 zcmeH}WpofZ9K@k$ad(-4`Qyc1i@RHKDDLj=UWyfWcXxMpcXxL`F7$ezj_>z@zIn;Z zCi!J|XZK|i5*`SJ&b93@Z^rBE7WP!{D-9u-g#l~5T~P!-is9X_amny7`^sDrwwhx%v$Uo=D` zG)5CNMKd%<3$#Qlv_>1WMLV=d2XsUybVe6+MK^Ru5A;MY^hO`_ML+b%01U(+48{-) z#V`!V2#mxijD{b^z#n5V4&yNa6A^$(n2afyifNdR8JLM#n2kA@i+Pxj1z3nhSd1lD zie*@i6Ld=%YEaY2*Hr_U?_%W7>50=!ZAEO8G#Xl6p4`; zg;5!e(HVm=8H=$QhjAH?@tJ@LnTUy3GB}?HkRW!-tC4HT>nH@0yxRllR3rJ9vEl-oa*LI<8;p8 zOxHKdm4Eo@oK1hn2iTk-ey$q}pr3hQ9_PFE0{U?w7X|W*xr9lSSc#Mn2^3%P6jvUI zqu7e2n2O=r(G^Wm6-AL1Nf8x6o(ivU2&*s(tx#IZkjk%o%Bwuetz62f9Llb2%Bn2N ztW3(N3`#FArBhm^QEH`9N~MrVO0Hz0prop+I;yQ&s;L_CQFT>QRaH@CRZ>M&PzbBvIahEcS8+Aha4pwyJvVS8H}RxS=(vvQsE+8c4(Xr{Xg~I8 zul8uScIkuOyBy!lE!@g&+|C``$z9ydJ>1KE+|L6%$Y*-0Cwi<$dZ-7wuY02lJOhj^I2UPpM8$9Oz2;ZE=*Pw_O*(8EGn2>a>&hrjeg-}Oyj^#z~xNgtKM z%+B&$U{0Us1zzMOUgi~Ew`N?HjkZpEyqbqSpRi}7J+>tr2+ zt~*$J$KT>@-r-%|<9$BhLq6hTKH*b7<8$Y8L-XY*8|laqHr$5UP#a={ZIBJ*3%+zN ryyELXU*7O7-|;;^@FPFD{?CDT`@*mM7M%aV=bvB){$L0G@BIH8EQrX# literal 2244 zcmchX<#W|{7sSu+LP*eDG&sAkUlIsz!9p(X1b26LcXxMpFYd0zrLMSJC2g@nTbe%4 ztNsI>o!K*U=FGl1J0HLK%{=&!01071NQ7X7z!D<~k|G%_IZ_}Legsllwp2)sH1MZI zI*SZLdRPWzL?&d0WkFVC17JjUjWj51W9An1so&DVU0Bm=2qPnV5yyusN8Ed6*AdfQ49u z#jqtg5~pCNaRz7cG3*@9;{q^ppq8@LI(h1j|X@NdxXb$f~T-&c#aqN0p5@J2|pw5u4ljCSNw*T zuvd7EH+T#C9q;fSf587I{_=%>h=06!^f3VwGJOye#d#JQ%n%B(N(N;Du^D#dQ z7z?rx3$sWFi?Wz`Q7mpO!ICV+(#B|(VGIMtvMk5)tYECjO03K(#;UBw>a1a`$y$tM z?GV;sU0YR;_2a`Eupt|<@o4j!uqm6dxv>RXvK3n!+psO$vAwYaJF*iyhp-E~2E1CHoX^8Va#CiYLf3et=Am9rgHG@9Pq<hB~wx*ktJ4$ zf{{oTq=ZVKt?}hk8AYqKtdvTsgo?|eR7^!xL{?aZR8R$E`IS$3l}8q-+{&d0S-5h_ zNwOTuE()@2YN-}#E^DTyYNE!nMrx=AsxPajx~ikvvRKtpP1TT9S2a~t6!qIRq3*J7>Z&g4EbF9>>Y(Jqt&uix}}@C5r4yN+|C`eo!rIU+(X;TecaCjw1d2^Yq~1CqRYCZi?RzkuXBp0 z)mfd!50qE4)X|)@)+$nPw*s9(N6OW&+=p1IiBYWJ(oSxQ$5jR*&{vF z1KpS1(_P)sZTXY9#K9L5^8)Q6+vdH*%k*F2)$qt`yiWUspYk*MTtd&8`{2v;m+Vjd zq4#>Hc!Isv8@-m7(>eD!zX;!CU-Bz{&2MPm@;iRd8?>9e#oJ8hEUio9QoB^nQaZm2 zbtzm(awc<)qbj)a=E}LUF5qI!m2uIov@2z?8xY8zu+ zEmzakFjw7Gb5&gxbCq2sSJ4eTjr>u!2DtvNUm(=q*Y&YccX*d}kN5e24{4A1m{0hW z-ZMVu3;y7B^4ht!obINDG_k2}iks{vIh*JvxbbcrQ~t=Gyr7>M7je>l;jjFSFB$ZT muldHy@-|{x@b7%b_iz5kqW=O&|Ki}A5C7=x|HnU0v%dkz!kLo* diff --git a/graphics/battle_anims/backgrounds/new/high_speed.bin b/graphics/battle_anims/backgrounds/new/high_speed.bin index 52f7a9c51adec65bb3246326a8062aa05e32fca7..ca049478cca1889c44ad706ffadbc7110464f9c0 100644 GIT binary patch literal 896 zcmbu!1yht!6b9f~#THw{e$-FJ784sgQL(!*utmkfM6nYPyTzZ${dQMmoMm)o=b3xn z_nwoG$Vwa8X)7g1j&}d4y$(9+q_Zx%rsX!b)FxN!y6LV*cyad3sF&VBAAK{(OWxvp zte^aU=x>051{oX-F%-iLH$r5jQAR5;##rNwH^D@cOjc-$sVz)1-3&8>BD2gk$6WKw zw?MIlX^Skj#8S&F54oawAKzD6Wp#41Mv1l7g;`>Ka+WH!!A6^Gw#C-aTC>e|JM8?+ zE-Ab1Nw?pdOu1LeKKmVTF#Hasl{u^|*^fBtm~zLRaMCHKopIJV70xSgb*-HST-hp+_MfdlK@gXK_Z)z3?(CiGn{~sa2=mYYpn7 dH)^8>Z@p6&z4yUKpM3VkSKoa1!%vNVX#$JCrpf>S literal 496 zcmXAm*HRQ=6ok*&b(|en+yNIsSK(6!1S6Oe@?%cGnzN2sF|CSX0>*%1023f)#P|?i z=$m-$)jWbbWp#B`cUAXASGz%6>Xc9;WSv;3eQW1zw4N>;Ht#v0bL zPVDu+{Svo)0~^^ywQi=7CYr@cHb}$tmG9Eu7)3aE|j_ASYbp5|?QeTD&V@NRM|&~`e6P6BRoN4U#9y7KhyOYsA`d6?i4kHvmMPq)~;JaujF8D-CT@&6%{ vR8y7Hm-Nw(4DgCU20VF9pEt-GPHz>hRB za+1x4WV2uRk~8Pz%srFm-kEo1?pznHSz0Lb2xC4A2q%I_q70ic9nC@(v6v;q5R2Q8 zRQ&0A4{kB z6IpC#iw#!xkj+-Mv7H_4B*!Kz^Sj6;kNhA=W&Q;L>ZJVb`z>U5&~ekm9`>>?C_YE* z=Ku#OqS!X?79|{_lrqZkO1tm7A}i}KM>xtcj#KgfDdI%Q?<-fs0%sUFaFD?axPwI_kMh1C4~5 zva%mv{t8W8#%{+Hdgk&OE)?-niG;3lmBv)cH#xXm5z(#Aa#wfyHG$G=ZI9dyz~ zw=LF14-e?&A&+>>6I-l@r#$01FX-bX{dg>uR_E>&uXxP>Zy01qdV{TZNo9L@%RAol zfscHW)*d)3*Q3LHW`t43s1?f2sh-Vx(R|@6<9y>gKYZ#eGfEy)>d~K4J^G8^Oz6(r iO#Nu=#VeBe!=zM?PBA@81wA*n-ihic;3(iI5W-*d{ZKLh literal 880 zcmc(dSx-|z0EK5Lcqz4|f~aVb4=PsWqD94m6fcXoi@5JnSH!h$sJOI<3%FI>cX2^P zO^lDm7ypRKRsX;cHAaoWd!O_lka?M$e94(P=Xixz1SLuaT}e0)$)qp{4J{QXX-bN8 z6^eV^E(YVqBS^=~5Hd^^QbuKMCPT>*3}ZMW$S!51Dpp1$HVU60htcGMhdlCCk&>0~ z{em$RFqVLWag1kz3Md(m#0t?VVxnLYL5i7dD!-*`QYGxDKk~Bk{=w?DJNV( zh00dae%*||z!&?5+n`cqS%|IX>s3?}t+6RnmgzH*waj8Rb5xE6bfskIbD4*n&jJ=w zm-Nn5c}hmLMbxv{!4j6Ttopn1TWrv^oE5AjWfiMg(^f2$?6(d7KLa3`@>@@Py|Y4J zoBU=S>%(mL@hRd|A+Ngu5n&^n*ovfV=yNvd2K@tPfio$O*a zd&2B3_-K8}XwHtJ?PEU&EJT`yILINIIgIZJM^%B9U91IhjN_c(B+;0iTU?9Nia13Z zr#VCPtX)+{<2l+99h~O^7x7&pv#-fofvZjzmq~DiPDWqln%36WZAJg~y5I&kxy9`; zcjO=2y(MuMagX~v;31_A`cEt8mc%2v1dn;bQ=Wb9ZB&K75?OSoC7yfe;f2k#27IaX d@-i*)ir4+Wt8jnq{8!filx3S+Q?iyR{sJutMDG9q diff --git a/graphics/battle_anims/backgrounds/new/hydro_pump.bin b/graphics/battle_anims/backgrounds/new/hydro_pump.bin index 0f7e6a5d913d4051a8fc58c1029c3ff3092c61f2..917b5c6c966b2c7a2e4851293923ffa014bc4307 100644 GIT binary patch literal 896 zcmbuww++BR5Wq0JbI!5T0NQ^(?{EeSCekk%IRz!rD{2~AqIdKRj6|Q9Sy+j_v2$<| r{o>}~CHm{*?Pc`S!`;p3tBbRf(MJb+JEONY)>cL@EzHe~p8V$nFkx2# literal 224 zcmXw!xe!Pb}y6d5* zUV7`JuYUR)V4y)lKiCjM4Kv&bBaJfJ7-Nky-UJg(68g!em};8oW|(P~+2)vQp7~NN zuu$k1S!{_^OD(h93M-{qWwkZdT4%k`Z?MrOn{BbxHrws6(=NO1vDZHPh5mqp4ms?I zqmDW5gp*D=?ToX|IWP1VTy)80S6p??bvN8}%WZeubwDyS%O zR8rZ?qKc|sk&>q%l}=Ujs_Nl2uX{s{P*W|n)d_XgQ(uEzxe06NP4SjS-qu(&@s6gN ziRM~psg<18+9a&4cSAevbyfaY;zPZBq_^m!uYUTA0R|dm zu*@Nb%1hX=@Uc$}HzIs$q|b~Bqm41v=NZNsZ$iRiqDdzELQFB$G+&CZOgFCuj}}{EX*$U*v)l^tla*FkEq=DfTITa7o9%Yk8FtxikG)}^{SG*o>rlcDJ0gB{)NhW7<4!o~ckzcmopM^vndDYF zb=JA?m%p8NAzXCHWmm#g*Iaia%T50z?3TFgj=S!O`yTk$L-C(S9(yA5sb`)iOvL{k Clbi4W diff --git a/graphics/battle_anims/backgrounds/new/leaf_storm.bin b/graphics/battle_anims/backgrounds/new/leaf_storm.bin index 02a43683a67dcfbd4f907d696bd64d30a05bcf67..81fa3d3beb21f7374caa0163c6fd92789210fb75 100644 GIT binary patch literal 896 zcmYky1$2-F6oz48FuJ?n7dE=P8#ZEecXxMpBaMOqN+_wM(%1n?Dq(<<%4maB;b$sm z=R5bF@7(9cAub`rBR-)dAR&oJOcIikjO3&sC8hL}7|hlwuU81SKg&>E~XCvXrAd6{tuhDpQ53RHHgIs7Wnq z6G0?(s7pQS6Ga0e!y3|v#x$X6;LT`G3tG~O*0iB5?PyO2I?{>GbfGKV=uQuM(u>}K z_n|NS=+6KKGKj$pVJO2G&Im>_iqVW=EaMo@1ST?x$xLA?)0oZ-W-^P}%waAsGLQKz zU?GcG%o3LJ5-+oi<-EeHyvFOSU?p$xCaYM@8rJd_Z?lf|Y+xgs*vvb;%NDk>jqU7U zC-3n-yV%Vh_Og%t9N-`y@F5@ZF`w`$pYb_g@FjJ9qnZ2AYJTgH@n-zp7yf0ee7#L`#Zpa4sx(V9O^KKJHnBUao~_d!HG_C TvQwPuG^abmna*;ybDZl_wrT!$ literal 924 zcmWO41w)kw0EOZ65sJxG!Pf6R0%D6D7?@zAf*sg}iVAjIuw&D8cXv;hx->Rj>N<3t z#!@%ke15|diN;C+F~kyw;weXY5>N#yQi;l_3ROuYf~rxS8YH1)YEp~Z#MPlL^`hzZ zQ3Dzh0y2$AAr+<3m~@(;rZl5DEl^8Z(V7g@hPJe$J&_J{EC@T%8Fis6nRG+l=|NAj zP%nDZhrXyE{mCW=4PYRH7>tH6l$_LI1i1`n1S1tHk9e^ zD$~$(W-yakL}oKb;aujSLgur8g{X){EM^HRri7&|L(5sgN>-uOtYIzdP?S>2SdTWa zkxgtyTiD7rwxbDlf`*?|$c?G@7YrM{W zA_q8F5FX+U^d^Tn!dvKV-r-%|L+^8xV|;)<}dr>iDw9Y<9Ghx&#V;v#owIe9QucUInM?3 z-^B=lW2{)mIo{<=d1r(PuHcGtC0BM8SH+16Bd+G^at$Xr*)`=_uI)OmE7x;Zs}HXYiGEP+sf_S-W}Xg?&Qwy;;wS0yScl2#JH!k z+)H6^xsUt0pZg~`+c^rd(+0=`J;;MSL>}s4&h>D4ghx8h`SK`__85y&C@+Yp6OYh?K$#X&vT*Y%L}~FMP4K?_7WGnL|*D;UhWn0O0V*2uaVb! Zoue+5%e>wjyiwld&EDdz@-}a`{s$53-NXO@ diff --git a/graphics/battle_anims/backgrounds/new/malicious_moonsault.bin b/graphics/battle_anims/backgrounds/new/malicious_moonsault.bin index 37874dd0bfe49071e27547deb84976adcb9b6a3f..03bdeabc7f25c1b93996e63783c1fb1f42fe58d2 100644 GIT binary patch literal 896 zcmbW!W0Rv%5QgE(+BUCbvo>aJ+qP}nwr$(C@vk;{CzIKl+0BQou2X&b^mBLjsSXLH zupDxx$i~TBa?2yHeDW)xph5~OqNrj4S6qp}msCn=Wt3G;c@Z+%{1{!Llu_l^ome6KWS?8BfgrsS%MG&QT$mo-m_;=h=t7Nsmt6FQL zt#;b$prcMY>!Pb}y6d5*UV7`JuYUR)V4y(;8)B$oh8tm|Q7Nl4+8AR~YO+o>&Uh0{ zG|6OBOf}7PGt4y0Y;(-bR%@R57FcMJ#g71LsxP_W1Nw2^4UZhP#t&wd9SbSO~8Hxthvj-5CWb|iRD|HDzo9CyM= zr<``iS?3aV-USz3a@iGEU32{p>V}(cx$Ta-?j?x~GP}R;frlP>?1`tId7iWvUV7!V eH{N>Zy$?Pn?32&F`0AVQe)#EElF6k1_x2mV$hNrv literal 544 zcmWmCX;(~f9KiA4zcJNVGSndJcW#rVEL|D9y4EC7wq(5_WF1R(`ZJd7QX=bQ-y-`? z*?Zs|FQIe1f&0u;;|+Wte9qUaU1BO66^e_&<@j{O-3B+Y#0l|uXiGbxJsn7(qk)(7 zPIM+SQAol^7rF}FNTxeIgr4-GH+^CNKZaFgNFap(sq_{4(VqdN3F!=E5QBvwWMDEh zflP*3;ZX3mB5WrH8P14|V(tFpC`T1|Ml#CrMcgu)F^pv#l0`Nayeg;2^$ zR6Y^7!Tsn*RkoD*s}&jsp)i(KL| zSG1+Ba*YV}!gX$NlUs0G|GmRq?g{sKz(X2ZZ8NHt_lU#cSaW lZ+XXi;R7G}L{l`|%xAvvRrtnte(*Dk79ISrAAO=+{s92=kXrx% diff --git a/graphics/battle_anims/backgrounds/new/max_lightning.bin b/graphics/battle_anims/backgrounds/new/max_lightning.bin index 43511aa7249cd273fa4affd23208c11ec2f72fda..af4c39c1c0bc0ea0260ddccddc8ca26d7dbe7069 100644 GIT binary patch literal 896 zcmb7+Wl)q+7=>MG=>_b5u3o#lySux)3%gtF0J{ql3`DWP#%@rtP_et#)^~B4K}LT# zXU=&~-0w4BgDr+XU?<5Qhj^V4N1SlR1y_u?#arAl;ejV!Bqj+-Nk(!~kdjoSCJkvx zM|wb!fsANDCNh(StYjlQImk&aa+8O=V9W$hFJ4Zxx*4{ac_qIqmSGFen-exBN@eL(J}w| zhp~)fJQJA6B)LAq$-*hZslsWJe3;G*W-^P}%)u8w<}#1@EWl6u>V+&~F-us=GM2M~ zm8@d5U=3?U{U!Ocj`eI{Bb(Sv0D){_E8EykpbpSM>>!9>c8cyIL^Oom0*eb4?qRR! zKK64!aF9^KIK*L&aFj3|s*iD8aDs47a*ETO;VkDkFF9QF0vE0B5|_EcRU(Mwnk?73 zL8Ok*QABZ*TioW3xVyq=(Ra*cJCK4Ir3jk_`_ L57|u0Q+cUhGC~MW literal 744 zcmWN<34GRb0LSs~Z_oaF_U!4|^WPq`&1j$B{F70ZBT~wCB`~7_uLIzNNlbW32=jdIB45c1HW97a#_5m*X1oVX{`izDcbj--&II2!e#FUL@X z`f)7BaXdPK{+!53XaFZOkU{7a1~Y_HQJi9iG7Ob)8mDsxI+NjyU?dvFXwKqnRLVJ= z%NTSXV>zF3=mIWeJQtyhnZPAniZ0`FCUOP3lB>9yN$47`dg07jy?d|bUsWUyEdxr||Y{_dXEi6mK5~kD4P}yB!?&cmjej-0%e1GY^%w!g` z)0o3t1ko&lw2gHLsL?u;X5fAeSi$#@J=`CTYSjM9~#&YpE zPf*R11+0*Hil-H<@fE4z8CFs&o~4de)Qbk5<9S{Xt7-7+y*1)R*07eBD&)LOqr#26 z(kA1E)++Z^nv|csj`eJi*@&8H;Wb`IZ}289UbE-E#oIFP(2CyWJ>KU7oDcbkj}>i| z<8GoY9{Pk&(Py;N!Diy0EB_0=WV5FZZwp)a3TG={^Nm8CiWGOr`IhhaUZ&O!cVT{z z`H^j6J3q05pWzn;cCw3KA)&x;>}HQI=Xdt9k8WSlKlqcs*k7ycZpHq8fWK4uhkq52 uHL^)IV3VzrYEx`5Zc=S%mcnT^YArwXt6h$!< zM+uZfDU?PTltno=MtM{~MN~p%R6$i#Lv_?ZP1Hhd)InX;Lwz(rLo`BTG(l4|Lvyr1 zOSD33v_V_6Lwj^UM|47G1fmPNq8qxS2YR9xdZQ155RAT#2}D2i#{dk(APmM348<@E z#|VtXD2(>_F&K++7>@~iF zz)GybYOKLptiyV2z(#DsW^BP$Y{Pc!z)tMKZtTHc?8AOn;Q$We5Dw#rd-mZdj^Q{? z;3Q7rG|u2G&fz>R;36*JGOpk%t~p%C4cx>n+{PW;#Xa1|13bhx_!i&cd;IVPe#B4s z8ISN7Pw*7a@Z4MH3%tZDyv7^6#XG#mFZdO|;rIW`rQT>3K}<1+yhG7%Fq36nAzlQRWV5+qYGHAQ0@re!*& zX9i|;TqXuEv#XtjSzVir*_nemnTxsU^C%DVG9UA^01L7Z3$uvpQuiso#= zmTbk=Y{Rx}$M)>Nj;_y_=)}$pWEXa2w-9}I_HgLQUhK_23}P6BBGiFU2fkJZ{9JPS z5X`=eihl0$p}%(@z+evKAP(jb`n&w~$51A~Fb;R@2*-`&DE^}#&3+aYV>s4Rj{8?X z-l_dDgcH09f9oeYcA^Dyl2a#FG9^_KB~~IOR073UJozK8;wZLaDW+m5y1WyC*G5rf zMN&jXkRQS;oWiQ03MjwwDX;P4uMkXmWQaLpR zrBn(uP<_=?UDZ)-)lyB>Ky_79RaH@CRZ>M&Po~sS+x#Vk)X4Dy%~4 zt6&AGk9w<@da8%ItDCy2ivrPEozzhs)L!k>R&CT;t<+L2)LhNfR87=ajnq&xHAB-i zO;a^RlQl^bH9_MwPGdF3)d<9BjnYVs&~OdYPz}*w4bngjP=EFF_#N7=ZQ80W+N@35 zs0~`Lby}-6TCG)DsTEqTWm>8wTC7D{s0Esjd77&^PCZ+*a7CAONs~E+Q#p;(IfFAf zi?cb0b2-mTCtt!H(P16ZK^<`F{o1F!+N0gtrJZ`LN1D$CT*yUS%q3jPWn9h`T**aR z#noKHwS1@ty03e>t2?@_Te_(mx~^*uSM^aJw2te!fg8Dro4JKsxsBVogFCs4yBQF$ zhwt@HZ}kSR^-3@G!dv%qJ=0S?QDRGEd%2JMd4LCbh=+NEM|sSh0FLtnPx2I_SY(T2 z5gEaJe)?H>3uj?1jD6N8S1GsUvYeK~vRgLCXSFP@&1?b8WGR@@GFW;`XK5{snaNUH zDx<+tIxe{-v!s^9s##U5VwJ6uRkR9L-pYBSl(jNe+DchTE5YJc%!<0NMXazDvVvB? z@>@R3YkAD)Y#VEBt*oWBu;%W)nWqj!Q#V2rJIyoh1aa2o`Z=Bt$?rg1;6+~IWnS@i zC&>C(Z|h|}&6n%lL-bd9jn{dDH+hSr1G9tj8v@Huc0cX^NZL-zJ-{qKdYJJf+t M2f}#S|9|HHU&mRtwEzGB literal 2180 zcmcJPRdm(o7R2{IIY|x_IUzt20%Qi}gCM~jLQZfC?jGEOOOOP2cXxMptvga2YS-$e zExo-`O6j@}yxiBWS!?#Jd6Jw!u_%Bz6oeH*VZ;Ln(o%|`C3CO71j;i(E~kUY3POC=mYDEe&~+@uz?ta!59J?ieX5{aM%cp z#3+o0jlo!q!+7{6AOjOEHXSwzlQ9LEuq;f)G)#xhz)Z}-Yy{?DF5>55K5PLNVi6X@ zmS8ECVL5CCR$>)aBd`W*t=l@Rhi$+{Y{F*P7Hq{fY=`Z@PVB;N*dFY~KJ14bz(E|s zVb~EI#W5U*oxn+)!fDtUoW(huN8kc3TFNC{M)(z6#WhO}c&{2>!|QkhZyMgh+js}> z8s5YE_y8XouHy!7;ui3cdAD%~cMbP&9}n=*@Cc9bF+MSTiqG&l{sR20=B#wg}xKIS(@GlsD&V2ooy7GhyzJVCOE zu_#5yV#eZ3Ur$5GEUi2%7%Q?8E3-Y2E9(S&g{aj z?8dy^*~2#W#Qk&x(`-a9_GTYiU-n~v4xl%XgE*K&>}u8%ZzzW`ox}Yc!I8n_Q5>CR z-WZPMIF66t1ipBw_lKVU@4WOsrFiyo|467W=y@5O$n2P8pQvt=AVic|X%4f=}DCAM3DWKfSrJOO!p@c|;Ws~0&p>T!CX9!h@Jk>JQ zR1H;EHB(hpQDs#!Ra6C)M>$hjl~JNfn@XvqN+`ipT*c%hzlx%WCGiD?6tBYQqRysH z>ZlHCZ)&HuYJ=9MR%)phYHmtZGc{F{EL-1Ljnq&LO!ZYybydfdqM(vh+mxh<%FqPU zc#YFojWLbZD2>zz({QC@n1-5$Xs`xpplN{mtDpLs`lz>hDb3VVJ=9&@OkK5FtF+Rz zLd&&GOHE6(Sc|kUL<=-u^Q>;VVXo$Awq}`TYKEq3nrW)Cl&L9xP1YpDpVCRw2_4rl z9W@=%VI9&z(*f<*KJ7K_(QfV1PSXx;*EVf6ZP8|J(#8;M(0Z-2t!qtda8oyQ-L#a; zxST7DE4hlRxyHDb>$sj9t`vJ56LC#fbwz>8x@1WgbwPGs=X6$QWT*9|zR*V6CT`{y zZl!JGcJAO#+Ai+q7VV+!bAA^R;ldf_Vh8)og}M;uIrF>c`pw%}#Z@*}$yIa} zT=_W`U(S^^SH>k8OS{4>;SyYNSInGqaz$N{5Jv|WZ*hgp6?Ac~fNN#0rEB4u zyHs<{TvOM?HO@lcMy{c2;Od*J=jyVKOMwg8#AH|7C7G+`YPuS(y3bW}Rb6aae`oz% zU)RU=cCC6@?lf#qM^Bp^*2BHccl;^u`qu~E9AM!eH@Mgk9o8ZQ~ac-02OM$285dk}!(GJ#PrUF(j}N~1;ZFd81QARKAcPWz zfp8*-R5C5;NKXb$W+aMCWF`w)$wqc^kds{GCJ%YFQGm^ubwvR(}0FFqA^WqN;7qSa+=eE zmb9WZZD^})wxc~A=tw6z(}k{dqdPt5NiTZShraZqKLgA@mVpdnFhdy1Fx783BN)jj z^?o#C7|S@uGl7XrVlq=yrZSD`%rN_z%)&?+$uH7~sdvh!5uI3wrC5oz z*odvziM=?8qr~H+l(V>qYbrV#H*psa@f0t$MCn$nEstZiXub4yy$ z8k^9DwzQ*tva~L0bf6=hFgnwPu5=?sy3>Q6^g?>mhrYxh{pimC1|owP%n*iR9>#D+ z*uqC5c48UDXe?tGD+%Kmk7WWAC210qkts}N8q+amFq2u#7Q>jsT;?&~Hc}R_kT@10 zivr@P7T}32W(iAKhQyP=auSghtYj6dku|Jk9qWnQV0dq2lPzg8#um1+jqPH{4tBDO z-N+vHvXA}90S+oJ;)_DWn>a TTY~*HKm*k)j|Mry(}2i-F5t-B diff --git a/graphics/battle_anims/backgrounds/new/nightmare.bin b/graphics/battle_anims/backgrounds/new/nightmare.bin index c4b8b45a7c22538e8b445fdbc73ac41ada5fa8e6..11e1bb939b77c7965123d23d1e066263c447d688 100644 GIT binary patch literal 896 zcmX|-1CSm;5QTHrf409qGj?*ZbFppPwr$(CZQHhOb9S@Y>Z+Ok-g`YWHC9+-gDrO0 zMAdnz}2~iYE7~y~rp(v6lqKP4vI7RU! zkVq2Aq*e64(vhAFWF!-rm6nC9WFtE{bU!D#$W01)$V)!*Q-FdLqOduuol%6M6r(sL zD5)rwQk15Qn$f(nl%qTqs7NI$E3QISs!^R9)T9=*siRNSr5^QZpilgN)xW(Vjc800 zn$nEsrr&~=w4ya_NKMjmZE0tE7TVK+j&!24u63a+-RMpaGtrY?^rjDe=|_J<9l$`- zAH-mWFqC1YGTiL6+w2&@NJgn{G-K2{mT`<{0x5BtJCR9DW(rf8#&pG6&0r?8j9%l} z%waC`n9l+hvWUejVJXXu#Bx@!l2xo`jjpU^9qZY^M)QPCY-S5v*~WHuu#;WvW)FJ} ze;@lfz(EdiSXYj4lw%y{grbw2;S|U zJKW_S_j$lW9+}z4JmD$Ncy1~$RQHlsyygvWdB=OjANa^8KJ$gIeB(Pm_-W>U@tZ#e zr4cK!78|h@^~+)}4&o?I;;cw37qN(|xQV-Xh^MZ3>8rQ+h_CAW#9sm=P=X{_QHX>} en1l-=ddfnCL`sxION_)yoWx6lBubJb>+WB&5yRO4 literal 756 zcmWN|cR-W{7{KB8`|iMF$sH$45PmPn2IV44D?AP>M-WhshA0QpP9v=>JNuxare#@L zY19>B!+}(^j6jQqMO3sk$!;XXy$`BkFVT2Pwq!>mNLy5*o zgt&;o%`g&Ti6g1d7EgkZ$Z(QKw!|}n6jJ#=D{10QXQYrpCRt=#Ql3LDdE`4NV3g$@ zO`+i76pA?2l7=yy#_5cOaRkobOwJOD8IP9|!AB_*I2+Ef0+F1{L}3z>nZkLNw3kuN z`BZdEk+ZXsDlWjdkf}^#y7b8mF5+S?K`vz`)y$$~Hl7;%)KXIyoK`q6hk7m(F6Roa zVs?iG|p2<`x$DJ+~qO7IPaGu11=C z6L04Zf0f+HT`XZKmCO8fcL$G!upHM4?lGG0Wu?&~_i;a~cmRsCU2PAtnl-{hJj^4k zZSu9Q<58L$+aD7iC&&{#DYUSjRyLSC#nU|F>wi|*$R;+k1=`Y#t+ex;gXej{KiI*G z!b`l&E4(Uf<25>Y-9Z=KrS9$Q5Z>TTdU(r9^S#YGyvt5_&#ZW#UOuplF@1c{c&O}=9v`)dQ=3kNvJAr1#?R~|7tj`9OP z3di_~pE+)sJ%jwhuly$b&I$hDPX~YTcWu`{{0sk;_KF&6+SR6ZHR?4~bci}MOvAe+ z${iM=ks77OP>oinx^VkqNObEkjTMi?X}l(AqB@6bl6aGKgc>QDs;HKDB~8=U;B+5hn5kc3VLN2Is%PH_HD-UY63 zgL{I92RyB`9Wo%}zxYh>Lgqx%EXay%79u-xASZGGpq0;U@yui06b!uK17G+dFZ_`Y z0SH8X1R)q9D1d?}gu*C-q9}&qD1nkFh0-X4vIs>vgdrReh(virAsR7=MFmtuB~(Tg zR7EvZM-9|OE!0LG)I~kiM*}oOBQ!=6G(|HsM+>w>E3`%%v_(6#M+bC7Cv-*^bVWCG zM-TKwFZ4zq^hH1P#{dk(APmM348<@E#|VtXD2&D!jKw&NM;s<#A|_!nreG?jVLE1D zCT3wa=3p-7VLldM;lH#9i?IYtu?)+x0xPi!tFZ=a5s!6Pj}6#}P1uaj@HxJ)+$5(j z@fEgUE4E=fc3>xVVK??*FZNkH_TvB!;t&qwYkY%m@g2U$5BSldpYSt&!LRrYzvB-a z!BHH;ah$+OoWg0G!C9Qcd0fCnT*75s!Bt$tb=<&B+`?_#!ClhTim{Fa4O8{>;Y!1~NZ`7|akBU_lmQVHROg7E4COS%M{5ilteG zWf{tH3}ZMW7|HUCVl-oz3MooSASHoMHG#w(8p{v+w*ueyZ$(yO;?3mGALC<9@=Wqm zd!^O;mu>aoH>FncOya4toUD9hIx1Zf4~HatW_c-7lF45_8I{4xSD~jo5_osH$yF|i z_WhMte)5%%ykR8kO&$x8+v-3;xs+2ml-)APrmV`6h>ul_q7|j`id2Nc6{d0uRauo$ zX_Zn*l~8dNQ&AOBVHHwA6;OzR6{P$MRDklSz1pd*+NiZ!sij(|xtgh|ny9fFsUaGu zzUry2>ZrDAsitbEx~i$Fs;IImsiG=qyvAv)s#`o}vjH2jzxt`K z`lz>hsi%6VySk~Xx~Q`{siQh*nU<;%8?yLOsx9isPVCGs?8jpTCa7A z$6Bq?YOK;qtLNDuWu_jONqbw{^#OE+~x*L6)-bw!tTNf&iN=XFkJbw;OkN+)$f z$8}7ZOh%Kzcp4AmZrqHkaWT%u$)q=qCY^CG_9m^dGqxs;No{OQD)UZn^+vDtN-y<7 z&-F|NOo$0KK_8tGJqLxR&uL X{h#vxlajzEoIv8%{8)egU;Y0l8x2FS literal 1904 zcmchW*LN0V8pP*I0)!q2z0QPr2|a`sdOipNLg>Bs4$?bff>Ym2}wwaa9$*i@#i85^;nFN;w+J$8jI|2 zo}IWqvm{HgbU`$;49mvS&c&BwLU|^!!uT~6*(Eu;su(M=^5yh|Dy+(C`Ddy#sRnD} zR4vwKqz>znRP;>$6kMzqy=n%cK2zC%4T(l<%qDC~G-Dc@Go5I`mTbk=L>p$XE!z?8 z*?}F|iRjEsM%jhv$}DzcHqo6u*poR#FXpm0`w)HEkNr7-7|1~!%pt^34&!i+AVzW& zM{^7@mg6{{6NrhN#L1jOOyx9A=L}*dXK^-fAm(r`=W#xapxsF)R4J_bBViPxW3%3&6xScz=li0=G+{3-Z9o)w| zc^9L1Uyj_v{k)erz=J%*!^9CD(+f|H+s5 zFYsl)!i&5FzRK75I^O`_=dl~)o}K^2v( zN>F80QB_rgs;h=-s#ct8tB&eMBZQ4yCJwTB;S) zT5Xh}wp6=VMD5i<=%`NWtV|)QF6yc*p_{VRT|I=J%26+Y*JF|Y*8eAX@pSy|yj)$( z>#dBu@_p1-h3OX}vCMgyZF55`EfyJGwuFo4IOAG^FD1u0mbUgnq^!$CGyADj1DD*N zRm5sFS50x1%L6LAQZ%oBqLN*4{F(|*N_2Ub%U|8tjo^lE;8fQy#b8JG)x#qx`O)(- zUDtIIUE8(rQcc&OtLLB3buZ_@J>A3Ioeg($mbif=m%U%WDq&($oHFUGq=oZ}y-KN{MR_mbk+MpNwe4L;2vwj90&co+? z)=&Ek{FI;c6Mh{2&foeQe+_@-FCFt2@aO)_pZXK{V}IlieHH$|@B2N!3%}zlzU;T* zxBRBx@aynve$|(J5v~#{he{zCp<<{Il0tcea-nP}6G|hL3ME5gD1lHs6blI<9w9D7 z0>X9p7ys;^{3HB>ulaiy!YxCKkRF;Nq=jaoX=sAbI5Y|ki=Yjup?)Y(0klz@v{_r$ zMsl}mTZt>%wFBCzUD~ZZP_4l!ip^#h#-&c3`r6ptt<3J6m{?#JwqSR67Z{*mf*ljPyPXNvXCMB& zzHaC2{JuQb{dnO`DpD&xq`^x`OFGhv40>lIlLx-?HDM;R!E7;+g{))~*~vjpa*>-n z|%@B zwz7@wZg#L!>|(cW4}00iehv^pq&UbSH-|Yw6ww?N#|YC>#1QM^I43yCDNY;C5Jx;` z#W~K43+leeCFL@~T8Q-uSCwl7X%4QFpxnU0O>XIKbBDX!!>;{vp9ehTkt~mSBA)V$ z=e*!0uawuk@#rn@crQK>pe6f=lTX5F`7Fy9l6~bH-$`_l#1G{szxeIu5B}PJe*vVk B6bJwS literal 676 zcmWNLWpI=S7zW=b9B@G4?!${NM}Pna4aKc|L4yZ(IINUX+@<9R7Tn!}ySqbihvG$w zy9DcR@^5E$c4qzI6ebZt3OvY@l2iz#CbO3`rnIgv9kD+oiS$-113vJF}C}S#1Im#Oqs7NI$hfTjw1(z73D%Ge?4XA0VMJ%^D zX%bRX^EC_5+?*D)G_^8X(}uRR3y0L64ut5KTz8@~UFhoNSGtAt8{HFJ{Z0?lAM}i% z7rp5dQr~0dM5`bD8GsFB5Q7g0 z(KLz4#7uEDm1#_Om2w6%nPr-7j?G~%^O%nou#iP8cI7N#sc9LBVZ|&b(+XCyDpAgA z)|l3^&Xuia0~^_dXER&aYTAaoJyAQ@$u9i6*<;$vgkVCn_OU;#100Ot5QjMu($NTx zah$(RC!#oMIz_tEoJqbvOaI`2sB>^0U7%<1qL)itMpsCtt6X#S57)&FZqg+fC*9&U zcerbg|6lHz?(+aWyylJRb!6;YbKc?Cdp>yi YNK#mz_#BVE@Re_g`rl8fU>{-j9a=N1jsO4v diff --git a/graphics/battle_anims/backgrounds/new/shattered_psyche.bin b/graphics/battle_anims/backgrounds/new/shattered_psyche.bin index 225d8e95f306009a6aab40fd1a56d2f9e74400f8..233f54c10477c49c18eb12233c141defcf7094ce 100644 GIT binary patch literal 896 zcmYk)Wl&X76oz3hA}J}Yz`H>Dn%Es+cPln_Cw6ytcPn;xcXxMpcf0O^VVrN~{5WSn z-(GvqF=0h&tVx575nJrA*Ery)NsANCxZsK#?xe#5PrUHP2VeX&=`oQ3e*y>u!;7Kq z2{OE;!;xSz5<)0pgcCs|QJBd@X7yRrXC)iii6#d*$whARXhUA|k>9WdC`cg+t1m)P zicy>xVktpMN>N%HOq8K4CTvrkZ9nH_p(4mb9WZZD>n7+UwpO=%~IEol|@lJ%gF9B+!lS^q?ob=uIE>ed$Mk z1~8C8I^ST1FjTE2!x*08V;I3mMlqT(I)f!+8OL}gFp)`2W(rf8#&m7)V}{z9%wjfk zm`kiV=>+qb&jJ=|7O|KmEM*zX^&VG{$VyhRT07UMUduZ5>)F6YHtEcp*uu@f`);vkNa zRuc8bEO8P~wVpVOi@1uLxJw-A#6vujJG{gXZwbLie8o@FO9t_mcmfO`D2Nz7NP=~Z ZB^lL+NT}`ne$VV#5*0pi3H@uvXN5o*^Aq>Y$I3@y{V5FEL6ctkpDNYGW;vi9! zBAU`j3}q-wEKWJ%#KdEe@>HNAm1qTNN@^qtxSg|PO z^CoZcHetPahdz?umyCYm_Gdt*J5UP6&maaf1Q|*W?=lSMJ%*c%_sPYC7{N$J8DIEl z@)#q-95WWiW#$I?fbkwaWC9aSx?|)cCNY^Q$W%UN8q@L4;1gzQk546EK4TWM`5gNT zGW;opUoyvLF7w39=PO|WU-J#$hD_7%SjhJ*N@B5@^@CZkgry;Qu#DxbVC8s|vx?Q~ zT_f(=5biwIF*s?xO+FjU*g9-XW|N67Fh@3!7(+*krSNc6sL(g z!&$4-Km2QD#h&AQsF8E&0vCl#T;>W_g=<{r1~-LU+~y8bj0Kl->w%5+KZQHhO+qP}nwr$(Cy~_&{kU#_`2tf%(a6%B0P=qE7VF^cg zA`p>CL?#MRiAHo{5R+KMCJu3lM|?mMkdQ@0trU*qTMsZ3|l2VkW3}q=tc`8tmN>ru_RjEdGYEY9} z)TRz~sYiVp(2zznrU^}HMsr%wl2){)4Q**hdpgjOPIRUVUFk-5deDELd)dc+4seh|9Oei|ImU5LaFSD; z<_u>!$9XPrkxN|W3Rk(tb#8EzTioUjce%%X9`KMyJmv{cdB$^I@RC=&<_&Lo$9q2T zkxzW)3t#!hcYg4bU;O3|e+ghf0~y#L1~r($4Pi(_8QL(0HJss%U_>Js*(gRen$eA6 zOk)|_IL0-e@kLEwLKB(TBqlYP$xUHOQ<>T{rZt`E&0t0|nb|C6HJjPZVNP?I+dSqq zpZP6dK?_;fA{Mon#Vuh;OIg}7mbIMatzbnfS=lO9wVKtfVNGjU+d9^@p7m{DLmS!H zCN{O1&23>zTiMz+wzZw@?O;bc+1W03wVU1TVNZM6+dlTSpZy)+KnFS4Ar5tz!yVyB zM>*Otj&+>lo!~?#IoT;rb(+(i;Y?>a+d0m4p7UMcLKnH%CI1IYUFLFExYAXwc8zOY Z=Xy7|(M@i4i(B31c6YebUG8>|{{R5J02=@R literal 1052 zcmWmBg<}o~0LI~WrY1i*?e}Un-Q8_^Y}oK&820Iynr^1MnU3kcbLF~RcZa*<%Jm)Y z`4^r*TDTNO7Q)GjvXPw}7L6l?5aZDVCNhc1XbMxA#&k4;RAw>@&1MdBNkj9P&jJ>rMJ#3sOVKixvx1dq z6{}f8I$Fy**0TX^WD}d&g0`}a?d(81*~M=55Vn_n?B{^ObdU@VaTp!pD91RCPH>V_ zoJN_P;VkFSc`k5~OXxCJxXLwjof|yH!UMeadHi&KKxQzT#`XLEmzR@Aw}5z+LX~Bl?M- z`GsH6eSYJ2{y=~77k~2)`j`KB@Tgs3&f;)qwX!+8b2z6J;atw`JXT)kbAAV`0xsx6 zE^HNXQAfI%Roo?9(xt4@F5|Msvdg)=D_9j>$(3Ejs_JTvaY1Kp&GsD6b(%HL^S!_etwmn!C0=SR^K!57N^6x@dyUhrwO;4--e7I?CU5o@ zYpb_;yLVVSz0143$J*!Z1k6R~v(x-gd%JdnZ^*QUjFZiM_ xS(kmqSAEU8?i-c@=zpo9xKLzB_mgiYXC|d5DJ2*aj82RS>P~z_;;n>?*oPEd4TAsx diff --git a/graphics/battle_anims/backgrounds/new/snuggle_forever.bin b/graphics/battle_anims/backgrounds/new/snuggle_forever.bin index a4bcc4440d2d31ceb954cbd82d167f0607304af4..3abd4431783972300e5c4d0ca3c7a872b26b0aee 100644 GIT binary patch literal 896 zcmW-X1#lDw6a|6c5C|3=cHsg64tIBVcXxMpcXyYdElve(k-DNS(n4LJg0#3@GCT9$ zpT93Y2?!%0iAYQml9G(%q#z~Xq#`vDp$-qEAuZ`hPX;2%NT$#yGg;zXSRgCe$W9J& z0+Nf|1c(Smk%zoQ6CKP)ehP$akb)GVFhz(85u_-^VmnZr5|pGAr71&M%2A#QRHPD> zsX|q%QJospq!zWQLtW}op9VCf5shg=WOP%S(VP~vq!q1cLtEO>o(^=R6P@WoSGv)i z9`vLaz3D?=`q7^O3}g_48NyJ8F`N;MWE7(r!&t^Ko(W835|f$2RHiYV8O&rBvzfzO z<}sfIEMyUjS;A75v78mGWEHDf!&=s{o(*hd6Pww>R<;qtc6P9nUF>ELZ}4Uud*gB+ z`#Hct4snPD zLmu&%Cp_gD&w0U1UJ=juCNRu|CNi-}OlmTdo5GZao66Kin8viGGrbv%G^3f!Y!MEiZNMn=nAd3Ynco5iEodPNTg0Lkv$!QJX(>xv#Od)vpp z_OrhO9OxhiJH(+5bGRcM=_p4##<7lbyc3-0Bquw?sZMjcGo0xxXFJEa&U3yCT<9Vf ryTqj~bGa*A8Df>IUE^BUx!w(Kbd#Ii;#RlC+1N#l+udPIRP6m4$fWka literal 988 zcmV~$1z-&b0LS6~v+-t(H!(5e_vek_jp>dt-QC^YUDMs&F?AhWaKRndo#KM);7;C& z3%)Ou86^eCMikK~J2?mvgK`o}E^-ryBM*5ADX6$`Jo(6v3Q&*)3XxG*@kJ;~VpLd( z6eEe^s03h2qEdtjMUqiz%8)`zB)Tl+D6galN~Ho7Nh3X3fe4kT911F2g{oAex~M@- zYEfI%p)U2PFB;I0bQ+1qWYC1Bq8ZI;K}*q!*0iCmXh(YzQaXr^bfPm|L|3}eogShm zz35FJ(U*SoXMh;UAO91@2)!ciWHx=d%5UO#u5gt<#GhQ_Iyb~kZgHEx#NXWEF89QJ{^4K#6aVu7IUr|ql%t(p z&f%bAoKucv_)fe0hNvdXX2)OT5&}yj))4 zm0so5@*1!8IEc%wIYbEX1Yyw%&hUEblH-sRo$9`E%&?@#jql0we%LB||&R&pp6 F=^@Y~?;-#I diff --git a/graphics/battle_anims/backgrounds/new/soulstealing_7star_strike.bin b/graphics/battle_anims/backgrounds/new/soulstealing_7star_strike.bin index 44eb2f82d37873ec3d8612aa44f9cd175742750e..9bbee7ab43894b318dcfee60baefe1ca5cfdd132 100644 GIT binary patch literal 896 zcmZY5XLJq*0EJAD-q(n|#ol`p#NM&@2(dSbnb>;&@4cwnF4Bp>lHpYSQ4@j0hB%^A+}1z++NU-J#$a*p#{ z;3D7gJ(sx54*@^&6F+l>tNg;RT;n>w@jExT8E}i++~F>N@F#!qH~095fBBF9xzB@S z4|&96o{++nrZTl@OlvyRo53J6n#s&&F{|0kZVrPDF{ioAZK!$7Yd-TEW&sOYNYug> zv8crix40!NX(>xv#(MndfiV;?|n$@jgO>0@(I@YzG^=)878`;<zTiMz+wzZw@jkJRu?PQdl?P6EE+1(!Yw3of@V_*B(-)ILo&_T%tJH(+5bGRcM z=_p4##<7lbyfIF2qOneLvQwPuH17ren(ho|2G%TRJ13C2&U3yCj5FSafnMZdm$=kr jCYb1QSGdwuu6B)UUFUi?xY12+c8gox=5}|OWDHLM_?`P! literal 968 zcmWO31!I*30EW@`V|Tz9uuC^QFWsX%HoCjJyBS@hySp2cMhSyZP*709E-X^%HaUOc zgcBpAfFwi^LXjjT8Oc!;DTpQ|N=0g72%|KlB^~Ke1~QU~%qR<4$wqdRgPi07WO9>- zyeJ>}DL_F~h{6=1C@MyAVkv=2Qi{@)L1igNc`BfaRH8CfP*ti?oj4Rv4Qf&g)us-0 zsfX&*fQB?ejcGztnxW>jpe3zPYueD3cBnla=tw8jnJ#pt8|qFEdeRH^rVoAThx#*s zfeb=}8NyJ85e#PpBS|38C`L1ev1lCQnZQIeiOEbM5lv+p)0u&0GK<;FL35eMd={XE zEMhTB2rXq9%N49ZD_O;A)}XblV?7(tMmDjTEodv-*v<~LlU=;RtLQae=MCOOyV=8D z_M!b8;2?+4TfEI-j-aC);~m~b@9{pzIYHz}PVoW3hlq~I$0nP2#o-_Y+|<2pA8ZgPv;{GmX9a)-Oz zL-%>WLmr{WJmD$N2tDToe-ZqR{^4K#dzr7mNgUyj73ri-=HynCQ#jfwtyE6!7>BJi zPV00|Z)I>sXL4pMi?ceLvs*cw)47ag=XM_FwemT?3%Hsj^PzzyBVYV0O%>Sk7R zw{T0hvRb>1+q#|A-W}Z0ovhC8;;!yyb$1W5Lh3mcm diff --git a/graphics/battle_anims/backgrounds/new/spacial_rend_opponent.bin b/graphics/battle_anims/backgrounds/new/spacial_rend_opponent.bin index e6227db9c9d8e449155452362f88ca325272b8be..44fab7fee209711e834a46e3c57c69bf169bee9e 100644 GIT binary patch literal 896 zcmW-dbyyZ=97QLnAYdT^_PO|b1@uD%6a!QQ6$9)pP>`?_0RwE;p_>b9vt743UFfEp zZn~KZW7DM_3v(O#+`sR0&b{UE!kh9`pdvo_QVBo&37|4ns7f`e6G#n$s7Wv(gc52Y z7HqW$vf2b%9qLk#`ZNGU7!5HTjR+@#NE*`w4^cEFnr6fhOB`_)YcbZGXlp@~c`Tlm zw4ya_NFb56w4*&qbRd}&I?{>Gq|$}1bfY_Iq?2xG)`On(qBp75hraZqf7yls3}g_4 z8NyJ8F`N-(kjY3!kwrG6$sw0K^2xV6%e5REL$+nvSjI7)2~1=XlbOO)rZJrYW>82G z#mr^OVs9AJ0QP%p*L?V?53iJjqimWf@QN49j_z z=XjnMSiwqGvC3B33R}$@UgRZ~+gjGKo(*hd6Pww>%e=y?yvFOi!JE9r+q}cOyvO@& zWgFYsZrg0DeZUTO@*yAH=YPy6>|!^c@)>*B%jbN-KKAn^UvYqge9bo;;xI=zT9zYr z*p6|WZ~2bz`GFIh`D zzlryF@een+$t`Ykhr9gCe>|Xa@{+g8tAZ-ZN4}~gKlv*_0nXp~xyq`ds;Z{y3RDdR zsiuMzqEOXRZPig-)l+>n5R$^wP$s8F3Ri?873m^exNEE?@+eAS?%w}R6|H89QLN(B zTrCu@mTINeYNG@ts;%0oy^_>H$x2a*OLiUANu8CdE=qJ=)lJ=%rgZgCPxVr7^-*8- zQ-2N6Kn>Dh4be~y({PPYhBB4uGTcawQkJqcS~<$qJ%c>uYmCNfoW^T{CTfxFwuX}0F5*cG`#SE2$}s{a90+wKkk literal 1000 zcmWO4heODD0LJ0BK~$(v*`Js1k5E#Ptz=X7UPYnoO&K|E@9hR|@4a#R+}?NG-h1D1 zd!Kv$h9_lvoD@SWam1qrG$esWs4}igIv^;Jn|_(1tCA=g&j-mQu=4Stt$T7>_0}k&$5%@spXtR2`g# zrZa(x9Q(^|iqJ->IIgQiN8Jx*k zoQ=-mT+ZWsbO9H#i;K|3T*9U7Mtj)H-moWVcesqpxdL6uu5cAsqieX9>$o1>z>VC* z&FB_x!y5cUV{3-|K?50df_4^#gLkD|vo$m2YLp5!T> z<{9)X&+$Ajpci?GmwAPlS2@ICUQ>(?heP3Y-av2i7H{(odYAWjpAXQ7e8k6mf(_lp`Fa=x8_+^dmpJV=I+jR&i`wp)cPLIbx%3Z`7UrTxwi}5$9?5~?(YE} zC=c>r7r9s-;t~(_P(>xtFc0?#d89{qU^H4DpE+*w|J|!S#?ouv?;2$HbmPUq+@J@?P34` diff --git a/graphics/battle_anims/backgrounds/new/spacial_rend_player.bin b/graphics/battle_anims/backgrounds/new/spacial_rend_player.bin index cae5112e003a1b2d5924c329d59bd2231481a186..7b479c88d672f56c52b5a2633d6b41aec8cdedca 100644 GIT binary patch literal 896 zcmW-eb$FKr0EAtS?sdEe_tCK)-LM`THEKPuTN=eyy3GY5pe3znO&i+Mj`nn*Bb|sNo&*v}BAFCY zNh6(*obEKII>pIOa-v0Nx?lpj(v9x)peMaTY;XF|mwsfBNfz1UkV_u<>mwC)*0Sj5gA}{m;&-Xmf^&HRk`CPzaF61IE<`ORDGA`!|u4D;I zLk*U(oE5BO6{}gpTGp}7YrV$nS>+9^@N#ct6Pww>R<7b|uHjm)<9cr3MsDI}ZsAt8 zaT~XD2Y0fa9qjOS-^JbB!@X?tecaCjJjg>l%p*L?V?53iJjqi$%`?Y0c$S^);yHG+ zhrR4$pZ9u?cl&vEd8c3CMPA}%_H%$&c$L?9oi})sw?gdOyu-V^$NPN1hkV4x9OMv( ze9)ipDWCBZ)$)t{&>CUh1tr>Z^XrP^Pk!tsLblFXY@HC&*WS4bVUh(qIkIPz}>? zjnGJq(rAs*SQV&HMJiSmB`Q^!$~8_EsyxnD1{J}0P0&P5(qvU>il%CsrfY_(Rij$f Osa_3gRFh_Emi_~I!0bK% literal 996 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 diff --git a/graphics/battle_anims/backgrounds/new/water_pulse.bin b/graphics/battle_anims/backgrounds/new/water_pulse.bin index 0982424c63433ea0fc13a7591f3f6d68f7ae4b97..f6cc14657fac5dbae19f34921823a3d2b08cdc1f 100644 GIT binary patch literal 896 zcmbWvV{aG$6h`69w*AbuZQHhO+qP|XHagq3%^$IL$+C7?vTivaZf^3P6Hd7QBz%w; zK}3;67DZIiL>EI$vBVZfT=B%0KthQmmPAs?B$q-;sic+$X{D211{r0NSr%DklU)uu z<&s+-dF7K|0Rb=6Z}0}VCO zSQAY((_9NJwbEJ}ZMD;02OV|NSr=V((_Ife_0n4(ef87d00Rv&*bqYvGu#LxjWXI8 zV~sQ31QSg%*%VVvGu;d`%`)2@bImi~0t+p&*b+-Ev)l?Rt+Lu0Ypt{11{-a%*%n)E z6A)&$+hM0&Vcv%<@3zNY`|Nk%pZ$XlIqZm|jtLARz;P#>bjoRGoOSMx#q%z>=#tB> zxcb8jc7wSV>I-z;4L3tIZn^D_yY9K~frr2Ce|AFNM;?3Psb`*h;iXqzd*f{w%wLsv YK~^yDeeltze{zE>pMCMwx4(Md0VT#JbN~PV literal 600 zcmWmB1y>Vb0EW@`V`4IxVhu$fY%EknW{cfow_7eD2ST~QHa7s zQbZI5q9`VcQ-YF|5~V3aG-X9O%2R=gB8Ey-rizHADsfa3@p!0C4N;R?)TWN8OFa^( zFB;I0Ml=>pXi77hix#w`6|F@Z5@}02(Vh-;q?71O7rN3-bf*VB=_PuTL?8N!e)MMm z1H~W)GlZdH7{eLCNHL1hjA5)8$9N`?EG9CE$xIPbnZ|Txh!nicWR{rC9Og1l%x3`$ zStJ&-grzJK%UQunR*BWDVJ+*#dN#0;O(K=eY+|;L%JfvkN z;5^8oP!4m%x~<7DN5wIYbApo|PT5Fne8HzVBhGS;^IQPGOd1!tBrX%+3Rgq8#&sL3 zup8(mx46w6BJOgJ_(aEjpVJ@210M3om+)9T;VI8}?%)M4Ne{$WBR{Wr%^UQVcf98V s`bY+!_)PK_8*NQe>Q}|N%r^($`N2;cWsTRD{)^xI;cvjY1OJfz13JB^$^ZZW diff --git a/graphics/battle_anims/backgrounds/new/waterfall.bin b/graphics/battle_anims/backgrounds/new/waterfall.bin index 0fbe00ac638522361e182ee6aa56cbdf876bec29..076beeff2fe1ba44277bad014102fbcc7c3180bc 100644 GIT binary patch literal 2048 zcmXw21(a1s6yxK%xG#`Ef-dgv?(XjH?(E|3&f@NFEmWZH?nUbEUOIf}nUmZkcix;g zb7mrlgpoAL$&ef=kP@koI`}k5i*!hj42TIXMi~QVLgv6(kQLdG9XXIQxCn9~ci=q8 zi&*4CeiQ&e6ht8iMqv~|Q4~XQlt3Ixq7+J_49cP$%A*1*q7o{j3aX+Ss-p&Kq84hS z4(g&F>Z1V~q7fRS37VoAnxh3;q7_=B4cej|+M@$Hq7yo!3%a5kx}yhrq8ECj5Bj1X z`eOhFVh{#n2!>)9hGPUqViZPW48~#{#$y5|ViG1}3Z`Njreg+XVism&4(4JW;*o&) zSb&9C6!y0mORyBnf?AFhfmdP`R$~p;Vjb3F12$q4HitZdE!c`}*dEp4112^#$p2jnH7SG{%ynq++5?;nDconbVb-aN$ z@fP03J9roG;eC975AhK`#x2~&9o)qy_!OVvb9{j>@fE(tH~1Fc;d}gmAMq1@#xM94 zzu|ZMfj{vV{>DG}7x$2a5hi6aCT9w!WGbd+8m47Bre_AmFe5WDGqW(953?~lBgny= z%*EWy!@P`TKIRWu0fJ;f7NY3jV_ldwOE^VSU2c;tj`8)$VP0;CTz-PY|a*J$yRL5Hf+mwY|jqt$WH9c zF6_!~?9LwS$zJTuKJ3eW?9Txl$Uz*;AsotK9L^CO$x$55F&xWr9M1`y$Vr^cDV)k_ zoX#1X$yuDuIh@ORjAsJpa{(7}5f^g_mvR}Ga|Ks&6<2c&*K!@#a|1VW6E|}Uw{jb| za|aW-le@T^d%`aE2JGX09tiay5AiUM@FpYn4`pKUtyWftP8imS}NMi?mP+G+zmd z*F4SD9L?4&&D0D{*ECJl6iwD7O$;;l1l%9HLrv5!?Nnk=JHm;^JnU@OHf`0GsN1Yf z+Ncd$uXS3hH6c6oaMpuW!Yhxi_Q0Lg2_4rl9Sw8hqw|jFuny^<4rssjX|G<<%X&#K z>IFTo=k%Iprr$8=rS^r#-uRbA0#UD8Ee(0QHHS)I{o{h;sloxasK z`dVMJeZl8_&S!nbr+q5qCj(CSxR3d$kNB_;`Cv#6c)$0B Hx;NlI69yLt literal 2128 zcmWN|Wk8k(8wKF=yntdMcI&y}+=_{c*h<*lVqswyb~grgcVTyTt=#6yO}Dvj*X`Qn z_g(+5Xhb3|U~~{-L>R-t2DfI~Qx!#Erq!I2!r(cl=41{3@;v64!uhxsL0(0o=$<+{`VJ z+{$g%VLNw3aVK|K@1Q|YefPp(=pN>9FCv0C?n^GUKbUoZ2f;%;%p*LSm&bVAR%Hbn zPJkzQil=!dnnkMB+8=O{?sm>o>*Cqq`Z=B_F7P5R@iK9RS9y)si5tAh$M`t$1fS$n zyhS|CXZS2{6VLH^zQ7lWmw1OS^A+MQ@9|Z>M!e4Ze1mTiZ}Dxu!*_}I_&z`2hr~zx zn4jM#>!eb zD~}?mU^KHB3y(FKBetvu6|IuRS!KkdidD60R^5Uc7H>7J7E;0k*0u!Zu4BoG=u+3} zS$&IWU=6Ji1~f(nnpjgyvSdq6L1wBov*v~t*3w#8YeO4rYwfJPp@Vg_PS)Ab#kyKI z>u%^_JuS_88G2hE>udcC>DJ!{*g(S|8*CXi#4yx`*>D?S7-^$yw2d*0wQ-hd;|&vR zqD`{NhAB4HrrC7E44Y}QY_?&J&9!+p->|?IT9z#`EVd=K)UplBY`Lwlm4;Qe+Sb@w z!#Z1U8*HOtlWn#ww$-rBw%ZQdY1n1EZI9(x#9rHH`-8*-L4)vvcE}C~DMt)P?U)_6 z6BcpOPTA?8+nFE@XYHJww+n`gcF8W=6^poP*X(+bc_WyF5-P4@Dyl+7R5+AgNYSAT z7F5E+0?My^k;*$6idPM&x~i$Fsz8+$r%I{_ zxujUdKqjh!%0uN;R%KK=J9N90O2*vju5M6Qbx~(^f;y^$+N&MZR&CT;t)P}_q2_7^ zr7A_qN`jiIi5jaB)KCpnU-h86O4MXcf+lK$#w!yVr?DEN(aI zf#yT=G*@#p8=9q=nxW|-P196O30t>6r`e``VY~KduX3trPuStzL6@jzr+0<4Q#-Uh z_U1NdtF~yfHifiN8?-*`-r1a6_ZMY7IHS`#l~*TqBJ5FC>_5k$V>+rMIt(4sK^@RN z=&oMT%en)-q!;yqo`;^(Z9S`Jpr>_9Pw7eM2|cdIbQ8Lv>$;|^&=pst1r+@Vi^tb-fpLzuSq2KkJeuaL~ z&-zJK;Z;0fWseJaC9mjZ!z2EmjUT@}}Md?HbQVr$*k;8+iRlujh4`V9DVpXO723VgCp@`*kHKHf8ZoR5W%@zFlYN5V(= za3AJF;X{1C@AJLz9N*)+eHVPE@9^!u4ZhX4_-5Y(-{>2By|06>^)v0#`pL|JQ`fWJb@qM- zdvMaE{r3+)kS<+~kl$)Xw`!@aPMGTc^>RJ+HPA3gwC-px<ZP|n`s$~@0R|dmupx#TX1EbX$~8(}WVC!^6jW0f znkr+1af%chZ-R*?nQV%wrllk$O%F*bF~iJ|l0?!hv&}KrJo7EE&?1X1vD7llBP*=5 z%4%z@jjgjjw!uc5Y_`SL$Tp=)6Wi^u(=NM%J@!V*?6Y6F0}h7#amZmu9CgfbC!BQ3 zX=j{u&UqJHbjf8`f~%2ht_L?#+fBFJcE?@!-1opkk39CoQ_np2!b`8b_QqT9ypMhG dF{MJKibU1+$!A|ezJ{hUOy7JD?+-s?zW_AAo!0;W literal 520 zcmYL^$5#^p7zckJn_y6*8?a*;B_g6I*ek3JtQfKPwPQ!@l?bT8f{48#V(-E3jX#Nt zXXQN(ygAHV$BjEGGTN<+e_h#Ge>>F>Op!SRoAaFjSwT|imQ-G-y`arWqdRU7ddkA| z!tITVMMy^(^r0{Pu>K5SAcJJeWH3V*iiQEh89^Y6C?kE#CN>JoQO0O;(HO>($2c^e zdP%KJV$RZYtB`jqbrMWEk zEGAn)uq?z%R>>)g#>8sYu$FaVJsa4_Cb5|W)I~F-}bW4xBVOt z2RX!HD&p7?DyfVf6~{Qv2~H+tr#OwB;jB2vc`i`ZCa1#UT%;P+P|GDQqbnq+<0`tw zb#73P-K2qAGNd4)rncSGw%ydW?cV%(lX>lQrgLWY?(V(k zn`??0=2&2+=(AHq4`Twfz zXio<^(uvM=A)W-f(v9x)_^%m9PkPatKJ+D#e)MMm0~y3%hA@<23}-}o#z;mnnlX%3 zjAOiF0u!0UWTr5cc>Oe{GlQATVm3+4VJ`ES&jJ>zghk3(Y{U|ls%aU^S;0zHv053a ztYIzdv~E2c*vKX}vxTjinM^X<*v<~cPIj@IJ?v#4`#E5+(=yWPK@Mr#!yMr#$2iUj zjgy?>G-o)=InHx|i(E3YFLQ;f+MGg){u|>;V$>M&jTJR9;v&>JmINP zg7F{z?4R+R7rf*ZuX)2;-YM%nANa^8KJ$gIeETcsJ3sho*!{vpOvOxLu2l=M6f4n* zwV1@FZf(R?>?8?$aS%swQe7&};-WfNaT9m(5Kr+EU8J}8h_CpGzXXVh1WJ$~BEb?O ZdI^;@KZ^I=*%ZQXHiIy0NmEYoV0a*Y5 literal 760 zcmWO4g?|)u9LM3$?{>HCw!vAd-T?(E}vJ0F-Vp zXhf+IN@IY95`uIcNUEUw7oOJ>2t`N^4-t3?`f!m%5sm!B5K9~?LQ&!gpahDMNO6=z z2}+WTH-%D^mMeqGQjYR~j8rO+hSI4>B`V`Gs6r-La^7qnpsM`UP<3ihlLt`_wWv)U zRF`_xrvWaPhiFJpPK{_x6PlujX~rWo$NMOc@p#ZZfm+a#RTxYuA)RkxGMjm>W=jcuk)RSI3&kML0d5M>KC0Ms0>{|PK(}!14UtXgh{m}ph zGKj$>zs`_w<_R~HH^iH~#oG)MA%-)8kzy318N*l)`HW+HUd;*O9VRk~$@y|qcvo&J z?}_*MfDf4_2Bb}A1|Nx!naM0>i#g0?9`j>Zz(U&l8)vRGH>+r4T3pP;y%R<_(*vKZi&1ef-DPS9s+u6a+VD1#(*YFMPcCnj1 z9`>@2{kQ|-Am8#G--{nO#9@AfpF+7m^9#R*m~ez6X}|G%Do2@djN@u}Lj1u=PVr|9 zr#T~cR%g$}ah?m|VPVHbaf!=Z;i?F8jqCgsa_Kj?$t`Y+JKW`O{uxn_^Dp7$RbwM;^j|h6TlLbSj-ZwxGc#^SV@ag wMzWCvSiuzKccR{%m4rY diff --git a/graphics/battle_anims/backgrounds/spacial_rend_opponent.bin b/graphics/battle_anims/backgrounds/spacial_rend_opponent.bin index e6227db9c9d8e449155452362f88ca325272b8be..44fab7fee209711e834a46e3c57c69bf169bee9e 100644 GIT binary patch literal 896 zcmW-dbyyZ=97QLnAYdT^_PO|b1@uD%6a!QQ6$9)pP>`?_0RwE;p_>b9vt743UFfEp zZn~KZW7DM_3v(O#+`sR0&b{UE!kh9`pdvo_QVBo&37|4ns7f`e6G#n$s7Wv(gc52Y z7HqW$vf2b%9qLk#`ZNGU7!5HTjR+@#NE*`w4^cEFnr6fhOB`_)YcbZGXlp@~c`Tlm zw4ya_NFb56w4*&qbRd}&I?{>Gq|$}1bfY_Iq?2xG)`On(qBp75hraZqf7yls3}g_4 z8NyJ8F`N-(kjY3!kwrG6$sw0K^2xV6%e5REL$+nvSjI7)2~1=XlbOO)rZJrYW>82G z#mr^OVs9AJ0QP%p*L?V?53iJjqimWf@QN49j_z z=XjnMSiwqGvC3B33R}$@UgRZ~+gjGKo(*hd6Pww>%e=y?yvFOi!JE9r+q}cOyvO@& zWgFYsZrg0DeZUTO@*yAH=YPy6>|!^c@)>*B%jbN-KKAn^UvYqge9bo;;xI=zT9zYr z*p6|WZ~2bz`GFIh`D zzlryF@een+$t`Ykhr9gCe>|Xa@{+g8tAZ-ZN4}~gKlv*_0nXp~xyq`ds;Z{y3RDdR zsiuMzqEOXRZPig-)l+>n5R$^wP$s8F3Ri?873m^exNEE?@+eAS?%w}R6|H89QLN(B zTrCu@mTINeYNG@ts;%0oy^_>H$x2a*OLiUANu8CdE=qJ=)lJ=%rgZgCPxVr7^-*8- zQ-2N6Kn>Dh4be~y({PPYhBB4uGTcawQkJqcS~<$qJ%c>uYmCNfoW^T{CTfxFwuX}0F5*cG`#SE2$}s{a90+wKkk literal 1000 zcmWO4heODD0LJ0BK~$(v*`Js1k5E#Ptz=X7UPYnoO&K|E@9hR|@4a#R+}?NG-h1D1 zd!Kv$h9_lvoD@SWam1qrG$esWs4}igIv^;Jn|_(1tCA=g&j-mQu=4Stt$T7>_0}k&$5%@spXtR2`g# zrZa(x9Q(^|iqJ->IIgQiN8Jx*k zoQ=-mT+ZWsbO9H#i;K|3T*9U7Mtj)H-moWVcesqpxdL6uu5cAsqieX9>$o1>z>VC* z&FB_x!y5cUV{3-|K?50df_4^#gLkD|vo$m2YLp5!T> z<{9)X&+$Ajpci?GmwAPlS2@ICUQ>(?heP3Y-av2i7H{(odYAWjpAXQ7e8k6mf(_lp`Fa=x8_+^dmpJV=I+jR&i`wp)cPLIbx%3Z`7UrTxwi}5$9?5~?(YE} zC=c>r7r9s-;t~(_P(>xtFc0?#d89{qU^H4DpE+*w|J|!S#?ouv?;2$HbmPUq+@J@?P34` diff --git a/graphics/battle_anims/backgrounds/spacial_rend_player.bin b/graphics/battle_anims/backgrounds/spacial_rend_player.bin index cae5112e003a1b2d5924c329d59bd2231481a186..7b479c88d672f56c52b5a2633d6b41aec8cdedca 100644 GIT binary patch literal 896 zcmW-eb$FKr0EAtS?sdEe_tCK)-LM`THEKPuTN=eyy3GY5pe3znO&i+Mj`nn*Bb|sNo&*v}BAFCY zNh6(*obEKII>pIOa-v0Nx?lpj(v9x)peMaTY;XF|mwsfBNfz1UkV_u<>mwC)*0Sj5gA}{m;&-Xmf^&HRk`CPzaF61IE<`ORDGA`!|u4D;I zLk*U(oE5BO6{}gpTGp}7YrV$nS>+9^@N#ct6Pww>R<7b|uHjm)<9cr3MsDI}ZsAt8 zaT~XD2Y0fa9qjOS-^JbB!@X?tecaCjJjg>l%p*L?V?53iJjqi$%`?Y0c$S^);yHG+ zhrR4$pZ9u?cl&vEd8c3CMPA}%_H%$&c$L?9oi})sw?gdOyu-V^$NPN1hkV4x9OMv( ze9)ipDWCBZ)$)t{&>CUh1tr>Z^XrP^Pk!tsLblFXY@HC&*WS4bVUh(qIkIPz}>? zjnGJq(rAs*SQV&HMJiSmB`Q^!$~8_EsyxnD1{J}0P0&P5(qvU>il%CsrfY_(Rij$f Osa_3gRFh_Emi_~I!0bK% literal 996 zcmWO41!ENi7>3bz$>>XO+v?$fOooC@X43W@LoYBP~)RB~+U_)TJJ(PXii~K#gcj6PluC zG^YjGD2JA`qBUwmTiO94+C|%F6KWl;qGjZSOnW*IC`m^;(V6rvbfudLyQ3cTq!+zW zA9CqS9?GYHe)J0!M1JH&-%xJ!iQds44PYRJ3_^n$LJ>pJForXNkt9YjT5F0aL8Xjg zEaT94CNLq!hsMR&7!#$Tk|>UeOhRQ$W(rf$G^R6ynIvX0Ticp52hF9Nc~qeJR8mDX zTEK#+j;c^)%#Vtg7b=g1EaEV9I7e_KN1>xRhGRJn9nT4z$VupA7PEw zRk1QwgqFv$SQ<-0i{lhda4R=uFPyY|bJ5T+ZYClwlX3wXEYp)}xEqz(zKq zO|daH#KmZRT*A6o8@iOsxST7{m0ZQuT!XIVIx}OJlkcZI2Ji? zJ9fph>KU7^dTSdG5gSd_Q$^X z1bxb9e9jl>OTOZ3zCqve9pCc<`jMabnP1Sa{KoJ6f&SzGfAKf^hkvQzAUedMI2bh{ zImM|?vkpYMGn{GFa+Yhmj#bz7T;C0x)zAqy+TO^G Date: Sun, 17 Oct 2021 10:51:22 -0300 Subject: [PATCH 07/13] Fixed jumpifspecies --- asm/macros/battle_script.inc | 2 +- src/battle_script_commands.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 9d624195b5..fd20478d26 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1771,7 +1771,7 @@ .macro jumpifspecies battler:req, species:req, ptr:req various \battler, VARIOUS_JUMP_IF_SPECIES - .byte \species + .2byte \species .4byte \ptr .endm diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2a4b2e347e..7b5e782c2a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8427,10 +8427,10 @@ static void Cmd_various(void) } return; case VARIOUS_JUMP_IF_SPECIES: - if (gBattleMons[gBattlerAttacker].species == gBattlescriptCurrInstr[3]) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 4); + if (gBattleMons[gActiveBattler].species == T1_READ_16(gBattlescriptCurrInstr + 3)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); else - gBattlescriptCurrInstr += 8; + gBattlescriptCurrInstr += 9; return; } From 28522f3ffb46350e9b12c884995d1402b670aec6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 28 Oct 2021 10:39:52 -0300 Subject: [PATCH 08/13] Fixed Hyperspace Fury not breaking through protections Also repositioned VARIOUS_JUMP_IF_SPECIES. --- asm/macros/battle_script.inc | 5 ++ data/battle_scripts_1.s | 74 +++++++++++++++++++++- include/battle.h | 10 +++ include/constants/battle_script_commands.h | 1 + include/constants/battle_string_ids.h | 3 +- src/battle_message.c | 2 + src/battle_script_commands.c | 18 ++++-- 7 files changed, 105 insertions(+), 8 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 04f6e04dc7..906eb1ede3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1864,6 +1864,11 @@ .4byte \ptr .endm + .macro jumpifprotected battler:req, ptr:req + various \battler, VARIOUS_JUMP_IF_PROTECTED + .4byte \ptr + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 3fcaf10249..b68363d5d0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -394,7 +394,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHyperspaceFury @ EFFECT_HYPERSPACE_FURY BattleScript_EffectHyperspaceFury: - jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectAttackerDefenseDownHit + jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE waitmessage B_WAIT_TIME_LONG @@ -403,6 +403,78 @@ BattleScript_ButHoopaCantUseIt: printstring STRINGID_BUTHOOPACANTUSEIT waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd +BattleScript_EffectHyperspaceFuryUnbound: + attackcanceler + jumpifprotected BS_TARGET, BattleScript_HyperspaceFuryBrokeThroughProtection + argumenttomoveeffect + 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 + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + swapattackerwithtarget @ to make gStatDownStringIds down below print the right battler + setstatchanger STAT_DEF, 1, TRUE + statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED, BattleScript_HyperspaceFuryTargetDefenseCantGoLower + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatDownStringIds + waitmessage B_WAIT_TIME_LONG + swapattackerwithtarget @ restore the battlers, just in case + goto BattleScript_MoveEnd + +BattleScript_HyperspaceFuryBrokeThroughProtection:: + argumenttomoveeffect + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + pause B_WAIT_TIME_LONG + printstring STRINGID_BROKETHROUGHPROTECTION + waitmessage B_WAIT_TIME_LONG + 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 + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + swapattackerwithtarget @ to make gStatDownStringIds down below print the right battler + setstatchanger STAT_DEF, 1, TRUE + statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED, BattleScript_HyperspaceFuryTargetDefenseCantGoLower + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatDownStringIds + waitmessage B_WAIT_TIME_LONG + swapattackerwithtarget @ restore the battlers, just in case + goto BattleScript_MoveEnd + return + +BattleScript_HyperspaceFuryTargetDefenseCantGoLower: + printstring STRINGID_STATSWONTDECREASE + waitmessage B_WAIT_TIME_LONG + return BattleScript_EffectPlasmaFists: attackcanceler diff --git a/include/battle.h b/include/battle.h index c1ac576866..5077053e35 100644 --- a/include/battle.h +++ b/include/battle.h @@ -638,6 +638,16 @@ 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 \ + || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_CRAFTY_SHIELD \ + || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_MAT_BLOCK \ + || gProtectStructs[battlerId].spikyShielded \ + || gProtectStructs[battlerId].kingsShielded \ + || gProtectStructs[battlerId].banefulBunkered \ + || gProtectStructs[battlerId].obstructed) \ + #define GET_STAT_BUFF_ID(n)((n & 7)) // first three bits 0x1, 0x2, 0x4 #define GET_STAT_BUFF_VALUE_WITH_SIGN(n)((n & 0xF8)) #define GET_STAT_BUFF_VALUE(n)(((n >> 3) & 0xF)) // 0x8, 0x10, 0x20, 0x40 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index f006952766..abce5f9bf6 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -194,6 +194,7 @@ #define VARIOUS_HANDLE_PRIMAL_REVERSION 121 #define VARIOUS_APPLY_PLASMA_FISTS 122 #define VARIOUS_JUMP_IF_SPECIES 123 +#define VARIOUS_JUMP_IF_PROTECTED 124 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 05bee80a81..1d461e2a00 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -596,8 +596,9 @@ #define STRINGID_PKMNREVERTEDTOPRIMAL 593 #define STRINGID_BUTPOKEMONCANTUSETHEMOVE 594 #define STRINGID_BUTHOOPACANTUSEIT 595 +#define STRINGID_BROKETHROUGHPROTECTION 596 -#define BATTLESTRINGS_COUNT 596 +#define BATTLESTRINGS_COUNT 597 // The below IDs are all indexes into battle message tables, // used to determine which of a set of messages to print. diff --git a/src/battle_message.c b/src/battle_message.c index bdc7f25fd0..f26726a69a 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -722,9 +722,11 @@ static const u8 sText_StuffCheeksCantSelect[] = _("Stuff Cheeks cannot be\nselec static const u8 sText_PkmnRevertedToPrimal[] = _("{B_ATK_NAME_WITH_PREFIX}'s Primal Reversion!\nIt reverted to its primal form!"); static const u8 sText_ButPokemonCantUseTheMove[] = _("But {B_ATK_NAME_WITH_PREFIX} can't\nuse the move!"); static const u8 sText_ButHoopaCantUseIt[] = _("But Hoopa can't use it\nthe way it is now!"); +static const u8 sText_BrokeThroughProtection[] = _("It broke through the\n{B_DEF_NAME_WITH_PREFIX}'s protection!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_BROKETHROUGHPROTECTION - 12] = sText_BrokeThroughProtection, [STRINGID_BUTPOKEMONCANTUSETHEMOVE - 12] = sText_ButPokemonCantUseTheMove, [STRINGID_BUTHOOPACANTUSEIT - 12] = sText_ButHoopaCantUseIt, [STRINGID_PKMNREVERTEDTOPRIMAL - 12] = sText_PkmnRevertedToPrimal, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 828e628aa5..f99aec1299 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8698,12 +8698,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 7; // exit if loop failed (failsafe) } return; - case VARIOUS_JUMP_IF_SPECIES: - if (gBattleMons[gActiveBattler].species == T1_READ_16(gBattlescriptCurrInstr + 3)) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); - else - gBattlescriptCurrInstr += 9; - return; case VARIOUS_MOVEEND_ITEM_EFFECTS: if (ItemBattleEffects(1, gActiveBattler, FALSE)) return; @@ -8983,6 +8977,18 @@ static void Cmd_various(void) for (i = 0; i < gBattlersCount; i++) gStatuses4[i] |= STATUS4_PLASMA_FISTS; break; + case VARIOUS_JUMP_IF_SPECIES: + if (gBattleMons[gActiveBattler].species == T1_READ_16(gBattlescriptCurrInstr + 3)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); + else + gBattlescriptCurrInstr += 9; + return; + case VARIOUS_JUMP_IF_PROTECTED: + if (IS_BATTLER_PROTECTED(gActiveBattler)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; } gBattlescriptCurrInstr += 3; From 2803b840e50fb47ea50256db6727859bd3084d42 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 28 Oct 2021 13:52:35 -0300 Subject: [PATCH 09/13] Updated Shadow Force's move data --- src/data/battle_moves.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 1079cd6081..cdb3ba0d18 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -7415,6 +7415,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .target = MOVE_TARGET_SELECTED, .priority = 0, .split = SPLIT_PHYSICAL, + .argument = MOVE_EFFECT_FEINT, }, [MOVE_HONE_CLAWS] = From 82101d3581a736fcaf6b46c37c1678d102b2fdfe Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 28 Oct 2021 13:59:59 -0300 Subject: [PATCH 10/13] Optimizations --- asm/macros/battle_script.inc | 5 -- data/battle_scripts_1.s | 85 ++++------------------ include/battle_scripts.h | 1 + include/constants/battle_script_commands.h | 1 - src/battle_script_commands.c | 21 ++---- src/data/battle_moves.h | 1 - 6 files changed, 22 insertions(+), 92 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 906eb1ede3..04f6e04dc7 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1864,11 +1864,6 @@ .4byte \ptr .endm - .macro jumpifprotected battler:req, ptr:req - various \battler, VARIOUS_JUMP_IF_PROTECTED - .4byte \ptr - .endm - @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index b68363d5d0..e17fd84509 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -394,86 +394,31 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHyperspaceFury @ EFFECT_HYPERSPACE_FURY BattleScript_EffectHyperspaceFury: - jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound - jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt + jumpifspecies BS_ATTACKER, SPECIES_TREECKO, BattleScript_EffectHyperspaceFuryUnbound + jumpifspecies BS_ATTACKER, SPECIES_MUDKIP, BattleScript_ButHoopaCantUseIt printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd + +BattleScript_EffectHyperspaceFuryUnbound:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + pause B_WAIT_TIME_LONG + ppreduce + setmoveeffect MOVE_EFFECT_FEINT + seteffectwithchance + setmoveeffect MOVE_EFFECT_DEF_MINUS_1 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_HitFromCritCalc + BattleScript_ButHoopaCantUseIt: printstring STRINGID_BUTHOOPACANTUSEIT waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectHyperspaceFuryUnbound: - attackcanceler - jumpifprotected BS_TARGET, BattleScript_HyperspaceFuryBrokeThroughProtection - argumenttomoveeffect - 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 - seteffectwithchance - tryfaintmon BS_TARGET, FALSE, NULL - swapattackerwithtarget @ to make gStatDownStringIds down below print the right battler - setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED, BattleScript_HyperspaceFuryTargetDefenseCantGoLower - setgraphicalstatchangevalues - playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 - printfromtable gStatDownStringIds - waitmessage B_WAIT_TIME_LONG - swapattackerwithtarget @ restore the battlers, just in case - goto BattleScript_MoveEnd -BattleScript_HyperspaceFuryBrokeThroughProtection:: - argumenttomoveeffect - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - pause B_WAIT_TIME_LONG +BattleScript_HyperspaceFuryRemoveProtect:: printstring STRINGID_BROKETHROUGHPROTECTION waitmessage B_WAIT_TIME_LONG - 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 - seteffectwithchance - tryfaintmon BS_TARGET, FALSE, NULL - swapattackerwithtarget @ to make gStatDownStringIds down below print the right battler - setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED, BattleScript_HyperspaceFuryTargetDefenseCantGoLower - setgraphicalstatchangevalues - playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 - printfromtable gStatDownStringIds - waitmessage B_WAIT_TIME_LONG - swapattackerwithtarget @ restore the battlers, just in case - goto BattleScript_MoveEnd - return - -BattleScript_HyperspaceFuryTargetDefenseCantGoLower: - printstring STRINGID_STATSWONTDECREASE - waitmessage B_WAIT_TIME_LONG return BattleScript_EffectPlasmaFists: diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 1994aef506..ec95a45497 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -401,5 +401,6 @@ extern const u8 BattleScript_AttackWeakenedByStrongWinds[]; extern const u8 BattleScript_BlockedByPrimalWeatherEnd3[]; extern const u8 BattleScript_BlockedByPrimalWeatherRet[]; extern const u8 BattleScript_PrimalReversion[]; +extern const u8 BattleScript_HyperspaceFuryRemoveProtect[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index abce5f9bf6..f006952766 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -194,7 +194,6 @@ #define VARIOUS_HANDLE_PRIMAL_REVERSION 121 #define VARIOUS_APPLY_PLASMA_FISTS 122 #define VARIOUS_JUMP_IF_SPECIES 123 -#define VARIOUS_JUMP_IF_PROTECTED 124 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f99aec1299..e41f0982a7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3278,15 +3278,7 @@ void SetMoveEffect(bool32 primary, u32 certain) } break; case MOVE_EFFECT_FEINT: - if (gProtectStructs[gBattlerTarget].protected - || gSideStatuses[GetBattlerSide(gBattlerTarget)] & SIDE_STATUS_WIDE_GUARD - || gSideStatuses[GetBattlerSide(gBattlerTarget)] & SIDE_STATUS_QUICK_GUARD - || gSideStatuses[GetBattlerSide(gBattlerTarget)] & SIDE_STATUS_CRAFTY_SHIELD - || gSideStatuses[GetBattlerSide(gBattlerTarget)] & SIDE_STATUS_MAT_BLOCK - || gProtectStructs[gBattlerTarget].spikyShielded - || gProtectStructs[gBattlerTarget].kingsShielded - || gProtectStructs[gBattlerTarget].banefulBunkered - || gProtectStructs[gBattlerTarget].obstructed) + if (IS_BATTLER_PROTECTED(gBattlerTarget)) { gProtectStructs[gBattlerTarget].protected = 0; gSideStatuses[GetBattlerSide(gBattlerTarget)] &= ~(SIDE_STATUS_WIDE_GUARD); @@ -3302,6 +3294,11 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } + else if (gCurrentMove == MOVE_HYPERSPACE_FURY) + { + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_HyperspaceFuryRemoveProtect; + } } break; case MOVE_EFFECT_SPECTRAL_THIEF: @@ -8983,12 +8980,6 @@ static void Cmd_various(void) else gBattlescriptCurrInstr += 9; return; - case VARIOUS_JUMP_IF_PROTECTED: - if (IS_BATTLER_PROTECTED(gActiveBattler)) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); - else - gBattlescriptCurrInstr += 7; - return; } gBattlescriptCurrInstr += 3; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 41f577a5bd..93d8fcda90 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9701,7 +9701,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIT_IN_SUBSTITUTE, .split = SPLIT_PHYSICAL, - .argument = MOVE_EFFECT_FEINT, }, [MOVE_SHORE_UP] = From e2e31f0b746631f6073d397734a936e38a56d54e Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Thu, 28 Oct 2021 16:53:00 -0400 Subject: [PATCH 11/13] skill swap config option for switchin abilities --- data/battle_scripts_1.s | 11 +++++++++++ include/constants/battle_config.h | 1 + 2 files changed, 12 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 5b1048e7b9..009c3a882f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5200,8 +5200,19 @@ BattleScript_EffectSkillSwap: tryswapabilities BattleScript_ButItFailed attackanimation waitanimation +.if B_ABILITY_POP_UP == TRUE + copybyte gBattlerAbility, gBattlerTarget + call BattleScript_AbilityPopUp + pause 20 + copybyte gBattlerAbility, gBattlerAttacker + call BattleScript_AbilityPopUp +.endif printstring STRINGID_PKMNSWAPPEDABILITIES waitmessage B_WAIT_TIME_LONG +.if B_SKILL_SWAP >= GEN_4 + switchinabilities BS_ATTACKER + switchinabilities BS_TARGET +.endif goto BattleScript_MoveEnd BattleScript_EffectImprison:: diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 99ad7360a1..41fee089de 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -148,6 +148,7 @@ #define B_CRASH_IF_TARGET_IMMUNE GEN_7 // In Gen4+, The user of Jump Kick or High Jump Kick will "keep going and crash" if it attacks a target that is immune to the move. #define B_MEMENTO_FAIL GEN_7 // In Gen4+, Memento fails if there is no target or if the target is protected or behind substitute. But not if Atk/Sp. Atk are at -6. #define B_GLARE_GHOST GEN_7 // In Gen4+, Glare can hit Ghost-type Pokémon normally. +#define B_SKILL_SWAP GEN_7 // In Gen4+, Skill Swap triggers switch-in abilities after use. // Ability settings #define B_ABILITY_WEATHER GEN_7 // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability. From 204748e01ac859094652370cf296866298de3db2 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Thu, 28 Oct 2021 17:52:52 -0400 Subject: [PATCH 12/13] fix recycle and harvest --- data/battle_scripts_1.s | 2 ++ include/battle.h | 2 +- include/battle_util.h | 1 + src/battle_ai_main.c | 8 ++++---- src/battle_main.c | 5 ++++- src/battle_script_commands.c | 8 ++++---- src/battle_util.c | 11 +++++++---- 7 files changed, 23 insertions(+), 14 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 5b1048e7b9..70f2d5fb1f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7490,9 +7490,11 @@ BattleScript_CheekPouchActivates:: BattleScript_HarvestActivates:: pause 5 + tryrecycleitem BattleScript_HarvestActivatesEnd call BattleScript_AbilityPopUp printstring STRINGID_HARVESTBERRY waitmessage B_WAIT_TIME_LONG +BattleScript_HarvestActivatesEnd: end3 BattleScript_SolarPowerActivates:: diff --git a/include/battle.h b/include/battle.h index 5077053e35..5e5aa24797 100644 --- a/include/battle.h +++ b/include/battle.h @@ -547,7 +547,7 @@ struct BattleStruct u16 synchronizeMoveEffect; bool8 anyMonHasTransformed; void (*savedCallback)(void); - u16 usedHeldItems[MAX_BATTLERS_COUNT]; + u16 usedHeldItems[PARTY_SIZE][2]; // For each party member and side. For harvest, recycle u16 chosenItem[MAX_BATTLERS_COUNT]; u8 AI_itemType[2]; u8 AI_itemFlags[2]; diff --git a/include/battle_util.h b/include/battle_util.h index ee7337ef2d..d98c511e23 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -155,6 +155,7 @@ bool32 TryRoomService(u8 battlerId); void BufferStatChange(u8 battlerId, u8 statId, u8 stringId); void DoBurmyFormChange(u32 monId); bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 checkTarget); +u16 GetUsedHeldItem(u8 battler); // ability checks bool32 IsRolePlayBannedAbilityAtk(u16 ability); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b8ed21e9d0..84fa7b6349 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1530,7 +1530,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; case EFFECT_RECYCLE: - if (gBattleStruct->usedHeldItems[battlerAtk] == 0 || gBattleMons[battlerAtk].item != 0) + if (GetUsedHeldItem(battlerAtk) == 0 || gBattleMons[battlerAtk].item != 0) score -= 10; break; case EFFECT_IMPRISON: @@ -1951,7 +1951,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; case EFFECT_BELCH: - if (ItemId_GetPocket(gBattleStruct->usedHeldItems[battlerAtk]) != POCKET_BERRIES) + if (ItemId_GetPocket(GetUsedHeldItem(battlerAtk)) != POCKET_BERRIES) score -= 10; // attacker has not consumed a berry break; case EFFECT_YAWN: @@ -4097,9 +4097,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score += 3; break; case EFFECT_RECYCLE: - if (gBattleStruct->usedHeldItems[battlerAtk] != ITEM_NONE) + if (GetUsedHeldItem(battlerAtk) != ITEM_NONE) score++; - if (IsRecycleEncouragedItem(gBattleStruct->usedHeldItems[battlerAtk])) + if (IsRecycleEncouragedItem(GetUsedHeldItem(battlerAtk))) score++; break; case EFFECT_BRICK_BREAK: diff --git a/src/battle_main.c b/src/battle_main.c index 271e977314..2cc3f5e2d0 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2862,7 +2862,6 @@ static void BattleStartClearSetData(void) gBattleResources->flags->flags[i] = 0; gPalaceSelectionBattleScripts[i] = 0; gBattleStruct->lastTakenMove[i] = 0; - gBattleStruct->usedHeldItems[i] = 0; gBattleStruct->choicedMove[i] = 0; gBattleStruct->changedItems[i] = 0; gBattleStruct->lastTakenMoveFrom[i][0] = 0; @@ -2935,7 +2934,11 @@ static void BattleStartClearSetData(void) gBattleStruct->mega.triggerSpriteId = 0xFF; for (i = 0; i < PARTY_SIZE; i++) + { + gBattleStruct->usedHeldItems[i][0] = 0; + gBattleStruct->usedHeldItems[i][1] = 0; gBattleStruct->itemStolen[i].originalItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + } } void SwitchInClearSetData(void) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e41f0982a7..ca0ceb7491 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6796,10 +6796,10 @@ static void Cmd_removeitem(void) gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); itemId = gBattleMons[gActiveBattler].item; - // Popped Air Balloon cannot be restored by no means. + // Popped Air Balloon cannot be restored by any means. if (GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_AIR_BALLOON) - gBattleStruct->usedHeldItems[gActiveBattler] = itemId; - + gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gActiveBattler]][GetBattlerSide(gActiveBattler)] = itemId; // Remember if switched out + gBattleMons[gActiveBattler].item = 0; CheckSetUnburden(gActiveBattler); @@ -12547,7 +12547,7 @@ static void Cmd_tryrecycleitem(void) u16 *usedHeldItem; gActiveBattler = gBattlerAttacker; - usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBattler]; + usedHeldItem = &gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gActiveBattler]][GetBattlerSide(gActiveBattler)]; if (*usedHeldItem != 0 && gBattleMons[gActiveBattler].item == 0) { gLastUsedItem = *usedHeldItem; diff --git a/src/battle_util.c b/src/battle_util.c index 275139f4f4..ca280a7224 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4373,11 +4373,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move case ABILITY_HARVEST: if (((WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) || Random() % 2 == 0) && gBattleMons[battler].item == ITEM_NONE - && gBattleStruct->changedItems[battler] == ITEM_NONE - && ItemId_GetPocket(gBattleStruct->usedHeldItems[battler]) == POCKET_BERRIES) + && gBattleStruct->changedItems[battler] == ITEM_NONE // Will not inherit an item + && ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES) { - gLastUsedItem = gBattleStruct->changedItems[battler] = gBattleStruct->usedHeldItems[battler]; - gBattleStruct->usedHeldItems[battler] = ITEM_NONE; BattleScriptPushCursorAndCallback(BattleScript_HarvestActivates); effect++; } @@ -9519,3 +9517,8 @@ bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 chec #endif return FALSE; } + +u16 GetUsedHeldItem(u8 battler) +{ + return gBattleStruct->usedHeldItems[gBattlerPartyIndexes[battler]][GetBattlerSide(battler)]; +} From 2502820e83900bc299ecd5eb62008b972470ef58 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Fri, 29 Oct 2021 09:03:14 -0400 Subject: [PATCH 13/13] document a couple hitmarkers. fix failing moves not updating hp from own healing effects --- data/battle_scripts_1.s | 64 ++++++++++++++++++------------------ include/constants/battle.h | 4 +-- src/battle_main.c | 4 +-- src/battle_script_commands.c | 16 ++++----- src/battle_util.c | 12 +++---- 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 009c3a882f..8241a31a6a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5968,7 +5968,7 @@ BattleScript_DamagingWeatherHeal: printstring STRINGID_ICEBODYHPGAIN waitmessage B_WAIT_TIME_LONG BattleScript_DamagingWeatherHpChange: - orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, FALSE, NULL @@ -5978,7 +5978,7 @@ BattleScript_DamagingWeatherLoopIncrement:: addbyte gBattleCommunication, 1 jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop BattleScript_DamagingWeatherContinuesEnd:: - bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE + bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE end2 BattleScript_SandStormHailEnds:: @@ -6097,7 +6097,7 @@ BattleScript_SafeguardEnds:: BattleScript_LeechSeedTurnDrain:: playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER copyword gBattleMoveDamage, gHpDealt @@ -6111,7 +6111,7 @@ BattleScript_LeechSeedTurnPrintLiquidOoze:: call BattleScript_AbilityPopUp setbyte cMULTISTRING_CHOOSER, B_MSG_LEECH_SEED_OOZE BattleScript_LeechSeedTurnPrintAndUpdateHp:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_TARGET datahpupdate BS_TARGET printfromtable gLeechSeedStringIds @@ -6292,14 +6292,14 @@ BattleScript_EncoredNoMore:: BattleScript_DestinyBondTakesLife:: printstring STRINGID_PKMNTOOKFOE waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, FALSE, NULL return BattleScript_DmgHazardsOnAttacker:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER call BattleScript_PrintHurtByDmgHazards @@ -6314,7 +6314,7 @@ BattleScript_DmgHazardsOnAttackerFainted:: goto BattleScript_HandleFaintedMon BattleScript_DmgHazardsOnTarget:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_TARGET datahpupdate BS_TARGET call BattleScript_PrintHurtByDmgHazards @@ -6329,7 +6329,7 @@ BattleScript_DmgHazardsOnTargetFainted:: goto BattleScript_HandleFaintedMon BattleScript_DmgHazardsOnFaintedBattler:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_FAINTED datahpupdate BS_FAINTED call BattleScript_PrintHurtByDmgHazards @@ -6384,7 +6384,7 @@ BattleScript_StickyWebOnSwitchInEnd: BattleScript_PerishSongTakesLife:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, FALSE, NULL @@ -6394,14 +6394,14 @@ BattleScript_PerishBodyActivates:: call BattleScript_AbilityPopUp printstring STRINGID_PKMNSWILLPERISHIN3TURNS waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE return BattleScript_GulpMissileGorging:: call BattleScript_AbilityPopUp playanimation BS_ATTACKER, B_ANIM_GULP_MISSILE, NULL waitanimation - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE effectivenesssound hitanimation BS_ATTACKER waitstate @@ -6430,7 +6430,7 @@ BattleScript_GulpMissileGulping:: call BattleScript_AbilityPopUp playanimation BS_ATTACKER, B_ANIM_GULP_MISSILE, NULL waitanimation - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE effectivenesssound hitanimation BS_ATTACKER waitstate @@ -7009,7 +7009,7 @@ BattleScript_AnticipationActivates:: BattleScript_AftermathDmg:: pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_AFTERMATHDMG @@ -7042,7 +7042,7 @@ BattleScript_PoisonTurnDmg:: BattleScript_DoStatusTurnDmg:: statusanimation BS_ATTACKER BattleScript_DoTurnDmg: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, FALSE, NULL @@ -7055,7 +7055,7 @@ BattleScript_PoisonHealActivates:: waitmessage B_WAIT_TIME_LONG recordability BS_ATTACKER statusanimation BS_ATTACKER - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end2 @@ -7152,7 +7152,7 @@ BattleScript_DoSelfConfusionDmg:: effectivenesssound hitanimation BS_ATTACKER waitstate - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER resultmessage @@ -7173,7 +7173,7 @@ BattleScript_MoveUsedPowder:: effectivenesssound hitanimation BS_ATTACKER waitstate - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_POWDEREXPLODES @@ -7347,7 +7347,7 @@ BattleScript_MoveEffectRecoil:: jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd BattleScript_DoRecoil:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_IGNORE_DISGUISE + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_DISGUISE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL @@ -7507,7 +7507,7 @@ BattleScript_HarvestActivates:: end3 BattleScript_SolarPowerActivates:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE call BattleScript_AbilityPopUp healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER @@ -7753,7 +7753,7 @@ BattleScript_BadDreamsActivates:: BattleScript_BadDreamsLoop: trygetbaddreamstarget BattleScript_BadDreamsEnd dmg_1_8_targethp - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE printstring STRINGID_BADDREAMSDMG waitmessage B_WAIT_TIME_LONG jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement @@ -7922,14 +7922,14 @@ BattleScript_GrassyTerrainLoop: printstring STRINGID_GRASSYTERRAINHEALS waitmessage B_WAIT_TIME_LONG BattleScript_GrassyTerrainHpChange: - orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER BattleScript_GrassyTerrainLoopIncrement:: addbyte gBattleCommunication, 1 jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_GrassyTerrainLoop BattleScript_GrassyTerrainLoopEnd:: - bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE jumpifword CMP_COMMON_BITS, gFieldStatuses, STATUS_FIELD_TERRAIN_PERMANENT, BattleScript_GrassyTerrainHealEnd jumpifbyte CMP_EQUAL, gFieldTimers + 5, 0, BattleScript_GrassyTerrainEnds BattleScript_GrassyTerrainHealEnd: @@ -8125,7 +8125,7 @@ BattleScript_ImposterActivates:: end3 BattleScript_HurtAttacker: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHURTSWITH @@ -8149,7 +8149,7 @@ BattleScript_RockyHelmetActivatesDmg: BattleScript_SpikyShieldEffect:: jumpifabsent BS_ATTACKER, BattleScript_SpikyShieldRet - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER @@ -8160,7 +8160,7 @@ BattleScript_SpikyShieldRet:: return BattleScript_KingsShieldEffect:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT seteffectsecondary setmoveeffect 0 @@ -8170,7 +8170,7 @@ BattleScript_KingsShieldEffect:: return BattleScript_BanefulBunkerEffect:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_x100000 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_PASSIVE_DAMAGE bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT seteffectsecondary setmoveeffect 0 @@ -8424,7 +8424,7 @@ BattleScript_ItemHealHP_RemoveItemRet_Anim: playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_SCRIPTING datahpupdate BS_SCRIPTING removeitem BS_SCRIPTING @@ -8439,7 +8439,7 @@ BattleScript_ItemHealHP_RemoveItemEnd2_Anim: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER removeitem BS_ATTACKER @@ -8473,7 +8473,7 @@ BattleScript_AirBaloonMsgPop:: return BattleScript_ItemHurtRet:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_IGNORE_DISGUISE + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_DISGUISE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_HURTBYITEM @@ -8491,7 +8491,7 @@ BattleScript_ItemHealHP_Ret:: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER return @@ -8522,7 +8522,7 @@ BattleScript_BerryConfuseHealEnd2_Anim: playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_SCRIPTING datahpupdate BS_SCRIPTING printstring STRINGID_FORXCOMMAYZ @@ -8541,7 +8541,7 @@ BattleScript_BerryConfuseHealRet_Anim: playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage B_WAIT_TIME_LONG - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_SCRIPTING datahpupdate BS_SCRIPTING printstring STRINGID_FORXCOMMAYZ diff --git a/include/constants/battle.h b/include/constants/battle.h index 260e6153c5..918c3e7f0d 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -176,7 +176,7 @@ #define STATUS4_PLASMA_FISTS (1 << 1) #define HITMARKER_x10 (1 << 4) -#define HITMARKER_x20 (1 << 5) +#define HITMARKER_SKIP_DMG_TRACK (1 << 5) #define HITMARKER_DESTINYBOND (1 << 6) #define HITMARKER_NO_ANIMATIONS (1 << 7) #define HITMARKER_IGNORE_SUBSTITUTE (1 << 8) @@ -190,7 +190,7 @@ #define HITMARKER_IGNORE_DISGUISE (1 << 16) // 3 free spots because of change in handling of UNDERGROUND/UNDERWATER/ON AIR #define HITMARKER_UNABLE_TO_USE_MOVE (1 << 19) -#define HITMARKER_x100000 (1 << 20) +#define HITMARKER_PASSIVE_DAMAGE (1 << 20) #define HITMARKER_x200000 (1 << 21) #define HITMARKER_x400000 (1 << 22) #define HITMARKER_x800000 (1 << 23) diff --git a/src/battle_main.c b/src/battle_main.c index 271e977314..704b73378f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3635,7 +3635,7 @@ void BattleTurnPassed(void) gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); gHitMarker &= ~(HITMARKER_x400000); - gHitMarker &= ~(HITMARKER_x100000); + gHitMarker &= ~(HITMARKER_PASSIVE_DAMAGE); gBattleScripting.animTurn = 0; gBattleScripting.animTargetsHit = 0; gBattleScripting.moveendState = 0; @@ -4772,7 +4772,7 @@ static void RunTurnActionsFunctions(void) if (gCurrentTurnActionNumber >= gBattlersCount) // everyone did their actions, turn finished { - gHitMarker &= ~(HITMARKER_x100000); + gHitMarker &= ~(HITMARKER_PASSIVE_DAMAGE); gBattleMainFunc = sEndTurnFuncsTable[gBattleOutcome & 0x7F]; } else diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e41f0982a7..6e5f0eb0c6 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2123,7 +2123,7 @@ static void Cmd_healthbarupdate(void) if (gBattleControllerExecFlags) return; - if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || (gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -2160,7 +2160,7 @@ static void Cmd_datahpupdate(void) else moveType = gBattleMoves[gCurrentMove].type; - if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || (gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); if (DoesSubstituteBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove) && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) @@ -2206,9 +2206,9 @@ static void Cmd_datahpupdate(void) } else // hp goes down { - if (gHitMarker & HITMARKER_x20) + if (gHitMarker & HITMARKER_SKIP_DMG_TRACK) { - gHitMarker &= ~(HITMARKER_x20); + gHitMarker &= ~(HITMARKER_SKIP_DMG_TRACK); } else { @@ -2230,10 +2230,10 @@ static void Cmd_datahpupdate(void) gBattleMons[gActiveBattler].hp = 0; } - if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_x100000)) + if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE)) gSpecialStatuses[gActiveBattler].dmg = gHpDealt; - if (IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) + if (IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE) && gCurrentMove != MOVE_PAIN_SPLIT) { gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt; @@ -2248,7 +2248,7 @@ static void Cmd_datahpupdate(void) gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget; } } - else if (!IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_x100000)) + else if (!IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { gProtectStructs[gActiveBattler].specialDmg = gHpDealt; gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt; @@ -2264,7 +2264,7 @@ static void Cmd_datahpupdate(void) } } } - gHitMarker &= ~(HITMARKER_x100000); + gHitMarker &= ~(HITMARKER_PASSIVE_DAMAGE); BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); } diff --git a/src/battle_util.c b/src/battle_util.c index 275139f4f4..b0078777db 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -864,7 +864,7 @@ void HandleAction_NothingIsFainted(void) gCurrentTurnActionNumber++; gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_x100000 + | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_PASSIVE_DAMAGE | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_CHARGING | HITMARKER_x4000000); } @@ -876,7 +876,7 @@ void HandleAction_ActionFinished(void) gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; SpecialStatusesClear(); gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_x100000 + | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_PASSIVE_DAMAGE | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_CHARGING | HITMARKER_x4000000 | HITMARKER_IGNORE_DISGUISE); @@ -2414,7 +2414,7 @@ u8 DoBattlerEndTurnEffects(void) { u32 ability, i, effect = 0; - gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); + gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT) { gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; @@ -2908,13 +2908,13 @@ u8 DoBattlerEndTurnEffects(void) return effect; } - gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); + gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); return 0; } bool8 HandleWishPerishSongOnTurnEnd(void) { - gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); + gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); switch (gBattleStruct->wishPerishSongState) { @@ -3011,7 +3011,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) break; } - gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); + gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); return FALSE; }