summaryrefslogtreecommitdiff
path: root/src/battle/battle_4.c
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-04-06 16:02:31 -0700
committerMarcus Huderle <huderlem@gmail.com>2018-04-06 16:02:31 -0700
commit818801cf5ab0c696f2460922753f921726aac6bb (patch)
tree9dde82014d4bc9949d1548d7c04c93227419eb2c /src/battle/battle_4.c
parentcbf2c5c2a9539f74d57f141f233b47923566e838 (diff)
Finish decompiling battle_9
Diffstat (limited to 'src/battle/battle_4.c')
-rw-r--r--src/battle/battle_4.c112
1 files changed, 56 insertions, 56 deletions
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index e1cc515ec..9c6d3bbd4 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -193,7 +193,7 @@ static bool8 IsTwoTurnsMove(u16 move);
static void TrySetDestinyBondToHappen(void);
static void CheckWonderGuardAndLevitate(void);
u8 GetBattlerPosition(u8 bank);
-u8 GetBankSide(u8 bank);
+u8 GetBattlerSide(u8 bank);
u8 GetBattleBank(u8 bankValue);
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 bank_atk, u8 bank_def);
static u8 AttacksThisTurn(u8 bank, u16 move); //Note: returns 1 if it's a charging turn, otherwise 2
@@ -1999,7 +1999,7 @@ static void atk0B_healthbarupdate(void)
EmitHealthBarUpdate(0, gBattleMoveDamage);
MarkBufferBankForExecution(gActiveBattler);
- if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0)
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0)
gBattleResults.unk5_0 = 1;
}
}
@@ -2729,8 +2729,8 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
break;
case 31: //item steal
{
- u8 side = GetBankSide(gBankAttacker);
- if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400)
+ u8 side = GetBattlerSide(gBankAttacker);
+ if (GetBattlerSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400)
{gBattlescriptCurrInstr++; return;}
if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBankAttacker]]))
{gBattlescriptCurrInstr++; return;}
@@ -2832,7 +2832,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
{gBattlescriptCurrInstr++; return;}
else
{
- u8 side = GetBankSide(gEffectBank);
+ u8 side = GetBattlerSide(gEffectBank);
gLastUsedItem = gBattleMons[gEffectBank].item;
gBattleMons[gEffectBank].item = 0;
gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]];
@@ -4499,11 +4499,11 @@ _0801F1A0: .4byte gBankAttacker\n\
_0801F1A4:\n\
ldr r4, _0801F254 @ =gBankAttacker\n\
ldrb r0, [r4]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
ldrb r0, [r4]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0x1\n\
@@ -4924,7 +4924,7 @@ _0801F540:\n\
cmp r0, 0\n\
beq _0801F5DC\n\
adds r0, r3, 0\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
ldr r1, _0801F5B8 @ =gLastUsedItem\n\
@@ -5090,7 +5090,7 @@ static void atk19_tryfaintmon(void)
BattleScriptPop();
gBattlescriptCurrInstr = r4;
- gSideAffecting[GetBankSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED;
+ gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED;
}
else
{
@@ -5126,7 +5126,7 @@ static void atk19_tryfaintmon(void)
gHitMarker |= HITMARKER_FAINTED(gActiveBattler);
BattleScriptPush(gBattlescriptCurrInstr + 7);
gBattlescriptCurrInstr = r4;
- if (GetBankSide(gActiveBattler) == 0)
+ if (GetBattlerSide(gActiveBattler) == 0)
{
gHitMarker |= HITMARKER_x400000;
if (gBattleResults.playerFaintCounter < 0xFF)
@@ -5153,7 +5153,7 @@ static void atk19_tryfaintmon(void)
}
if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE)
&& !(gHitMarker & HITMARKER_GRUDGE)
- && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)
+ && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)
&& gBattleMons[gBankAttacker].hp != 0
&& gCurrentMove != MOVE_STRUGGLE)
{
@@ -5382,7 +5382,7 @@ static void atk23_getexp(void)
switch (gBattleStruct->getexpStateTracker)
{
case 0: // check if should receive exp at all
- if (GetBankSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags &
+ if (GetBattlerSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags &
(BATTLE_TYPE_LINK
| BATTLE_TYPE_SAFARI
| BATTLE_TYPE_BATTLE_TOWER
@@ -6783,7 +6783,7 @@ static void atk49_moveend(void)
case 0: //rage check
if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE
&& gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget
- && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)
+ && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED
&& gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB)
{
@@ -7070,11 +7070,11 @@ _08021958:\n\
cmp r1, r4\n\
beq _080219FE\n\
adds r0, r1, 0\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
adds r4, r0, 0\n\
ldr r1, _08021A0C @ =gBankTarget\n\
ldrb r0, [r1]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r4, 24\n\
lsls r0, 24\n\
cmp r4, r0\n\
@@ -8327,7 +8327,7 @@ static void atk4D_switchindataupdate(void)
gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility);
// check knocked off item
- i = GetBankSide(gActiveBattler);
+ i = GetBattlerSide(gActiveBattler);
if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]])
{
gBattleMons[gActiveBattler].item = 0;
@@ -8357,7 +8357,7 @@ static void atk4E_switchinanim(void)
return;
gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
- if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER)))
+ if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER)))
{
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2);
}
@@ -8383,7 +8383,7 @@ static void atk4F_jumpifcantswitch(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankSide(gActiveBattler) == 1)
+ if (GetBattlerSide(gActiveBattler) == 1)
party = gEnemyParty;
else
party = gPlayerParty;
@@ -8405,7 +8405,7 @@ static void atk4F_jumpifcantswitch(void)
}
else
{
- if (GetBankSide(gActiveBattler) == 1)
+ if (GetBattlerSide(gActiveBattler) == 1)
{
r7 = GetBattlerAtPosition(1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -9575,14 +9575,14 @@ static void atk52_switchineffects(void)
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
gSpecialStatuses[gActiveBattler].flag40 = 0;
- if (!(gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES)
+ if (!(gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES)
&& gBattleMons[gActiveBattler].type1 != TYPE_FLYING && gBattleMons[gActiveBattler].type2 != TYPE_FLYING && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE)
{
u8 spikesDmg;
- gSideAffecting[GetBankSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED;
+ gSideAffecting[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED;
- spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBattler)].spikesAmount) * 2;
+ spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2;
gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg);
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
@@ -9606,7 +9606,7 @@ static void atk52_switchineffects(void)
if (AbilityBattleEffects(0, gActiveBattler, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBattler, 0) == 0)
{
- gSideAffecting[GetBankSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED);
+ gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED);
for (i = 0; i < gNoOfAllBanks; i++)
{
@@ -9616,7 +9616,7 @@ static void atk52_switchineffects(void)
for (i = 0; i < gNoOfAllBanks; i++)
{
- *(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp;
+ *(HP_ON_SWITCHOUT + GetBattlerSide(i)) = gBattleMons[i].hp;
}
if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5)
@@ -10275,7 +10275,7 @@ static void atk5F_8025B24(void)
static void atk60_incrementgamestat(void)
{
- if (GetBankSide(gBankAttacker) == 0)
+ if (GetBattlerSide(gBankAttacker) == 0)
{
IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1));
}
@@ -10291,7 +10291,7 @@ static void atk61_drawpartystatussummary(void)
return;
gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
- if (GetBankSide(gActiveBattler) == 0)
+ if (GetBattlerSide(gActiveBattler) == 0)
party = gPlayerParty;
else
party = gEnemyParty;
@@ -11004,7 +11004,7 @@ static void atk74_hpthresholds2(void)
{
gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBattler ^ 1;
- hp_switchout = ewram160BCarr(GetBankSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBankSide(opposing_bank)];
+ hp_switchout = ewram160BCarr(GetBattlerSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBattlerSide(opposing_bank)];
result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
if (gBattleMons[opposing_bank].hp >= hp_switchout)
@@ -11039,7 +11039,7 @@ static void atk76_various(void)
{
u8 side;
gBankAttacker = gBankTarget;
- side = GetBankSide(gBankAttacker) ^ 1;
+ side = GetBattlerSide(gBankAttacker) ^ 1;
if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp)
gBankTarget = gSideTimers[side].followmeTarget;
else
@@ -11757,7 +11757,7 @@ static void atk8F_forcerandomswitch(void)
struct Pokemon* party;
u8 valid;
u8 val;
- if (!GetBankSide(gBankTarget))
+ if (!GetBattlerSide(gBankTarget))
party = gPlayerParty;
else
party = gEnemyParty;
@@ -12413,12 +12413,12 @@ static void atk97_tryinfatuating(void)
struct Pokemon *attacker, *target;
u16 atk_species, def_species;
u32 atk_pid, def_pid;
- if (!GetBankSide(gBankAttacker))
+ if (!GetBattlerSide(gBankAttacker))
attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]];
else
attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]];
- if (!GetBankSide(gBankTarget))
+ if (!GetBattlerSide(gBankTarget))
target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]];
else
target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]];
@@ -12937,8 +12937,8 @@ static void atkA0_psywavedamageeffect(void)
static void atkA1_counterdamagecalculator(void)
{
- u8 atk_side = GetBankSide(gBankAttacker);
- u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].physicalBank);
+ u8 atk_side = GetBattlerSide(gBankAttacker);
+ u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].physicalBank);
if (gProtectStructs[gBankAttacker].physicalDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].physicalBank].hp)
{
gBattleMoveDamage = gProtectStructs[gBankAttacker].physicalDmg * 2;
@@ -12957,8 +12957,8 @@ static void atkA1_counterdamagecalculator(void)
static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the physical -> special field changes
{
- u8 atk_side = GetBankSide(gBankAttacker);
- u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].specialBank);
+ u8 atk_side = GetBattlerSide(gBankAttacker);
+ u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].specialBank);
if (gProtectStructs[gBankAttacker].specialDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].specialBank].hp)
{
gBattleMoveDamage = gProtectStructs[gBankAttacker].specialDmg * 2;
@@ -13478,8 +13478,8 @@ static void atkAA_setdestinybond(void)
static void TrySetDestinyBondToHappen(void)
{
- u8 atk_side = GetBankSide(gBankAttacker);
- u8 def_side = GetBankSide(gBankTarget);
+ u8 atk_side = GetBattlerSide(gBankAttacker);
+ u8 def_side = GetBattlerSide(gBankTarget);
if (gBattleMons[gBankTarget].status2 & STATUS2_DESTINY_BOND && atk_side != def_side && !(gHitMarker & HITMARKER_GRUDGE))
gHitMarker |= HITMARKER_DESTINYBOND;
}
@@ -13560,7 +13560,7 @@ static void atkAE_healpartystatus(void)
int i;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- if (GetBankSide(gBankAttacker) == 0)
+ if (GetBattlerSide(gBankAttacker) == 0)
party = gPlayerParty;
else
party = gEnemyParty;
@@ -13644,7 +13644,7 @@ static void atkAF_cursetarget(void)
static void atkB0_trysetspikes(void)
{
- u8 side = GetBankSide(gBankAttacker) ^ 1;
+ u8 side = GetBattlerSide(gBankAttacker) ^ 1;
if (gSideTimers[side].spikesAmount == 3)
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
@@ -13860,14 +13860,14 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
{
if (gMultiHitCounter == 1)
{
- if (GetBankSide(gBankAttacker) == 0)
+ if (GetBattlerSide(gBankAttacker) == 0)
gBankTarget = GetBattlerAtPosition(1);
else
gBankTarget = GetBattlerAtPosition(0);
}
else
{
- if (GetBankSide(gBankAttacker) == 0)
+ if (GetBattlerSide(gBankAttacker) == 0)
gBankTarget = GetBattlerAtPosition(3);
else
gBankTarget = GetBattlerAtPosition(2);
@@ -13958,10 +13958,10 @@ static void atkBE_rapidspinfree(void) //rapid spin
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_LeechSeedFree;
}
- else if (gSideAffecting[GetBankSide(gBankAttacker)] & SIDE_STATUS_SPIKES)
+ else if (gSideAffecting[GetBattlerSide(gBankAttacker)] & SIDE_STATUS_SPIKES)
{
- gSideAffecting[GetBankSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES);
- gSideTimers[GetBankSide(gBankAttacker)].spikesAmount = 0;
+ gSideAffecting[GetBattlerSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES);
+ gSideTimers[GetBattlerSide(gBankAttacker)].spikesAmount = 0;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_SpikesFree;
}
@@ -14189,7 +14189,7 @@ static void atkC3_trysetfutureattack(void)
static void atkC4_trydobeatup(void)
{
register struct Pokemon* party asm("r7");
- if (GetBankSide(gBankAttacker) == 0)
+ if (GetBattlerSide(gBankAttacker) == 0)
party = gPlayerParty;
else
party = gEnemyParty;
@@ -14241,7 +14241,7 @@ static void atkC4_trydobeatup(void)
push {r6,r7}\n\
ldr r0, _08029A8C @ =gBankAttacker\n\
ldrb r0, [r0]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
ldr r7, _08029A90 @ =gEnemyParty\n\
cmp r0, 0\n\
@@ -14562,8 +14562,8 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento
static void atkCA_setforcedtarget(void) //follow me
{
- gSideTimers[GetBankSide(gBankAttacker)].followmeTimer = 1;
- gSideTimers[GetBankSide(gBankAttacker)].followmeTarget = gBankAttacker;
+ gSideTimers[GetBattlerSide(gBankAttacker)].followmeTimer = 1;
+ gSideTimers[GetBattlerSide(gBankAttacker)].followmeTarget = gBankAttacker;
gBattlescriptCurrInstr++;
}
@@ -14645,9 +14645,9 @@ static void atkD1_trysethelpinghand(void)
#ifdef NONMATCHING
static void atkD2_tryswapitems(void)
{
- if ((GetBankSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400))
+ if ((GetBattlerSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400))
{
- u8 side = GetBankSide(gBankAttacker);
+ u8 side = GetBattlerSide(gBankAttacker);
if (gBattleTypeFlags)
}
@@ -14667,7 +14667,7 @@ static void atkD2_tryswapitems(void)
sub sp, 0x4\n\
ldr r0, _0802A30C @ =gBankAttacker\n\
ldrb r0, [r0]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0x1\n\
@@ -14687,7 +14687,7 @@ static void atkD2_tryswapitems(void)
_0802A24C:\n\
ldr r4, _0802A30C @ =gBankAttacker\n\
ldrb r0, [r4]\n\
- bl GetBankSide\n\
+ bl GetBattlerSide\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r0, _0802A310 @ =gBattleTypeFlags\n\
@@ -15102,7 +15102,7 @@ static void atkDB_tryimprision(void)
PressurePPLoseOnUsingImprision(gBankAttacker);
for (bank = 0; bank < gNoOfAllBanks; bank++)
{
- if (r8 != GetBankSide(bank))
+ if (r8 != GetBattlerSide(bank))
{
int j;
for (j = 0; j < 4; j++)
@@ -15427,7 +15427,7 @@ static void atkE1_trygetintimidatetarget(void)
u8 side;
gBattleStruct->scriptingActive = ewram160DD;
- side = GetBankSide(gBattleStruct->scriptingActive);
+ side = GetBattlerSide(gBattleStruct->scriptingActive);
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 9;
gBattleTextBuff1[2] = gBattleMons[gBattleStruct->scriptingActive].ability;
@@ -15435,7 +15435,7 @@ static void atkE1_trygetintimidatetarget(void)
for (;gBankTarget < gNoOfAllBanks; gBankTarget++)
{
- if (GetBankSide(gBankTarget) == side)
+ if (GetBattlerSide(gBankTarget) == side)
continue;
if (!(gAbsentBattlerFlags & gBitTable[gBankTarget]))
break;
@@ -15665,7 +15665,7 @@ static void atkED_snatchsetbanks(void)
static void atkEE_removelightscreenreflect(void) //brick break
{
- u8 side = GetBankSide(gBankAttacker) ^ 1;
+ u8 side = GetBattlerSide(gBankAttacker) ^ 1;
if (gSideTimers[side].reflectTimer || gSideTimers[side].lightscreenTimer)
{
gSideAffecting[side] &= ~(SIDE_STATUS_REFLECT);