diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a11510689b..0353c91332 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -814,27 +814,10 @@ BattleScript_EffectBurnUp: ppreduce jumpiftype BS_ATTACKER, TYPE_FIRE, BattleScript_BurnUpWorks goto BattleScript_ButItFailed + BattleScript_BurnUpWorks: - accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG - losetype BS_ATTACKER, TYPE_FIRE - printstring STRINGID_ATTACKERLOSTFIRETYPE - waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_TARGET, FALSE, NULL - goto BattleScript_MoveEnd + setmoveeffect MOVE_EFFECT_BURN_UP | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_BurnUpRemoveType:: losetype BS_ATTACKER, TYPE_FIRE diff --git a/include/constants/battle.h b/include/constants/battle.h index 6b8698720c..5a95d1853c 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -358,8 +358,9 @@ #define MOVE_EFFECT_BUG_BITE 0x45 #define MOVE_EFFECT_RECOIL_HP_25 0x46 #define MOVE_EFFECT_RELIC_SONG 0x47 +#define MOVE_EFFECT_BURN_UP 0x48 -#define NUM_MOVE_EFFECTS 0x48 +#define NUM_MOVE_EFFECTS 0x49 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a4a3f39e07..f8548f5228 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3443,6 +3443,11 @@ void SetMoveEffect(bool32 primary, u32 certain) } } break; + case MOVE_EFFECT_BURN_UP: + // This seems unnecessary but is done to make it work properly with Parental Bond + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_BurnUpRemoveType; + break; } } }