Deprecate absent member from battlerState (#7091)

This commit is contained in:
Alex 2025-06-12 10:41:46 +02:00 committed by GitHub
parent 3db12a0ae6
commit aa78420b9e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 5 additions and 10 deletions

View File

@ -575,7 +575,6 @@ struct BattlerState
u8 targetsDone[MAX_BATTLERS_COUNT];
u32 commandingDondozo:1;
u32 absent:1;
u32 focusPunchBattlers:1;
u32 multipleSwitchInBattlers:1;
u32 alreadyStatusedMoveAttempt:1; // For example when using Thunder Wave on an already paralyzed Pokémon.
@ -589,7 +588,7 @@ struct BattlerState
u32 pursuitTarget:1;
u32 stompingTantrumTimer:2;
u32 canPickupItem:1;
u32 padding:16;
u32 padding:17;
// End of Word
};

View File

@ -3873,7 +3873,6 @@ static void TryDoEventsBeforeFirstTurn(void)
gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE;
gChosenActionByBattler[i] = B_ACTION_NONE;
gChosenMoveByBattler[i] = MOVE_NONE;
gBattleStruct->battlerState[i].absent = (gAbsentBattlerFlags & (1u << i) ? TRUE : FALSE);
}
TurnValuesCleanUp(FALSE);
SpecialStatusesClear();
@ -3983,7 +3982,6 @@ void BattleTurnPassed(void)
{
gChosenActionByBattler[i] = B_ACTION_NONE;
gChosenMoveByBattler[i] = MOVE_NONE;
gBattleStruct->battlerState[i].absent = (gAbsentBattlerFlags & (1u << i) ? TRUE : FALSE);
gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE;
gStatuses4[i] &= ~STATUS4_ELECTRIFIED;
gBattleMons[i].status2 &= ~STATUS2_FLINCHED;
@ -4162,10 +4160,10 @@ static void HandleTurnActionSelectionState(void)
gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE;
if (gBattleTypeFlags & BATTLE_TYPE_MULTI
|| (position & BIT_FLANK) == B_FLANK_LEFT
|| gBattleStruct->battlerState[GetBattlerAtPosition(BATTLE_PARTNER(position))].absent
|| gAbsentBattlerFlags & 1u << GetBattlerAtPosition(BATTLE_PARTNER(position))
|| gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == STATE_WAIT_ACTION_CONFIRMED)
{
if (gBattleStruct->battlerState[battler].absent || gBattleStruct->battlerState[battler].commandingDondozo)
if (gAbsentBattlerFlags & 1u << battler || gBattleStruct->battlerState[battler].commandingDondozo)
{
gChosenActionByBattler[battler] = B_ACTION_NOTHING_FAINTED;
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@ -4553,7 +4551,7 @@ static void HandleTurnActionSelectionState(void)
if (((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !IsDoubleBattle())
|| (position & BIT_FLANK) != B_FLANK_LEFT
|| gBattleStruct->battlerState[GetBattlerAtPosition(BATTLE_PARTNER(position))].absent)
|| gAbsentBattlerFlags & 1u << GetBattlerAtPosition(BATTLE_PARTNER(position)))
{
BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i);
}

View File

@ -6730,7 +6730,6 @@ static void Cmd_moveend(void)
}
enum BattleMoveEffects originalEffect = GetMoveEffect(originallyUsedMove);
if (!(gAbsentBattlerFlags & (1u << gBattlerAttacker))
&& !gBattleStruct->battlerState[gBattlerAttacker].absent
&& originalEffect != EFFECT_BATON_PASS && originalEffect != EFFECT_HEALING_WISH)
{
if (gHitMarker & HITMARKER_OBEYS)
@ -6774,7 +6773,6 @@ static void Cmd_moveend(void)
break;
case MOVEEND_MIRROR_MOVE: // mirror move
if (!(gAbsentBattlerFlags & (1u << gBattlerAttacker))
&& !gBattleStruct->battlerState[gBattlerAttacker].absent
&& !IsMoveMirrorMoveBanned(originallyUsedMove)
&& gHitMarker & HITMARKER_OBEYS
&& gBattlerAttacker != gBattlerTarget

View File

@ -370,7 +370,7 @@ void HandleAction_UseMove(void)
u32 i, moveTarget;
gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber];
if (gBattleStruct->battlerState[gBattlerAttacker].absent
if (gAbsentBattlerFlags & 1u << gBattlerAttacker
|| gBattleStruct->battlerState[gBattlerAttacker].commandingDondozo
|| !IsBattlerAlive(gBattlerAttacker))
{