summaryrefslogtreecommitdiff
path: root/src/battle_util.c
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2021-10-07 16:10:35 -0400
committerGitHub <noreply@github.com>2021-10-07 16:10:35 -0400
commita2655ba9ab82646a54f60abc6078df372179f8d4 (patch)
tree95b074a1a4d77d6cd77e413e1d6e72eb55b595b0 /src/battle_util.c
parente86d3410a1719fcbf62754bfda93a295aa7e0d57 (diff)
parent001a25e49cd6acdac89a62f4230aef80422e78f2 (diff)
Merge branch 'master' into doc-union
Diffstat (limited to 'src/battle_util.c')
-rw-r--r--src/battle_util.c96
1 files changed, 48 insertions, 48 deletions
diff --git a/src/battle_util.c b/src/battle_util.c
index cbcd445b7..8617134dc 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -646,9 +646,9 @@ void HandleAction_NothingIsFainted(void)
gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber];
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
- | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
- | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
- | HITMARKER_CHARGING | HITMARKER_x4000000);
+ | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
+ | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
+ | HITMARKER_CHARGING | HITMARKER_NEVER_SET);
}
void HandleAction_ActionFinished(void)
@@ -659,9 +659,9 @@ void HandleAction_ActionFinished(void)
SpecialStatusesClear();
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
- | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
- | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
- | HITMARKER_CHARGING | HITMARKER_x4000000);
+ | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
+ | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
+ | HITMARKER_CHARGING | HITMARKER_NEVER_SET);
gCurrentMove = 0;
gBattleMoveDamage = 0;
@@ -1320,22 +1320,22 @@ u8 DoFieldEndTurnEffects(void)
}
break;
case ENDTURN_RAIN:
- if (gBattleWeather & WEATHER_RAIN_ANY)
+ if (gBattleWeather & B_WEATHER_RAIN)
{
- if (!(gBattleWeather & WEATHER_RAIN_PERMANENT))
+ if (!(gBattleWeather & B_WEATHER_RAIN_PERMANENT))
{
if (--gWishFutureKnock.weatherDuration == 0)
{
- gBattleWeather &= ~WEATHER_RAIN_TEMPORARY;
- gBattleWeather &= ~WEATHER_RAIN_DOWNPOUR;
+ gBattleWeather &= ~B_WEATHER_RAIN_TEMPORARY;
+ gBattleWeather &= ~B_WEATHER_RAIN_DOWNPOUR;
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_STOPPED;
}
- else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
+ else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR)
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
else
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_CONTINUES;
}
- else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
+ else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR)
{
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
}
@@ -1350,11 +1350,11 @@ u8 DoFieldEndTurnEffects(void)
gBattleStruct->turnCountersTracker++;
break;
case ENDTURN_SANDSTORM:
- if (gBattleWeather & WEATHER_SANDSTORM_ANY)
+ if (gBattleWeather & B_WEATHER_SANDSTORM)
{
- if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
+ if (!(gBattleWeather & B_WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
- gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY;
+ gBattleWeather &= ~B_WEATHER_SANDSTORM_TEMPORARY;
gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
}
else
@@ -1370,11 +1370,11 @@ u8 DoFieldEndTurnEffects(void)
gBattleStruct->turnCountersTracker++;
break;
case ENDTURN_SUN:
- if (gBattleWeather & WEATHER_SUN_ANY)
+ if (gBattleWeather & B_WEATHER_SUN)
{
- if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
+ if (!(gBattleWeather & B_WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
- gBattleWeather &= ~WEATHER_SUN_TEMPORARY;
+ gBattleWeather &= ~B_WEATHER_SUN_TEMPORARY;
gBattlescriptCurrInstr = BattleScript_SunlightFaded;
}
else
@@ -1388,11 +1388,11 @@ u8 DoFieldEndTurnEffects(void)
gBattleStruct->turnCountersTracker++;
break;
case ENDTURN_HAIL:
- if (gBattleWeather & WEATHER_HAIL_ANY)
+ if (gBattleWeather & B_WEATHER_HAIL)
{
if (--gWishFutureKnock.weatherDuration == 0)
{
- gBattleWeather &= ~WEATHER_HAIL;
+ gBattleWeather &= ~B_WEATHER_HAIL_TEMPORARY;
gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
}
else
@@ -1443,7 +1443,7 @@ u8 DoBattlerEndTurnEffects(void)
{
u8 effect = 0;
- gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20);
+ gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT)
{
gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId];
@@ -1756,13 +1756,13 @@ u8 DoBattlerEndTurnEffects(void)
return effect;
}
}
- gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20);
+ gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
return 0;
}
bool8 HandleWishPerishSongOnTurnEnd(void)
{
- gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20);
+ gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
switch (gBattleStruct->wishPerishSongState)
{
@@ -1862,7 +1862,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
break;
}
- gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20);
+ gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
return FALSE;
}
@@ -2389,22 +2389,22 @@ u8 CastformDataTypeChange(u8 battler)
}
if (!WEATHER_HAS_EFFECT)
return CASTFORM_NO_CHANGE;
- if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)) && !IS_BATTLER_OF_TYPE(battler, TYPE_NORMAL))
+ if (!(gBattleWeather & (B_WEATHER_RAIN | B_WEATHER_SUN | B_WEATHER_HAIL)) && !IS_BATTLER_OF_TYPE(battler, TYPE_NORMAL))
{
SET_BATTLER_TYPE(battler, TYPE_NORMAL);
formChange = CASTFORM_TO_NORMAL;
}
- if (gBattleWeather & WEATHER_SUN_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_FIRE))
+ if (gBattleWeather & B_WEATHER_SUN && !IS_BATTLER_OF_TYPE(battler, TYPE_FIRE))
{
SET_BATTLER_TYPE(battler, TYPE_FIRE);
formChange = CASTFORM_TO_FIRE;
}
- if (gBattleWeather & WEATHER_RAIN_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_WATER))
+ if (gBattleWeather & B_WEATHER_RAIN && !IS_BATTLER_OF_TYPE(battler, TYPE_WATER))
{
SET_BATTLER_TYPE(battler, TYPE_WATER);
formChange = CASTFORM_TO_WATER;
}
- if (gBattleWeather & WEATHER_HAIL_ANY && !IS_BATTLER_OF_TYPE(battler, TYPE_ICE))
+ if (gBattleWeather & B_WEATHER_HAIL && !IS_BATTLER_OF_TYPE(battler, TYPE_ICE))
{
SET_BATTLER_TYPE(battler, TYPE_ICE);
formChange = CASTFORM_TO_ICE;
@@ -2480,27 +2480,27 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
case WEATHER_RAIN:
case WEATHER_RAIN_THUNDERSTORM:
case WEATHER_DOWNPOUR:
- if (!(gBattleWeather & WEATHER_RAIN_ANY))
+ if (!(gBattleWeather & B_WEATHER_RAIN))
{
- gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT);
+ gBattleWeather = (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_PERMANENT);
gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES;
gBattleScripting.battler = battler;
effect++;
}
break;
case WEATHER_SANDSTORM:
- if (!(gBattleWeather & WEATHER_SANDSTORM_ANY))
+ if (!(gBattleWeather & B_WEATHER_SANDSTORM))
{
- gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
+ gBattleWeather = B_WEATHER_SANDSTORM;
gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES;
gBattleScripting.battler = battler;
effect++;
}
break;
case WEATHER_DROUGHT:
- if (!(gBattleWeather & WEATHER_SUN_ANY))
+ if (!(gBattleWeather & B_WEATHER_SUN))
{
- gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
+ gBattleWeather = B_WEATHER_SUN;
gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES;
gBattleScripting.battler = battler;
effect++;
@@ -2515,27 +2515,27 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
}
break;
case ABILITY_DRIZZLE:
- if (!(gBattleWeather & WEATHER_RAIN_PERMANENT))
+ if (!(gBattleWeather & B_WEATHER_RAIN_PERMANENT))
{
- gBattleWeather = (WEATHER_RAIN_PERMANENT | WEATHER_RAIN_TEMPORARY);
+ gBattleWeather = (B_WEATHER_RAIN_PERMANENT | B_WEATHER_RAIN_TEMPORARY);
BattleScriptPushCursorAndCallback(BattleScript_DrizzleActivates);
gBattleScripting.battler = battler;
effect++;
}
break;
case ABILITY_SAND_STREAM:
- if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT))
+ if (!(gBattleWeather & B_WEATHER_SANDSTORM_PERMANENT))
{
- gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
+ gBattleWeather = B_WEATHER_SANDSTORM;
BattleScriptPushCursorAndCallback(BattleScript_SandstreamActivates);
gBattleScripting.battler = battler;
effect++;
}
break;
case ABILITY_DROUGHT:
- if (!(gBattleWeather & WEATHER_SUN_PERMANENT))
+ if (!(gBattleWeather & B_WEATHER_SUN_PERMANENT))
{
- gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
+ gBattleWeather = B_WEATHER_SUN;
BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates);
gBattleScripting.battler = battler;
effect++;
@@ -2590,7 +2590,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
switch (gLastUsedAbility)
{
case ABILITY_RAIN_DISH:
- if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY)
+ if (WEATHER_HAS_EFFECT && (gBattleWeather & B_WEATHER_RAIN)
&& gBattleMons[battler].maxHP > gBattleMons[battler].hp)
{
gLastUsedAbility = ABILITY_RAIN_DISH; // why
@@ -3458,7 +3458,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
break;
// copy/paste again, smh
case HOLD_EFFECT_ATTACK_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
&& !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE)
{
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK);
@@ -3473,7 +3473,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_DEFENSE_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
&& gBattleMons[battlerId].statStages[STAT_DEF] < MAX_STAT_STAGE)
{
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF);
@@ -3487,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_SPEED_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
&& gBattleMons[battlerId].statStages[STAT_SPEED] < MAX_STAT_STAGE)
{
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED);
@@ -3501,7 +3501,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_SP_ATTACK_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
&& gBattleMons[battlerId].statStages[STAT_SPATK] < MAX_STAT_STAGE)
{
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK);
@@ -3515,7 +3515,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_SP_DEFENSE_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
&& gBattleMons[battlerId].statStages[STAT_SPDEF] < MAX_STAT_STAGE)
{
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF);
@@ -3529,7 +3529,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_CRITICAL_UP:
- if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
+ if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
&& !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY))
{
gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY;
@@ -4067,7 +4067,7 @@ u8 IsMonDisobedient(void)
gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos];
gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove;
gBattlerTarget = GetMoveTarget(gCalledMove, 0);
- gHitMarker |= HITMARKER_x200000;
+ gHitMarker |= HITMARKER_DISOBEDIENT_MOVE;
return 2;
}
}