mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-28 08:28:59 +01:00
Magic Guard protects from stuff
This commit is contained in:
parent
2c9ee80004
commit
51e1639513
@ -2709,6 +2709,7 @@ BattleScript_EffectRecoilIfMiss::
|
|||||||
accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
|
accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
|
||||||
goto BattleScript_HitFromAtkString
|
goto BattleScript_HitFromAtkString
|
||||||
BattleScript_MoveMissedDoDamage::
|
BattleScript_MoveMissedDoDamage::
|
||||||
|
jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_PrintMoveMissed
|
||||||
attackstring
|
attackstring
|
||||||
ppreduce
|
ppreduce
|
||||||
pause 0x40
|
pause 0x40
|
||||||
@ -5969,13 +5970,13 @@ BattleScript_PoisonTurnDmg::
|
|||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
BattleScript_DoStatusTurnDmg::
|
BattleScript_DoStatusTurnDmg::
|
||||||
statusanimation BS_ATTACKER
|
statusanimation BS_ATTACKER
|
||||||
BattleScript_DoTurnDmg::
|
BattleScript_DoTurnDmg:
|
||||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
||||||
healthbarupdate BS_ATTACKER
|
healthbarupdate BS_ATTACKER
|
||||||
datahpupdate BS_ATTACKER
|
datahpupdate BS_ATTACKER
|
||||||
tryfaintmon BS_ATTACKER, FALSE, NULL
|
tryfaintmon BS_ATTACKER, FALSE, NULL
|
||||||
atk24 BattleScript_DoTurnDmgEnd
|
atk24 BattleScript_DoTurnDmgEnd
|
||||||
BattleScript_DoTurnDmgEnd::
|
BattleScript_DoTurnDmgEnd:
|
||||||
end2
|
end2
|
||||||
|
|
||||||
BattleScript_PoisonHealActivates::
|
BattleScript_PoisonHealActivates::
|
||||||
@ -6120,6 +6121,7 @@ BattleScript_PrintPayDayMoneyString::
|
|||||||
return
|
return
|
||||||
|
|
||||||
BattleScript_WrapTurnDmg::
|
BattleScript_WrapTurnDmg::
|
||||||
|
jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_DoTurnDmgEnd
|
||||||
playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1
|
playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1
|
||||||
printstring STRINGID_PKMNHURTBY
|
printstring STRINGID_PKMNHURTBY
|
||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
|
@ -5518,6 +5518,7 @@ static void Cmd_switchineffects(void)
|
|||||||
|
|
||||||
if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED)
|
if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED)
|
||||||
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES)
|
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES)
|
||||||
|
&& GetBattlerAbility(gActiveBattler) != ABILITY_MAGIC_GUARD
|
||||||
&& IsBattlerGrounded(gActiveBattler))
|
&& IsBattlerGrounded(gActiveBattler))
|
||||||
{
|
{
|
||||||
u8 spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2;
|
u8 spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2;
|
||||||
@ -5529,7 +5530,8 @@ static void Cmd_switchineffects(void)
|
|||||||
SetDmgHazardsBattlescript(gActiveBattler, 0);
|
SetDmgHazardsBattlescript(gActiveBattler, 0);
|
||||||
}
|
}
|
||||||
else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK_DAMAGED)
|
else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK_DAMAGED)
|
||||||
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK))
|
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK)
|
||||||
|
&& GetBattlerAbility(gActiveBattler) != ABILITY_MAGIC_GUARD)
|
||||||
{
|
{
|
||||||
gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_STEALTH_ROCK_DAMAGED;
|
gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_STEALTH_ROCK_DAMAGED;
|
||||||
gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_STEALTH_ROCK].type, gActiveBattler);
|
gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_STEALTH_ROCK].type, gActiveBattler);
|
||||||
@ -8991,10 +8993,11 @@ static void Cmd_setsandstorm(void)
|
|||||||
|
|
||||||
static void Cmd_weatherdamage(void)
|
static void Cmd_weatherdamage(void)
|
||||||
{
|
{
|
||||||
|
u32 ability = GetBattlerAbility(gBattlerAttacker);
|
||||||
|
|
||||||
gBattleMoveDamage = 0;
|
gBattleMoveDamage = 0;
|
||||||
if (IsBattlerAlive(gBattlerAttacker) && WEATHER_HAS_EFFECT)
|
if (IsBattlerAlive(gBattlerAttacker) && WEATHER_HAS_EFFECT && ability != ABILITY_MAGIC_GUARD)
|
||||||
{
|
{
|
||||||
u32 ability = GetBattlerAbility(gBattlerAttacker);
|
|
||||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||||
{
|
{
|
||||||
if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ROCK)
|
if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ROCK)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user