Fixes Intrepid Sword/Dauntless Shield boosting after entering while at max stats (#7716)
This commit is contained in:
parent
7a0e5046d1
commit
827dd4a67c
@ -7920,7 +7920,7 @@ BattleScript_TeraShellDistortingTypeMatchups::
|
||||
|
||||
BattleScript_CursedBodyActivates::
|
||||
call BattleScript_AbilityPopUp
|
||||
printstring STRINGID_CUSEDBODYDISABLED
|
||||
printstring STRINGID_CURSEDBODYDISABLED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
|
||||
@ -480,7 +480,7 @@ enum StringID
|
||||
STRINGID_HEALINGWISHCAMETRUE,
|
||||
STRINGID_HEALINGWISHHEALED,
|
||||
STRINGID_LUNARDANCECAMETRUE,
|
||||
STRINGID_CUSEDBODYDISABLED,
|
||||
STRINGID_CURSEDBODYDISABLED,
|
||||
STRINGID_ATTACKERACQUIREDABILITY,
|
||||
STRINGID_TARGETABILITYSTATLOWER,
|
||||
STRINGID_TARGETSTATWONTGOHIGHER,
|
||||
|
||||
@ -640,7 +640,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("The healing wish came true for {B_ATK_NAME_WITH_PREFIX2}!"),
|
||||
[STRINGID_HEALINGWISHHEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained health!"),
|
||||
[STRINGID_LUNARDANCECAMETRUE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in mystical moonlight!"),
|
||||
[STRINGID_CUSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"),
|
||||
[STRINGID_CURSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"),
|
||||
[STRINGID_ATTACKERACQUIREDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} acquired {B_ATK_ABILITY}!"),
|
||||
[STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} lowered its {B_BUFF1}!"),
|
||||
[STRINGID_TARGETSTATWONTGOHIGHER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"),
|
||||
|
||||
@ -3975,27 +3975,33 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
|
||||
}
|
||||
break;
|
||||
case ABILITY_INTREPID_SWORD:
|
||||
if (!gSpecialStatuses[battler].switchInAbilityDone && CompareStat(battler, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN)
|
||||
if (!gSpecialStatuses[battler].switchInAbilityDone
|
||||
&& !GetBattlerPartyState(battler)->intrepidSwordBoost)
|
||||
{
|
||||
if (GetGenConfig(GEN_INTREPID_SWORD) == GEN_9)
|
||||
GetBattlerPartyState(battler)->intrepidSwordBoost = TRUE;
|
||||
gSpecialStatuses[battler].switchInAbilityDone = TRUE;
|
||||
SET_STATCHANGER(STAT_ATK, 1, FALSE);
|
||||
BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn);
|
||||
effect++;
|
||||
if (CompareStat(battler, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN))
|
||||
{
|
||||
SET_STATCHANGER(STAT_ATK, 1, FALSE);
|
||||
BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn);
|
||||
effect++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ABILITY_DAUNTLESS_SHIELD:
|
||||
if (!gSpecialStatuses[battler].switchInAbilityDone && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN)
|
||||
if (!gSpecialStatuses[battler].switchInAbilityDone
|
||||
&& !GetBattlerPartyState(battler)->dauntlessShieldBoost)
|
||||
{
|
||||
if (GetGenConfig(GEN_DAUNTLESS_SHIELD) == GEN_9)
|
||||
GetBattlerPartyState(battler)->dauntlessShieldBoost = TRUE;
|
||||
gSpecialStatuses[battler].switchInAbilityDone = TRUE;
|
||||
SET_STATCHANGER(STAT_DEF, 1, FALSE);
|
||||
BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn);
|
||||
effect++;
|
||||
if (CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN))
|
||||
{
|
||||
SET_STATCHANGER(STAT_DEF, 1, FALSE);
|
||||
BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn);
|
||||
effect++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ABILITY_WIND_RIDER:
|
||||
|
||||
@ -675,7 +675,7 @@ TEST("Battle strings fit on the battle message window")
|
||||
case STRINGID_PKMNSXWOREOFF:
|
||||
case STRINGID_BUFFERENDS:
|
||||
case STRINGID_FOREWARNACTIVATES:
|
||||
case STRINGID_CUSEDBODYDISABLED:
|
||||
case STRINGID_CURSEDBODYDISABLED:
|
||||
case STRINGID_CURRENTMOVECANTSELECT:
|
||||
case STRINGID_TARGETISHURTBYSALTCURE:
|
||||
PREPARE_MOVE_BUFFER(gBattleTextBuff1, longMoveID);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user