From a4b630e6b58a49b20252cc03f64f6ff04f719bac Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Tue, 7 Sep 2021 16:34:32 +1200 Subject: [PATCH 1/2] Fix MOVE_EFFECT_REMOVE_STATUS Wake-Up Slap and Sparkling Aria now print the correct message when the target is cured. Also, fix Ice Hammer's effect chance. --- data/battle_scripts_1.s | 12 ++++++++++++ include/battle_scripts.h | 2 ++ include/constants/battle_string_ids.h | 3 ++- src/battle_message.c | 2 ++ src/battle_script_commands.c | 13 ++++++++++++- src/data/battle_moves.h | 4 ++-- 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 13815027a..fc5954d25 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6467,6 +6467,18 @@ BattleScript_TargetPRLZHeal:: updatestatusicon BS_TARGET return +BattleScript_TargetWokeUp:: + printstring STRINGID_TARGETWOKEUP + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_TARGET + return + +BattleScript_TargetBurnHeal:: + printstring STRINGID_PKMNBURNHEALED + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_TARGET + return + BattleScript_MoveEffectSleep:: statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds diff --git a/include/battle_scripts.h b/include/battle_scripts.h index b0e5c7e91..232a40aa5 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -124,6 +124,8 @@ extern const u8 BattleScript_MoveUsedIsInLoveCantAttack[]; extern const u8 BattleScript_NightmareTurnDmg[]; extern const u8 BattleScript_CurseTurnDmg[]; extern const u8 BattleScript_TargetPRLZHeal[]; +extern const u8 BattleScript_TargetWokeUp[]; +extern const u8 BattleScript_TargetBurnHeal[]; extern const u8 BattleScript_MoveEffectSleep[]; extern const u8 BattleScript_YawnMakesAsleep[]; extern const u8 BattleScript_MoveEffectPoison[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 5e66b107f..0558e4feb 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -572,8 +572,9 @@ #define STRINGID_PKMNGOTOVERITSINFATUATION 568 #define STRINGID_ITEMCANNOTBEREMOVED 569 #define STRINGID_STICKYBARBTRANSFER 570 +#define STRINGID_PKMNBURNHEALED 571 -#define BATTLESTRINGS_COUNT 571 +#define BATTLESTRINGS_COUNT 572 // 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 d5c3b2967..4640094e1 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -698,9 +698,11 @@ static const u8 sText_PkmnShookOffTheTaunt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX static const u8 sText_PkmnGotOverItsInfatuation[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} got over\nits infatuation!"); static const u8 sText_ItemCannotBeRemoved[] = _("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!"); static const u8 sText_StickyBarbTransfer[] = _("The {B_LAST_ITEM} attached itself to\n{B_ATK_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnBurnHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s burn was healed."); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_PKMNBURNHEALED - 12] = sText_PkmnBurnHealed, [STRINGID_STICKYBARBTRANSFER - 12] = sText_StickyBarbTransfer, [STRINGID_ITEMCANNOTBEREMOVED - 12] = sText_ItemCannotBeRemoved, [STRINGID_PKMNGOTOVERITSINFATUATION - 12] = sText_PkmnGotOverItsInfatuation, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index db576cd95..0738c7294 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3110,7 +3110,18 @@ void SetMoveEffect(bool32 primary, u32 certain) MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; + switch (gBattleMoves[gCurrentMove].argument) + { + case STATUS1_PARALYSIS: + gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; + break; + case STATUS1_SLEEP: + gBattlescriptCurrInstr = BattleScript_TargetWokeUp; + break; + case STATUS1_BURN: + gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; + break; + } } break; case MOVE_EFFECT_ATK_DEF_DOWN: // SuperPower diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index d474c981c..657341b5e 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9767,7 +9767,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .type = TYPE_WATER, .accuracy = 100, .pp = 10, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, @@ -9782,7 +9782,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .type = TYPE_ICE, .accuracy = 90, .pp = 10, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, From bd92552fb68f382dbab1a4730ad49b74015ac452 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Tue, 7 Sep 2021 16:39:42 +1200 Subject: [PATCH 2/2] Add new line to burn was healed string --- src/battle_message.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_message.c b/src/battle_message.c index 4640094e1..19468f168 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -698,7 +698,7 @@ static const u8 sText_PkmnShookOffTheTaunt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX static const u8 sText_PkmnGotOverItsInfatuation[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} got over\nits infatuation!"); static const u8 sText_ItemCannotBeRemoved[] = _("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!"); static const u8 sText_StickyBarbTransfer[] = _("The {B_LAST_ITEM} attached itself to\n{B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnBurnHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s burn was healed."); +static const u8 sText_PkmnBurnHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nburn was healed."); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = {