Fix multi battle switch checks for Eject items (#9190)
This commit is contained in:
parent
ce15e5486d
commit
312ddddc17
@ -5643,7 +5643,7 @@ static inline bool32 CanEjectButtonTrigger(u32 battlerAtk, u32 battlerDef, enum
|
||||
&& battlerAtk != battlerDef
|
||||
&& IsBattlerTurnDamaged(battlerDef)
|
||||
&& IsBattlerAlive(battlerDef)
|
||||
&& CountUsablePartyMons(battlerDef) > 0
|
||||
&& CanBattlerSwitch(battlerDef)
|
||||
&& !(moveEffect == EFFECT_HIT_SWITCH_TARGET && CanBattlerSwitch(battlerAtk)))
|
||||
return TRUE;
|
||||
|
||||
@ -5655,7 +5655,7 @@ static inline bool32 CanEjectPackTrigger(u32 battlerAtk, u32 battlerDef, enum Ba
|
||||
if (gDisableStructs[battlerDef].tryEjectPack
|
||||
&& GetBattlerHoldEffect(battlerDef) == HOLD_EFFECT_EJECT_PACK
|
||||
&& IsBattlerAlive(battlerDef)
|
||||
&& CountUsablePartyMons(battlerDef) > 0
|
||||
&& CanBattlerSwitch(battlerDef)
|
||||
&& !gProtectStructs[battlerDef].disableEjectPack
|
||||
&& !(moveEffect == EFFECT_HIT_SWITCH_TARGET && CanBattlerSwitch(battlerAtk))
|
||||
&& !(moveEffect == EFFECT_PARTING_SHOT && CanBattlerSwitch(battlerAtk)))
|
||||
|
||||
@ -10691,7 +10691,7 @@ bool32 TrySwitchInEjectPack(enum EjectPackTiming timing)
|
||||
if (gDisableStructs[i].tryEjectPack
|
||||
&& GetBattlerHoldEffect(i) == HOLD_EFFECT_EJECT_PACK
|
||||
&& IsBattlerAlive(i)
|
||||
&& CountUsablePartyMons(i) > 0)
|
||||
&& CanBattlerSwitch(i))
|
||||
{
|
||||
ejectPackBattlers |= 1u << i;
|
||||
numEjectPackBattlers++;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user