diff --git a/include/battle.h b/include/battle.h index 54c81a3e57..37f2359641 100644 --- a/include/battle.h +++ b/include/battle.h @@ -828,9 +828,8 @@ struct BattleStruct u8 commandingDondozo; u16 commanderActive[MAX_BATTLERS_COUNT]; u32 stellarBoostFlags[NUM_BATTLE_SIDES]; // stored as a bitfield of flags for all types for each side - u8 fickleBeamBoosted:1; u8 redCardActivates:1; - u8 padding:6; + u8 padding:7; u8 usedEjectItem; u8 usedMicleBerry; }; diff --git a/src/battle_util.c b/src/battle_util.c index dc2dcc55f1..01822691a3 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3314,7 +3314,14 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) break; case DISOBEYS_HITS_SELF: gBattlerTarget = gBattlerAttacker; - gBattleMoveDamage = CalculateMoveDamage(MOVE_NONE, gBattlerAttacker, gBattlerAttacker, TYPE_MYSTERY, 40, FALSE, FALSE, TRUE); + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = damageCalcData.battlerDef = gBattlerAttacker; + damageCalcData.move = MOVE_NONE; + damageCalcData.moveType = TYPE_MYSTERY; + damageCalcData.isCrit = FALSE; + damageCalcData.randomFactor = FALSE; + damageCalcData.updateFlags = TRUE; + gBattleMoveDamage = CalculateMoveDamage(&damageCalcData, 40); gBattlescriptCurrInstr = BattleScript_IgnoresAndHitsItself; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gHitMarker |= HITMARKER_OBEYS;