Fixes Tar Shot on Tera mons (#5302)
* Fixes Tar Shot on Tera mon * new line
This commit is contained in:
parent
cfa56962e1
commit
e09a59a7e4
@ -1674,6 +1674,11 @@
|
||||
callnative BS_FickleBeamDamageCalculation
|
||||
.endm
|
||||
|
||||
.macro trytarshot failInstr:req
|
||||
callnative BS_TryTarShot
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ various command changed to more readable macros
|
||||
.macro cancelmultiturnmoves battler:req
|
||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
@ -2210,11 +2215,6 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trytarshot battler:req, failInstr:req
|
||||
various \battler, VARIOUS_TRY_TAR_SHOT
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro cantarshotwork battler:req, failInstr:req
|
||||
various \battler, VARIOUS_CAN_TAR_SHOT_WORK
|
||||
.4byte \failInstr
|
||||
|
||||
@ -902,7 +902,7 @@ BattleScript_EffectTarShot::
|
||||
printfromtable gStatDownStringIds
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_TryTarShot:
|
||||
trytarshot BS_TARGET, BattleScript_MoveEnd
|
||||
trytarshot BattleScript_MoveEnd
|
||||
printstring STRINGID_PKMNBECAMEWEAKERTOFIRE
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
@ -10715,20 +10715,6 @@ static void Cmd_various(void)
|
||||
}
|
||||
return;
|
||||
}
|
||||
case VARIOUS_TRY_TAR_SHOT:
|
||||
{
|
||||
VARIOUS_ARGS(const u8 *failInstr);
|
||||
if (gDisableStructs[battler].tarShot)
|
||||
{
|
||||
gBattlescriptCurrInstr = cmd->failInstr;
|
||||
}
|
||||
else
|
||||
{
|
||||
gDisableStructs[battler].tarShot = TRUE;
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
return;
|
||||
}
|
||||
case VARIOUS_CAN_TAR_SHOT_WORK:
|
||||
{
|
||||
VARIOUS_ARGS(const u8 *failInstr);
|
||||
@ -17209,3 +17195,17 @@ void BS_FickleBeamDamageCalculation(void)
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
||||
void BS_TryTarShot(void)
|
||||
{
|
||||
NATIVE_ARGS(const u8 *failInstr);
|
||||
if (gDisableStructs[gBattlerTarget].tarShot || GetActiveGimmick(gBattlerTarget) == GIMMICK_TERA)
|
||||
{
|
||||
gBattlescriptCurrInstr = cmd->failInstr;
|
||||
}
|
||||
else
|
||||
{
|
||||
gDisableStructs[gBattlerTarget].tarShot = TRUE;
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,3 +42,46 @@ SINGLE_BATTLE_TEST("Tar Shot doubles the effectiveness of Fire-type moves used o
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Tar Shot does not affect Pokemon that are Terastallized")
|
||||
{
|
||||
s16 damage[2];
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { TeraType(TYPE_NORMAL); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) ;
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_EMBER); }
|
||||
TURN { MOVE(opponent, MOVE_TAR_SHOT); }
|
||||
TURN { MOVE(opponent, MOVE_EMBER); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent);
|
||||
HP_BAR(player, captureDamage: &damage[0]);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_TAR_SHOT, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent);
|
||||
HP_BAR(player, captureDamage: &damage[1]);
|
||||
NOT MESSAGE("It's super effective!");
|
||||
} THEN {
|
||||
EXPECT_EQ(damage[0], damage[1]);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Tar Shot does affect Pokemon that Terastallized after Tar Shot status was applied")
|
||||
{
|
||||
s16 damage[2];
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { TeraType(TYPE_NORMAL); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) ;
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_EMBER); }
|
||||
TURN { MOVE(opponent, MOVE_TAR_SHOT); }
|
||||
TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_EMBER); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent);
|
||||
HP_BAR(player, captureDamage: &damage[0]);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_TAR_SHOT, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent);
|
||||
HP_BAR(player, captureDamage: &damage[1]);
|
||||
MESSAGE("It's super effective!");
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(damage[0], Q_4_12(2.0), damage[1]);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user