summaryrefslogtreecommitdiff
path: root/src/battle_script_commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_script_commands.c')
-rw-r--r--src/battle_script_commands.c2302
1 files changed, 1151 insertions, 1151 deletions
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 8f3036028..c443c5449 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -47,9 +47,9 @@ extern s32 gBattleMoveDamage;
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
extern u8 gActiveBattler;
-extern u32 gBattleExecBuffer;
+extern u32 gBattleControllerExecFlags;
extern u8 gBattlersCount;
-extern u16 gBattlePartyID[MAX_BATTLERS_COUNT];
+extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
extern u16 gCurrentMove;
@@ -62,8 +62,8 @@ extern u16 gChosenMovesByBanks[MAX_BATTLERS_COUNT];
extern u16 gPauseCounterBattle;
extern u16 gPaydayMoney;
extern u16 gRandomTurnNumber;
-extern u8 gBattleAttacker;
-extern u8 gBattleDefender;
+extern u8 gBattleMoveAttacker;
+extern u8 gBattleMoveTarget;
extern const u8* gBattlescriptCurrInstr;
extern u8 gCurrMovePos;
extern u8 gCurrentActionFuncId;
@@ -155,10 +155,10 @@ extern const u8 gText_BattleYesNoChoice[];
#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr))
-#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattleDefender].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
+#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattleMoveTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
-#define TARGET_TURN_DAMAGED (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical != 0 \
- || gSpecialStatuses[gBattleDefender].moveturnLostHP_special != 0)
+#define TARGET_TURN_DAMAGED (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical != 0 \
+ || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special != 0)
// this file's functions
static bool8 IsTwoTurnsMove(u16 move);
@@ -1027,7 +1027,7 @@ static void atk00_attackcanceler(void)
gCurrentActionFuncId = ACTION_FINISHED;
return;
}
- if (gBattleMons[gBattleAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
+ if (gBattleMons[gBattleMoveAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
{
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
gBattlescriptCurrInstr = BattleScript_MoveEnd;
@@ -1035,10 +1035,10 @@ static void atk00_attackcanceler(void)
}
if (AtkCanceller_UnableToUseMove())
return;
- if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattleDefender, 0, 0, 0))
+ if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattleMoveTarget, 0, 0, 0))
return;
- if (!gBattleMons[gBattleAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
- && !(gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS))
+ if (!gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
+ && !(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS))
{
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
gMoveResultFlags |= MOVE_RESULT_MISSED;
@@ -1047,7 +1047,7 @@ static void atk00_attackcanceler(void)
gHitMarker &= ~(HITMARKER_x800000);
- if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS))
+ if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS))
{
i = IsMonDisobedient(); // why use the 'i' variable...?
switch (i)
@@ -1065,10 +1065,10 @@ static void atk00_attackcanceler(void)
gHitMarker |= HITMARKER_OBEYS;
- if (gProtectStructs[gBattleDefender].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGICCOAT_AFFECTED)
+ if (gProtectStructs[gBattleMoveTarget].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGICCOAT_AFFECTED)
{
- PressurePPLose(gBattleAttacker, gBattleDefender, MOVE_MAGIC_COAT);
- gProtectStructs[gBattleDefender].bounceMove = 0;
+ PressurePPLose(gBattleMoveAttacker, gBattleMoveTarget, MOVE_MAGIC_COAT);
+ gProtectStructs[gBattleMoveTarget].bounceMove = 0;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_MagicCoatBounce;
return;
@@ -1078,7 +1078,7 @@ static void atk00_attackcanceler(void)
{
if ((gProtectStructs[gBattleTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED)
{
- PressurePPLose(gBattleAttacker, gBattleTurnOrder[i], MOVE_SNATCH);
+ PressurePPLose(gBattleMoveAttacker, gBattleTurnOrder[i], MOVE_SNATCH);
gProtectStructs[gBattleTurnOrder[i]].stealMove = 0;
gBattleScripting.battler = gBattleTurnOrder[i];
BattleScriptPushCursor();
@@ -1087,22 +1087,22 @@ static void atk00_attackcanceler(void)
}
}
- if (gSpecialStatuses[gBattleDefender].lightningRodRedirected)
+ if (gSpecialStatuses[gBattleMoveTarget].lightningRodRedirected)
{
- gSpecialStatuses[gBattleDefender].lightningRodRedirected = 0;
+ gSpecialStatuses[gBattleMoveTarget].lightningRodRedirected = 0;
gLastUsedAbility = ABILITY_LIGHTNING_ROD;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_TookAttack;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
else if (DEFENDER_IS_PROTECTED
- && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBattleAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleAttacker].type2 == TYPE_GHOST))
- && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS))))
+ && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBattleMoveAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleMoveAttacker].type2 == TYPE_GHOST))
+ && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS))))
{
- CancelMultiTurnMoves(gBattleAttacker);
+ CancelMultiTurnMoves(gBattleMoveAttacker);
gMoveResultFlags |= MOVE_RESULT_MISSED;
- gLastLandedMoves[gBattleDefender] = 0;
- gLastHitByType[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
+ gLastHitByType[gBattleMoveTarget] = 0;
gBattleCommunication[6] = 1;
gBattlescriptCurrInstr++;
}
@@ -1117,14 +1117,14 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
const u8 *BS_ptr = gBattlescriptCurrInstr + adder;
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
- gLastLandedMoves[gBattleDefender] = 0;
- gLastHitByType[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
+ gLastHitByType[gBattleMoveTarget] = 0;
BS_ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
TrySetDestinyBondToHappen();
- if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattleDefender, 0, 0, move))
+ if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattleMoveTarget, 0, 0, move))
return;
}
gBattlescriptCurrInstr = BS_ptr;
@@ -1159,13 +1159,13 @@ bool8 JumpIfMoveAffectedByProtect(u16 move)
static bool8 AccuracyCalcHelper(u16 move)
{
- if (gStatuses3[gBattleDefender] & STATUS3_ALWAYS_HITS && gDisableStructs[gBattleDefender].bankWithSureHit == gBattleAttacker)
+ if (gStatuses3[gBattleMoveTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBattleMoveTarget].bankWithSureHit == gBattleMoveAttacker)
{
JumpIfMoveFailed(7, move);
return TRUE;
}
- if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBattleDefender] & STATUS3_ON_AIR)
+ if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBattleMoveTarget] & STATUS3_ON_AIR)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
@@ -1174,7 +1174,7 @@ static bool8 AccuracyCalcHelper(u16 move)
gHitMarker &= ~HITMARKER_IGNORE_ON_AIR;
- if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBattleDefender] & STATUS3_UNDERGROUND)
+ if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBattleMoveTarget] & STATUS3_UNDERGROUND)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
@@ -1183,7 +1183,7 @@ static bool8 AccuracyCalcHelper(u16 move)
gHitMarker &= ~HITMARKER_IGNORE_UNDERGROUND;
- if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBattleDefender] & STATUS3_UNDERWATER)
+ if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBattleMoveTarget] & STATUS3_UNDERWATER)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
@@ -1208,9 +1208,9 @@ static void atk01_accuracycheck(void)
if (move == 0xFFFE || move == 0xFFFF)
{
- if (gStatuses3[gBattleDefender] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBattleDefender].bankWithSureHit == gBattleAttacker)
+ if (gStatuses3[gBattleMoveTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBattleMoveTarget].bankWithSureHit == gBattleMoveAttacker)
gBattlescriptCurrInstr += 7;
- else if (gStatuses3[gBattleDefender] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
+ else if (gStatuses3[gBattleMoveTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
else if (!JumpIfMoveAffectedByProtect(0))
gBattlescriptCurrInstr += 7;
@@ -1231,15 +1231,15 @@ static void atk01_accuracycheck(void)
if (AccuracyCalcHelper(move))
return;
- if (gBattleMons[gBattleDefender].status2 & STATUS2_FORESIGHT)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_FORESIGHT)
{
- u8 acc = gBattleMons[gBattleAttacker].statStages[STAT_STAGE_ACC];
+ u8 acc = gBattleMons[gBattleMoveAttacker].statStages[STAT_STAGE_ACC];
buff = acc;
}
else
{
- u8 acc = gBattleMons[gBattleAttacker].statStages[STAT_STAGE_ACC];
- buff = acc + 6 - gBattleMons[gBattleDefender].statStages[STAT_STAGE_EVASION];
+ u8 acc = gBattleMons[gBattleMoveAttacker].statStages[STAT_STAGE_ACC];
+ buff = acc + 6 - gBattleMons[gBattleMoveTarget].statStages[STAT_STAGE_EVASION];
}
if (buff < 0)
@@ -1255,25 +1255,25 @@ static void atk01_accuracycheck(void)
calc = sAccuracyStageRatios[buff].dividend * moveAcc;
calc /= sAccuracyStageRatios[buff].divisor;
- if (gBattleMons[gBattleAttacker].ability == ABILITY_COMPOUND_EYES)
+ if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_COMPOUND_EYES)
calc = (calc * 130) / 100; // 1.3 compound eyes boost
- if (WEATHER_HAS_EFFECT && gBattleMons[gBattleDefender].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY)
+ if (WEATHER_HAS_EFFECT && gBattleMons[gBattleMoveTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY)
calc = (calc * 80) / 100; // 1.2 sand veil loss
- if (gBattleMons[gBattleAttacker].ability == ABILITY_HUSTLE && type < 9)
+ if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_HUSTLE && type < 9)
calc = (calc * 80) / 100; // 1.2 hustle loss
- if (gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY)
{
- holdEffect = gEnigmaBerries[gBattleDefender].holdEffect;
- quality = gEnigmaBerries[gBattleDefender].holdEffectParam;
+ holdEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect;
+ quality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam;
}
else
{
- holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleDefender].item);
- quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleDefender].item);
+ holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleMoveTarget].item);
+ quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleMoveTarget].item);
}
- gStringBank = gBattleDefender;
+ gStringBank = gBattleMoveTarget;
if (holdEffect == HOLD_EFFECT_EVASION_UP)
calc = (calc * (100 - quality)) / 100;
@@ -1296,11 +1296,11 @@ static void atk01_accuracycheck(void)
static void atk02_attackstring(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED)))
{
- PrepareStringBattle(STRINGID_USEDMOVE, gBattleAttacker);
+ PrepareStringBattle(STRINGID_USEDMOVE, gBattleMoveAttacker);
gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED;
}
gBattlescriptCurrInstr++;
@@ -1311,42 +1311,42 @@ static void atk03_ppreduce(void)
{
s32 ppToDeduct = 1;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
- if (!gSpecialStatuses[gBattleAttacker].flag20)
+ if (!gSpecialStatuses[gBattleMoveAttacker].flag20)
{
switch (gBattleMoves[gCurrentMove].target)
{
case MOVE_TARGET_FOES_AND_ALLY:
- ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBattleAttacker, ABILITY_PRESSURE, 0, 0);
+ ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBattleMoveAttacker, ABILITY_PRESSURE, 0, 0);
break;
case MOVE_TARGET_BOTH:
case MOVE_TARGET_OPPONENTS_FIELD:
- ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleAttacker, ABILITY_PRESSURE, 0, 0);
+ ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleMoveAttacker, ABILITY_PRESSURE, 0, 0);
break;
default:
- if (gBattleAttacker != gBattleDefender && gBattleMons[gBattleDefender].ability == ABILITY_PRESSURE)
+ if (gBattleMoveAttacker != gBattleMoveTarget && gBattleMons[gBattleMoveTarget].ability == ABILITY_PRESSURE)
ppToDeduct++;
break;
}
}
- if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBattleAttacker].pp[gCurrMovePos])
+ if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos])
{
- gProtectStructs[gBattleAttacker].notFirstStrike = 1;
+ gProtectStructs[gBattleMoveAttacker].notFirstStrike = 1;
- if (gBattleMons[gBattleAttacker].pp[gCurrMovePos] > ppToDeduct)
- gBattleMons[gBattleAttacker].pp[gCurrMovePos] -= ppToDeduct;
+ if (gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] > ppToDeduct)
+ gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] -= ppToDeduct;
else
- gBattleMons[gBattleAttacker].pp[gCurrMovePos] = 0;
+ gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] = 0;
- if (!(gBattleMons[gBattleAttacker].status2 & STATUS2_TRANSFORMED)
- && !((gDisableStructs[gBattleAttacker].unk18_b) & gBitTable[gCurrMovePos]))
+ if (!(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_TRANSFORMED)
+ && !((gDisableStructs[gBattleMoveAttacker].unk18_b) & gBitTable[gCurrMovePos]))
{
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBattleAttacker].pp[gCurrMovePos]);
- MarkBufferBankForExecution(gBattleAttacker);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos]);
+ MarkBattlerForControllerExec(gBattleMoveAttacker);
}
}
@@ -1359,29 +1359,29 @@ static void atk04_critcalc(void)
u8 holdEffect;
u16 item, critChance;
- item = gBattleMons[gBattleAttacker].item;
+ item = gBattleMons[gBattleMoveAttacker].item;
if (item == ITEM_ENIGMA_BERRY)
- holdEffect = gEnigmaBerries[gBattleAttacker].holdEffect;
+ holdEffect = gEnigmaBerries[gBattleMoveAttacker].holdEffect;
else
holdEffect = ItemId_GetHoldEffect(item);
- gStringBank = gBattleAttacker;
+ gStringBank = gBattleMoveAttacker;
- critChance = 2 * ((gBattleMons[gBattleAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0)
+ critChance = 2 * ((gBattleMons[gBattleMoveAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_HIGH_CRITICAL)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_SKY_ATTACK)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_BLAZE_KICK)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_POISON_TAIL)
+ (holdEffect == HOLD_EFFECT_SCOPE_LENS)
- + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattleAttacker].species == SPECIES_CHANSEY)
- + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattleAttacker].species == SPECIES_FARFETCHD);
+ + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattleMoveAttacker].species == SPECIES_CHANSEY)
+ + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattleMoveAttacker].species == SPECIES_FARFETCHD);
if (critChance > 4)
critChance = 4;
- if ((gBattleMons[gBattleDefender].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattleDefender].ability != ABILITY_SHELL_ARMOR)
- && !(gStatuses3[gBattleAttacker] & STATUS3_CANT_SCORE_A_CRIT)
+ if ((gBattleMons[gBattleMoveTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattleMoveTarget].ability != ABILITY_SHELL_ARMOR)
+ && !(gStatuses3[gBattleMoveAttacker] & STATUS3_CANT_SCORE_A_CRIT)
&& !(gBattleTypeFlags & (BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE))
&& !(Random() % sCriticalHitChance[critChance]))
gCritMultiplier = 2;
@@ -1393,15 +1393,15 @@ static void atk04_critcalc(void)
static void atk05_damagecalc(void)
{
- u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)];
- gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleDefender], gCurrentMove,
+ u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)];
+ gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveTarget], gCurrentMove,
sideStatus, gDynamicBasePower,
- gBattleStruct->dynamicMoveType, gBattleAttacker, gBattleDefender);
+ gBattleStruct->dynamicMoveType, gBattleMoveAttacker, gBattleMoveTarget);
gBattleMoveDamage = gBattleMoveDamage * gCritMultiplier * gBattleScripting.dmgMultiplier;
- if (gStatuses3[gBattleAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC)
+ if (gStatuses3[gBattleMoveAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC)
gBattleMoveDamage *= 2;
- if (gProtectStructs[gBattleAttacker].helpingHand)
+ if (gProtectStructs[gBattleMoveAttacker].helpingHand)
gBattleMoveDamage = gBattleMoveDamage * 15 / 10;
gBattlescriptCurrInstr++;
@@ -1470,20 +1470,20 @@ static void atk06_typecalc(void)
GET_MOVE_TYPE(gCurrentMove, moveType);
// check stab
- if (gBattleMons[gBattleAttacker].type1 == moveType || gBattleMons[gBattleAttacker].type2 == moveType)
+ if (gBattleMons[gBattleMoveAttacker].type1 == moveType || gBattleMons[gBattleMoveAttacker].type2 == moveType)
{
gBattleMoveDamage = gBattleMoveDamage * 15;
gBattleMoveDamage = gBattleMoveDamage / 10;
}
- if (gBattleMons[gBattleDefender].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
{
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
- gLastLandedMoves[gBattleDefender] = 0;
- gLastHitByType[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
+ gLastHitByType[gBattleMoveTarget] = 0;
gBattleCommunication[6] = moveType;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
else
{
@@ -1491,7 +1491,7 @@ static void atk06_typecalc(void)
{
if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_FORESIGHT)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_FORESIGHT)
break;
i += 3;
continue;
@@ -1499,30 +1499,30 @@ static void atk06_typecalc(void)
else if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type1)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type1)
ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i));
// check type2
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2 &&
- gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2 &&
+ gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2)
ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i));
}
i += 3;
}
}
- if (gBattleMons[gBattleDefender].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattleAttacker, gCurrentMove) == 2
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattleMoveAttacker, gCurrentMove) == 2
&& (!(gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || ((gMoveResultFlags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)))
&& gBattleMoves[gCurrentMove].power)
{
gLastUsedAbility = ABILITY_WONDER_GUARD;
gMoveResultFlags |= MOVE_RESULT_MISSED;
- gLastLandedMoves[gBattleDefender] = 0;
- gLastHitByType[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
+ gLastHitByType[gBattleMoveTarget] = 0;
gBattleCommunication[6] = 3;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
- gProtectStructs[gBattleAttacker].targetNotAffected = 1;
+ gProtectStructs[gBattleMoveAttacker].targetNotAffected = 1;
gBattlescriptCurrInstr++;
}
@@ -1538,11 +1538,11 @@ static void CheckWonderGuardAndLevitate(void)
GET_MOVE_TYPE(gCurrentMove, moveType);
- if (gBattleMons[gBattleDefender].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
{
gLastUsedAbility = ABILITY_LEVITATE;
gBattleCommunication[6] = moveType;
- RecordAbilityBattle(gBattleDefender, ABILITY_LEVITATE);
+ RecordAbilityBattle(gBattleMoveTarget, ABILITY_LEVITATE);
return;
}
@@ -1550,7 +1550,7 @@ static void CheckWonderGuardAndLevitate(void)
{
if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_FORESIGHT)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_FORESIGHT)
break;
i += 3;
continue;
@@ -1558,46 +1558,46 @@ static void CheckWonderGuardAndLevitate(void)
if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check no effect
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type1
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type1
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
- gProtectStructs[gBattleAttacker].targetNotAffected = 1;
+ gProtectStructs[gBattleMoveAttacker].targetNotAffected = 1;
}
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2 &&
- gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2 &&
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2 &&
+ gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2 &&
TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
- gProtectStructs[gBattleAttacker].targetNotAffected = 1;
+ gProtectStructs[gBattleMoveAttacker].targetNotAffected = 1;
}
// check super effective
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type1 && TYPE_EFFECT_MULTIPLIER(i) == 20)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 20)
flags |= 1;
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2
- && gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2
+ && gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE)
flags |= 1;
// check not very effective
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type1 && TYPE_EFFECT_MULTIPLIER(i) == 5)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 5)
flags |= 2;
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2
- && gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2
+ && gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE)
flags |= 2;
}
i += 3;
}
- if (gBattleMons[gBattleDefender].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattleAttacker, gCurrentMove) == 2)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattleMoveAttacker, gCurrentMove) == 2)
{
if (((flags & 2) || !(flags & 1)) && gBattleMoves[gCurrentMove].power)
{
gLastUsedAbility = ABILITY_WONDER_GUARD;
gBattleCommunication[6] = 3;
- RecordAbilityBattle(gBattleDefender, ABILITY_WONDER_GUARD);
+ RecordAbilityBattle(gBattleMoveTarget, ABILITY_WONDER_GUARD);
}
}
}
@@ -1764,42 +1764,42 @@ static void atk07_adjustnormaldamage(void)
ApplyRandomDmgMultiplier();
- if (gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY)
{
- holdEffect = gEnigmaBerries[gBattleDefender].holdEffect, quality = gEnigmaBerries[gBattleDefender].holdEffectParam;
+ holdEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect, quality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam;
}
else
{
- holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleDefender].item);
- quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleDefender].item);
+ holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleMoveTarget].item);
+ quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleMoveTarget].item);
}
- gStringBank = gBattleDefender;
+ gStringBank = gBattleMoveTarget;
if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality)
{
- RecordItemEffectBattle(gBattleDefender, holdEffect);
- gSpecialStatuses[gBattleDefender].focusBanded = 1;
+ RecordItemEffectBattle(gBattleMoveTarget, holdEffect);
+ gSpecialStatuses[gBattleMoveTarget].focusBanded = 1;
}
- if (gBattleMons[gBattleDefender].status2 & STATUS2_SUBSTITUTE)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_SUBSTITUTE)
goto END;
- if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattleDefender].endured
- && !gSpecialStatuses[gBattleDefender].focusBanded)
+ if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattleMoveTarget].endured
+ && !gSpecialStatuses[gBattleMoveTarget].focusBanded)
goto END;
- if (gBattleMons[gBattleDefender].hp > gBattleMoveDamage)
+ if (gBattleMons[gBattleMoveTarget].hp > gBattleMoveDamage)
goto END;
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - 1;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - 1;
- if (gProtectStructs[gBattleDefender].endured)
+ if (gProtectStructs[gBattleMoveTarget].endured)
{
gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
}
- else if (gSpecialStatuses[gBattleDefender].focusBanded)
+ else if (gSpecialStatuses[gBattleMoveTarget].focusBanded)
{
gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattleDefender].item;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
}
END:
@@ -1812,40 +1812,40 @@ static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't
ApplyRandomDmgMultiplier();
- if (gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY)
{
- holdEffect = gEnigmaBerries[gBattleDefender].holdEffect, quality = gEnigmaBerries[gBattleDefender].holdEffectParam;
+ holdEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect, quality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam;
}
else
{
- holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleDefender].item);
- quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleDefender].item);
+ holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleMoveTarget].item);
+ quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleMoveTarget].item);
}
- gStringBank = gBattleDefender;
+ gStringBank = gBattleMoveTarget;
if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality)
{
- RecordItemEffectBattle(gBattleDefender, holdEffect);
- gSpecialStatuses[gBattleDefender].focusBanded = 1;
+ RecordItemEffectBattle(gBattleMoveTarget, holdEffect);
+ gSpecialStatuses[gBattleMoveTarget].focusBanded = 1;
}
- if (gBattleMons[gBattleDefender].status2 & STATUS2_SUBSTITUTE)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_SUBSTITUTE)
goto END;
- if (!gProtectStructs[gBattleDefender].endured && !gSpecialStatuses[gBattleDefender].focusBanded)
+ if (!gProtectStructs[gBattleMoveTarget].endured && !gSpecialStatuses[gBattleMoveTarget].focusBanded)
goto END;
- if (gBattleMons[gBattleDefender].hp > gBattleMoveDamage)
+ if (gBattleMons[gBattleMoveTarget].hp > gBattleMoveDamage)
goto END;
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - 1;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - 1;
- if (gProtectStructs[gBattleDefender].endured)
+ if (gProtectStructs[gBattleMoveTarget].endured)
{
gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
}
- else if (gSpecialStatuses[gBattleDefender].focusBanded)
+ else if (gSpecialStatuses[gBattleMoveTarget].focusBanded)
{
gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattleDefender].item;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
}
END:
@@ -1854,7 +1854,7 @@ static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't
static void atk09_attackanimation(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if ((gHitMarker & HITMARKER_NO_ANIMATIONS) && (gCurrentMove != MOVE_TRANSFORM && gCurrentMove != MOVE_SUBSTITUTE))
@@ -1878,13 +1878,13 @@ static void atk09_attackanimation(void)
{
u8 multihit;
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
- if (gBattleMons[gBattleDefender].status2 & STATUS2_SUBSTITUTE)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_SUBSTITUTE)
multihit = gMultiHitCounter;
else if (gMultiHitCounter != 0 && gMultiHitCounter != 1)
{
- if (gBattleMons[gBattleDefender].hp <= gBattleMoveDamage)
+ if (gBattleMons[gBattleMoveTarget].hp <= gBattleMoveDamage)
multihit = 1;
else
multihit = gMultiHitCounter;
@@ -1892,10 +1892,10 @@ static void atk09_attackanimation(void)
else
multihit = gMultiHitCounter;
- EmitMoveAnimation(0, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattleAttacker].friendship, &gDisableStructs[gBattleAttacker], multihit);
+ BtlController_EmitMoveAnimation(0, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattleMoveAttacker].friendship, &gDisableStructs[gBattleMoveAttacker], multihit);
gBattleScripting.animTurn += 1;
gBattleScripting.animTargetsHit += 1;
- MarkBufferBankForExecution(gBattleAttacker);
+ MarkBattlerForControllerExec(gBattleMoveAttacker);
gBattlescriptCurrInstr++;
}
else
@@ -1908,13 +1908,13 @@ static void atk09_attackanimation(void)
static void atk0A_waitanimation(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
gBattlescriptCurrInstr++;
}
static void atk0B_healthbarupdate(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
@@ -1937,8 +1937,8 @@ static void atk0B_healthbarupdate(void)
else
healthValue = maxPossibleDmgValue;
- EmitHealthBarUpdate(0, healthValue);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitHealthBarUpdate(0, healthValue);
+ MarkBattlerForControllerExec(gActiveBattler);
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0)
gBattleResults.unk5_0 = 1;
@@ -1952,7 +1952,7 @@ static void atk0C_datahpupdate(void)
{
u32 moveType;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (gBattleStruct->dynamicMoveType == 0)
@@ -2010,9 +2010,9 @@ static void atk0C_datahpupdate(void)
{
gTakenDmg[gActiveBattler] += gBattleMoveDamage;
if (gBattlescriptCurrInstr[1] == BS_GET_TARGET)
- gTakenDmgBanks[gActiveBattler] = gBattleAttacker;
+ gTakenDmgBanks[gActiveBattler] = gBattleMoveAttacker;
else
- gTakenDmgBanks[gActiveBattler] = gBattleDefender;
+ gTakenDmgBanks[gActiveBattler] = gBattleMoveTarget;
}
if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage)
@@ -2035,13 +2035,13 @@ static void atk0C_datahpupdate(void)
gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt;
if (gBattlescriptCurrInstr[1] == BS_GET_TARGET)
{
- gProtectStructs[gActiveBattler].physicalBank = gBattleAttacker;
- gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBattleAttacker;
+ gProtectStructs[gActiveBattler].physicalBank = gBattleMoveAttacker;
+ gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBattleMoveAttacker;
}
else
{
- gProtectStructs[gActiveBattler].physicalBank = gBattleDefender;
- gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBattleDefender;
+ gProtectStructs[gActiveBattler].physicalBank = gBattleMoveTarget;
+ gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBattleMoveTarget;
}
}
else if (moveType > 8 && !(gHitMarker & HITMARKER_x100000))
@@ -2050,19 +2050,19 @@ static void atk0C_datahpupdate(void)
gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt;
if (gBattlescriptCurrInstr[1] == BS_GET_TARGET)
{
- gProtectStructs[gActiveBattler].specialBank = gBattleAttacker;
- gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBattleAttacker;
+ gProtectStructs[gActiveBattler].specialBank = gBattleMoveAttacker;
+ gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBattleMoveAttacker;
}
else
{
- gProtectStructs[gActiveBattler].specialBank = gBattleDefender;
- gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBattleDefender;
+ gProtectStructs[gActiveBattler].specialBank = gBattleMoveTarget;
+ gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBattleMoveTarget;
}
}
}
gHitMarker &= ~(HITMARKER_x100000);
- EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
else
@@ -2076,11 +2076,11 @@ static void atk0C_datahpupdate(void)
static void atk0D_critmessage(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
- PrepareStringBattle(STRINGID_CRITICALHIT, gBattleAttacker);
+ PrepareStringBattle(STRINGID_CRITICALHIT, gBattleMoveAttacker);
gBattleCommunication[MSG_DISPLAY] = 1;
}
gBattlescriptCurrInstr++;
@@ -2089,21 +2089,21 @@ static void atk0D_critmessage(void)
static void atk0E_effectivenesssound(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
- gActiveBattler = gBattleDefender;
+ gActiveBattler = gBattleMoveTarget;
if (!(gMoveResultFlags & MOVE_RESULT_MISSED))
{
switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED)))
{
case MOVE_RESULT_SUPER_EFFECTIVE:
- EmitPlaySE(0, SE_KOUKA_H);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlaySE(0, SE_KOUKA_H);
+ MarkBattlerForControllerExec(gActiveBattler);
break;
case MOVE_RESULT_NOT_VERY_EFFECTIVE:
- EmitPlaySE(0, SE_KOUKA_L);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlaySE(0, SE_KOUKA_L);
+ MarkBattlerForControllerExec(gActiveBattler);
break;
case MOVE_RESULT_DOESNT_AFFECT_FOE:
case MOVE_RESULT_FAILED:
@@ -2115,18 +2115,18 @@ static void atk0E_effectivenesssound(void)
default:
if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
- EmitPlaySE(0, SE_KOUKA_H);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlaySE(0, SE_KOUKA_H);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
- EmitPlaySE(0, SE_KOUKA_L);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlaySE(0, SE_KOUKA_L);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)))
{
- EmitPlaySE(0, SE_KOUKA_M);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlaySE(0, SE_KOUKA_M);
+ MarkBattlerForControllerExec(gActiveBattler);
}
break;
}
@@ -2138,7 +2138,7 @@ static void atk0F_resultmessage(void)
{
u32 stringId = 0;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2))
@@ -2170,8 +2170,8 @@ static void atk0F_resultmessage(void)
stringId = STRINGID_ITDOESNTAFFECT;
break;
case MOVE_RESULT_FOE_HUNG_ON:
- gLastUsedItem = gBattleMons[gBattleDefender].item;
- gStringBank = gBattleDefender;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
+ gStringBank = gBattleMoveTarget;
gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_HangedOnMsg;
@@ -2199,8 +2199,8 @@ static void atk0F_resultmessage(void)
}
else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON)
{
- gLastUsedItem = gBattleMons[gBattleDefender].item;
- gStringBank = gBattleDefender;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
+ gStringBank = gBattleMoveTarget;
gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_HangedOnMsg;
@@ -2218,17 +2218,17 @@ static void atk0F_resultmessage(void)
}
if (stringId)
- PrepareStringBattle(stringId, gBattleAttacker);
+ PrepareStringBattle(stringId, gBattleMoveAttacker);
gBattlescriptCurrInstr++;
}
static void atk10_printstring(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
- PrepareStringBattle(var, gBattleAttacker);
+ PrepareStringBattle(var, gBattleMoveAttacker);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
}
@@ -2236,10 +2236,10 @@ static void atk10_printstring(void)
static void atk11_printselectionstring(void)
{
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
- EmitPrintSelectionString(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPrintSelectionString(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2247,7 +2247,7 @@ static void atk11_printselectionstring(void)
static void atk12_waitmessage(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
if (!gBattleCommunication[MSG_DISPLAY])
{
@@ -2268,12 +2268,12 @@ static void atk12_waitmessage(void)
static void atk13_printfromtable(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
const u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
- PrepareStringBattle(*ptr, gBattleAttacker);
+ PrepareStringBattle(*ptr, gBattleMoveAttacker);
gBattlescriptCurrInstr += 5;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2282,21 +2282,21 @@ static void atk13_printfromtable(void)
static void atk14_printselectionstringfromtable(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
const u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
- gActiveBattler = gBattleAttacker;
- EmitPrintSelectionString(0, *ptr);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitPrintSelectionString(0, *ptr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 5;
gBattleCommunication[MSG_DISPLAY] = 1;
}
}
-u8 BankGetTurnOrder(u8 bank)
+u8 GetBattlerTurnOrderNum(u8 bank)
{
s32 i;
for (i = 0; i < gBattlersCount; i++)
@@ -2328,15 +2328,15 @@ void SetMoveEffect(bool8 primary, u8 certain)
if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_AFFECTS_USER)
{
- gEffectBank = gBattleAttacker; // bank that effects get applied on
+ gEffectBank = gBattleMoveAttacker; // bank that effects get applied on
gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_AFFECTS_USER);
affectsUser = MOVE_EFFECT_AFFECTS_USER;
- gBattleScripting.battler = gBattleDefender; // theoretically the attacker
+ gBattleScripting.battler = gBattleMoveTarget; // theoretically the attacker
}
else
{
- gEffectBank = gBattleDefender;
- gBattleScripting.battler = gBattleAttacker;
+ gEffectBank = gBattleMoveTarget;
+ gBattleScripting.battler = gBattleMoveAttacker;
}
if (gBattleMons[gEffectBank].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
@@ -2584,8 +2584,8 @@ void SetMoveEffect(bool8 primary, u8 certain)
gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
gActiveBattler = gEffectBank;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
@@ -2659,7 +2659,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
}
else
{
- if (BankGetTurnOrder(gEffectBank) > gCurrentTurnActionNumber)
+ if (GetBattlerTurnOrderNum(gEffectBank) > gCurrentTurnActionNumber)
gBattleMons[gEffectBank].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]];
gBattlescriptCurrInstr++;
}
@@ -2681,10 +2681,10 @@ void SetMoveEffect(bool8 primary, u8 certain)
}
break;
case MOVE_EFFECT_PAYDAY:
- if (GET_BATTLER_SIDE(gBattleAttacker) == B_SIDE_PLAYER)
+ if (GET_BATTLER_SIDE(gBattleMoveAttacker) == B_SIDE_PLAYER)
{
u16 PayDay = gPaydayMoney;
- gPaydayMoney += (gBattleMons[gBattleAttacker].level * 5);
+ gPaydayMoney += (gBattleMons[gBattleMoveAttacker].level * 5);
if (PayDay > gPaydayMoney)
gPaydayMoney = 0xFFFF;
}
@@ -2719,7 +2719,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
*(gBattleStruct->wrappedMove + gEffectBank * 2 + 0) = gCurrentMove;
*(gBattleStruct->wrappedMove + gEffectBank * 2 + 1) = gCurrentMove >> 8;
- *(gBattleStruct->wrappedBy + gEffectBank) = gBattleAttacker;
+ *(gBattleStruct->wrappedBy + gEffectBank) = gBattleMoveAttacker;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
@@ -2832,7 +2832,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_RAGE:
- gBattleMons[gBattleAttacker].status2 |= STATUS2_RAGE;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_RAGE;
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_STEAL_ITEM:
@@ -2843,8 +2843,8 @@ void SetMoveEffect(bool8 primary, u8 certain)
break;
}
- side = GetBattlerSide(gBattleAttacker);
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_OPPONENT
+ side = GetBattlerSide(gBattleMoveAttacker);
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_OPPONENT
&& !(gBattleTypeFlags &
(BATTLE_TYPE_EREADER_TRAINER
| BATTLE_TYPE_FRONTIER
@@ -2860,56 +2860,56 @@ void SetMoveEffect(bool8 primary, u8 certain)
| BATTLE_TYPE_LINK
| BATTLE_TYPE_x2000000
| BATTLE_TYPE_SECRET_BASE))
- && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBattleAttacker]]))
+ && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBattleMoveAttacker]]))
{
gBattlescriptCurrInstr++;
}
- else if (gBattleMons[gBattleDefender].item
- && gBattleMons[gBattleDefender].ability == ABILITY_STICKY_HOLD)
+ else if (gBattleMons[gBattleMoveTarget].item
+ && gBattleMons[gBattleMoveTarget].ability == ABILITY_STICKY_HOLD)
{
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_NoItemSteal;
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
- else if (gBattleMons[gBattleAttacker].item != 0
- || gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY
- || IS_ITEM_MAIL(gBattleMons[gBattleDefender].item)
- || gBattleMons[gBattleDefender].item == 0)
+ else if (gBattleMons[gBattleMoveAttacker].item != 0
+ || gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY
+ || IS_ITEM_MAIL(gBattleMons[gBattleMoveTarget].item)
+ || gBattleMons[gBattleMoveTarget].item == 0)
{
gBattlescriptCurrInstr++;
}
else
{
- u16* changedItem = &gBattleStruct->changedItems[gBattleAttacker];
- gLastUsedItem = *changedItem = gBattleMons[gBattleDefender].item;
- gBattleMons[gBattleDefender].item = 0;
+ u16* changedItem = &gBattleStruct->changedItems[gBattleMoveAttacker];
+ gLastUsedItem = *changedItem = gBattleMons[gBattleMoveTarget].item;
+ gBattleMons[gBattleMoveTarget].item = 0;
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem);
- MarkBufferBankForExecution(gBattleAttacker);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem);
+ MarkBattlerForControllerExec(gBattleMoveAttacker);
- gActiveBattler = gBattleDefender;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattleDefender].item);
- MarkBufferBankForExecution(gBattleDefender);
+ gActiveBattler = gBattleMoveTarget;
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattleMoveTarget].item);
+ MarkBattlerForControllerExec(gBattleMoveTarget);
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_ItemSteal;
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleDefender]) + 0) = 0;
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleDefender]) + 1) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveTarget]) + 0) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveTarget]) + 1) = 0;
}
}
break;
case MOVE_EFFECT_PREVENT_ESCAPE:
- gBattleMons[gBattleDefender].status2 |= STATUS2_ESCAPE_PREVENTION;
- gDisableStructs[gBattleDefender].bankPreventingEscape = gBattleAttacker;
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_ESCAPE_PREVENTION;
+ gDisableStructs[gBattleMoveTarget].bankPreventingEscape = gBattleMoveAttacker;
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_NIGHTMARE:
- gBattleMons[gBattleDefender].status2 |= STATUS2_NIGHTMARE;
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_NIGHTMARE;
gBattlescriptCurrInstr++;
break;
case MOVE_EFFECT_ALL_STATS_UP:
@@ -2921,17 +2921,17 @@ void SetMoveEffect(bool8 primary, u8 certain)
gBattlescriptCurrInstr = BattleScript_RapidSpinAway;
break;
case MOVE_EFFECT_REMOVE_PARALYSIS: // Smelling salts
- if (!(gBattleMons[gBattleDefender].status1 & STATUS1_PARALYSIS))
+ if (!(gBattleMons[gBattleMoveTarget].status1 & STATUS1_PARALYSIS))
{
gBattlescriptCurrInstr++;
}
else
{
- gBattleMons[gBattleDefender].status1 &= ~(STATUS1_PARALYSIS);
+ gBattleMons[gBattleMoveTarget].status1 &= ~(STATUS1_PARALYSIS);
- gActiveBattler = gBattleDefender;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveTarget;
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal;
@@ -2982,7 +2982,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
gLastUsedItem = gBattleMons[gEffectBank].item;
gBattleMons[gEffectBank].item = 0;
- gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]];
+ gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]];
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_KnockedOff;
@@ -3010,7 +3010,7 @@ static void atk15_seteffectwithchance(void)
{
u32 percentChance;
- if (gBattleMons[gBattleAttacker].ability == ABILITY_SERENE_GRACE)
+ if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_SERENE_GRACE)
percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance * 2;
else
percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance;
@@ -3089,14 +3089,14 @@ static void atk19_tryfaintmon(void)
if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER)
{
- gActiveBattler = gBattleAttacker;
- bank = gBattleDefender;
+ gActiveBattler = gBattleMoveAttacker;
+ bank = gBattleMoveTarget;
BS_ptr = BattleScript_FaintAttacker;
}
else
{
- gActiveBattler = gBattleDefender;
- bank = gBattleAttacker;
+ gActiveBattler = gBattleMoveTarget;
+ bank = gBattleMoveAttacker;
BS_ptr = BattleScript_FaintTarget;
}
if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])
@@ -3116,31 +3116,31 @@ static void atk19_tryfaintmon(void)
{
if (gBattleResults.opponentFaintCounter < 0xFF)
gBattleResults.opponentFaintCounter++;
- gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES, NULL);
+ gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL);
}
- if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattleAttacker].hp != 0)
+ if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattleMoveAttacker].hp != 0)
{
gHitMarker &= ~(HITMARKER_DESTINYBOND);
BattleScriptPush(gBattlescriptCurrInstr);
gBattleMoveDamage = gBattleMons[bank].hp;
gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife;
}
- if ((gStatuses3[gBattleDefender] & STATUS3_GRUDGE)
+ if ((gStatuses3[gBattleMoveTarget] & STATUS3_GRUDGE)
&& !(gHitMarker & HITMARKER_GRUDGE)
- && GetBattlerSide(gBattleAttacker) != GetBattlerSide(gBattleDefender)
- && gBattleMons[gBattleAttacker].hp != 0
+ && GetBattlerSide(gBattleMoveAttacker) != GetBattlerSide(gBattleMoveTarget)
+ && gBattleMons[gBattleMoveAttacker].hp != 0
&& gCurrentMove != MOVE_STRUGGLE)
{
- u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBattleAttacker);
+ u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBattleMoveAttacker);
- gBattleMons[gBattleAttacker].pp[moveIndex] = 0;
+ gBattleMons[gBattleMoveAttacker].pp[moveIndex] = 0;
BattleScriptPush(gBattlescriptCurrInstr);
gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp;
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]);
+ MarkBattlerForControllerExec(gActiveBattler);
- PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattleAttacker].moves[moveIndex])
+ PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattleMoveAttacker].moves[moveIndex])
}
}
else
@@ -3152,26 +3152,26 @@ static void atk19_tryfaintmon(void)
static void atk1A_dofaintanimation(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitFaintAnimation(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitFaintAnimation(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
}
static void atk1B_cleareffectsonfaint(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0)
{
gBattleMons[gActiveBattler].status1 = 0;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
}
FaintClearSetData(); // Effects like attractions, trapping, etc.
@@ -3211,7 +3211,7 @@ static void atk1E_jumpifability(void)
if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER_SIDE)
{
- bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBattleAttacker, ability, 0, 0);
+ bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBattleMoveAttacker, ability, 0, 0);
if (bank)
{
gLastUsedAbility = ability;
@@ -3224,7 +3224,7 @@ static void atk1E_jumpifability(void)
}
else if (gBattlescriptCurrInstr[1] == BS_GET_NOT_ATTACKER_SIDE)
{
- bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattleAttacker, ability, 0, 0);
+ bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattleMoveAttacker, ability, 0, 0);
if (bank)
{
gLastUsedAbility = ability;
@@ -3257,9 +3257,9 @@ static void atk1F_jumpifsideaffecting(void)
const u8* jumpPtr;
if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER)
- side = GET_BATTLER_SIDE(gBattleAttacker);
+ side = GET_BATTLER_SIDE(gBattleMoveAttacker);
else
- side = GET_BATTLER_SIDE(gBattleDefender);
+ side = GET_BATTLER_SIDE(gBattleMoveTarget);
flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2);
jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4);
@@ -3377,7 +3377,7 @@ static void atk23_getexp(void)
else
{
gBattleScripting.atk23_state++;
- gBattleStruct->field_DF |= gBitTable[gBattlePartyID[gBank1]];
+ gBattleStruct->field_DF |= gBitTable[gBattlerPartyIndexes[gBank1]];
}
break;
case 1: // calculate experience points to redistribute
@@ -3429,7 +3429,7 @@ static void atk23_getexp(void)
}
// fall through
case 2: // set exp value to the poke in expgetter_id and print message
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
item = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HELD_ITEM);
@@ -3495,7 +3495,7 @@ static void atk23_getexp(void)
// get exp getter bank
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
- if (!(gBattlePartyID[2] != gBattleStruct->expGetterId) && !(gAbsentBattlerFlags & gBitTable[2]))
+ if (!(gBattlerPartyIndexes[2] != gBattleStruct->expGetterId) && !(gAbsentBattlerFlags & gBitTable[2]))
gBattleStruct->expGetterBank = 2;
else
{
@@ -3524,7 +3524,7 @@ static void atk23_getexp(void)
}
break;
case 3: // Set stats and give exp
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gBattleBufferB[gBattleStruct->expGetterBank][0] = 0;
if (GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL) != MAX_MON_LEVEL)
@@ -3537,20 +3537,20 @@ static void atk23_getexp(void)
BATTLE_LVLUP_STATS->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPDEF);
gActiveBattler = gBattleStruct->expGetterBank;
- EmitExpUpdate(0, gBattleStruct->expGetterId, gBattleMoveDamage);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitExpUpdate(0, gBattleStruct->expGetterId, gBattleMoveDamage);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattleScripting.atk23_state++;
}
break;
case 4: // lvl up if necessary
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = gBattleStruct->expGetterBank;
if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP)
{
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterId)
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterId)
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterId)
@@ -3563,7 +3563,7 @@ static void atk23_getexp(void)
AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterId], 0);
// update battle mon structure after level up
- if (gBattlePartyID[0] == gBattleStruct->expGetterId && gBattleMons[0].hp)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterId && gBattleMons[0].hp)
{
gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL);
gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP);
@@ -3578,7 +3578,7 @@ static void atk23_getexp(void)
gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPDEF);
}
// What is else if?
- if (gBattlePartyID[2] == gBattleStruct->expGetterId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL);
gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP);
@@ -3613,7 +3613,7 @@ static void atk23_getexp(void)
}
break;
case 6: // increment instruction
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
// not sure why gf clears the item and ability here
gBattleMons[gBank1].item = 0;
@@ -3630,7 +3630,7 @@ static void atk24(void)
u16 HP_count = 0;
s32 i;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId == STEVEN_PARTNER_ID)
@@ -3716,7 +3716,7 @@ static void atk24(void)
mov r7, r8\n\
push {r7}\n\
movs r6, 0\n\
- ldr r0, =gBattleExecBuffer\n\
+ ldr r0, =gBattleControllerExecFlags\n\
ldr r0, [r0]\n\
cmp r0, 0\n\
beq _0804ACE2\n\
@@ -4303,7 +4303,7 @@ static void atk38_bicword(void)
static void atk39_pause(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
if (++gPauseCounterBattle >= value)
@@ -4316,19 +4316,19 @@ static void atk39_pause(void)
static void atk3A_waitstate(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
gBattlescriptCurrInstr++;
}
static void atk3B_healthbar_update(void)
{
if (gBattlescriptCurrInstr[1] == BS_GET_TARGET)
- gActiveBattler = gBattleDefender;
+ gActiveBattler = gBattleMoveTarget;
else
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
- EmitHealthBarUpdate(0, gBattleMoveDamage);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitHealthBarUpdate(0, gBattleMoveDamage);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -4340,7 +4340,7 @@ static void atk3C_return(void)
static void atk3D_end(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
- sub_81A5718(gBattleAttacker);
+ sub_81A5718(gBattleMoveAttacker);
gMoveResultFlags = 0;
gActiveBattler = 0;
@@ -4387,7 +4387,7 @@ static void atk43_jumpifabilitypresent(void)
static void atk44_endselectionscript(void)
{
- *(gBattleAttacker + gBattleStruct->selectionScriptFinished) = TRUE;
+ *(gBattleMoveAttacker + gBattleStruct->selectionScriptFinished) = TRUE;
}
static void atk45_playanimation(void)
@@ -4401,8 +4401,8 @@ static void atk45_playanimation(void)
|| gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE
|| gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE)
{
- EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 7;
}
else if (gHitMarker & HITMARKER_NO_ANIMATIONS)
@@ -4415,8 +4415,8 @@ static void atk45_playanimation(void)
|| gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES
|| gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES)
{
- EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 7;
}
else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE)
@@ -4425,8 +4425,8 @@ static void atk45_playanimation(void)
}
else
{
- EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 7;
}
}
@@ -4444,8 +4444,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po
|| *animationIdPtr == B_ANIM_SNATCH_MOVE
|| *animationIdPtr == B_ANIM_SUBSTITUTE_FADE)
{
- EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 10;
}
else if (gHitMarker & HITMARKER_NO_ANIMATIONS)
@@ -4457,8 +4457,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po
|| *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES
|| *animationIdPtr == B_ANIM_HAIL_CONTINUES)
{
- EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 10;
}
else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE)
@@ -4467,8 +4467,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po
}
else
{
- EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 10;
}
}
@@ -4575,8 +4575,8 @@ static void atk48_playstatchangeanimation(void)
}
else if (changeableStats != 0 && gBattleScripting.field_1B == 0)
{
- EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId);
+ MarkBattlerForControllerExec(gActiveBattler);
if (gBattlescriptCurrInstr[3] & ATK48_BIT_x4 && changeableStats > 1)
gBattleScripting.field_1B = 1;
gBattlescriptCurrInstr += 4;
@@ -4803,10 +4803,10 @@ _0804BB6C:\n\
movs r1, 0x1\n\
mov r2, r8\n\
str r3, [sp]\n\
- bl EmitBattleAnimation\n\
+ bl BtlController_EmitBattleAnimation\n\
ldr r0, =gActiveBattler\n\
ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
+ bl MarkBattlerForControllerExec\n\
ldr r0, =gBattlescriptCurrInstr\n\
ldr r0, [r0]\n\
ldrb r1, [r0, 0x3]\n\
@@ -4864,12 +4864,12 @@ static void atk49_moveend(void)
arg1 = gBattlescriptCurrInstr[1];
arg2 = gBattlescriptCurrInstr[2];
- if (gBattleMons[gBattleAttacker].item == ITEM_ENIGMA_BERRY)
- holdEffectAtk = gEnigmaBerries[gBattleAttacker].holdEffect;
+ if (gBattleMons[gBattleMoveAttacker].item == ITEM_ENIGMA_BERRY)
+ holdEffectAtk = gEnigmaBerries[gBattleMoveAttacker].holdEffect;
else
- holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattleAttacker].item);
+ holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattleMoveAttacker].item);
- choicedMoveAtk = &gBattleStruct->choicedMove[gBattleAttacker];
+ choicedMoveAtk = &gBattleStruct->choicedMove[gBattleMoveAttacker];
GET_MOVE_TYPE(gCurrentMove, moveType);
@@ -4878,13 +4878,13 @@ static void atk49_moveend(void)
switch (gBattleScripting.atk49_state)
{
case 0: // rage check
- if (gBattleMons[gBattleDefender].status2 & STATUS2_RAGE
- && gBattleMons[gBattleDefender].hp != 0 && gBattleAttacker != gBattleDefender
- && GetBattlerSide(gBattleAttacker) != GetBattlerSide(gBattleDefender)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_RAGE
+ && gBattleMons[gBattleMoveTarget].hp != 0 && gBattleMoveAttacker != gBattleMoveTarget
+ && GetBattlerSide(gBattleMoveAttacker) != GetBattlerSide(gBattleMoveTarget)
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED
- && gBattleMoves[gCurrentMove].power && gBattleMons[gBattleDefender].statStages[STAT_STAGE_ATK] <= 0xB)
+ && gBattleMoves[gCurrentMove].power && gBattleMons[gBattleMoveTarget].statStages[STAT_STAGE_ATK] <= 0xB)
{
- gBattleMons[gBattleDefender].statStages[STAT_STAGE_ATK]++;
+ gBattleMons[gBattleMoveTarget].statStages[STAT_STAGE_ATK]++;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_RageIsBuilding;
effect = TRUE;
@@ -4892,15 +4892,15 @@ static void atk49_moveend(void)
gBattleScripting.atk49_state++;
break;
case 1: // defrosting check
- if (gBattleMons[gBattleDefender].status1 & STATUS1_FREEZE
- && gBattleMons[gBattleDefender].hp != 0 && gBattleAttacker != gBattleDefender
- && gSpecialStatuses[gBattleDefender].moveturnLostHP_special
+ if (gBattleMons[gBattleMoveTarget].status1 & STATUS1_FREEZE
+ && gBattleMons[gBattleMoveTarget].hp != 0 && gBattleMoveAttacker != gBattleMoveTarget
+ && gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && moveType == TYPE_FIRE)
{
- gBattleMons[gBattleDefender].status1 &= ~(STATUS1_FREEZE);
- gActiveBattler = gBattleDefender;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattleDefender].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ gBattleMons[gBattleMoveTarget].status1 &= ~(STATUS1_FREEZE);
+ gActiveBattler = gBattleMoveTarget;
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattleMoveTarget].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove;
effect = TRUE;
@@ -4908,12 +4908,12 @@ static void atk49_moveend(void)
gBattleScripting.atk49_state++;
break;
case 2: // target synchronize
- if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattleDefender, 0, 0, 0))
+ if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattleMoveTarget, 0, 0, 0))
effect = TRUE;
gBattleScripting.atk49_state++;
break;
case 3: // contact abilities
- if (AbilityBattleEffects(ABILITYEFFECT_CONTACT, gBattleDefender, 0, 0, 0))
+ if (AbilityBattleEffects(ABILITYEFFECT_CONTACT, gBattleMoveTarget, 0, 0, 0))
effect = TRUE;
gBattleScripting.atk49_state++;
break;
@@ -4924,7 +4924,7 @@ static void atk49_moveend(void)
gBattleScripting.atk49_state++;
break;
case 5: // attacker synchronize
- if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattleAttacker, 0, 0, 0))
+ if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattleMoveAttacker, 0, 0, 0))
effect = TRUE;
gBattleScripting.atk49_state++;
break;
@@ -4942,7 +4942,7 @@ static void atk49_moveend(void)
{
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleAttacker].moves[i] == *choicedMoveAtk)
+ if (gBattleMons[gBattleMoveAttacker].moves[i] == *choicedMoveAtk)
break;
}
if (i == 4)
@@ -4975,12 +4975,12 @@ static void atk49_moveend(void)
gBattleScripting.atk49_state++;
break;
case 8: // make attacker sprite invisible
- if (gStatuses3[gBattleAttacker] & (STATUS3_SEMI_INVULNERABLE)
+ if (gStatuses3[gBattleMoveAttacker] & (STATUS3_SEMI_INVULNERABLE)
&& gHitMarker & HITMARKER_NO_ANIMATIONS)
{
- gActiveBattler = gBattleAttacker;
- EmitSpriteInvisibility(0, TRUE);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSpriteInvisibility(0, TRUE);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattleScripting.atk49_state++;
return;
}
@@ -4988,27 +4988,27 @@ static void atk49_moveend(void)
break;
case 9: // make attacker sprite visible
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT
- || !(gStatuses3[gBattleAttacker] & (STATUS3_SEMI_INVULNERABLE))
- || WasUnableToUseMove(gBattleAttacker))
- {
- gActiveBattler = gBattleAttacker;
- EmitSpriteInvisibility(0, FALSE);
- MarkBufferBankForExecution(gActiveBattler);
- gStatuses3[gBattleAttacker] &= ~(STATUS3_SEMI_INVULNERABLE);
- gSpecialStatuses[gBattleAttacker].restoredBankSprite = 1;
+ || !(gStatuses3[gBattleMoveAttacker] & (STATUS3_SEMI_INVULNERABLE))
+ || WasUnableToUseMove(gBattleMoveAttacker))
+ {
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSpriteInvisibility(0, FALSE);
+ MarkBattlerForControllerExec(gActiveBattler);
+ gStatuses3[gBattleMoveAttacker] &= ~(STATUS3_SEMI_INVULNERABLE);
+ gSpecialStatuses[gBattleMoveAttacker].restoredBankSprite = 1;
gBattleScripting.atk49_state++;
return;
}
gBattleScripting.atk49_state++;
break;
case 10: // make target sprite visible
- if (!gSpecialStatuses[gBattleDefender].restoredBankSprite && gBattleDefender < gBattlersCount
- && !(gStatuses3[gBattleDefender] & STATUS3_SEMI_INVULNERABLE))
+ if (!gSpecialStatuses[gBattleMoveTarget].restoredBankSprite && gBattleMoveTarget < gBattlersCount
+ && !(gStatuses3[gBattleMoveTarget] & STATUS3_SEMI_INVULNERABLE))
{
- gActiveBattler = gBattleDefender;
- EmitSpriteInvisibility(0, FALSE);
- MarkBufferBankForExecution(gActiveBattler);
- gStatuses3[gBattleDefender] &= ~(STATUS3_SEMI_INVULNERABLE);
+ gActiveBattler = gBattleMoveTarget;
+ BtlController_EmitSpriteInvisibility(0, FALSE);
+ MarkBattlerForControllerExec(gActiveBattler);
+ gStatuses3[gBattleMoveTarget] &= ~(STATUS3_SEMI_INVULNERABLE);
gBattleScripting.atk49_state++;
return;
}
@@ -5025,82 +5025,82 @@ static void atk49_moveend(void)
case 14: // This case looks interesting, although I am not certain what it does. Probably fine tunes edge cases.
if (gHitMarker & HITMARKER_PURSUIT_TRAP)
{
- gActiveBattler = gBattleAttacker;
- gBattleAttacker = gBattleDefender;
- gBattleDefender = gActiveBattler;
+ gActiveBattler = gBattleMoveAttacker;
+ gBattleMoveAttacker = gBattleMoveTarget;
+ gBattleMoveTarget = gActiveBattler;
gHitMarker &= ~(HITMARKER_PURSUIT_TRAP);
}
if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED)
{
- gLastPrintedMoves[gBattleAttacker] = gChosenMove;
+ gLastPrintedMoves[gBattleMoveAttacker] = gChosenMove;
}
- if (!(gAbsentBattlerFlags & gBitTable[gBattleAttacker])
- && !(gBattleStruct->field_91 & gBitTable[gBattleAttacker])
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveAttacker])
+ && !(gBattleStruct->field_91 & gBitTable[gBattleMoveAttacker])
&& gBattleMoves[originallyUsedMove].effect != EFFECT_BATON_PASS)
{
if (gHitMarker & HITMARKER_OBEYS)
{
- gLastMoves[gBattleAttacker] = gChosenMove;
- gLastResultingMoves[gBattleAttacker] = gCurrentMove;
+ gLastMoves[gBattleMoveAttacker] = gChosenMove;
+ gLastResultingMoves[gBattleMoveAttacker] = gCurrentMove;
}
else
{
- gLastMoves[gBattleAttacker] = 0xFFFF;
- gLastResultingMoves[gBattleAttacker] = 0xFFFF;
+ gLastMoves[gBattleMoveAttacker] = 0xFFFF;
+ gLastResultingMoves[gBattleMoveAttacker] = 0xFFFF;
}
- if (!(gHitMarker & HITMARKER_FAINTED(gBattleDefender)))
- gLastHitBy[gBattleDefender] = gBattleAttacker;
+ if (!(gHitMarker & HITMARKER_FAINTED(gBattleMoveTarget)))
+ gLastHitBy[gBattleMoveTarget] = gBattleMoveAttacker;
if (gHitMarker & HITMARKER_OBEYS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
if (gChosenMove == 0xFFFF)
{
- gLastLandedMoves[gBattleDefender] = gChosenMove;
+ gLastLandedMoves[gBattleMoveTarget] = gChosenMove;
}
else
{
- gLastLandedMoves[gBattleDefender] = gCurrentMove;
- GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBattleDefender]);
+ gLastLandedMoves[gBattleMoveTarget] = gCurrentMove;
+ GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBattleMoveTarget]);
}
}
else
{
- gLastLandedMoves[gBattleDefender] = 0xFFFF;
+ gLastLandedMoves[gBattleMoveTarget] = 0xFFFF;
}
}
gBattleScripting.atk49_state++;
break;
case 15: // mirror move
- if (!(gAbsentBattlerFlags & gBitTable[gBattleAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattleAttacker])
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattleMoveAttacker])
&& gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS
- && gBattleAttacker != gBattleDefender && !(gHitMarker & HITMARKER_FAINTED(gBattleDefender))
+ && gBattleMoveAttacker != gBattleMoveTarget && !(gHitMarker & HITMARKER_FAINTED(gBattleMoveTarget))
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
u8 target, attacker;
- *(gBattleStruct->mirrorMoves + gBattleDefender * 2 + 0) = gChosenMove;
- *(gBattleStruct->mirrorMoves + gBattleDefender * 2 + 1) = gChosenMove >> 8;
+ *(gBattleStruct->mirrorMoves + gBattleMoveTarget * 2 + 0) = gChosenMove;
+ *(gBattleStruct->mirrorMoves + gBattleMoveTarget * 2 + 1) = gChosenMove >> 8;
- target = gBattleDefender;
- attacker = gBattleAttacker;
+ target = gBattleMoveTarget;
+ attacker = gBattleMoveAttacker;
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gChosenMove;
- target = gBattleDefender;
- attacker = gBattleAttacker;
+ target = gBattleMoveTarget;
+ attacker = gBattleMoveAttacker;
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gChosenMove >> 8;
}
gBattleScripting.atk49_state++;
break;
case 16: //
if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE
- && !gProtectStructs[gBattleAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH
+ && !gProtectStructs[gBattleMoveAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH
&& !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
{
- u8 bank = GetBattlerAtPosition(B_POSITION_PARTNER(GetBattlerPosition(gBattleDefender)));
+ u8 bank = GetBattlerAtPosition(B_POSITION_PARTNER(GetBattlerPosition(gBattleMoveTarget)));
if (gBattleMons[bank].hp != 0)
{
- gBattleDefender = bank;
+ gBattleMoveTarget = bank;
gHitMarker |= HITMARKER_NO_ATTACKSTRING;
gBattleScripting.atk49_state = 0;
MoveValuesCleanUp();
@@ -5136,13 +5136,13 @@ static void atk4A_typecalc2(void)
s32 i = 0;
u8 moveType = gBattleMoves[gCurrentMove].type;
- if (gBattleMons[gBattleDefender].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
{
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
- gLastLandedMoves[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
gBattleCommunication[6] = moveType;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
else
{
@@ -5150,7 +5150,7 @@ static void atk4A_typecalc2(void)
{
if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_FORESIGHT)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_FORESIGHT)
{
break;
}
@@ -5164,7 +5164,7 @@ static void atk4A_typecalc2(void)
if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type1)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type1)
{
if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
@@ -5181,22 +5181,22 @@ static void atk4A_typecalc2(void)
}
}
// check type2
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2)
{
- if (gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2
+ if (gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
break;
}
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2
- && gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2
+ && gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE)
{
flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE;
}
- if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleDefender].type2
- && gBattleMons[gBattleDefender].type1 != gBattleMons[gBattleDefender].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattleMoveTarget].type2
+ && gBattleMons[gBattleMoveTarget].type1 != gBattleMons[gBattleMoveTarget].type2
&& TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE)
{
flags |= MOVE_RESULT_SUPER_EFFECTIVE;
@@ -5207,46 +5207,46 @@ static void atk4A_typecalc2(void)
}
}
- if (gBattleMons[gBattleDefender].ability == ABILITY_WONDER_GUARD
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_WONDER_GUARD
&& !(flags & MOVE_RESULT_NO_EFFECT)
- && AttacksThisTurn(gBattleAttacker, gCurrentMove) == 2
+ && AttacksThisTurn(gBattleMoveAttacker, gCurrentMove) == 2
&& (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)))
&& gBattleMoves[gCurrentMove].power)
{
gLastUsedAbility = ABILITY_WONDER_GUARD;
gMoveResultFlags |= MOVE_RESULT_MISSED;
- gLastLandedMoves[gBattleDefender] = 0;
+ gLastLandedMoves[gBattleMoveTarget] = 0;
gBattleCommunication[6] = 3;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
- gProtectStructs[gBattleAttacker].targetNotAffected = 1;
+ gProtectStructs[gBattleMoveAttacker].targetNotAffected = 1;
gBattlescriptCurrInstr++;
}
static void atk4B_returnatktoball(void)
{
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler)))
{
- EmitReturnMonToBall(0, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitReturnMonToBall(0, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr++;
}
static void atk4C_getswitchedmondata(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- gBattlePartyID[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler);
+ gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler);
- EmitGetMonData(0, REQUEST_ALL_BATTLE, gBitTable[gBattlePartyID[gActiveBattler]]);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -5257,7 +5257,7 @@ static void atk4D_switchindataupdate(void)
s32 i;
u8 *monData;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -5275,7 +5275,7 @@ static void atk4D_switchindataupdate(void)
// check knocked off item
i = GetBattlerSide(gActiveBattler);
- if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBattler]])
+ if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]])
{
gBattleMons[gActiveBattler].item = 0;
}
@@ -5299,14 +5299,14 @@ static void atk4D_switchindataupdate(void)
gBattleScripting.battler = gActiveBattler;
- PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]);
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]);
gBattlescriptCurrInstr += 2;
}
static void atk4E_switchinanim(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -5321,8 +5321,8 @@ static void atk4E_switchinanim(void)
gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]);
- EmitSwitchInAnim(0, gBattlePartyID[gActiveBattler], gBattlescriptCurrInstr[2]);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 3;
@@ -5364,7 +5364,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
&& GetMonData(&party[val], MON_DATA_HP) != 0
- && gBattlePartyID[gActiveBattler] != val)
+ && gBattlerPartyIndexes[gActiveBattler] != val)
break;
}
@@ -5382,7 +5382,7 @@ static void atk4F_jumpifcantswitch(void)
party = gPlayerParty;
val = 0;
- if (sub_806D82C(GetBankMultiplayerId(gActiveBattler)) == TRUE)
+ if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE)
val = 3;
}
else
@@ -5404,7 +5404,7 @@ static void atk4F_jumpifcantswitch(void)
val = 0;
- if (sub_806D82C(GetBankMultiplayerId(gActiveBattler)) == TRUE)
+ if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE)
val = 3;
}
@@ -5413,7 +5413,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
&& GetMonData(&party[val], MON_DATA_HP) != 0
- && gBattlePartyID[gActiveBattler] != val)
+ && gBattlerPartyIndexes[gActiveBattler] != val)
break;
}
@@ -5435,7 +5435,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
&& GetMonData(&party[val], MON_DATA_HP) != 0
- && gBattlePartyID[gActiveBattler] != val)
+ && gBattlerPartyIndexes[gActiveBattler] != val)
break;
}
@@ -5473,7 +5473,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_HP) != 0
&& GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
- && val != gBattlePartyID[r7] && val != gBattlePartyID[compareVar])
+ && val != gBattlerPartyIndexes[r7] && val != gBattlerPartyIndexes[compareVar])
break;
}
@@ -5486,12 +5486,12 @@ static void atk4F_jumpifcantswitch(void)
static void sub_804CF10(u8 arg0)
{
- *(gBattleStruct->field_58 + gActiveBattler) = gBattlePartyID[gActiveBattler];
+ *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]);
- EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
+ MarkBattlerForControllerExec(gActiveBattler);
}
static void atk50_openpartyscreen(void)
@@ -5517,8 +5517,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5528,8 +5528,8 @@ static void atk50_openpartyscreen(void)
}
else
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
}
@@ -5546,8 +5546,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5556,8 +5556,8 @@ static void atk50_openpartyscreen(void)
}
else
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
flags |= 1;
}
}
@@ -5568,8 +5568,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5578,8 +5578,8 @@ static void atk50_openpartyscreen(void)
}
else if (!(flags & 1))
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
if (gBitTable[1] & hitmarkerFaintBits)
@@ -5589,8 +5589,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5599,8 +5599,8 @@ static void atk50_openpartyscreen(void)
}
else
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
flags |= 2;
}
}
@@ -5611,8 +5611,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5621,8 +5621,8 @@ static void atk50_openpartyscreen(void)
}
else if (!(flags & 2))
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
@@ -5637,8 +5637,8 @@ static void atk50_openpartyscreen(void)
else
gActiveBattler = 0;
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
@@ -5653,8 +5653,8 @@ static void atk50_openpartyscreen(void)
else
gActiveBattler = 1;
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
}
@@ -5674,8 +5674,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5690,8 +5690,8 @@ static void atk50_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
- EmitCmd42(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd42(0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
@@ -5748,12 +5748,12 @@ static void atk50_openpartyscreen(void)
else
{
gActiveBattler = bank;
- *(gBattleStruct->field_58 + gActiveBattler) = gBattlePartyID[gActiveBattler];
+ *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]);
- EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), 0, gBattleStruct->field_60[gActiveBattler]);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), 0, gBattleStruct->field_60[gActiveBattler]);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 6;
@@ -5766,8 +5766,8 @@ static void atk50_openpartyscreen(void)
{
if (gActiveBattler != bank)
{
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
}
@@ -5777,8 +5777,8 @@ static void atk50_openpartyscreen(void)
if (gAbsentBattlerFlags & gBitTable[gActiveBattler])
gActiveBattler ^= BIT_FLANK;
- EmitLinkStandbyMsg(0, 2, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitLinkStandbyMsg(0, 2, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
}
@@ -5787,7 +5787,7 @@ static void atk50_openpartyscreen(void)
static void atk51_switchhandleorder(void)
{
s32 i;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -5802,7 +5802,7 @@ static void atk51_switchhandleorder(void)
*(gBattleStruct->monToSwitchIntoId + i) = gBattleBufferB[i][1];
if (!(gBattleStruct->field_93 & gBitTable[i]))
{
- RecordedBattle_SetBankAction(i, gBattleBufferB[i][1]);
+ RecordedBattle_SetBattlerAction(i, gBattleBufferB[i][1]);
gBattleStruct->field_93 |= gBitTable[i];
}
}
@@ -5815,7 +5815,7 @@ static void atk51_switchhandleorder(void)
case 2:
if (!(gBattleStruct->field_93 & gBitTable[gActiveBattler]))
{
- RecordedBattle_SetBankAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]);
+ RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]);
gBattleStruct->field_93 |= gBitTable[gActiveBattler];
}
// fall through
@@ -5842,7 +5842,7 @@ static void atk51_switchhandleorder(void)
sub_803BDA0(gActiveBattler);
}
- PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattleAttacker].species)
+ PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattleMoveAttacker].species)
PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, gActiveBattler, gBattleBufferB[gActiveBattler][1])
break;
@@ -5935,26 +5935,26 @@ static void atk52_switchineffects(void)
static void atk53_trainerslidein(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
- EmitTrainerSlide(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitTrainerSlide(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
static void atk54_playse(void)
{
- gActiveBattler = gBattleAttacker;
- EmitPlaySE(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitPlaySE(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 3;
}
static void atk55_fanfare(void)
{
- gActiveBattler = gBattleAttacker;
- EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 3;
}
@@ -5962,8 +5962,8 @@ static void atk55_fanfare(void)
static void atk56_playfaintcry(void)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitFaintingCry(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitFaintingCry(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -5971,8 +5971,8 @@ static void atk56_playfaintcry(void)
static void atk57(void)
{
gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
- EmitCmd55(0, gBattleOutcome);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd55(0, gBattleOutcome);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 1;
}
@@ -5980,8 +5980,8 @@ static void atk57(void)
static void atk58_returntoball(void)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitReturnMonToBall(0, 1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitReturnMonToBall(0, 1);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -6007,7 +6007,7 @@ static void atk59_handlelearnnewmove(void)
{
gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
- if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterId
+ if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterId
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
@@ -6015,7 +6015,7 @@ static void atk59_handlelearnnewmove(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
- if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterId
+ if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterId
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
@@ -6113,7 +6113,7 @@ static void atk5A_yesnoboxlearnmove(void)
RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterId], movePosition);
SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterId], gMoveToLearn, movePosition);
- if (gBattlePartyID[0] == gBattleStruct->expGetterId
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterId
&& !(gBattleMons[0].status2 & STATUS2_TRANSFORMED)
&& !(gDisableStructs[0].unk18_b & gBitTable[movePosition]))
{
@@ -6121,7 +6121,7 @@ static void atk5A_yesnoboxlearnmove(void)
SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, movePosition);
}
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
- && gBattlePartyID[2] == gBattleStruct->expGetterId
+ && gBattlerPartyIndexes[2] == gBattleStruct->expGetterId
&& !(gBattleMons[2].status2 & STATUS2_TRANSFORMED)
&& !(gDisableStructs[2].unk18_b & gBitTable[movePosition]))
{
@@ -6137,7 +6137,7 @@ static void atk5A_yesnoboxlearnmove(void)
gBattlescriptCurrInstr += 5;
break;
case 6:
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gBattleScripting.learnMoveState = 2;
}
@@ -6202,8 +6202,8 @@ static void atk5C_hitanimation(void)
}
else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0)
{
- EmitHitAnimation(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitHitAnimation(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
else
@@ -6289,12 +6289,12 @@ static void atk5E(void)
switch (gBattleCommunication[0])
{
case 0:
- EmitGetMonData(0, REQUEST_ALL_BATTLE, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattleCommunication[0]++;
break;
case 1:
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
s32 i;
struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4];
@@ -6311,9 +6311,9 @@ static void atk5E(void)
static void atk5F(void)
{
- gActiveBattler = gBattleAttacker;
- gBattleAttacker = gBattleDefender;
- gBattleDefender = gActiveBattler;
+ gActiveBattler = gBattleMoveAttacker;
+ gBattleMoveAttacker = gBattleMoveTarget;
+ gBattleMoveTarget = gActiveBattler;
if (gHitMarker & HITMARKER_PURSUIT_TRAP)
gHitMarker &= ~(HITMARKER_PURSUIT_TRAP);
@@ -6325,7 +6325,7 @@ static void atk5F(void)
static void atk60_incrementgamestat(void)
{
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
IncrementGameStat(gBattlescriptCurrInstr[1]);
gBattlescriptCurrInstr += 2;
@@ -6337,7 +6337,7 @@ static void atk61_drawpartystatussummary(void)
struct Pokemon* party;
struct HpAndStatus hpStatuses[6];
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -6362,8 +6362,8 @@ static void atk61_drawpartystatussummary(void)
}
}
- EmitDrawPartyStatusSummary(0, hpStatuses, 1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitDrawPartyStatusSummary(0, hpStatuses, 1);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -6371,8 +6371,8 @@ static void atk61_drawpartystatussummary(void)
static void atk62(void)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitCmd49(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitCmd49(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -6389,15 +6389,15 @@ static void atk63_jumptorandomattack(void)
static void atk64_statusanimation(void)
{
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE)
&& gDisableStructs[gActiveBattler].substituteHP == 0
&& !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
- EmitStatusAnimation(0, FALSE, gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusAnimation(0, FALSE, gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr += 2;
}
@@ -6407,7 +6407,7 @@ static void atk65_status2animation(void)
{
u32 wantedToAnimate;
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
wantedToAnimate = BSScriptRead32(gBattlescriptCurrInstr + 2);
@@ -6415,8 +6415,8 @@ static void atk65_status2animation(void)
&& gDisableStructs[gActiveBattler].substituteHP == 0
&& !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
- EmitStatusAnimation(0, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusAnimation(0, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr += 6;
}
@@ -6426,7 +6426,7 @@ static void atk66_chosenstatusanimation(void)
{
u32 wantedStatus;
- if (gBattleExecBuffer == 0)
+ if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
wantedStatus = BSScriptRead32(gBattlescriptCurrInstr + 3);
@@ -6434,8 +6434,8 @@ static void atk66_chosenstatusanimation(void)
&& gDisableStructs[gActiveBattler].substituteHP == 0
&& !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
- EmitStatusAnimation(0, gBattlescriptCurrInstr[2], wantedStatus);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusAnimation(0, gBattlescriptCurrInstr[2], wantedStatus);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr += 7;
}
@@ -6498,42 +6498,42 @@ static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no ra
{
u8 holdEffect, quality;
- if (gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY)
{
- holdEffect = gEnigmaBerries[gBattleDefender].holdEffect, quality = gEnigmaBerries[gBattleDefender].holdEffectParam;
+ holdEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect, quality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam;
}
else
{
- holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleDefender].item);
- quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleDefender].item);
+ holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleMoveTarget].item);
+ quality = ItemId_GetHoldEffectParam(gBattleMons[gBattleMoveTarget].item);
}
- gStringBank = gBattleDefender;
+ gStringBank = gBattleMoveTarget;
if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality)
{
- RecordItemEffectBattle(gBattleDefender, holdEffect);
- gSpecialStatuses[gBattleDefender].focusBanded = 1;
+ RecordItemEffectBattle(gBattleMoveTarget, holdEffect);
+ gSpecialStatuses[gBattleMoveTarget].focusBanded = 1;
}
- if (gBattleMons[gBattleDefender].status2 & STATUS2_SUBSTITUTE)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_SUBSTITUTE)
goto END;
- if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattleDefender].endured
- && !gSpecialStatuses[gBattleDefender].focusBanded)
+ if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattleMoveTarget].endured
+ && !gSpecialStatuses[gBattleMoveTarget].focusBanded)
goto END;
- if (gBattleMons[gBattleDefender].hp > gBattleMoveDamage)
+ if (gBattleMons[gBattleMoveTarget].hp > gBattleMoveDamage)
goto END;
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - 1;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - 1;
- if (gProtectStructs[gBattleDefender].endured)
+ if (gProtectStructs[gBattleMoveTarget].endured)
{
gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
}
- else if (gSpecialStatuses[gBattleDefender].focusBanded)
+ else if (gSpecialStatuses[gBattleMoveTarget].focusBanded)
{
gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattleDefender].item;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
}
END:
@@ -6550,15 +6550,15 @@ static void atk6A_removeitem(void)
*usedHeldItem = gBattleMons[gActiveBattler].item;
gBattleMons[gActiveBattler].item = 0;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
static void atk6B_atknameinbuff1(void)
{
- PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattleAttacker, gBattlePartyID[gBattleAttacker])
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattleMoveAttacker, gBattlerPartyIndexes[gBattleMoveAttacker])
gBattlescriptCurrInstr++;
}
@@ -6829,9 +6829,9 @@ static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite)
static bool32 IsMonGettingExpSentOut(void)
{
- if (gBattlePartyID[0] == gBattleStruct->expGetterId)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterId)
return TRUE;
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[2] == gBattleStruct->expGetterId)
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterId)
return TRUE;
return FALSE;
@@ -6845,15 +6845,15 @@ static void atk6D_resetsentmonsvalue(void)
static void atk6E_setatktoplayer0(void)
{
- gBattleAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ gBattleMoveAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr++;
}
static void atk6F_makevisible(void)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitSpriteInvisibility(0, FALSE);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSpriteInvisibility(0, FALSE);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -6939,8 +6939,8 @@ static void atk74_hpthresholds2(void)
static void atk75_useitemonopponent(void)
{
- gBankInMenu = gBattleAttacker;
- ExecuteTableBasedItemEffect(&gEnemyParty[gBattlePartyID[gBattleAttacker]], gLastUsedItem, gBattlePartyID[gBattleAttacker], 0, 1);
+ gBankInMenu = gBattleMoveAttacker;
+ ExecuteTableBasedItemEffect(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattleMoveAttacker], 0, 1);
gBattlescriptCurrInstr += 1;
}
@@ -6958,18 +6958,18 @@ static void atk76_various(void)
CancelMultiTurnMoves(gActiveBattler);
break;
case VARIOUS_SET_MAGIC_COAT_TARGET:
- gBattleAttacker = gBattleDefender;
- side = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE;
+ gBattleMoveAttacker = gBattleMoveTarget;
+ side = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE;
if (gSideTimers[side].followmeTimer != 0 && gBattleMons[gSideTimers[side].followmeTarget].hp != 0)
- gBattleDefender = gSideTimers[side].followmeTarget;
+ gBattleMoveTarget = gSideTimers[side].followmeTarget;
else
- gBattleDefender = gActiveBattler;
+ gBattleMoveTarget = gActiveBattler;
break;
case VARIOUS_IS_RUNNING_IMPOSSIBLE:
gBattleCommunication[0] = IsRunningFromBattleImpossible();
break;
case VARIOUS_GET_MOVE_TARGET:
- gBattleDefender = GetMoveTarget(gCurrentMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gCurrentMove, 0);
break;
case 4:
if (gHitMarker & HITMARKER_FAINTED(gActiveBattler))
@@ -6982,11 +6982,11 @@ static void atk76_various(void)
gSpecialStatuses[gActiveBattler].traced = 0;
break;
case VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP:
- if (gBattlePartyID[0] == gBattleStruct->expGetterId || gBattlePartyID[2] == gBattleStruct->expGetterId)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterId || gBattlerPartyIndexes[2] == gBattleStruct->expGetterId)
{
u16 *choicedMove;
- if (gBattlePartyID[0] == gBattleStruct->expGetterId)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterId)
gActiveBattler = 0;
else
gActiveBattler = 2;
@@ -7034,14 +7034,14 @@ static void atk76_various(void)
case 10:
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(1);
- gBattleStruct->field_2A1 |= gBitTable[gBattlePartyID[1]];
+ gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[1].truantUnknownBit = 1;
break;
case 11:
gBattleMons[0].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_x400000;
- gBattleStruct->field_2A0 |= gBitTable[gBattlePartyID[0]];
+ gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
gDisableStructs[0].truantUnknownBit = 1;
break;
case 12:
@@ -7050,14 +7050,14 @@ static void atk76_various(void)
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_FAINTED(1);
gHitMarker |= HITMARKER_x400000;
- gBattleStruct->field_2A0 |= gBitTable[gBattlePartyID[0]];
- gBattleStruct->field_2A1 |= gBitTable[gBattlePartyID[1]];
+ gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
+ gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[0].truantUnknownBit = 1;
gDisableStructs[1].truantUnknownBit = 1;
break;
case VARIOUS_EMIT_YESNOBOX:
- EmitUnknownYesNoBox(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitUnknownYesNoBox(0);
+ MarkBattlerForControllerExec(gActiveBattler);
break;
case 14:
sub_81A5BF8();
@@ -7081,8 +7081,8 @@ static void atk76_various(void)
gActiveBattler = 1;
if (gBattleMons[gActiveBattler].hp != 0)
{
- EmitReturnMonToBall(0, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitReturnMonToBall(0, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
break;
case VARIOUS_RETURN_OPPONENT_MON2:
@@ -7091,8 +7091,8 @@ static void atk76_various(void)
gActiveBattler = 3;
if (gBattleMons[gActiveBattler].hp != 0)
{
- EmitReturnMonToBall(0, 0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitReturnMonToBall(0, 0);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
break;
@@ -7116,8 +7116,8 @@ static void atk76_various(void)
gBattleOutcome = B_OUTCOME_POKE_TELEPORTED;
break;
case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC:
- EmitPlayFanfareOrBGM(0, MUS_KACHI1, TRUE);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitPlayFanfareOrBGM(0, MUS_KACHI1, TRUE);
+ MarkBattlerForControllerExec(gActiveBattler);
break;
}
@@ -7127,31 +7127,31 @@ static void atk76_various(void)
static void atk77_setprotectlike(void) // protect and endure
{
bool8 notLastTurn = TRUE;
- u16 lastMove = gLastResultingMoves[gBattleAttacker];
+ u16 lastMove = gLastResultingMoves[gBattleMoveAttacker];
if (lastMove != MOVE_PROTECT && lastMove != MOVE_DETECT && lastMove != MOVE_ENDURE)
- gDisableStructs[gBattleAttacker].protectUses = 0;
+ gDisableStructs[gBattleMoveAttacker].protectUses = 0;
if (gCurrentTurnActionNumber == (gBattlersCount - 1))
notLastTurn = FALSE;
- if (sProtectSuccessRates[gDisableStructs[gBattleAttacker].protectUses] >= Random() && notLastTurn)
+ if (sProtectSuccessRates[gDisableStructs[gBattleMoveAttacker].protectUses] >= Random() && notLastTurn)
{
if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT)
{
- gProtectStructs[gBattleAttacker].protected = 1;
+ gProtectStructs[gBattleMoveAttacker].protected = 1;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE)
{
- gProtectStructs[gBattleAttacker].endured = 1;
+ gProtectStructs[gBattleMoveAttacker].endured = 1;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
- gDisableStructs[gBattleAttacker].protectUses++;
+ gDisableStructs[gBattleMoveAttacker].protectUses++;
}
else
{
- gDisableStructs[gBattleAttacker].protectUses = 0;
+ gDisableStructs[gBattleMoveAttacker].protectUses = 0;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
gMoveResultFlags |= MOVE_RESULT_MISSED;
}
@@ -7161,48 +7161,48 @@ static void atk77_setprotectlike(void) // protect and endure
static void atk78_faintifabilitynotdamp(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
- for (gBattleDefender = 0; gBattleDefender < gBattlersCount; gBattleDefender++)
+ for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount; gBattleMoveTarget++)
{
- if (gBattleMons[gBattleDefender].ability == ABILITY_DAMP)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_DAMP)
break;
}
- if (gBattleDefender == gBattlersCount)
+ if (gBattleMoveTarget == gBattlersCount)
{
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
gBattleMoveDamage = gBattleMons[gActiveBattler].hp;
- EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr++;
- for (gBattleDefender = 0; gBattleDefender < gBattlersCount; gBattleDefender++)
+ for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount; gBattleMoveTarget++)
{
- if (gBattleDefender == gBattleAttacker)
+ if (gBattleMoveTarget == gBattleMoveAttacker)
continue;
- if (!(gAbsentBattlerFlags & gBitTable[gBattleDefender]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]))
break;
}
}
else
{
gLastUsedAbility = ABILITY_DAMP;
- RecordAbilityBattle(gBattleDefender, gBattleMons[gBattleDefender].ability);
+ RecordAbilityBattle(gBattleMoveTarget, gBattleMons[gBattleMoveTarget].ability);
gBattlescriptCurrInstr = BattleScript_DampStopsExplosion;
}
}
static void atk79_setatkhptozero(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
gBattleMons[gActiveBattler].hp = 0;
- EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr++;
}
@@ -7213,15 +7213,15 @@ static void atk7A_jumpifnexttargetvalid(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
- for (gBattleDefender++; ; gBattleDefender++)
+ for (gBattleMoveTarget++; ; gBattleMoveTarget++)
{
- if (gBattleDefender == gBattleAttacker)
+ if (gBattleMoveTarget == gBattleMoveAttacker)
continue;
- if (!(gAbsentBattlerFlags & gBitTable[gBattleDefender]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]))
break;
}
- if (gBattleDefender >= gBattlersCount)
+ if (gBattleMoveTarget >= gBattlersCount)
gBattlescriptCurrInstr += 5;
else
gBattlescriptCurrInstr = jumpPtr;
@@ -7237,14 +7237,14 @@ static void atk7B_tryhealhalfhealth(void)
const u8* failPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
if (gBattlescriptCurrInstr[5] == BS_GET_ATTACKER)
- gBattleDefender = gBattleAttacker;
+ gBattleMoveTarget = gBattleMoveAttacker;
- gBattleMoveDamage = gBattleMons[gBattleDefender].maxHP / 2;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].maxHP / 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
- if (gBattleMons[gBattleDefender].hp == gBattleMons[gBattleDefender].maxHP)
+ if (gBattleMons[gBattleMoveTarget].hp == gBattleMons[gBattleMoveTarget].maxHP)
gBattlescriptCurrInstr = failPtr;
else
gBattlescriptCurrInstr += 6;
@@ -7262,10 +7262,10 @@ static void atk7C_trymirrormove(void)
for (validMovesCount = 0, i = 0; i < gBattlersCount; i++)
{
- if (i != gBattleAttacker)
+ if (i != gBattleMoveAttacker)
{
- move = *(i * 2 + gBattleAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0)
- | (*(i * 2 + gBattleAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) << 8);
+ move = *(i * 2 + gBattleMoveAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0)
+ | (*(i * 2 + gBattleMoveAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) << 8);
if (move != 0 && move != 0xFFFF)
{
@@ -7275,14 +7275,14 @@ static void atk7C_trymirrormove(void)
}
}
- move = *(gBattleStruct->mirrorMoves + gBattleAttacker * 2 + 0)
- | (*(gBattleStruct->mirrorMoves + gBattleAttacker * 2 + 1) << 8);
+ move = *(gBattleStruct->mirrorMoves + gBattleMoveAttacker * 2 + 0)
+ | (*(gBattleStruct->mirrorMoves + gBattleMoveAttacker * 2 + 1) << 8);
if (move != 0 && move != 0xFFFF)
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = move;
- gBattleDefender = GetMoveTarget(gCurrentMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gCurrentMove, 0);
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else if (validMovesCount)
@@ -7290,12 +7290,12 @@ static void atk7C_trymirrormove(void)
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
i = Random() % validMovesCount;
gCurrentMove = movesArray[i];
- gBattleDefender = GetMoveTarget(gCurrentMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gCurrentMove, 0);
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else
{
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
gBattlescriptCurrInstr++;
}
}
@@ -7318,16 +7318,16 @@ static void atk7D_setrain(void)
static void atk7E_setreflect(void)
{
- if (gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] & SIDE_STATUS_REFLECT)
+ if (gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] & SIDE_STATUS_REFLECT)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] |= SIDE_STATUS_REFLECT;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].reflectTimer = 5;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].reflectBank = gBattleAttacker;
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] |= SIDE_STATUS_REFLECT;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].reflectTimer = 5;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].reflectBank = gBattleMoveAttacker;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2)
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
@@ -7339,20 +7339,20 @@ static void atk7E_setreflect(void)
static void atk7F_setseeded(void)
{
- if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattleDefender] & STATUS3_LEECHSEED)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattleMoveTarget] & STATUS3_LEECHSEED)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
- else if (gBattleMons[gBattleDefender].type1 == TYPE_GRASS || gBattleMons[gBattleDefender].type2 == TYPE_GRASS)
+ else if (gBattleMons[gBattleMoveTarget].type1 == TYPE_GRASS || gBattleMons[gBattleMoveTarget].type2 == TYPE_GRASS)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
{
- gStatuses3[gBattleDefender] |= gBattleAttacker;
- gStatuses3[gBattleDefender] |= STATUS3_LEECHSEED;
+ gStatuses3[gBattleMoveTarget] |= gBattleMoveAttacker;
+ gStatuses3[gBattleMoveTarget] |= STATUS3_LEECHSEED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
@@ -7370,8 +7370,8 @@ static void atk80_manipulatedamage(void)
gBattleMoveDamage /= 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
- if ((gBattleMons[gBattleDefender].maxHP / 2) < gBattleMoveDamage)
- gBattleMoveDamage = gBattleMons[gBattleDefender].maxHP / 2;
+ if ((gBattleMons[gBattleMoveTarget].maxHP / 2) < gBattleMoveDamage)
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].maxHP / 2;
break;
case ATK80_DMG_DOUBLED:
gBattleMoveDamage *= 2;
@@ -7384,23 +7384,23 @@ static void atk80_manipulatedamage(void)
static void atk81_trysetrest(void)
{
const u8 *failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- gActiveBattler = gBattleDefender = gBattleAttacker;
- gBattleMoveDamage = gBattleMons[gBattleDefender].maxHP * (-1);
+ gActiveBattler = gBattleMoveTarget = gBattleMoveAttacker;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].maxHP * (-1);
- if (gBattleMons[gBattleDefender].hp == gBattleMons[gBattleDefender].maxHP)
+ if (gBattleMons[gBattleMoveTarget].hp == gBattleMons[gBattleMoveTarget].maxHP)
{
gBattlescriptCurrInstr = failJump;
}
else
{
- if (gBattleMons[gBattleDefender].status1 & ((u8)(~STATUS1_SLEEP)))
+ if (gBattleMons[gBattleMoveTarget].status1 & ((u8)(~STATUS1_SLEEP)))
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattleMons[gBattleDefender].status1 = 3;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ gBattleMons[gBattleMoveTarget].status1 = 3;
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 5;
}
}
@@ -7409,7 +7409,7 @@ static void atk82_jumpifnotfirstturn(void)
{
const u8* failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (gDisableStructs[gBattleAttacker].isFirstTurn)
+ if (gDisableStructs[gBattleMoveAttacker].isFirstTurn)
gBattlescriptCurrInstr += 5;
else
gBattlescriptCurrInstr = failJump;
@@ -7431,9 +7431,9 @@ bool8 UproarWakeUpCheck(u8 bank)
gBattleScripting.battler = i;
- if (gBattleDefender == 0xFF)
- gBattleDefender = i;
- else if (gBattleDefender == i)
+ if (gBattleMoveTarget == 0xFF)
+ gBattleMoveTarget = i;
+ else if (gBattleMoveTarget == i)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -7451,17 +7451,17 @@ static void atk84_jumpifcantmakeasleep(void)
{
const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (UproarWakeUpCheck(gBattleDefender))
+ if (UproarWakeUpCheck(gBattleMoveTarget))
{
gBattlescriptCurrInstr = jumpPtr;
}
- else if (gBattleMons[gBattleDefender].ability == ABILITY_INSOMNIA
- || gBattleMons[gBattleDefender].ability == ABILITY_VITAL_SPIRIT)
+ else if (gBattleMons[gBattleMoveTarget].ability == ABILITY_INSOMNIA
+ || gBattleMons[gBattleMoveTarget].ability == ABILITY_VITAL_SPIRIT)
{
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
gBattlescriptCurrInstr = jumpPtr;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
else
{
@@ -7471,16 +7471,16 @@ static void atk84_jumpifcantmakeasleep(void)
static void atk85_stockpile(void)
{
- if (gDisableStructs[gBattleAttacker].stockpileCounter == 3)
+ if (gDisableStructs[gBattleMoveAttacker].stockpileCounter == 3)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gDisableStructs[gBattleAttacker].stockpileCounter++;
+ gDisableStructs[gBattleMoveAttacker].stockpileCounter++;
- PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gBattleAttacker].stockpileCounter)
+ PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gBattleMoveAttacker].stockpileCounter)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
@@ -7490,7 +7490,7 @@ static void atk85_stockpile(void)
static void atk86_stockpiletobasedamage(void)
{
const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (gDisableStructs[gBattleAttacker].stockpileCounter == 0)
+ if (gDisableStructs[gBattleMoveAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jumpPtr;
}
@@ -7498,17 +7498,17 @@ static void atk86_stockpiletobasedamage(void)
{
if (gBattleCommunication[6] != 1)
{
- gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleDefender], gCurrentMove,
- gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)], 0,
- 0, gBattleAttacker, gBattleDefender)
- * gDisableStructs[gBattleAttacker].stockpileCounter;
- gBattleScripting.animTurn = gDisableStructs[gBattleAttacker].stockpileCounter;
+ gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveTarget], gCurrentMove,
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)], 0,
+ 0, gBattleMoveAttacker, gBattleMoveTarget)
+ * gDisableStructs[gBattleMoveAttacker].stockpileCounter;
+ gBattleScripting.animTurn = gDisableStructs[gBattleMoveAttacker].stockpileCounter;
- if (gProtectStructs[gBattleAttacker].helpingHand)
+ if (gProtectStructs[gBattleMoveAttacker].helpingHand)
gBattleMoveDamage = gBattleMoveDamage * 15 / 10;
}
- gDisableStructs[gBattleAttacker].stockpileCounter = 0;
+ gDisableStructs[gBattleMoveAttacker].stockpileCounter = 0;
gBattlescriptCurrInstr += 5;
}
}
@@ -7517,30 +7517,30 @@ static void atk87_stockpiletohpheal(void)
{
const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (gDisableStructs[gBattleAttacker].stockpileCounter == 0)
+ if (gDisableStructs[gBattleMoveAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jumpPtr;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
- else if (gBattleMons[gBattleAttacker].maxHP == gBattleMons[gBattleAttacker].hp)
+ else if (gBattleMons[gBattleMoveAttacker].maxHP == gBattleMons[gBattleMoveAttacker].hp)
{
- gDisableStructs[gBattleAttacker].stockpileCounter = 0;
+ gDisableStructs[gBattleMoveAttacker].stockpileCounter = 0;
gBattlescriptCurrInstr = jumpPtr;
- gBattleDefender = gBattleAttacker;
+ gBattleMoveTarget = gBattleMoveAttacker;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / (1 << (3 - gDisableStructs[gBattleAttacker].stockpileCounter));
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / (1 << (3 - gDisableStructs[gBattleMoveAttacker].stockpileCounter));
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
- gBattleScripting.animTurn = gDisableStructs[gBattleAttacker].stockpileCounter;
- gDisableStructs[gBattleAttacker].stockpileCounter = 0;
+ gBattleScripting.animTurn = gDisableStructs[gBattleMoveAttacker].stockpileCounter;
+ gDisableStructs[gBattleMoveAttacker].stockpileCounter = 0;
gBattlescriptCurrInstr += 5;
- gBattleDefender = gBattleAttacker;
+ gBattleMoveTarget = gBattleMoveAttacker;
}
}
@@ -7560,9 +7560,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
u32 index;
if (flags & MOVE_EFFECT_AFFECTS_USER)
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
else
- gActiveBattler = gBattleDefender;
+ gActiveBattler = gBattleMoveTarget;
flags &= ~(MOVE_EFFECT_AFFECTS_USER);
@@ -7678,7 +7678,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
if (gBattleMons[gActiveBattler].statStages[statId] == 0)
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
else
- gBattleCommunication[MULTISTRING_CHOOSER] = (gBattleDefender == gActiveBattler);
+ gBattleCommunication[MULTISTRING_CHOOSER] = (gBattleMoveTarget == gActiveBattler);
}
}
@@ -7705,7 +7705,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
if (gBattleMons[gActiveBattler].statStages[statId] == 0xC)
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
else
- gBattleCommunication[MULTISTRING_CHOOSER] = (gBattleDefender == gActiveBattler);
+ gBattleCommunication[MULTISTRING_CHOOSER] = (gBattleMoveTarget == gActiveBattler);
}
gBattleMons[gActiveBattler].statStages[statId] += statValue;
@@ -7745,17 +7745,17 @@ static void atk8A_normalisebuffs(void) // haze
static void atk8B_setbide(void)
{
- gBattleMons[gBattleAttacker].status2 |= STATUS2_MULTIPLETURNS;
- gLockedMoves[gBattleAttacker] = gCurrentMove;
- gTakenDmg[gBattleAttacker] = 0;
- gBattleMons[gBattleAttacker].status2 |= (STATUS2_BIDE - 0x100); // 2 turns
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_MULTIPLETURNS;
+ gLockedMoves[gBattleMoveAttacker] = gCurrentMove;
+ gTakenDmg[gBattleMoveAttacker] = 0;
+ gBattleMons[gBattleMoveAttacker].status2 |= (STATUS2_BIDE - 0x100); // 2 turns
gBattlescriptCurrInstr++;
}
static void atk8C_confuseifrepeatingattackends(void)
{
- if (!(gBattleMons[gBattleAttacker].status2 & STATUS2_LOCK_CONFUSE))
+ if (!(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_LOCK_CONFUSE))
gBattleCommunication[MOVE_EFFECT_BYTE] = (MOVE_EFFECT_THRASH | MOVE_EFFECT_AFFECTS_USER);
gBattlescriptCurrInstr++;
@@ -7788,19 +7788,19 @@ static void atk8E_initmultihitstring(void)
static bool8 TryDoForceSwitchOut(void)
{
- if (gBattleMons[gBattleAttacker].level >= gBattleMons[gBattleDefender].level)
+ if (gBattleMons[gBattleMoveAttacker].level >= gBattleMons[gBattleMoveTarget].level)
{
- *(gBattleStruct->field_58 + gBattleDefender) = gBattlePartyID[gBattleDefender];
+ *(gBattleStruct->field_58 + gBattleMoveTarget) = gBattlerPartyIndexes[gBattleMoveTarget];
}
else
{
u16 random = Random() & 0xFF;
- if ((u32)((random * (gBattleMons[gBattleAttacker].level + gBattleMons[gBattleDefender].level) >> 8) + 1) <= (gBattleMons[gBattleDefender].level / 4))
+ if ((u32)((random * (gBattleMons[gBattleMoveAttacker].level + gBattleMons[gBattleMoveTarget].level) >> 8) + 1) <= (gBattleMons[gBattleMoveTarget].level / 4))
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
return FALSE;
}
- *(gBattleStruct->field_58 + gBattleDefender) = gBattlePartyID[gBattleDefender];
+ *(gBattleStruct->field_58 + gBattleMoveTarget) = gBattlerPartyIndexes[gBattleMoveTarget];
}
gBattlescriptCurrInstr = BattleScript_SuccessForceOut;
@@ -7827,7 +7827,7 @@ static void atk8F_forcerandomswitch(void)
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER))
{
- if (GetBattlerSide(gBattleDefender) == B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleMoveTarget) == B_SIDE_PLAYER)
party = gPlayerParty;
else
party = gEnemyParty;
@@ -7836,7 +7836,7 @@ static void atk8F_forcerandomswitch(void)
|| (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER && gBattleTypeFlags & BATTLE_TYPE_x2000000)
|| (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER))
{
- if ((gBattleDefender & BIT_FLANK) != 0)
+ if ((gBattleMoveTarget & BIT_FLANK) != 0)
{
firstMonId = 3;
lastMonId = 6;
@@ -7848,13 +7848,13 @@ static void atk8F_forcerandomswitch(void)
}
monsCount = 3;
minNeeded = 1;
- bank2PartyId = gBattlePartyID[gBattleDefender];
- bank1PartyId = gBattlePartyID[gBattleDefender ^ BIT_FLANK];
+ bank2PartyId = gBattlerPartyIndexes[gBattleMoveTarget];
+ bank1PartyId = gBattlerPartyIndexes[gBattleMoveTarget ^ BIT_FLANK];
}
else if ((gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
|| (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_x2000000))
{
- if (sub_806D82C(GetBankMultiplayerId(gBattleDefender)) == 1)
+ if (sub_806D82C(GetBattlerMultiplayerId(gBattleMoveTarget)) == 1)
{
firstMonId = 3;
lastMonId = 6;
@@ -7866,12 +7866,12 @@ static void atk8F_forcerandomswitch(void)
}
monsCount = 3;
minNeeded = 1;
- bank2PartyId = gBattlePartyID[gBattleDefender];
- bank1PartyId = gBattlePartyID[gBattleDefender ^ BIT_FLANK];
+ bank2PartyId = gBattlerPartyIndexes[gBattleMoveTarget];
+ bank1PartyId = gBattlerPartyIndexes[gBattleMoveTarget ^ BIT_FLANK];
}
else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
{
- if (GetBattlerSide(gBattleDefender) == B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleMoveTarget) == B_SIDE_PLAYER)
{
firstMonId = 0;
lastMonId = 6;
@@ -7880,7 +7880,7 @@ static void atk8F_forcerandomswitch(void)
}
else
{
- if ((gBattleDefender & BIT_FLANK) != 0)
+ if ((gBattleMoveTarget & BIT_FLANK) != 0)
{
firstMonId = 3;
lastMonId = 6;
@@ -7893,8 +7893,8 @@ static void atk8F_forcerandomswitch(void)
monsCount = 3;
minNeeded = 1;
}
- bank2PartyId = gBattlePartyID[gBattleDefender];
- bank1PartyId = gBattlePartyID[gBattleDefender ^ BIT_FLANK];
+ bank2PartyId = gBattlerPartyIndexes[gBattleMoveTarget];
+ bank1PartyId = gBattlerPartyIndexes[gBattleMoveTarget ^ BIT_FLANK];
}
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
@@ -7902,8 +7902,8 @@ static void atk8F_forcerandomswitch(void)
lastMonId = 6;
monsCount = 6;
minNeeded = 2;
- bank2PartyId = gBattlePartyID[gBattleDefender];
- bank1PartyId = gBattlePartyID[gBattleDefender ^ BIT_FLANK];
+ bank2PartyId = gBattlerPartyIndexes[gBattleMoveTarget];
+ bank1PartyId = gBattlerPartyIndexes[gBattleMoveTarget ^ BIT_FLANK];
}
else
{
@@ -7911,8 +7911,8 @@ static void atk8F_forcerandomswitch(void)
lastMonId = 6;
monsCount = 6;
minNeeded = 1;
- bank2PartyId = gBattlePartyID[gBattleDefender]; // there is only one pokemon out in single battles
- bank1PartyId = gBattlePartyID[gBattleDefender];
+ bank2PartyId = gBattlerPartyIndexes[gBattleMoveTarget]; // there is only one pokemon out in single battles
+ bank1PartyId = gBattlerPartyIndexes[gBattleMoveTarget];
}
for (i = firstMonId; i < lastMonId; i++)
@@ -7944,22 +7944,22 @@ static void atk8F_forcerandomswitch(void)
|| GetMonData(&party[i], MON_DATA_IS_EGG) == TRUE
|| GetMonData(&party[i], MON_DATA_HP) == 0);
}
- *(gBattleStruct->monToSwitchIntoId + gBattleDefender) = i;
+ *(gBattleStruct->monToSwitchIntoId + gBattleMoveTarget) = i;
if (!sub_81B1250())
- sub_803BDA0(gBattleDefender);
+ sub_803BDA0(gBattleMoveTarget);
if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
|| (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)
|| (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
|| (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- sub_81B8E80(gBattleDefender, i, 0);
- sub_81B8E80(gBattleDefender ^ BIT_FLANK, i, 1);
+ sub_81B8E80(gBattleMoveTarget, i, 0);
+ sub_81B8E80(gBattleMoveTarget ^ BIT_FLANK, i, 1);
}
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
- sub_80571DC(gBattleDefender, i);
+ sub_80571DC(gBattleMoveTarget, i);
}
}
else
@@ -7976,7 +7976,7 @@ static void atk90_tryconversiontypechange(void) // randomly changes user's type
while (validMoves < 4)
{
- if (gBattleMons[gBattleAttacker].moves[validMoves] == 0)
+ if (gBattleMons[gBattleMoveAttacker].moves[validMoves] == 0)
break;
validMoves++;
@@ -7984,17 +7984,17 @@ static void atk90_tryconversiontypechange(void) // randomly changes user's type
for (moveChecked = 0; moveChecked < validMoves; moveChecked++)
{
- moveType = gBattleMoves[gBattleMons[gBattleAttacker].moves[moveChecked]].type;
+ moveType = gBattleMoves[gBattleMons[gBattleMoveAttacker].moves[moveChecked]].type;
if (moveType == TYPE_MYSTERY)
{
- if (gBattleMons[gBattleAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleAttacker].type2 == TYPE_GHOST)
+ if (gBattleMons[gBattleMoveAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleMoveAttacker].type2 == TYPE_GHOST)
moveType = TYPE_GHOST;
else
moveType = TYPE_NORMAL;
}
- if (moveType != gBattleMons[gBattleAttacker].type1
- && moveType != gBattleMons[gBattleAttacker].type2)
+ if (moveType != gBattleMons[gBattleMoveAttacker].type1
+ && moveType != gBattleMons[gBattleMoveAttacker].type2)
{
break;
}
@@ -8011,20 +8011,20 @@ static void atk90_tryconversiontypechange(void) // randomly changes user's type
while ((moveChecked = Random() & 3) >= validMoves);
- moveType = gBattleMoves[gBattleMons[gBattleAttacker].moves[moveChecked]].type;
+ moveType = gBattleMoves[gBattleMons[gBattleMoveAttacker].moves[moveChecked]].type;
if (moveType == TYPE_MYSTERY)
{
- if (gBattleMons[gBattleAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleAttacker].type2 == TYPE_GHOST)
+ if (gBattleMons[gBattleMoveAttacker].type1 == TYPE_GHOST || gBattleMons[gBattleMoveAttacker].type2 == TYPE_GHOST)
moveType = TYPE_GHOST;
else
moveType = TYPE_NORMAL;
}
}
- while (moveType == gBattleMons[gBattleAttacker].type1 || moveType == gBattleMons[gBattleAttacker].type2);
+ while (moveType == gBattleMons[gBattleMoveAttacker].type1 || moveType == gBattleMons[gBattleMoveAttacker].type2);
- gBattleMons[gBattleAttacker].type1 = moveType;
- gBattleMons[gBattleAttacker].type2 = moveType;
+ gBattleMons[gBattleMoveAttacker].type1 = moveType;
+ gBattleMons[gBattleMoveAttacker].type2 = moveType;
PREPARE_TYPE_BUFFER(gBattleTextBuff1, moveType)
@@ -8052,16 +8052,16 @@ static void atk91_givepaydaymoney(void)
static void atk92_setlightscreen(void)
{
- if (gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] & SIDE_STATUS_LIGHTSCREEN)
+ if (gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] & SIDE_STATUS_LIGHTSCREEN)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] |= SIDE_STATUS_LIGHTSCREEN;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].lightscreenTimer = 5;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].lightscreenBank = gBattleAttacker;
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] |= SIDE_STATUS_LIGHTSCREEN;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].lightscreenTimer = 5;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].lightscreenBank = gBattleMoveAttacker;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2)
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
@@ -8076,72 +8076,72 @@ static void atk93_tryKO(void)
{
u8 holdEffect, param;
- if (gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY)
{
- holdEffect = gEnigmaBerries[gBattleDefender].holdEffect;
- param = gEnigmaBerries[gBattleDefender].holdEffectParam;
+ holdEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect;
+ param = gEnigmaBerries[gBattleMoveTarget].holdEffectParam;
}
else
{
- holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleDefender].item);
- param = ItemId_GetHoldEffectParam(gBattleMons[gBattleDefender].item);
+ holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattleMoveTarget].item);
+ param = ItemId_GetHoldEffectParam(gBattleMons[gBattleMoveTarget].item);
}
- gStringBank = gBattleDefender;
+ gStringBank = gBattleMoveTarget;
if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < param)
{
- RecordItemEffectBattle(gBattleDefender, HOLD_EFFECT_FOCUS_BAND);
- gSpecialStatuses[gBattleDefender].focusBanded = 1;
+ RecordItemEffectBattle(gBattleMoveTarget, HOLD_EFFECT_FOCUS_BAND);
+ gSpecialStatuses[gBattleMoveTarget].focusBanded = 1;
}
- if (gBattleMons[gBattleDefender].ability == ABILITY_STURDY)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_STURDY)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gLastUsedAbility = ABILITY_STURDY;
gBattlescriptCurrInstr = BattleScript_SturdyPreventsOHKO;
- RecordAbilityBattle(gBattleDefender, ABILITY_STURDY);
+ RecordAbilityBattle(gBattleMoveTarget, ABILITY_STURDY);
}
else
{
u16 chance;
- if (!(gStatuses3[gBattleDefender] & STATUS3_ALWAYS_HITS))
+ if (!(gStatuses3[gBattleMoveTarget] & STATUS3_ALWAYS_HITS))
{
- chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattleAttacker].level - gBattleMons[gBattleDefender].level);
- if (Random() % 100 + 1 < chance && gBattleMons[gBattleAttacker].level >= gBattleMons[gBattleDefender].level)
+ chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattleMoveAttacker].level - gBattleMons[gBattleMoveTarget].level);
+ if (Random() % 100 + 1 < chance && gBattleMons[gBattleMoveAttacker].level >= gBattleMons[gBattleMoveTarget].level)
chance = TRUE;
else
chance = FALSE;
}
- else if (gDisableStructs[gBattleDefender].bankWithSureHit == gBattleAttacker
- && gBattleMons[gBattleAttacker].level >= gBattleMons[gBattleDefender].level)
+ else if (gDisableStructs[gBattleMoveTarget].bankWithSureHit == gBattleMoveAttacker
+ && gBattleMons[gBattleMoveAttacker].level >= gBattleMons[gBattleMoveTarget].level)
{
chance = TRUE;
}
else
{
- chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattleAttacker].level - gBattleMons[gBattleDefender].level);
- if (Random() % 100 + 1 < chance && gBattleMons[gBattleAttacker].level >= gBattleMons[gBattleDefender].level)
+ chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattleMoveAttacker].level - gBattleMons[gBattleMoveTarget].level);
+ if (Random() % 100 + 1 < chance && gBattleMons[gBattleMoveAttacker].level >= gBattleMons[gBattleMoveTarget].level)
chance = TRUE;
else
chance = FALSE;
}
if (chance)
{
- if (gProtectStructs[gBattleDefender].endured)
+ if (gProtectStructs[gBattleMoveTarget].endured)
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - 1;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - 1;
gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
}
- else if (gSpecialStatuses[gBattleDefender].focusBanded)
+ else if (gSpecialStatuses[gBattleMoveTarget].focusBanded)
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - 1;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - 1;
gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattleDefender].item;
+ gLastUsedItem = gBattleMons[gBattleMoveTarget].item;
}
else
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp;
gMoveResultFlags |= MOVE_RESULT_ONE_HIT_KO;
}
gBattlescriptCurrInstr += 5;
@@ -8149,7 +8149,7 @@ static void atk93_tryKO(void)
else
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
- if (gBattleMons[gBattleAttacker].level >= gBattleMons[gBattleDefender].level)
+ if (gBattleMons[gBattleMoveAttacker].level >= gBattleMons[gBattleMoveTarget].level)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -8160,7 +8160,7 @@ static void atk93_tryKO(void)
static void atk94_damagetohalftargethp(void) // super fang
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp / 2;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp / 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
@@ -8189,17 +8189,17 @@ static void atk96_weatherdamage(void)
{
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
{
- if (gBattleMons[gBattleAttacker].type1 != TYPE_ROCK
- && gBattleMons[gBattleAttacker].type1 != TYPE_STEEL
- && gBattleMons[gBattleAttacker].type1 != TYPE_GROUND
- && gBattleMons[gBattleAttacker].type2 != TYPE_ROCK
- && gBattleMons[gBattleAttacker].type2 != TYPE_STEEL
- && gBattleMons[gBattleAttacker].type2 != TYPE_GROUND
- && gBattleMons[gBattleAttacker].ability != ABILITY_SAND_VEIL
- && !(gStatuses3[gBattleAttacker] & STATUS3_UNDERGROUND)
- && !(gStatuses3[gBattleAttacker] & STATUS3_UNDERWATER))
- {
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 16;
+ if (gBattleMons[gBattleMoveAttacker].type1 != TYPE_ROCK
+ && gBattleMons[gBattleMoveAttacker].type1 != TYPE_STEEL
+ && gBattleMons[gBattleMoveAttacker].type1 != TYPE_GROUND
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_ROCK
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_STEEL
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_GROUND
+ && gBattleMons[gBattleMoveAttacker].ability != ABILITY_SAND_VEIL
+ && !(gStatuses3[gBattleMoveAttacker] & STATUS3_UNDERGROUND)
+ && !(gStatuses3[gBattleMoveAttacker] & STATUS3_UNDERWATER))
+ {
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 16;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
}
@@ -8210,12 +8210,12 @@ static void atk96_weatherdamage(void)
}
if (gBattleWeather & WEATHER_HAIL)
{
- if (gBattleMons[gBattleAttacker].type1 != TYPE_ICE
- && gBattleMons[gBattleAttacker].type2 != TYPE_ICE
- && !(gStatuses3[gBattleAttacker] & STATUS3_UNDERGROUND)
- && !(gStatuses3[gBattleAttacker] & STATUS3_UNDERWATER))
+ if (gBattleMons[gBattleMoveAttacker].type1 != TYPE_ICE
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_ICE
+ && !(gStatuses3[gBattleMoveAttacker] & STATUS3_UNDERGROUND)
+ && !(gStatuses3[gBattleMoveAttacker] & STATUS3_UNDERWATER))
{
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 16;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 16;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
}
@@ -8230,7 +8230,7 @@ static void atk96_weatherdamage(void)
gBattleMoveDamage = 0;
}
- if (gAbsentBattlerFlags & gBitTable[gBattleAttacker])
+ if (gAbsentBattlerFlags & gBitTable[gBattleMoveAttacker])
gBattleMoveDamage = 0;
gBattlescriptCurrInstr++;
@@ -8242,15 +8242,15 @@ static void atk97_tryinfatuating(void)
u16 speciesAttacker, speciesTarget;
u32 personalityAttacker, personalityTarget;
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
- monAttacker = &gPlayerParty[gBattlePartyID[gBattleAttacker]];
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
+ monAttacker = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveAttacker]];
else
- monAttacker = &gEnemyParty[gBattlePartyID[gBattleAttacker]];
+ monAttacker = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker]];
- if (GetBattlerSide(gBattleDefender) == B_SIDE_PLAYER)
- monTarget = &gPlayerParty[gBattlePartyID[gBattleDefender]];
+ if (GetBattlerSide(gBattleMoveTarget) == B_SIDE_PLAYER)
+ monTarget = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveTarget]];
else
- monTarget = &gEnemyParty[gBattlePartyID[gBattleDefender]];
+ monTarget = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveTarget]];
speciesAttacker = GetMonData(monAttacker, MON_DATA_SPECIES);
personalityAttacker = GetMonData(monAttacker, MON_DATA_PERSONALITY);
@@ -8258,16 +8258,16 @@ static void atk97_tryinfatuating(void)
speciesTarget = GetMonData(monTarget, MON_DATA_SPECIES);
personalityTarget = GetMonData(monTarget, MON_DATA_PERSONALITY);
- if (gBattleMons[gBattleDefender].ability == ABILITY_OBLIVIOUS)
+ if (gBattleMons[gBattleMoveTarget].ability == ABILITY_OBLIVIOUS)
{
gBattlescriptCurrInstr = BattleScript_ObliviousPreventsAttraction;
gLastUsedAbility = ABILITY_OBLIVIOUS;
- RecordAbilityBattle(gBattleDefender, ABILITY_OBLIVIOUS);
+ RecordAbilityBattle(gBattleMoveTarget, ABILITY_OBLIVIOUS);
}
else
{
if (GetGenderFromSpeciesAndPersonality(speciesAttacker, personalityAttacker) == GetGenderFromSpeciesAndPersonality(speciesTarget, personalityTarget)
- || gBattleMons[gBattleDefender].status2 & STATUS2_INFATUATION
+ || gBattleMons[gBattleMoveTarget].status2 & STATUS2_INFATUATION
|| GetGenderFromSpeciesAndPersonality(speciesAttacker, personalityAttacker) == MON_GENDERLESS
|| GetGenderFromSpeciesAndPersonality(speciesTarget, personalityTarget) == MON_GENDERLESS)
{
@@ -8275,7 +8275,7 @@ static void atk97_tryinfatuating(void)
}
else
{
- gBattleMons[gBattleDefender].status2 |= STATUS2_INFATUATED_WITH(gBattleAttacker);
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_INFATUATED_WITH(gBattleMoveAttacker);
gBattlescriptCurrInstr += 5;
}
}
@@ -8283,31 +8283,31 @@ static void atk97_tryinfatuating(void)
static void atk98_updatestatusicon(void)
{
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER)
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
- EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
else
{
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
- EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
+ MarkBattlerForControllerExec(gActiveBattler);
}
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleAttacker) ^ BIT_FLANK);
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleMoveAttacker) ^ BIT_FLANK);
if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
- EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
+ MarkBattlerForControllerExec(gActiveBattler);
}
}
gBattlescriptCurrInstr += 2;
@@ -8316,16 +8316,16 @@ static void atk98_updatestatusicon(void)
static void atk99_setmist(void)
{
- if (gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].mistTimer)
+ if (gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].mistTimer)
{
gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].mistTimer = 5;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].mistBank = gBattleAttacker;
- gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] |= SIDE_STATUS_MIST;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].mistTimer = 5;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].mistBank = gBattleMoveAttacker;
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] |= SIDE_STATUS_MIST;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
gBattlescriptCurrInstr++;
@@ -8333,14 +8333,14 @@ static void atk99_setmist(void)
static void atk9A_setfocusenergy(void)
{
- if (gBattleMons[gBattleAttacker].status2 & STATUS2_FOCUS_ENERGY)
+ if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_FOCUS_ENERGY)
{
gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gBattleMons[gBattleAttacker].status2 |= STATUS2_FOCUS_ENERGY;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_FOCUS_ENERGY;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
gBattlescriptCurrInstr++;
@@ -8350,8 +8350,8 @@ static void atk9B_transformdataexecution(void)
{
gChosenMove = 0xFFFF;
gBattlescriptCurrInstr++;
- if (gBattleMons[gBattleDefender].status2 & STATUS2_TRANSFORMED
- || gStatuses3[gBattleDefender] & STATUS3_SEMI_INVULNERABLE)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_TRANSFORMED
+ || gStatuses3[gBattleMoveTarget] & STATUS3_SEMI_INVULNERABLE)
{
gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -8361,55 +8361,55 @@ static void atk9B_transformdataexecution(void)
s32 i;
u8 *battleMonAttacker, *battleMonTarget;
- gBattleMons[gBattleAttacker].status2 |= STATUS2_TRANSFORMED;
- gDisableStructs[gBattleAttacker].disabledMove = 0;
- gDisableStructs[gBattleAttacker].disableTimer1 = 0;
- gDisableStructs[gBattleAttacker].transformedMonPersonality = gBattleMons[gBattleDefender].personality;
- gDisableStructs[gBattleAttacker].unk18_b = 0;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_TRANSFORMED;
+ gDisableStructs[gBattleMoveAttacker].disabledMove = 0;
+ gDisableStructs[gBattleMoveAttacker].disableTimer1 = 0;
+ gDisableStructs[gBattleMoveAttacker].transformedMonPersonality = gBattleMons[gBattleMoveTarget].personality;
+ gDisableStructs[gBattleMoveAttacker].unk18_b = 0;
- PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattleDefender].species)
+ PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattleMoveTarget].species)
- battleMonAttacker = (u8*)(&gBattleMons[gBattleAttacker]);
- battleMonTarget = (u8*)(&gBattleMons[gBattleDefender]);
+ battleMonAttacker = (u8*)(&gBattleMons[gBattleMoveAttacker]);
+ battleMonTarget = (u8*)(&gBattleMons[gBattleMoveTarget]);
for (i = 0; i < offsetof(struct BattlePokemon, pp); i++)
battleMonAttacker[i] = battleMonTarget[i];
for (i = 0; i < 4; i++)
{
- if (gBattleMoves[gBattleMons[gBattleAttacker].moves[i]].pp < 5)
- gBattleMons[gBattleAttacker].pp[i] = gBattleMoves[gBattleMons[gBattleAttacker].moves[i]].pp;
+ if (gBattleMoves[gBattleMons[gBattleMoveAttacker].moves[i]].pp < 5)
+ gBattleMons[gBattleMoveAttacker].pp[i] = gBattleMoves[gBattleMons[gBattleMoveAttacker].moves[i]].pp;
else
- gBattleMons[gBattleAttacker].pp[i] = 5;
+ gBattleMons[gBattleMoveAttacker].pp[i] = 5;
}
- gActiveBattler = gBattleAttacker;
- EmitResetActionMoveSelection(0, RESET_MOVE_SELECTION);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitResetActionMoveSelection(0, RESET_MOVE_SELECTION);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
}
static void atk9C_setsubstitute(void)
{
- u32 hp = gBattleMons[gBattleAttacker].maxHP / 4;
- if (gBattleMons[gBattleAttacker].maxHP / 4 == 0)
+ u32 hp = gBattleMons[gBattleMoveAttacker].maxHP / 4;
+ if (gBattleMons[gBattleMoveAttacker].maxHP / 4 == 0)
hp = 1;
- if (gBattleMons[gBattleAttacker].hp <= hp)
+ if (gBattleMons[gBattleMoveAttacker].hp <= hp)
{
gBattleMoveDamage = 0;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games)
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games)
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
- gBattleMons[gBattleAttacker].status2 |= STATUS2_SUBSTITUTE;
- gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_WRAPPED);
- gDisableStructs[gBattleAttacker].substituteHP = gBattleMoveDamage;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_SUBSTITUTE;
+ gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_WRAPPED);
+ gDisableStructs[gBattleMoveAttacker].substituteHP = gBattleMoveDamage;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE;
}
@@ -8430,10 +8430,10 @@ static void atk9D_mimicattackcopy(void)
{
gChosenMove = 0xFFFF;
- if (IsMoveUncopyableByMimic(gLastMoves[gBattleDefender])
- || gBattleMons[gBattleAttacker].status2 & STATUS2_TRANSFORMED
- || gLastMoves[gBattleDefender] == 0
- || gLastMoves[gBattleDefender] == 0xFFFF)
+ if (IsMoveUncopyableByMimic(gLastMoves[gBattleMoveTarget])
+ || gBattleMons[gBattleMoveAttacker].status2 & STATUS2_TRANSFORMED
+ || gLastMoves[gBattleMoveTarget] == 0
+ || gLastMoves[gBattleMoveTarget] == 0xFFFF)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
@@ -8443,22 +8443,22 @@ static void atk9D_mimicattackcopy(void)
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleAttacker].moves[i] == gLastMoves[gBattleDefender])
+ if (gBattleMons[gBattleMoveAttacker].moves[i] == gLastMoves[gBattleMoveTarget])
break;
}
if (i == 4)
{
- gBattleMons[gBattleAttacker].moves[gCurrMovePos] = gLastMoves[gBattleDefender];
- if (gBattleMoves[gLastMoves[gBattleDefender]].pp < 5)
- gBattleMons[gBattleAttacker].pp[gCurrMovePos] = gBattleMoves[gLastMoves[gBattleDefender]].pp;
+ gBattleMons[gBattleMoveAttacker].moves[gCurrMovePos] = gLastMoves[gBattleMoveTarget];
+ if (gBattleMoves[gLastMoves[gBattleMoveTarget]].pp < 5)
+ gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] = gBattleMoves[gLastMoves[gBattleMoveTarget]].pp;
else
- gBattleMons[gBattleAttacker].pp[gCurrMovePos] = 5;
+ gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] = 5;
- PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattleDefender])
+ PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattleMoveTarget])
- gDisableStructs[gBattleAttacker].unk18_b |= gBitTable[gCurrMovePos];
+ gDisableStructs[gBattleMoveAttacker].unk18_b |= gBitTable[gCurrMovePos];
gBattlescriptCurrInstr += 5;
}
else
@@ -8494,7 +8494,7 @@ static void atk9E_metronome(void)
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
- gBattleDefender = GetMoveTarget(gCurrentMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gCurrentMove, 0);
return;
}
}
@@ -8502,7 +8502,7 @@ static void atk9E_metronome(void)
static void atk9F_dmgtolevel(void)
{
- gBattleMoveDamage = gBattleMons[gBattleAttacker].level;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].level;
gBattlescriptCurrInstr++;
}
@@ -8513,54 +8513,54 @@ static void atkA0_psywavedamageeffect(void)
while ((randDamage = (Random() & 0xF)) > 10);
randDamage *= 10;
- gBattleMoveDamage = gBattleMons[gBattleAttacker].level * (randDamage + 50) / 100;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].level * (randDamage + 50) / 100;
gBattlescriptCurrInstr++;
}
static void atkA1_counterdamagecalculator(void)
{
- u8 sideAttacker = GetBattlerSide(gBattleAttacker);
- u8 sideTarget = GetBattlerSide(gProtectStructs[gBattleAttacker].physicalBank);
+ u8 sideAttacker = GetBattlerSide(gBattleMoveAttacker);
+ u8 sideTarget = GetBattlerSide(gProtectStructs[gBattleMoveAttacker].physicalBank);
- if (gProtectStructs[gBattleAttacker].physicalDmg
+ if (gProtectStructs[gBattleMoveAttacker].physicalDmg
&& sideAttacker != sideTarget
- && gBattleMons[gProtectStructs[gBattleAttacker].physicalBank].hp)
+ && gBattleMons[gProtectStructs[gBattleMoveAttacker].physicalBank].hp)
{
- gBattleMoveDamage = gProtectStructs[gBattleAttacker].physicalDmg * 2;
+ gBattleMoveDamage = gProtectStructs[gBattleMoveAttacker].physicalDmg * 2;
if (gSideTimers[sideTarget].followmeTimer && gBattleMons[gSideTimers[sideTarget].followmeTarget].hp)
- gBattleDefender = gSideTimers[sideTarget].followmeTarget;
+ gBattleMoveTarget = gSideTimers[sideTarget].followmeTarget;
else
- gBattleDefender = gProtectStructs[gBattleAttacker].physicalBank;
+ gBattleMoveTarget = gProtectStructs[gBattleMoveAttacker].physicalBank;
gBattlescriptCurrInstr += 5;
}
else
{
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
}
static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the physical -> special field changes
{
- u8 sideAttacker = GetBattlerSide(gBattleAttacker);
- u8 sideTarget = GetBattlerSide(gProtectStructs[gBattleAttacker].specialBank);
+ u8 sideAttacker = GetBattlerSide(gBattleMoveAttacker);
+ u8 sideTarget = GetBattlerSide(gProtectStructs[gBattleMoveAttacker].specialBank);
- if (gProtectStructs[gBattleAttacker].specialDmg && sideAttacker != sideTarget && gBattleMons[gProtectStructs[gBattleAttacker].specialBank].hp)
+ if (gProtectStructs[gBattleMoveAttacker].specialDmg && sideAttacker != sideTarget && gBattleMons[gProtectStructs[gBattleMoveAttacker].specialBank].hp)
{
- gBattleMoveDamage = gProtectStructs[gBattleAttacker].specialDmg * 2;
+ gBattleMoveDamage = gProtectStructs[gBattleMoveAttacker].specialDmg * 2;
if (gSideTimers[sideTarget].followmeTimer && gBattleMons[gSideTimers[sideTarget].followmeTarget].hp)
- gBattleDefender = gSideTimers[sideTarget].followmeTarget;
+ gBattleMoveTarget = gSideTimers[sideTarget].followmeTarget;
else
- gBattleDefender = gProtectStructs[gBattleAttacker].specialBank;
+ gBattleMoveTarget = gProtectStructs[gBattleMoveAttacker].specialBank;
gBattlescriptCurrInstr += 5;
}
else
{
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
}
@@ -8571,17 +8571,17 @@ static void atkA3_disablelastusedattack(void)
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleDefender].moves[i] == gLastMoves[gBattleDefender])
+ if (gBattleMons[gBattleMoveTarget].moves[i] == gLastMoves[gBattleMoveTarget])
break;
}
- if (gDisableStructs[gBattleDefender].disabledMove == 0
- && i != 4 && gBattleMons[gBattleDefender].pp[i] != 0)
+ if (gDisableStructs[gBattleMoveTarget].disabledMove == 0
+ && i != 4 && gBattleMons[gBattleMoveTarget].pp[i] != 0)
{
- PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattleDefender].moves[i])
+ PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattleMoveTarget].moves[i])
- gDisableStructs[gBattleDefender].disabledMove = gBattleMons[gBattleDefender].moves[i];
- gDisableStructs[gBattleDefender].disableTimer1 = (Random() & 3) + 2;
- gDisableStructs[gBattleDefender].disableTimer2 = gDisableStructs[gBattleDefender].disableTimer1; // used to save the random amount of turns?
+ gDisableStructs[gBattleMoveTarget].disabledMove = gBattleMons[gBattleMoveTarget].moves[i];
+ gDisableStructs[gBattleMoveTarget].disableTimer1 = (Random() & 3) + 2;
+ gDisableStructs[gBattleMoveTarget].disableTimer2 = gDisableStructs[gBattleMoveTarget].disableTimer1; // used to save the random amount of turns?
gBattlescriptCurrInstr += 5;
}
else
@@ -8596,24 +8596,24 @@ static void atkA4_trysetencore(void)
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleDefender].moves[i] == gLastMoves[gBattleDefender])
+ if (gBattleMons[gBattleMoveTarget].moves[i] == gLastMoves[gBattleMoveTarget])
break;
}
- if (gLastMoves[gBattleDefender] == MOVE_STRUGGLE
- || gLastMoves[gBattleDefender] == MOVE_ENCORE
- || gLastMoves[gBattleDefender] == MOVE_MIRROR_MOVE)
+ if (gLastMoves[gBattleMoveTarget] == MOVE_STRUGGLE
+ || gLastMoves[gBattleMoveTarget] == MOVE_ENCORE
+ || gLastMoves[gBattleMoveTarget] == MOVE_MIRROR_MOVE)
{
i = 4;
}
- if (gDisableStructs[gBattleDefender].encoredMove == 0
- && i != 4 && gBattleMons[gBattleDefender].pp[i] != 0)
+ if (gDisableStructs[gBattleMoveTarget].encoredMove == 0
+ && i != 4 && gBattleMons[gBattleMoveTarget].pp[i] != 0)
{
- gDisableStructs[gBattleDefender].encoredMove = gBattleMons[gBattleDefender].moves[i];
- gDisableStructs[gBattleDefender].encoredMovePos = i;
- gDisableStructs[gBattleDefender].encoreTimer1 = (Random() & 3) + 3;
- gDisableStructs[gBattleDefender].encoreTimer2 = gDisableStructs[gBattleDefender].encoreTimer1;
+ gDisableStructs[gBattleMoveTarget].encoredMove = gBattleMons[gBattleMoveTarget].moves[i];
+ gDisableStructs[gBattleMoveTarget].encoredMovePos = i;
+ gDisableStructs[gBattleMoveTarget].encoreTimer1 = (Random() & 3) + 3;
+ gDisableStructs[gBattleMoveTarget].encoreTimer2 = gDisableStructs[gBattleMoveTarget].encoreTimer1;
gBattlescriptCurrInstr += 5;
}
else
@@ -8624,10 +8624,10 @@ static void atkA4_trysetencore(void)
static void atkA5_painsplitdmgcalc(void)
{
- if (!(gBattleMons[gBattleDefender].status2 & STATUS2_SUBSTITUTE))
+ if (!(gBattleMons[gBattleMoveTarget].status2 & STATUS2_SUBSTITUTE))
{
- s32 hpDiff = (gBattleMons[gBattleAttacker].hp + gBattleMons[gBattleDefender].hp) / 2;
- s32 painSplitHp = gBattleMoveDamage = gBattleMons[gBattleDefender].hp - hpDiff;
+ s32 hpDiff = (gBattleMons[gBattleMoveAttacker].hp + gBattleMons[gBattleMoveTarget].hp) / 2;
+ s32 painSplitHp = gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - hpDiff;
u8* storeLoc = (void*)(&gBattleScripting.painSplitHp);
storeLoc[0] = (painSplitHp);
@@ -8635,8 +8635,8 @@ static void atkA5_painsplitdmgcalc(void)
storeLoc[2] = (painSplitHp & 0x00FF0000) >> 16;
storeLoc[3] = (painSplitHp & 0xFF000000) >> 24;
- gBattleMoveDamage = gBattleMons[gBattleAttacker].hp - hpDiff;
- gSpecialStatuses[gBattleDefender].moveturnLostHP = 0xFFFF;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].hp - hpDiff;
+ gSpecialStatuses[gBattleMoveTarget].moveturnLostHP = 0xFFFF;
gBattlescriptCurrInstr += 5;
}
@@ -8648,13 +8648,13 @@ static void atkA5_painsplitdmgcalc(void)
static void atkA6_settypetorandomresistance(void) // conversion 2
{
- if (gLastLandedMoves[gBattleAttacker] == 0
- || gLastLandedMoves[gBattleAttacker] == 0xFFFF)
+ if (gLastLandedMoves[gBattleMoveAttacker] == 0
+ || gLastLandedMoves[gBattleMoveAttacker] == 0xFFFF)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
- else if (IsTwoTurnsMove(gLastLandedMoves[gBattleAttacker])
- && gBattleMons[gLastHitBy[gBattleAttacker]].status2 & STATUS2_MULTIPLETURNS)
+ else if (IsTwoTurnsMove(gLastLandedMoves[gBattleMoveAttacker])
+ && gBattleMons[gLastHitBy[gBattleMoveAttacker]].status2 & STATUS2_MULTIPLETURNS)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
@@ -8668,13 +8668,13 @@ static void atkA6_settypetorandomresistance(void) // conversion 2
i *= 3;
- if (TYPE_EFFECT_ATK_TYPE(i) == gLastHitByType[gBattleAttacker]
+ if (TYPE_EFFECT_ATK_TYPE(i) == gLastHitByType[gBattleMoveAttacker]
&& TYPE_EFFECT_MULTIPLIER(i) <= TYPE_MUL_NOT_EFFECTIVE
- && gBattleMons[gBattleAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
- && gBattleMons[gBattleAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
+ && gBattleMons[gBattleMoveAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
{
- gBattleMons[gBattleAttacker].type1 = TYPE_EFFECT_DEF_TYPE(i);
- gBattleMons[gBattleAttacker].type2 = TYPE_EFFECT_DEF_TYPE(i);
+ gBattleMons[gBattleMoveAttacker].type1 = TYPE_EFFECT_DEF_TYPE(i);
+ gBattleMons[gBattleMoveAttacker].type2 = TYPE_EFFECT_DEF_TYPE(i);
PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(i))
@@ -8691,13 +8691,13 @@ static void atkA6_settypetorandomresistance(void) // conversion 2
case TYPE_FORESIGHT:
break;
default:
- if (TYPE_EFFECT_ATK_TYPE(j) == gLastHitByType[gBattleAttacker]
+ if (TYPE_EFFECT_ATK_TYPE(j) == gLastHitByType[gBattleMoveAttacker]
&& TYPE_EFFECT_MULTIPLIER(j) <= 5
- && gBattleMons[gBattleAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
- && gBattleMons[gBattleAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
+ && gBattleMons[gBattleMoveAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
+ && gBattleMons[gBattleMoveAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
{
- gBattleMons[gBattleAttacker].type1 = TYPE_EFFECT_DEF_TYPE(rands);
- gBattleMons[gBattleAttacker].type2 = TYPE_EFFECT_DEF_TYPE(rands);
+ gBattleMons[gBattleMoveAttacker].type1 = TYPE_EFFECT_DEF_TYPE(rands);
+ gBattleMons[gBattleMoveAttacker].type2 = TYPE_EFFECT_DEF_TYPE(rands);
PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(rands))
@@ -8714,9 +8714,9 @@ static void atkA6_settypetorandomresistance(void) // conversion 2
static void atkA7_setalwayshitflag(void)
{
- gStatuses3[gBattleDefender] &= ~(STATUS3_ALWAYS_HITS);
- gStatuses3[gBattleDefender] |= 0x10;
- gDisableStructs[gBattleDefender].bankWithSureHit = gBattleAttacker;
+ gStatuses3[gBattleMoveTarget] &= ~(STATUS3_ALWAYS_HITS);
+ gStatuses3[gBattleMoveTarget] |= 0x10;
+ gDisableStructs[gBattleMoveTarget].bankWithSureHit = gBattleMoveAttacker;
gBattlescriptCurrInstr++;
}
@@ -8724,19 +8724,19 @@ static void atkA8_copymovepermanently(void) // sketch
{
gChosenMove = 0xFFFF;
- if (!(gBattleMons[gBattleAttacker].status2 & STATUS2_TRANSFORMED)
- && gLastPrintedMoves[gBattleDefender] != MOVE_STRUGGLE
- && gLastPrintedMoves[gBattleDefender] != 0
- && gLastPrintedMoves[gBattleDefender] != 0xFFFF
- && gLastPrintedMoves[gBattleDefender] != MOVE_SKETCH)
+ if (!(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_TRANSFORMED)
+ && gLastPrintedMoves[gBattleMoveTarget] != MOVE_STRUGGLE
+ && gLastPrintedMoves[gBattleMoveTarget] != 0
+ && gLastPrintedMoves[gBattleMoveTarget] != 0xFFFF
+ && gLastPrintedMoves[gBattleMoveTarget] != MOVE_SKETCH)
{
s32 i;
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleAttacker].moves[i] == MOVE_SKETCH)
+ if (gBattleMons[gBattleMoveAttacker].moves[i] == MOVE_SKETCH)
continue;
- if (gBattleMons[gBattleAttacker].moves[i] == gLastPrintedMoves[gBattleDefender])
+ if (gBattleMons[gBattleMoveAttacker].moves[i] == gLastPrintedMoves[gBattleMoveTarget])
break;
}
@@ -8748,21 +8748,21 @@ static void atkA8_copymovepermanently(void) // sketch
{
struct MovePpInfo movePpData;
- gBattleMons[gBattleAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBattleDefender];
- gBattleMons[gBattleAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBattleDefender]].pp;
- gActiveBattler = gBattleAttacker;
+ gBattleMons[gBattleMoveAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBattleMoveTarget];
+ gBattleMons[gBattleMoveAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBattleMoveTarget]].pp;
+ gActiveBattler = gBattleMoveAttacker;
for (i = 0; i < 4; i++)
{
- movePpData.moves[i] = gBattleMons[gBattleAttacker].moves[i];
- movePpData.pp[i] = gBattleMons[gBattleAttacker].pp[i];
+ movePpData.moves[i] = gBattleMons[gBattleMoveAttacker].moves[i];
+ movePpData.pp[i] = gBattleMons[gBattleMoveAttacker].pp[i];
}
- movePpData.ppBonuses = gBattleMons[gBattleAttacker].ppBonuses;
+ movePpData.ppBonuses = gBattleMons[gBattleMoveAttacker].ppBonuses;
- EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct MovePpInfo), &movePpData);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct MovePpInfo), &movePpData);
+ MarkBattlerForControllerExec(gActiveBattler);
- PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattleDefender])
+ PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattleMoveTarget])
gBattlescriptCurrInstr += 5;
}
@@ -8822,17 +8822,17 @@ static void atkA9_trychoosesleeptalkmove(void)
for (i = 0; i < 4; i++)
{
- if (IsInvalidForSleepTalkOrAssist(gBattleMons[gBattleAttacker].moves[i])
- || gBattleMons[gBattleAttacker].moves[i] == MOVE_FOCUS_PUNCH
- || gBattleMons[gBattleAttacker].moves[i] == MOVE_UPROAR
- || IsTwoTurnsMove(gBattleMons[gBattleAttacker].moves[i]))
+ if (IsInvalidForSleepTalkOrAssist(gBattleMons[gBattleMoveAttacker].moves[i])
+ || gBattleMons[gBattleMoveAttacker].moves[i] == MOVE_FOCUS_PUNCH
+ || gBattleMons[gBattleMoveAttacker].moves[i] == MOVE_UPROAR
+ || IsTwoTurnsMove(gBattleMons[gBattleMoveAttacker].moves[i]))
{
unusableMovesBits |= gBitTable[i];
}
}
- unusableMovesBits = CheckMoveLimitations(gBattleAttacker, unusableMovesBits, ~(MOVE_LIMITATION_PP));
+ unusableMovesBits = CheckMoveLimitations(gBattleMoveAttacker, unusableMovesBits, ~(MOVE_LIMITATION_PP));
if (unusableMovesBits == 0xF) // all 4 moves cannot be chosen
{
gBattlescriptCurrInstr += 5;
@@ -8846,25 +8846,25 @@ static void atkA9_trychoosesleeptalkmove(void)
movePosition = Random() & 3;
} while ((gBitTable[movePosition] & unusableMovesBits));
- gRandomMove = gBattleMons[gBattleAttacker].moves[movePosition];
+ gRandomMove = gBattleMons[gBattleMoveAttacker].moves[movePosition];
gCurrMovePos = movePosition;
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gBattleDefender = GetMoveTarget(gRandomMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gRandomMove, 0);
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
}
static void atkAA_setdestinybond(void)
{
- gBattleMons[gBattleAttacker].status2 |= STATUS2_DESTINY_BOND;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_DESTINY_BOND;
gBattlescriptCurrInstr++;
}
static void TrySetDestinyBondToHappen(void)
{
- u8 sideAttacker = GetBattlerSide(gBattleAttacker);
- u8 sideTarget = GetBattlerSide(gBattleDefender);
- if (gBattleMons[gBattleDefender].status2 & STATUS2_DESTINY_BOND
+ u8 sideAttacker = GetBattlerSide(gBattleMoveAttacker);
+ u8 sideTarget = GetBattlerSide(gBattleMoveTarget);
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_DESTINY_BOND
&& sideAttacker != sideTarget
&& !(gHitMarker & HITMARKER_GRUDGE))
{
@@ -8881,7 +8881,7 @@ static void atkAB_trysetdestinybondtohappen(void)
static void atkAC_remaininghptopower(void)
{
s32 i;
- s32 hpFraction = GetScaledHPFraction(gBattleMons[gBattleAttacker].hp, gBattleMons[gBattleAttacker].maxHP, 48);
+ s32 hpFraction = GetScaledHPFraction(gBattleMons[gBattleMoveAttacker].hp, gBattleMons[gBattleMoveAttacker].maxHP, 48);
for (i = 0; i < (s32) sizeof(sFlailHpScaleToPowerTable); i += 2)
{
@@ -8895,43 +8895,43 @@ static void atkAC_remaininghptopower(void)
static void atkAD_tryspiteppreduce(void)
{
- if (gLastMoves[gBattleDefender] != 0
- && gLastMoves[gBattleDefender] != 0xFFFF)
+ if (gLastMoves[gBattleMoveTarget] != 0
+ && gLastMoves[gBattleMoveTarget] != 0xFFFF)
{
s32 i;
for (i = 0; i < 4; i++)
{
- if (gLastMoves[gBattleDefender] == gBattleMons[gBattleDefender].moves[i])
+ if (gLastMoves[gBattleMoveTarget] == gBattleMons[gBattleMoveTarget].moves[i])
break;
}
- if (i != 4 && gBattleMons[gBattleDefender].pp[i] > 1)
+ if (i != 4 && gBattleMons[gBattleMoveTarget].pp[i] > 1)
{
s32 ppToDeduct = (Random() & 3) + 2;
- if (gBattleMons[gBattleDefender].pp[i] < ppToDeduct)
- ppToDeduct = gBattleMons[gBattleDefender].pp[i];
+ if (gBattleMons[gBattleMoveTarget].pp[i] < ppToDeduct)
+ ppToDeduct = gBattleMons[gBattleMoveTarget].pp[i];
- PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattleDefender])
+ PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattleMoveTarget])
ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, 0, 1);
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct)
- gBattleMons[gBattleDefender].pp[i] -= ppToDeduct;
- gActiveBattler = gBattleDefender;
+ gBattleMons[gBattleMoveTarget].pp[i] -= ppToDeduct;
+ gActiveBattler = gBattleMoveTarget;
if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i])
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
- EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr += 5;
- if (gBattleMons[gBattleDefender].pp[i] == 0)
- CancelMultiTurnMoves(gBattleDefender);
+ if (gBattleMons[gBattleMoveTarget].pp[i] == 0)
+ CancelMultiTurnMoves(gBattleMoveTarget);
}
else
{
@@ -8956,23 +8956,23 @@ static void atkAE_healpartystatus(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
party = gPlayerParty;
else
party = gEnemyParty;
- if (gBattleMons[gBattleAttacker].ability != ABILITY_SOUNDPROOF)
+ if (gBattleMons[gBattleMoveAttacker].ability != ABILITY_SOUNDPROOF)
{
- gBattleMons[gBattleAttacker].status1 = 0;
- gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE);
+ gBattleMons[gBattleMoveAttacker].status1 = 0;
+ gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE);
}
else
{
- RecordAbilityBattle(gBattleAttacker, gBattleMons[gBattleAttacker].ability);
+ RecordAbilityBattle(gBattleMoveAttacker, gBattleMons[gBattleMoveAttacker].ability);
gBattleCommunication[MULTISTRING_CHOOSER] |= 1;
}
- gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(GetBattlerPosition(gBattleAttacker) ^ BIT_FLANK);
+ gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(GetBattlerPosition(gBattleMoveAttacker) ^ BIT_FLANK);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
@@ -8998,10 +8998,10 @@ static void atkAE_healpartystatus(void)
{
u8 ability;
- if (gBattlePartyID[gBattleAttacker] == i)
- ability = gBattleMons[gBattleAttacker].ability;
+ if (gBattlerPartyIndexes[gBattleMoveAttacker] == i)
+ ability = gBattleMons[gBattleMoveAttacker].ability;
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
- && gBattlePartyID[gActiveBattler] == i
+ && gBattlerPartyIndexes[gActiveBattler] == i
&& !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
ability = gBattleMons[gActiveBattler].ability;
else
@@ -9017,10 +9017,10 @@ static void atkAE_healpartystatus(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
toHeal = 0x3F;
- gBattleMons[gBattleAttacker].status1 = 0;
- gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE);
+ gBattleMons[gBattleMoveAttacker].status1 = 0;
+ gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE);
- gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleAttacker) ^ BIT_FLANK);
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleMoveAttacker) ^ BIT_FLANK);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
@@ -9032,9 +9032,9 @@ static void atkAE_healpartystatus(void)
if (toHeal)
{
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, toHeal, 4, &zero);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, toHeal, 4, &zero);
+ MarkBattlerForControllerExec(gActiveBattler);
}
gBattlescriptCurrInstr++;
@@ -9042,14 +9042,14 @@ static void atkAE_healpartystatus(void)
static void atkAF_cursetarget(void)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_CURSED)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_CURSED)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gBattleMons[gBattleDefender].status2 |= STATUS2_CURSED;
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 2;
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_CURSED;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
@@ -9059,11 +9059,11 @@ static void atkAF_cursetarget(void)
static void atkB0_trysetspikes(void)
{
- u8 targetSide = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE;
+ u8 targetSide = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE;
if (gSideTimers[targetSide].spikesAmount == 3)
{
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
@@ -9076,7 +9076,7 @@ static void atkB0_trysetspikes(void)
static void atkB1_setforesight(void)
{
- gBattleMons[gBattleDefender].status2 |= STATUS2_FORESIGHT;
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_FORESIGHT;
gBattlescriptCurrInstr++;
}
@@ -9100,7 +9100,7 @@ static void atkB2_trysetperishsong(void)
}
}
- PressurePPLoseOnUsingPerishSong(gBattleAttacker);
+ PressurePPLoseOnUsingPerishSong(gBattleMoveAttacker);
if (notAffectedCount == gBattlersCount)
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
@@ -9112,31 +9112,31 @@ static void atkB3_rolloutdamagecalculation(void)
{
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
- CancelMultiTurnMoves(gBattleAttacker);
+ CancelMultiTurnMoves(gBattleMoveAttacker);
gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
s32 i;
- if (!(gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS)) // first hit
+ if (!(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS)) // first hit
{
- gDisableStructs[gBattleAttacker].rolloutCounter1 = 5;
- gDisableStructs[gBattleAttacker].rolloutCounter2 = 5;
- gBattleMons[gBattleAttacker].status2 |= STATUS2_MULTIPLETURNS;
- gLockedMoves[gBattleAttacker] = gCurrentMove;
+ gDisableStructs[gBattleMoveAttacker].rolloutCounter1 = 5;
+ gDisableStructs[gBattleMoveAttacker].rolloutCounter2 = 5;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_MULTIPLETURNS;
+ gLockedMoves[gBattleMoveAttacker] = gCurrentMove;
}
- if (--gDisableStructs[gBattleAttacker].rolloutCounter1 == 0) // last hit
+ if (--gDisableStructs[gBattleMoveAttacker].rolloutCounter1 == 0) // last hit
{
- gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_MULTIPLETURNS);
+ gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_MULTIPLETURNS);
}
gDynamicBasePower = gBattleMoves[gCurrentMove].power;
- for (i = 1; i < (5 - gDisableStructs[gBattleAttacker].rolloutCounter1); i++)
+ for (i = 1; i < (5 - gDisableStructs[gBattleMoveAttacker].rolloutCounter1); i++)
gDynamicBasePower *= 2;
- if (gBattleMons[gBattleAttacker].status2 & STATUS2_DEFENSE_CURL)
+ if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_DEFENSE_CURL)
gDynamicBasePower *= 2;
gBattlescriptCurrInstr++;
@@ -9145,8 +9145,8 @@ static void atkB3_rolloutdamagecalculation(void)
static void atkB4_jumpifconfusedandstatmaxed(void)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_CONFUSION
- && gBattleMons[gBattleDefender].statStages[gBattlescriptCurrInstr[1]] == 0xC)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_CONFUSION
+ && gBattleMons[gBattleMoveTarget].statStages[gBattlescriptCurrInstr[1]] == 0xC)
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
@@ -9156,19 +9156,19 @@ static void atkB5_furycuttercalc(void)
{
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
- gDisableStructs[gBattleAttacker].furyCutterCounter = 0;
+ gDisableStructs[gBattleMoveAttacker].furyCutterCounter = 0;
gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
s32 i;
- if (gDisableStructs[gBattleAttacker].furyCutterCounter != 5)
- gDisableStructs[gBattleAttacker].furyCutterCounter++;
+ if (gDisableStructs[gBattleMoveAttacker].furyCutterCounter != 5)
+ gDisableStructs[gBattleMoveAttacker].furyCutterCounter++;
gDynamicBasePower = gBattleMoves[gCurrentMove].power;
- for (i = 1; i < gDisableStructs[gBattleAttacker].furyCutterCounter; i++)
+ for (i = 1; i < gDisableStructs[gBattleMoveAttacker].furyCutterCounter; i++)
gDynamicBasePower *= 2;
gBattlescriptCurrInstr++;
@@ -9178,9 +9178,9 @@ static void atkB5_furycuttercalc(void)
static void atkB6_happinesstodamagecalculation(void)
{
if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN)
- gDynamicBasePower = 10 * (gBattleMons[gBattleAttacker].friendship) / 25;
+ gDynamicBasePower = 10 * (gBattleMons[gBattleMoveAttacker].friendship) / 25;
else // EFFECT_FRUSTRATION
- gDynamicBasePower = 10 * (255 - gBattleMons[gBattleAttacker].friendship) / 25;
+ gDynamicBasePower = 10 * (255 - gBattleMons[gBattleMoveAttacker].friendship) / 25;
gBattlescriptCurrInstr++;
}
@@ -9197,14 +9197,14 @@ static void atkB7_presentdamagecalculation(void)
gDynamicBasePower = 120;
else
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].maxHP / 4;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].maxHP / 4;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
}
if (rand < 204)
gBattlescriptCurrInstr = BattleScript_HitFromCritCalc;
- else if (gBattleMons[gBattleDefender].maxHP == gBattleMons[gBattleDefender].hp)
+ else if (gBattleMons[gBattleMoveTarget].maxHP == gBattleMons[gBattleMoveTarget].hp)
gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp;
else
{
@@ -9215,16 +9215,16 @@ static void atkB7_presentdamagecalculation(void)
static void atkB8_setsafeguard(void)
{
- if (gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] & SIDE_STATUS_SAFEGUARD)
+ if (gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] & SIDE_STATUS_SAFEGUARD)
{
gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideStatuses[GET_BATTLER_SIDE(gBattleAttacker)] |= SIDE_STATUS_SAFEGUARD;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].safeguardTimer = 5;
- gSideTimers[GET_BATTLER_SIDE(gBattleAttacker)].safeguardBank = gBattleAttacker;
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveAttacker)] |= SIDE_STATUS_SAFEGUARD;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].safeguardTimer = 5;
+ gSideTimers[GET_BATTLER_SIDE(gBattleMoveAttacker)].safeguardBank = gBattleMoveAttacker;
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
}
@@ -9274,11 +9274,11 @@ static void atkB9_magnitudedamagecalculation(void)
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 2, magnitude)
- for (gBattleDefender = 0; gBattleDefender < gBattlersCount; gBattleDefender++)
+ for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount; gBattleMoveTarget++)
{
- if (gBattleDefender == gBattleAttacker)
+ if (gBattleMoveTarget == gBattleMoveAttacker)
continue;
- if (!(gAbsentBattlerFlags & gBitTable[gBattleDefender])) // a valid target was found
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget])) // a valid target was found
break;
}
@@ -9289,36 +9289,36 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
{
if (gMultiHitCounter == 1)
{
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
- gBattleDefender = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
+ gBattleMoveTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
else
- gBattleDefender = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ gBattleMoveTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
}
else
{
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
- gBattleDefender = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
+ gBattleMoveTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
else
- gBattleDefender = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
+ gBattleMoveTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
}
- if (gActionForBanks[gBattleDefender] == ACTION_USE_MOVE
- && gBattleAttacker == *(gBattleStruct->moveTarget + gBattleDefender)
- && !(gBattleMons[gBattleDefender].status1 & (STATUS1_SLEEP | STATUS1_FREEZE))
- && gBattleMons[gBattleAttacker].hp
- && !gDisableStructs[gBattleDefender].truantCounter
- && gChosenMovesByBanks[gBattleDefender] == MOVE_PURSUIT)
+ if (gActionForBanks[gBattleMoveTarget] == ACTION_USE_MOVE
+ && gBattleMoveAttacker == *(gBattleStruct->moveTarget + gBattleMoveTarget)
+ && !(gBattleMons[gBattleMoveTarget].status1 & (STATUS1_SLEEP | STATUS1_FREEZE))
+ && gBattleMons[gBattleMoveAttacker].hp
+ && !gDisableStructs[gBattleMoveTarget].truantCounter
+ && gChosenMovesByBanks[gBattleMoveTarget] == MOVE_PURSUIT)
{
s32 i;
for (i = 0; i < gBattlersCount; i++)
{
- if (gBattleTurnOrder[i] == gBattleDefender)
+ if (gBattleTurnOrder[i] == gBattleMoveTarget)
gActionsByTurnOrder[i] = 11;
}
gCurrentMove = MOVE_PURSUIT;
- gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBattleDefender);
+ gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBattleMoveTarget);
gBattlescriptCurrInstr += 5;
gBattleScripting.animTurn = 1;
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
@@ -9348,16 +9348,16 @@ static void atkBB_setsunny(void)
static void atkBC_maxattackhalvehp(void) // belly drum
{
- u32 halfHp = gBattleMons[gBattleAttacker].maxHP / 2;
+ u32 halfHp = gBattleMons[gBattleMoveAttacker].maxHP / 2;
- if (!(gBattleMons[gBattleAttacker].maxHP / 2))
+ if (!(gBattleMons[gBattleMoveAttacker].maxHP / 2))
halfHp = 1;
- if (gBattleMons[gBattleAttacker].statStages[STAT_STAGE_ATK] < 12
- && gBattleMons[gBattleAttacker].hp > halfHp)
+ if (gBattleMons[gBattleMoveAttacker].statStages[STAT_STAGE_ATK] < 12
+ && gBattleMons[gBattleMoveAttacker].hp > halfHp)
{
- gBattleMons[gBattleAttacker].statStages[STAT_STAGE_ATK] = 12;
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 2;
+ gBattleMons[gBattleMoveAttacker].statStages[STAT_STAGE_ATK] = 12;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
@@ -9375,7 +9375,7 @@ static void atkBD_copyfoestats(void) // psych up
for (i = 0; i < BATTLE_STATS_NO; i++)
{
- gBattleMons[gBattleAttacker].statStages[i] = gBattleMons[gBattleDefender].statStages[i];
+ gBattleMons[gBattleMoveAttacker].statStages[i] = gBattleMons[gBattleMoveTarget].statStages[i];
}
gBattlescriptCurrInstr += 5; // Has an unused jump ptr(possibly for a failed attempt) parameter.
@@ -9383,32 +9383,32 @@ static void atkBD_copyfoestats(void) // psych up
static void atkBE_rapidspinfree(void)
{
- if (gBattleMons[gBattleAttacker].status2 & STATUS2_WRAPPED)
+ if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_WRAPPED)
{
- gBattleScripting.battler = gBattleDefender;
- gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_WRAPPED);
- gBattleDefender = *(gBattleStruct->wrappedBy + gBattleAttacker);
+ gBattleScripting.battler = gBattleMoveTarget;
+ gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_WRAPPED);
+ gBattleMoveTarget = *(gBattleStruct->wrappedBy + gBattleMoveAttacker);
gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN;
gBattleTextBuff1[1] = B_BUFF_MOVE;
- gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gBattleAttacker * 2 + 0);
- gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gBattleAttacker * 2 + 1);
+ gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gBattleMoveAttacker * 2 + 0);
+ gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gBattleMoveAttacker * 2 + 1);
gBattleTextBuff1[4] = B_BUFF_EOS;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_WrapFree;
}
- else if (gStatuses3[gBattleAttacker] & STATUS3_LEECHSEED)
+ else if (gStatuses3[gBattleMoveAttacker] & STATUS3_LEECHSEED)
{
- gStatuses3[gBattleAttacker] &= ~(STATUS3_LEECHSEED);
- gStatuses3[gBattleAttacker] &= ~(STATUS3_LEECHSEED_BANK);
+ gStatuses3[gBattleMoveAttacker] &= ~(STATUS3_LEECHSEED);
+ gStatuses3[gBattleMoveAttacker] &= ~(STATUS3_LEECHSEED_BANK);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_LeechSeedFree;
}
- else if (gSideStatuses[GetBattlerSide(gBattleAttacker)] & SIDE_STATUS_SPIKES)
+ else if (gSideStatuses[GetBattlerSide(gBattleMoveAttacker)] & SIDE_STATUS_SPIKES)
{
- gSideStatuses[GetBattlerSide(gBattleAttacker)] &= ~(SIDE_STATUS_SPIKES);
- gSideTimers[GetBattlerSide(gBattleAttacker)].spikesAmount = 0;
+ gSideStatuses[GetBattlerSide(gBattleMoveAttacker)] &= ~(SIDE_STATUS_SPIKES);
+ gSideTimers[GetBattlerSide(gBattleMoveAttacker)].spikesAmount = 0;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_SpikesFree;
}
@@ -9420,22 +9420,22 @@ static void atkBE_rapidspinfree(void)
static void atkBF_setdefensecurlbit(void)
{
- gBattleMons[gBattleAttacker].status2 |= STATUS2_DEFENSE_CURL;
+ gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_DEFENSE_CURL;
gBattlescriptCurrInstr++;
}
static void atkC0_recoverbasedonsunlight(void)
{
- gBattleDefender = gBattleAttacker;
+ gBattleMoveTarget = gBattleMoveAttacker;
- if (gBattleMons[gBattleAttacker].hp != gBattleMons[gBattleAttacker].maxHP)
+ if (gBattleMons[gBattleMoveAttacker].hp != gBattleMons[gBattleMoveAttacker].maxHP)
{
if (gBattleWeather == 0 || !WEATHER_HAS_EFFECT)
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 2;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 2;
else if (gBattleWeather & WEATHER_SUN_ANY)
- gBattleMoveDamage = 20 * gBattleMons[gBattleAttacker].maxHP / 30;
+ gBattleMoveDamage = 20 * gBattleMons[gBattleMoveAttacker].maxHP / 30;
else // not sunny weather
- gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 4;
+ gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 4;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
@@ -9455,19 +9455,19 @@ static void atkC1_hiddenpowercalc(void)
u32 powerBits = 0;
u32 typeBits = 0;
- powerBits |= ((gBattleMons[gBattleAttacker].hpIV & 2) >> 1);
- powerBits |= ((gBattleMons[gBattleAttacker].attackIV & 2) << 0);
- powerBits |= ((gBattleMons[gBattleAttacker].defenseIV & 2) << 1);
- powerBits |= ((gBattleMons[gBattleAttacker].speedIV & 2) << 2);
- powerBits |= ((gBattleMons[gBattleAttacker].spAttackIV & 2) << 3);
- powerBits |= ((gBattleMons[gBattleAttacker].spDefenseIV & 2) << 4);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].hpIV & 2) >> 1);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].attackIV & 2) << 0);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].defenseIV & 2) << 1);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].speedIV & 2) << 2);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].spAttackIV & 2) << 3);
+ powerBits |= ((gBattleMons[gBattleMoveAttacker].spDefenseIV & 2) << 4);
- typeBits |= ((gBattleMons[gBattleAttacker].hpIV & 1) << 0);
- typeBits |= ((gBattleMons[gBattleAttacker].attackIV & 1) << 1);
- typeBits |= ((gBattleMons[gBattleAttacker].defenseIV & 1) << 2);
- typeBits |= ((gBattleMons[gBattleAttacker].speedIV & 1) << 3);
- typeBits |= ((gBattleMons[gBattleAttacker].spAttackIV & 1) << 4);
- typeBits |= ((gBattleMons[gBattleAttacker].spDefenseIV & 1) << 5);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].hpIV & 1) << 0);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].attackIV & 1) << 1);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].defenseIV & 1) << 2);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].speedIV & 1) << 3);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].spAttackIV & 1) << 4);
+ typeBits |= ((gBattleMons[gBattleMoveAttacker].spDefenseIV & 1) << 5);
gDynamicBasePower = (40 * powerBits) / 63 + 30;
@@ -9490,7 +9490,7 @@ static void atkC1_hiddenpowercalc(void)
mov r5, r8\n\
push {r5-r7}\n\
ldr r2, =gBattleMons\n\
- ldr r0, =gBattleAttacker\n\
+ ldr r0, =gBattleMoveAttacker\n\
ldrb r1, [r0]\n\
movs r0, 0x58\n\
adds r4, r1, 0\n\
@@ -9626,11 +9626,11 @@ _080544F0:\n\
static void atkC2_selectfirstvalidtarget(void)
{
- for (gBattleDefender = 0; gBattleDefender < gBattlersCount; gBattleDefender++)
+ for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount; gBattleMoveTarget++)
{
- if (gBattleDefender == gBattleAttacker)
+ if (gBattleMoveTarget == gBattleMoveAttacker)
continue;
- if (!(gAbsentBattlerFlags & gBitTable[gBattleDefender]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]))
break;
}
gBattlescriptCurrInstr++;
@@ -9638,22 +9638,22 @@ static void atkC2_selectfirstvalidtarget(void)
static void atkC3_trysetfutureattack(void)
{
- if (gWishFutureKnock.futureSightCounter[gBattleDefender] != 0)
+ if (gWishFutureKnock.futureSightCounter[gBattleMoveTarget] != 0)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)] |= SIDE_STATUS_FUTUREATTACK;
- gWishFutureKnock.futureSightMove[gBattleDefender] = gCurrentMove;
- gWishFutureKnock.futureSightAttacker[gBattleDefender] = gBattleAttacker;
- gWishFutureKnock.futureSightCounter[gBattleDefender] = 3;
- gWishFutureKnock.futureSightDmg[gBattleDefender] = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleDefender], gCurrentMove,
- gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)], 0,
- 0, gBattleAttacker, gBattleDefender);
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)] |= SIDE_STATUS_FUTUREATTACK;
+ gWishFutureKnock.futureSightMove[gBattleMoveTarget] = gCurrentMove;
+ gWishFutureKnock.futureSightAttacker[gBattleMoveTarget] = gBattleMoveAttacker;
+ gWishFutureKnock.futureSightCounter[gBattleMoveTarget] = 3;
+ gWishFutureKnock.futureSightDmg[gBattleMoveTarget] = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveTarget], gCurrentMove,
+ gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)], 0,
+ 0, gBattleMoveAttacker, gBattleMoveTarget);
- if (gProtectStructs[gBattleAttacker].helpingHand)
- gWishFutureKnock.futureSightDmg[gBattleDefender] = gWishFutureKnock.futureSightDmg[gBattleDefender] * 15 / 10;
+ if (gProtectStructs[gBattleMoveAttacker].helpingHand)
+ gWishFutureKnock.futureSightDmg[gBattleMoveTarget] = gWishFutureKnock.futureSightDmg[gBattleMoveTarget] * 15 / 10;
if (gCurrentMove == MOVE_DOOM_DESIRE)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -9668,12 +9668,12 @@ static void atkC4_trydobeatup(void)
{
struct Pokemon *party;
- if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER)
party = gPlayerParty;
else
party = gEnemyParty;
- if (gBattleMons[gBattleDefender].hp == 0)
+ if (gBattleMons[gBattleMoveTarget].hp == 0)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
@@ -9690,16 +9690,16 @@ static void atkC4_trydobeatup(void)
}
if (gBattleCommunication[0] < 6)
{
- PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleAttacker, gBattleCommunication[0])
+ PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleMoveAttacker, gBattleCommunication[0])
gBattlescriptCurrInstr += 9;
gBattleMoveDamage = gBaseStats[GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES)].baseAttack;
gBattleMoveDamage *= gBattleMoves[gCurrentMove].power;
gBattleMoveDamage *= (GetMonData(&party[gBattleCommunication[0]], MON_DATA_LEVEL) * 2 / 5 + 2);
- gBattleMoveDamage /= gBaseStats[gBattleMons[gBattleDefender].species].baseDefense;
+ gBattleMoveDamage /= gBaseStats[gBattleMons[gBattleMoveTarget].species].baseDefense;
gBattleMoveDamage = (gBattleMoveDamage / 50) + 2;
- if (gProtectStructs[gBattleAttacker].helpingHand)
+ if (gProtectStructs[gBattleMoveAttacker].helpingHand)
gBattleMoveDamage = gBattleMoveDamage * 15 / 10;
gBattleCommunication[0]++;
@@ -9717,13 +9717,13 @@ static void atkC5_setsemiinvulnerablebit(void)
{
case MOVE_FLY:
case MOVE_BOUNCE:
- gStatuses3[gBattleAttacker] |= STATUS3_ON_AIR;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_ON_AIR;
break;
case MOVE_DIG:
- gStatuses3[gBattleAttacker] |= STATUS3_UNDERGROUND;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_UNDERGROUND;
break;
case MOVE_DIVE:
- gStatuses3[gBattleAttacker] |= STATUS3_UNDERWATER;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_UNDERWATER;
break;
}
@@ -9736,13 +9736,13 @@ static void atkC6_clearsemiinvulnerablebit(void)
{
case MOVE_FLY:
case MOVE_BOUNCE:
- gStatuses3[gBattleAttacker] &= ~STATUS3_ON_AIR;
+ gStatuses3[gBattleMoveAttacker] &= ~STATUS3_ON_AIR;
break;
case MOVE_DIG:
- gStatuses3[gBattleAttacker] &= ~STATUS3_UNDERGROUND;
+ gStatuses3[gBattleMoveAttacker] &= ~STATUS3_UNDERGROUND;
break;
case MOVE_DIVE:
- gStatuses3[gBattleAttacker] &= ~STATUS3_UNDERWATER;
+ gStatuses3[gBattleMoveAttacker] &= ~STATUS3_UNDERWATER;
break;
}
@@ -9752,7 +9752,7 @@ static void atkC6_clearsemiinvulnerablebit(void)
static void atkC7_setminimize(void)
{
if (gHitMarker & HITMARKER_OBEYS)
- gStatuses3[gBattleAttacker] |= STATUS3_MINIMIZED;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_MINIMIZED;
gBattlescriptCurrInstr++;
}
@@ -9776,34 +9776,34 @@ static void atkC8_sethail(void)
static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento
{
- if (gBattleMons[gBattleDefender].statStages[STAT_STAGE_ATK] == 0
- && gBattleMons[gBattleDefender].statStages[STAT_STAGE_SPATK] == 0
+ if (gBattleMons[gBattleMoveTarget].statStages[STAT_STAGE_ATK] == 0
+ && gBattleMons[gBattleMoveTarget].statStages[STAT_STAGE_SPATK] == 0
&& gBattleCommunication[6] != 1)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
gBattleMoveDamage = gBattleMons[gActiveBattler].hp;
- EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 5;
}
}
static void atkCA_setforcedtarget(void) // follow me
{
- gSideTimers[GetBattlerSide(gBattleAttacker)].followmeTimer = 1;
- gSideTimers[GetBattlerSide(gBattleAttacker)].followmeTarget = gBattleAttacker;
+ gSideTimers[GetBattlerSide(gBattleMoveAttacker)].followmeTimer = 1;
+ gSideTimers[GetBattlerSide(gBattleMoveAttacker)].followmeTarget = gBattleMoveAttacker;
gBattlescriptCurrInstr++;
}
static void atkCB_setcharge(void)
{
- gStatuses3[gBattleAttacker] |= STATUS3_CHARGED_UP;
- gDisableStructs[gBattleAttacker].chargeTimer1 = 2;
- gDisableStructs[gBattleAttacker].chargeTimer2 = 2;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_CHARGED_UP;
+ gDisableStructs[gBattleMoveAttacker].chargeTimer1 = 2;
+ gDisableStructs[gBattleMoveAttacker].chargeTimer2 = 2;
gBattlescriptCurrInstr++;
}
@@ -9811,20 +9811,20 @@ static void atkCC_callterrainattack(void) // nature power
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = sNaturePowerMoves[gBattleTerrain];
- gBattleDefender = GetMoveTarget(gCurrentMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gCurrentMove, 0);
BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]);
gBattlescriptCurrInstr++;
}
static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh
{
- if (gBattleMons[gBattleAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
+ if (gBattleMons[gBattleMoveAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
{
- gBattleMons[gBattleAttacker].status1 = 0;
+ gBattleMons[gBattleMoveAttacker].status1 = 0;
gBattlescriptCurrInstr += 5;
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
}
else
{
@@ -9834,20 +9834,20 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh
static void atkCE_settorment(void)
{
- if (gBattleMons[gBattleDefender].status2 & STATUS2_TORMENT)
+ if (gBattleMons[gBattleMoveTarget].status2 & STATUS2_TORMENT)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gBattleMons[gBattleDefender].status2 |= STATUS2_TORMENT;
+ gBattleMons[gBattleMoveTarget].status2 |= STATUS2_TORMENT;
gBattlescriptCurrInstr += 5;
}
}
static void atkCF_jumpifnodamage(void)
{
- if (gProtectStructs[gBattleAttacker].physicalDmg || gProtectStructs[gBattleAttacker].specialDmg)
+ if (gProtectStructs[gBattleMoveAttacker].physicalDmg || gProtectStructs[gBattleMoveAttacker].specialDmg)
gBattlescriptCurrInstr += 5;
else
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
@@ -9855,10 +9855,10 @@ static void atkCF_jumpifnodamage(void)
static void atkD0_settaunt(void)
{
- if (gDisableStructs[gBattleDefender].tauntTimer1 == 0)
+ if (gDisableStructs[gBattleMoveTarget].tauntTimer1 == 0)
{
- gDisableStructs[gBattleDefender].tauntTimer1 = 2;
- gDisableStructs[gBattleDefender].tauntTimer2 = 2;
+ gDisableStructs[gBattleMoveTarget].tauntTimer1 = 2;
+ gDisableStructs[gBattleMoveTarget].tauntTimer2 = 2;
gBattlescriptCurrInstr += 5;
}
else
@@ -9869,14 +9869,14 @@ static void atkD0_settaunt(void)
static void atkD1_trysethelpinghand(void)
{
- gBattleDefender = GetBattlerAtPosition(GetBattlerPosition(gBattleAttacker) ^ BIT_FLANK);
+ gBattleMoveTarget = GetBattlerAtPosition(GetBattlerPosition(gBattleMoveAttacker) ^ BIT_FLANK);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
- && !(gAbsentBattlerFlags & gBitTable[gBattleDefender])
- && !gProtectStructs[gBattleAttacker].helpingHand
- && !gProtectStructs[gBattleDefender].helpingHand)
+ && !(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget])
+ && !gProtectStructs[gBattleMoveAttacker].helpingHand
+ && !gProtectStructs[gBattleMoveTarget].helpingHand)
{
- gProtectStructs[gBattleDefender].helpingHand = 1;
+ gProtectStructs[gBattleMoveTarget].helpingHand = 1;
gBattlescriptCurrInstr += 5;
}
else
@@ -9889,7 +9889,7 @@ static void atkD2_tryswapitems(void) // trick
{
// opponent can't swap items with player in regular battles
if (gBattleTypeFlags & BATTLE_TYPE_x4000000
- || (GetBattlerSide(gBattleAttacker) == B_SIDE_OPPONENT
+ || (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_OPPONENT
&& !(gBattleTypeFlags & (BATTLE_TYPE_LINK
| BATTLE_TYPE_EREADER_TRAINER
| BATTLE_TYPE_FRONTIER
@@ -9900,8 +9900,8 @@ static void atkD2_tryswapitems(void) // trick
}
else
{
- u8 sideAttacker = GetBattlerSide(gBattleAttacker);
- u8 sideTarget = GetBattlerSide(gBattleDefender);
+ u8 sideAttacker = GetBattlerSide(gBattleMoveAttacker);
+ u8 sideTarget = GetBattlerSide(gBattleMoveTarget);
// you can't swap items if they were knocked off in regular battles
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK
@@ -9909,53 +9909,53 @@ static void atkD2_tryswapitems(void) // trick
| BATTLE_TYPE_FRONTIER
| BATTLE_TYPE_SECRET_BASE
| BATTLE_TYPE_x2000000))
- && (gWishFutureKnock.knockedOffPokes[sideAttacker] & gBitTable[gBattlePartyID[gBattleAttacker]]
- || gWishFutureKnock.knockedOffPokes[sideTarget] & gBitTable[gBattlePartyID[gBattleDefender]]))
+ && (gWishFutureKnock.knockedOffPokes[sideAttacker] & gBitTable[gBattlerPartyIndexes[gBattleMoveAttacker]]
+ || gWishFutureKnock.knockedOffPokes[sideTarget] & gBitTable[gBattlerPartyIndexes[gBattleMoveTarget]]))
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
// can't swap if two pokemon don't have an item
// or if either of them is an enigma berry or a mail
- else if ((gBattleMons[gBattleAttacker].item == 0 && gBattleMons[gBattleDefender].item == 0)
- || gBattleMons[gBattleAttacker].item == ITEM_ENIGMA_BERRY
- || gBattleMons[gBattleDefender].item == ITEM_ENIGMA_BERRY
- || IS_ITEM_MAIL(gBattleMons[gBattleAttacker].item)
- || IS_ITEM_MAIL(gBattleMons[gBattleDefender].item))
+ else if ((gBattleMons[gBattleMoveAttacker].item == 0 && gBattleMons[gBattleMoveTarget].item == 0)
+ || gBattleMons[gBattleMoveAttacker].item == ITEM_ENIGMA_BERRY
+ || gBattleMons[gBattleMoveTarget].item == ITEM_ENIGMA_BERRY
+ || IS_ITEM_MAIL(gBattleMons[gBattleMoveAttacker].item)
+ || IS_ITEM_MAIL(gBattleMons[gBattleMoveTarget].item))
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
// check if ability prevents swapping
- else if (gBattleMons[gBattleDefender].ability == ABILITY_STICKY_HOLD)
+ else if (gBattleMons[gBattleMoveTarget].ability == ABILITY_STICKY_HOLD)
{
gBattlescriptCurrInstr = BattleScript_StickyHoldActivates;
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
- RecordAbilityBattle(gBattleDefender, gLastUsedAbility);
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
+ RecordAbilityBattle(gBattleMoveTarget, gLastUsedAbility);
}
// took a while, but all checks passed and items can be safely swapped
else
{
u16 oldItemAtk, *newItemAtk;
- newItemAtk = &gBattleStruct->changedItems[gBattleAttacker];
- oldItemAtk = gBattleMons[gBattleAttacker].item;
- *newItemAtk = gBattleMons[gBattleDefender].item;
+ newItemAtk = &gBattleStruct->changedItems[gBattleMoveAttacker];
+ oldItemAtk = gBattleMons[gBattleMoveAttacker].item;
+ *newItemAtk = gBattleMons[gBattleMoveTarget].item;
- gBattleMons[gBattleAttacker].item = 0;
- gBattleMons[gBattleDefender].item = oldItemAtk;
+ gBattleMons[gBattleMoveAttacker].item = 0;
+ gBattleMons[gBattleMoveTarget].item = oldItemAtk;
- gActiveBattler = gBattleAttacker;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, newItemAtk);
- MarkBufferBankForExecution(gBattleAttacker);
+ gActiveBattler = gBattleMoveAttacker;
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, newItemAtk);
+ MarkBattlerForControllerExec(gBattleMoveAttacker);
- gActiveBattler = gBattleDefender;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattleDefender].item);
- MarkBufferBankForExecution(gBattleDefender);
+ gActiveBattler = gBattleMoveTarget;
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattleMoveTarget].item);
+ MarkBattlerForControllerExec(gBattleMoveTarget);
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleDefender]) + 0) = 0;
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleDefender]) + 1) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveTarget]) + 0) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveTarget]) + 1) = 0;
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleAttacker]) + 0) = 0;
- *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleAttacker]) + 1) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveAttacker]) + 0) = 0;
+ *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattleMoveAttacker]) + 1) = 0;
gBattlescriptCurrInstr += 5;
@@ -9974,11 +9974,11 @@ static void atkD2_tryswapitems(void) // trick
static void atkD3_trycopyability(void) // role play
{
- if (gBattleMons[gBattleDefender].ability != 0
- && gBattleMons[gBattleDefender].ability != ABILITY_WONDER_GUARD)
+ if (gBattleMons[gBattleMoveTarget].ability != 0
+ && gBattleMons[gBattleMoveTarget].ability != ABILITY_WONDER_GUARD)
{
- gBattleMons[gBattleAttacker].ability = gBattleMons[gBattleDefender].ability;
- gLastUsedAbility = gBattleMons[gBattleDefender].ability;
+ gBattleMons[gBattleMoveAttacker].ability = gBattleMons[gBattleMoveTarget].ability;
+ gLastUsedAbility = gBattleMons[gBattleMoveTarget].ability;
gBattlescriptCurrInstr += 5;
}
else
@@ -9992,10 +9992,10 @@ static void atkD4_trywish(void)
switch (gBattlescriptCurrInstr[1])
{
case 0: // use wish
- if (gWishFutureKnock.wishCounter[gBattleAttacker] == 0)
+ if (gWishFutureKnock.wishCounter[gBattleMoveAttacker] == 0)
{
- gWishFutureKnock.wishCounter[gBattleAttacker] = 2;
- gWishFutureKnock.wishUserID[gBattleAttacker] = gBattlePartyID[gBattleAttacker];
+ gWishFutureKnock.wishCounter[gBattleMoveAttacker] = 2;
+ gWishFutureKnock.wishUserID[gBattleMoveAttacker] = gBattlerPartyIndexes[gBattleMoveAttacker];
gBattlescriptCurrInstr += 6;
}
else
@@ -10004,14 +10004,14 @@ static void atkD4_trywish(void)
}
break;
case 1: // heal effect
- PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleDefender, gWishFutureKnock.wishUserID[gBattleDefender])
+ PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleMoveTarget, gWishFutureKnock.wishUserID[gBattleMoveTarget])
- gBattleMoveDamage = gBattleMons[gBattleDefender].maxHP / 2;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].maxHP / 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
- if (gBattleMons[gBattleDefender].hp == gBattleMons[gBattleDefender].maxHP)
+ if (gBattleMons[gBattleMoveTarget].hp == gBattleMons[gBattleMoveTarget].maxHP)
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
@@ -10022,23 +10022,23 @@ static void atkD4_trywish(void)
static void atkD5_trysetroots(void) // ingrain
{
- if (gStatuses3[gBattleAttacker] & STATUS3_ROOTED)
+ if (gStatuses3[gBattleMoveAttacker] & STATUS3_ROOTED)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gStatuses3[gBattleAttacker] |= STATUS3_ROOTED;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_ROOTED;
gBattlescriptCurrInstr += 5;
}
}
static void atkD6_doubledamagedealtifdamaged(void)
{
- if ((gProtectStructs[gBattleAttacker].physicalDmg
- && gProtectStructs[gBattleAttacker].physicalBank == gBattleDefender)
- || (gProtectStructs[gBattleAttacker].specialDmg
- && gProtectStructs[gBattleAttacker].specialBank == gBattleDefender))
+ if ((gProtectStructs[gBattleMoveAttacker].physicalDmg
+ && gProtectStructs[gBattleMoveAttacker].physicalBank == gBattleMoveTarget)
+ || (gProtectStructs[gBattleMoveAttacker].specialDmg
+ && gProtectStructs[gBattleMoveAttacker].specialBank == gBattleMoveTarget))
{
gBattleScripting.dmgMultiplier = 2;
}
@@ -10048,27 +10048,27 @@ static void atkD6_doubledamagedealtifdamaged(void)
static void atkD7_setyawn(void)
{
- if (gStatuses3[gBattleDefender] & STATUS3_YAWN
- || gBattleMons[gBattleDefender].status1 & STATUS1_ANY)
+ if (gStatuses3[gBattleMoveTarget] & STATUS3_YAWN
+ || gBattleMons[gBattleMoveTarget].status1 & STATUS1_ANY)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gStatuses3[gBattleDefender] |= 0x1000;
+ gStatuses3[gBattleMoveTarget] |= 0x1000;
gBattlescriptCurrInstr += 5;
}
}
static void atkD8_setdamagetohealthdifference(void)
{
- if (gBattleMons[gBattleDefender].hp <= gBattleMons[gBattleAttacker].hp)
+ if (gBattleMons[gBattleMoveTarget].hp <= gBattleMons[gBattleMoveAttacker].hp)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gBattleMoveDamage = gBattleMons[gBattleDefender].hp - gBattleMons[gBattleAttacker].hp;
+ gBattleMoveDamage = gBattleMons[gBattleMoveTarget].hp - gBattleMons[gBattleMoveAttacker].hp;
gBattlescriptCurrInstr += 5;
}
}
@@ -10078,7 +10078,7 @@ static void atkD9_scaledamagebyhealthratio(void)
if (gDynamicBasePower == 0)
{
u8 power = gBattleMoves[gCurrentMove].power;
- gDynamicBasePower = gBattleMons[gBattleAttacker].hp * power / gBattleMons[gBattleAttacker].maxHP;
+ gDynamicBasePower = gBattleMons[gBattleMoveAttacker].hp * power / gBattleMons[gBattleMoveAttacker].maxHP;
if (gDynamicBasePower == 0)
gDynamicBasePower = 1;
}
@@ -10087,19 +10087,19 @@ static void atkD9_scaledamagebyhealthratio(void)
static void atkDA_tryswapabilities(void) // skill swap
{
- if ((gBattleMons[gBattleAttacker].ability == 0
- && gBattleMons[gBattleDefender].ability == 0)
- || gBattleMons[gBattleAttacker].ability == ABILITY_WONDER_GUARD
- || gBattleMons[gBattleDefender].ability == ABILITY_WONDER_GUARD
+ if ((gBattleMons[gBattleMoveAttacker].ability == 0
+ && gBattleMons[gBattleMoveTarget].ability == 0)
+ || gBattleMons[gBattleMoveAttacker].ability == ABILITY_WONDER_GUARD
+ || gBattleMons[gBattleMoveTarget].ability == ABILITY_WONDER_GUARD
|| gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- u8 abilityAtk = gBattleMons[gBattleAttacker].ability;
- gBattleMons[gBattleAttacker].ability = gBattleMons[gBattleDefender].ability;
- gBattleMons[gBattleDefender].ability = abilityAtk;
+ u8 abilityAtk = gBattleMons[gBattleMoveAttacker].ability;
+ gBattleMons[gBattleMoveAttacker].ability = gBattleMons[gBattleMoveTarget].ability;
+ gBattleMons[gBattleMoveTarget].ability = abilityAtk;
gBattlescriptCurrInstr += 5;
}
@@ -10107,7 +10107,7 @@ static void atkDA_tryswapabilities(void) // skill swap
static void atkDB_tryimprision(void)
{
- if ((gStatuses3[gBattleAttacker] & STATUS3_IMPRISONED_OTHERS))
+ if ((gStatuses3[gBattleMoveAttacker] & STATUS3_IMPRISONED_OTHERS))
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
@@ -10115,8 +10115,8 @@ static void atkDB_tryimprision(void)
{
u8 bank, sideAttacker;
- sideAttacker = GetBattlerSide(gBattleAttacker);
- PressurePPLoseOnUsingImprision(gBattleAttacker);
+ sideAttacker = GetBattlerSide(gBattleMoveAttacker);
+ PressurePPLoseOnUsingImprision(gBattleMoveAttacker);
for (bank = 0; bank < gBattlersCount; bank++)
{
if (sideAttacker != GetBattlerSide(bank))
@@ -10127,8 +10127,8 @@ static void atkDB_tryimprision(void)
s32 i;
for (i = 0; i < 4; i++)
{
- if (gBattleMons[gBattleAttacker].moves[attackerMoveId] == gBattleMons[bank].moves[i]
- && gBattleMons[gBattleAttacker].moves[attackerMoveId] != MOVE_NONE)
+ if (gBattleMons[gBattleMoveAttacker].moves[attackerMoveId] == gBattleMons[bank].moves[i]
+ && gBattleMons[gBattleMoveAttacker].moves[attackerMoveId] != MOVE_NONE)
break;
}
if (i != 4)
@@ -10136,7 +10136,7 @@ static void atkDB_tryimprision(void)
}
if (attackerMoveId != 4)
{
- gStatuses3[gBattleAttacker] |= STATUS3_IMPRISONED_OTHERS;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_IMPRISONED_OTHERS;
gBattlescriptCurrInstr += 5;
break;
}
@@ -10149,13 +10149,13 @@ static void atkDB_tryimprision(void)
static void atkDC_trysetgrudge(void)
{
- if (gStatuses3[gBattleAttacker] & STATUS3_GRUDGE)
+ if (gStatuses3[gBattleMoveAttacker] & STATUS3_GRUDGE)
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gStatuses3[gBattleAttacker] |= STATUS3_GRUDGE;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_GRUDGE;
gBattlescriptCurrInstr += 5;
}
}
@@ -10165,7 +10165,7 @@ static void atkDD_weightdamagecalculation(void)
s32 i;
for (i = 0; sWeightToDamageTable[i] != 0xFFFF; i += 2)
{
- if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattleDefender].species), 1))
+ if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattleMoveTarget].species), 1))
break;
}
@@ -10184,14 +10184,14 @@ static void atkDE_asistattackselect(void)
s32 monId, moveId;
u16* movesArray = gBattleStruct->assistPossibleMoves;
- if (GET_BATTLER_SIDE(gBattleAttacker) != B_SIDE_PLAYER)
+ if (GET_BATTLER_SIDE(gBattleMoveAttacker) != B_SIDE_PLAYER)
party = gEnemyParty;
else
party = gPlayerParty;
for (monId = 0; monId < 6; monId++)
{
- if (monId == gBattlePartyID[gBattleAttacker])
+ if (monId == gBattlerPartyIndexes[gBattleMoveAttacker])
continue;
if (GetMonData(&party[monId], MON_DATA_SPECIES2) == SPECIES_NONE)
continue;
@@ -10221,7 +10221,7 @@ static void atkDE_asistattackselect(void)
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gRandomMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8];
- gBattleDefender = GetMoveTarget(gRandomMove, 0);
+ gBattleMoveTarget = GetMoveTarget(gRandomMove, 0);
gBattlescriptCurrInstr += 5;
}
else
@@ -10232,29 +10232,29 @@ static void atkDE_asistattackselect(void)
static void atkDF_trysetmagiccoat(void)
{
- gBattleDefender = gBattleAttacker;
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gBattleMoveTarget = gBattleMoveAttacker;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gProtectStructs[gBattleAttacker].bounceMove = 1;
+ gProtectStructs[gBattleMoveAttacker].bounceMove = 1;
gBattlescriptCurrInstr += 5;
}
}
static void atkE0_trysetsnatch(void) // snatch
{
- gSpecialStatuses[gBattleAttacker].flag20 = 1;
+ gSpecialStatuses[gBattleMoveAttacker].flag20 = 1;
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
{
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
else
{
- gProtectStructs[gBattleAttacker].stealMove = 1;
+ gProtectStructs[gBattleMoveAttacker].stealMove = 1;
gBattlescriptCurrInstr += 5;
}
}
@@ -10268,15 +10268,15 @@ static void atkE1_trygetintimidatetarget(void)
PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability)
- for (;gBattleDefender < gBattlersCount; gBattleDefender++)
+ for (;gBattleMoveTarget < gBattlersCount; gBattleMoveTarget++)
{
- if (GetBattlerSide(gBattleDefender) == side)
+ if (GetBattlerSide(gBattleMoveTarget) == side)
continue;
- if (!(gAbsentBattlerFlags & gBitTable[gBattleDefender]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]))
break;
}
- if (gBattleDefender >= gBattlersCount)
+ if (gBattleMoveTarget >= gBattlersCount)
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
@@ -10290,8 +10290,8 @@ static void atkE2_switchoutabilities(void)
{
case ABILITY_NATURAL_CURE:
gBattleMons[gActiveBattler].status1 = 0;
- EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->field_58 + gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->field_58 + gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1);
+ MarkBattlerForControllerExec(gActiveBattler);
break;
}
@@ -10426,8 +10426,8 @@ static void atkE6_docastformchangeanimation(void)
if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE)
*(&gBattleStruct->formToChangeInto) |= 0x80;
- EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr++;
}
@@ -10451,18 +10451,18 @@ static void atkE8_settypebasedhalvers(void) // water and mud sport
if (gBattleMoves[gCurrentMove].effect == EFFECT_MUD_SPORT)
{
- if (!(gStatuses3[gBattleAttacker] & STATUS3_MUDSPORT))
+ if (!(gStatuses3[gBattleMoveAttacker] & STATUS3_MUDSPORT))
{
- gStatuses3[gBattleAttacker] |= STATUS3_MUDSPORT;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_MUDSPORT;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
worked = TRUE;
}
}
else // water sport
{
- if (!(gStatuses3[gBattleAttacker] & STATUS3_WATERSPORT))
+ if (!(gStatuses3[gBattleMoveAttacker] & STATUS3_WATERSPORT))
{
- gStatuses3[gBattleAttacker] |= STATUS3_WATERSPORT;
+ gStatuses3[gBattleMoveAttacker] |= STATUS3_WATERSPORT;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
worked = TRUE;
}
@@ -10499,7 +10499,7 @@ static void atkEA_tryrecycleitem(void)
{
u16 *usedHeldItem;
- gActiveBattler = gBattleAttacker;
+ gActiveBattler = gBattleMoveAttacker;
usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBattler];
if (*usedHeldItem != 0 && gBattleMons[gActiveBattler].item == 0)
{
@@ -10507,8 +10507,8 @@ static void atkEA_tryrecycleitem(void)
*usedHeldItem = 0;
gBattleMons[gActiveBattler].item = gLastUsedItem;
- EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 5;
}
@@ -10520,11 +10520,11 @@ static void atkEA_tryrecycleitem(void)
static void atkEB_settypetoterrain(void)
{
- if (gBattleMons[gBattleAttacker].type1 != sTerrainToType[gBattleTerrain]
- && gBattleMons[gBattleAttacker].type2 != sTerrainToType[gBattleTerrain])
+ if (gBattleMons[gBattleMoveAttacker].type1 != sTerrainToType[gBattleTerrain]
+ && gBattleMons[gBattleMoveAttacker].type2 != sTerrainToType[gBattleTerrain])
{
- gBattleMons[gBattleAttacker].type1 = sTerrainToType[gBattleTerrain];
- gBattleMons[gBattleAttacker].type2 = sTerrainToType[gBattleTerrain];
+ gBattleMons[gBattleMoveAttacker].type1 = sTerrainToType[gBattleTerrain];
+ gBattleMons[gBattleMoveAttacker].type2 = sTerrainToType[gBattleTerrain];
PREPARE_TYPE_BUFFER(gBattleTextBuff1, sTerrainToType[gBattleTerrain])
@@ -10538,7 +10538,7 @@ static void atkEB_settypetoterrain(void)
static void atkEC_pursuitrelated(void)
{
- gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleAttacker) ^ BIT_FLANK);
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattleMoveAttacker) ^ BIT_FLANK);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBattlerFlags & gBitTable[gActiveBattler])
@@ -10549,8 +10549,8 @@ static void atkEC_pursuitrelated(void)
gCurrentMove = MOVE_PURSUIT;
gBattlescriptCurrInstr += 5;
gBattleScripting.animTurn = 1;
- gBattleScripting.field_20 = gBattleAttacker;
- gBattleAttacker = gActiveBattler;
+ gBattleScripting.field_20 = gBattleMoveAttacker;
+ gBattleMoveAttacker = gActiveBattler;
}
else
{
@@ -10560,12 +10560,12 @@ static void atkEC_pursuitrelated(void)
static void atkEF_snatchsetbanks(void)
{
- gEffectBank = gBattleAttacker;
+ gEffectBank = gBattleMoveAttacker;
- if (gBattleAttacker == gBattleDefender)
- gBattleAttacker = gBattleDefender = gBattleScripting.battler;
+ if (gBattleMoveAttacker == gBattleMoveTarget)
+ gBattleMoveAttacker = gBattleMoveTarget = gBattleScripting.battler;
else
- gBattleDefender = gBattleScripting.battler;
+ gBattleMoveTarget = gBattleScripting.battler;
gBattleScripting.battler = gEffectBank;
gBattlescriptCurrInstr++;
@@ -10573,7 +10573,7 @@ static void atkEF_snatchsetbanks(void)
static void atkEE_removelightscreenreflect(void) // brick break
{
- u8 opposingSide = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE;
+ u8 opposingSide = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE;
if (gSideTimers[opposingSide].reflectTimer || gSideTimers[opposingSide].lightscreenTimer)
{
@@ -10597,22 +10597,22 @@ static void atkEF_handleballthrow(void)
{
u8 ballMultiplier = 0;
- if (gBattleExecBuffer)
+ if (gBattleControllerExecFlags)
return;
- gActiveBattler = gBattleAttacker;
- gBattleDefender = gBattleAttacker ^ BIT_SIDE;
+ gActiveBattler = gBattleMoveAttacker;
+ gBattleMoveTarget = gBattleMoveAttacker ^ BIT_SIDE;
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
- EmitBallThrowAnim(0, BALL_TRAINER_BLOCK);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBallThrowAnim(0, BALL_TRAINER_BLOCK);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr = BattleScript_TrainerBallBlock;
}
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
{
- EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr = BattleScript_WallyBallThrow;
}
else
@@ -10623,17 +10623,17 @@ static void atkEF_handleballthrow(void)
if (gLastUsedItem == ITEM_SAFARI_BALL)
catchRate = gBattleStruct->field_7C * 1275 / 100;
else
- catchRate = gBaseStats[gBattleMons[gBattleDefender].species].catchRate;
+ catchRate = gBaseStats[gBattleMons[gBattleMoveTarget].species].catchRate;
if (gLastUsedItem > ITEM_SAFARI_BALL)
{
switch (gLastUsedItem)
{
case ITEM_NET_BALL:
- if (gBattleMons[gBattleDefender].type1 == TYPE_WATER
- || gBattleMons[gBattleDefender].type2 == TYPE_WATER
- || gBattleMons[gBattleDefender].type1 == TYPE_BUG
- || gBattleMons[gBattleDefender].type2 == TYPE_BUG)
+ if (gBattleMons[gBattleMoveTarget].type1 == TYPE_WATER
+ || gBattleMons[gBattleMoveTarget].type2 == TYPE_WATER
+ || gBattleMons[gBattleMoveTarget].type1 == TYPE_BUG
+ || gBattleMons[gBattleMoveTarget].type2 == TYPE_BUG)
ballMultiplier = 30;
else
ballMultiplier = 10;
@@ -10645,9 +10645,9 @@ static void atkEF_handleballthrow(void)
ballMultiplier = 10;
break;
case ITEM_NEST_BALL:
- if (gBattleMons[gBattleDefender].level < 40)
+ if (gBattleMons[gBattleMoveTarget].level < 40)
{
- ballMultiplier = 40 - gBattleMons[gBattleDefender].level;
+ ballMultiplier = 40 - gBattleMons[gBattleMoveTarget].level;
if (ballMultiplier <= 9)
ballMultiplier = 10;
}
@@ -10657,7 +10657,7 @@ static void atkEF_handleballthrow(void)
}
break;
case ITEM_REPEAT_BALL:
- if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattleDefender].species), FLAG_GET_CAUGHT))
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattleMoveTarget].species), FLAG_GET_CAUGHT))
ballMultiplier = 30;
else
ballMultiplier = 10;
@@ -10677,12 +10677,12 @@ static void atkEF_handleballthrow(void)
ballMultiplier = sBallCatchBonuses[gLastUsedItem - 2];
odds = (catchRate * ballMultiplier / 10)
- * (gBattleMons[gBattleDefender].maxHP * 3 - gBattleMons[gBattleDefender].hp * 2)
- / (3 * gBattleMons[gBattleDefender].maxHP);
+ * (gBattleMons[gBattleMoveTarget].maxHP * 3 - gBattleMons[gBattleMoveTarget].hp * 2)
+ / (3 * gBattleMons[gBattleMoveTarget].maxHP);
- if (gBattleMons[gBattleDefender].status1 & (STATUS1_SLEEP | STATUS1_FREEZE))
+ if (gBattleMons[gBattleMoveTarget].status1 & (STATUS1_SLEEP | STATUS1_FREEZE))
odds *= 2;
- if (gBattleMons[gBattleDefender].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
+ if (gBattleMons[gBattleMoveTarget].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
odds = (odds * 15) / 10;
if (gLastUsedItem != ITEM_SAFARI_BALL)
@@ -10700,10 +10700,10 @@ static void atkEF_handleballthrow(void)
if (odds > 254) // mon caught
{
- EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBattleDefender]], MON_DATA_POKEBALL, &gLastUsedItem);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveTarget]], MON_DATA_POKEBALL, &gLastUsedItem);
if (CalculatePlayerPartyCount() == 6)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
@@ -10722,13 +10722,13 @@ static void atkEF_handleballthrow(void)
if (gLastUsedItem == ITEM_MASTER_BALL)
shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check?
- EmitBallThrowAnim(0, shakes);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitBallThrowAnim(0, shakes);
+ MarkBattlerForControllerExec(gActiveBattler);
if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above
{
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBattleDefender]], MON_DATA_POKEBALL, &gLastUsedItem);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveTarget]], MON_DATA_POKEBALL, &gLastUsedItem);
if (CalculatePlayerPartyCount() == 6)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
@@ -10746,18 +10746,18 @@ static void atkEF_handleballthrow(void)
static void atkF0_givecaughtmon(void)
{
- if (GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY)
+ if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY)
{
if (!sub_813B21C())
{
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
}
else
{
StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id()));
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
@@ -10766,9 +10766,9 @@ static void atkF0_givecaughtmon(void)
gBattleCommunication[MULTISTRING_CHOOSER]++;
}
- gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_SPECIES, NULL);
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick);
- gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_POKEBALL, NULL);
+ gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_SPECIES, NULL);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick);
+ gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_POKEBALL, NULL);
gBattlescriptCurrInstr++;
}
@@ -10804,8 +10804,8 @@ static void atkF2_displaydexinfo(void)
{
FreeAllWindowBuffers();
gBattleCommunication[TASK_ID] = CreateDexDisplayMonDataTask(SpeciesToNationalPokedexNum(species),
- gBattleMons[gBattleDefender].otId,
- gBattleMons[gBattleDefender].personality);
+ gBattleMons[gBattleMoveTarget].otId,
+ gBattleMons[gBattleMoveTarget].personality);
gBattleCommunication[0]++;
}
break;
@@ -10956,13 +10956,13 @@ static void atkF3_trygivecaughtmonnick(void)
case 2:
if (!gPaletteFade.active)
{
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick);
FreeAllWindowBuffers();
DoNamingScreen(NAMING_SCREEN_CAUGHT_MON, gBattleStruct->caughtMonNick,
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_SPECIES),
- GetMonGender(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]]),
- GetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_PERSONALITY, NULL),
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_SPECIES),
+ GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]]),
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_PERSONALITY, NULL),
BattleMainCB2);
gBattleCommunication[MULTIUSE_STATE]++;
@@ -10971,7 +10971,7 @@ static void atkF3_trygivecaughtmonnick(void)
case 3:
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active )
{
- SetMonData(&gEnemyParty[gBattlePartyID[gBattleAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick);
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
break;
@@ -10986,13 +10986,13 @@ static void atkF3_trygivecaughtmonnick(void)
static void atkF4_subattackerhpbydmg(void)
{
- gBattleMons[gBattleAttacker].hp -= gBattleMoveDamage;
+ gBattleMons[gBattleMoveAttacker].hp -= gBattleMoveDamage;
gBattlescriptCurrInstr++;
}
static void atkF5_removeattackerstatus1(void)
{
- gBattleMons[gBattleAttacker].status1 = 0;
+ gBattleMons[gBattleMoveAttacker].status1 = 0;
gBattlescriptCurrInstr++;
}
@@ -11010,8 +11010,8 @@ static void atkF7_finishturn(void)
static void atkF8_trainerslideout(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
- EmitTrainerSlideBack(0);
- MarkBufferBankForExecution(gActiveBattler);
+ BtlController_EmitTrainerSlideBack(0);
+ MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}