Ability status immunity
This commit is contained in:
parent
cf85abc270
commit
57da4617da
@ -2801,14 +2801,6 @@ BattleScript_AromaVeilProtects:
|
||||
setmoveresultflags MOVE_RESULT_FAILED
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_PastelVeilProtects:
|
||||
pause B_WAIT_TIME_SHORT
|
||||
call BattleScript_AbilityPopUp
|
||||
printstring STRINGID_PASTELVEILPROTECTED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
setmoveresultflags MOVE_RESULT_FAILED
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_AbilityProtectsDoesntAffectRet::
|
||||
pause B_WAIT_TIME_SHORT
|
||||
call BattleScript_AbilityPopUp
|
||||
@ -3164,10 +3156,7 @@ BattleScript_AlreadyPoisoned::
|
||||
|
||||
BattleScript_ImmunityProtected::
|
||||
call BattleScript_AbilityPopUp
|
||||
pause B_WAIT_TIME_SHORT
|
||||
printfromtable gStatusPreventionStringIds
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
goto BattleScript_ButItFailed
|
||||
|
||||
BattleScript_EffectAuroraVeil::
|
||||
attackcanceler
|
||||
|
||||
@ -197,9 +197,7 @@ enum StringID
|
||||
STRINGID_PKMNPREVENTSUSAGE,
|
||||
STRINGID_PKMNRESTOREDHPUSING,
|
||||
STRINGID_PKMNCHANGEDTYPEWITH,
|
||||
STRINGID_PKMNPREVENTSPARALYSISWITH,
|
||||
STRINGID_PKMNPREVENTSROMANCEWITH,
|
||||
STRINGID_PKMNPREVENTSPOISONINGWITH,
|
||||
STRINGID_PKMNPREVENTSCONFUSIONWITH,
|
||||
STRINGID_PKMNRAISEDFIREPOWERWITH,
|
||||
STRINGID_PKMNANCHORSITSELFWITH,
|
||||
@ -302,7 +300,6 @@ enum StringID
|
||||
STRINGID_ITEMALLOWSONLYYMOVE,
|
||||
STRINGID_PKMNHUNGONWITHX,
|
||||
STRINGID_EMPTYSTRING3,
|
||||
STRINGID_PKMNSXPREVENTSBURNS,
|
||||
STRINGID_PKMNSXBLOCKSY,
|
||||
STRINGID_PKMNSXRESTOREDHPALITTLE2,
|
||||
STRINGID_PKMNSXWHIPPEDUPSANDSTORM,
|
||||
@ -348,14 +345,12 @@ enum StringID
|
||||
STRINGID_PKMNSXBLOCKSY2,
|
||||
STRINGID_PKMNSXWOREOFF,
|
||||
STRINGID_THEWALLSHATTERED,
|
||||
STRINGID_PKMNSXPREVENTSYSZ,
|
||||
STRINGID_PKMNSXCUREDITSYPROBLEM,
|
||||
STRINGID_ATTACKERCANTESCAPE,
|
||||
STRINGID_PKMNOBTAINEDX,
|
||||
STRINGID_PKMNOBTAINEDX2,
|
||||
STRINGID_PKMNOBTAINEDXYOBTAINEDZ,
|
||||
STRINGID_BUTNOEFFECT,
|
||||
STRINGID_PKMNSXHADNOEFFECTONY,
|
||||
STRINGID_TWOENEMIESDEFEATED,
|
||||
STRINGID_TRAINER2LOSETEXT,
|
||||
STRINGID_PKMNINCAPABLEOFPOWER,
|
||||
@ -588,7 +583,6 @@ enum StringID
|
||||
STRINGID_BROKETHROUGHPROTECTION,
|
||||
STRINGID_ABILITYALLOWSONLYMOVE,
|
||||
STRINGID_SWAPPEDABILITIES,
|
||||
STRINGID_PASTELVEILPROTECTED,
|
||||
STRINGID_PASTELVEILENTERS,
|
||||
STRINGID_BATTLERTYPECHANGEDTO,
|
||||
STRINGID_BOTHCANNOLONGERESCAPE,
|
||||
@ -1040,17 +1034,6 @@ enum GotStatusedStringID
|
||||
B_MSG_STATUSED_BY_ABILITY,
|
||||
};
|
||||
|
||||
// gStatusPreventionStringIds
|
||||
enum StatusPreventionStringID
|
||||
{
|
||||
B_MSG_ABILITY_PREVENTS_MOVE_BURN,
|
||||
B_MSG_ABILITY_PREVENTS_MOVE_PARALYSIS,
|
||||
B_MSG_ABILITY_PREVENTS_MOVE_POISON,
|
||||
B_MSG_ABILITY_PREVENTS_ABILITY_STATUS,
|
||||
B_MSG_STATUS_HAD_NO_EFFECT,
|
||||
B_MSG_ABILITY_PASTEL_VEIL,
|
||||
};
|
||||
|
||||
// gGotDefrostedStringIds
|
||||
enum GotDefrostedStringID
|
||||
{
|
||||
|
||||
@ -427,14 +427,11 @@ void BattleArena_DeductSkillPoints(u8 battler, enum StringID stringId)
|
||||
case STRINGID_PKMNSXBLOCKSY2:
|
||||
case STRINGID_PKMNSXPREVENTSYLOSS:
|
||||
case STRINGID_PKMNSXMADEYINEFFECTIVE:
|
||||
case STRINGID_PKMNSXPREVENTSBURNS:
|
||||
case STRINGID_PKMNSXBLOCKSY:
|
||||
case STRINGID_PKMNPROTECTEDBY:
|
||||
case STRINGID_PKMNPREVENTSUSAGE:
|
||||
case STRINGID_PKMNRESTOREDHPUSING:
|
||||
case STRINGID_PKMNPREVENTSPARALYSISWITH:
|
||||
case STRINGID_PKMNPREVENTSROMANCEWITH:
|
||||
case STRINGID_PKMNPREVENTSPOISONINGWITH:
|
||||
case STRINGID_PKMNPREVENTSCONFUSIONWITH:
|
||||
case STRINGID_PKMNRAISEDFIREPOWERWITH:
|
||||
case STRINGID_PKMNANCHORSITSELFWITH:
|
||||
|
||||
@ -356,9 +356,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_PKMNPREVENTSUSAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents {B_ATK_NAME_WITH_PREFIX2} from using {B_CURRENT_MOVE}!"), //I don't see this in SV text
|
||||
[STRINGID_PKMNRESTOREDHPUSING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} restored HP using its {B_DEF_ABILITY}!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNCHANGEDTYPEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made it the {B_BUFF1} type!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNPREVENTSPARALYSISWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} prevents paralysis!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNPREVENTSROMANCEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents romance!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNPREVENTSPOISONINGWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} prevents poisoning!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNPREVENTSCONFUSIONWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents confusion!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNRAISEDFIREPOWERWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised the power of Fire-type moves!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNANCHORSITSELFWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} anchors itself with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup
|
||||
@ -461,7 +459,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_ITEMALLOWSONLYYMOVE] = COMPOUND_STRING("{B_LAST_ITEM} only allows the use of {B_CURRENT_MOVE}!\p"),
|
||||
[STRINGID_PKMNHUNGONWITHX] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} hung on using its {B_LAST_ITEM}!"),
|
||||
[STRINGID_EMPTYSTRING3] = gText_EmptyString3,
|
||||
[STRINGID_PKMNSXPREVENTSBURNS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} prevents burns!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNSXBLOCKSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNSXRESTOREDHPALITTLE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} restored its HP a little!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNSXWHIPPEDUPSANDSTORM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} whipped up a sandstorm!"), //not in gen 5+, ability popup
|
||||
@ -507,14 +504,12 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_PKMNSXBLOCKSY2] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup
|
||||
[STRINGID_PKMNSXWOREOFF] = COMPOUND_STRING("{B_ATK_TEAM1} team's {B_BUFF1} wore off!"),
|
||||
[STRINGID_THEWALLSHATTERED] = COMPOUND_STRING("The wall shattered!"), //not in gen5+, uses "your teams light screen wore off!" etc instead
|
||||
[STRINGID_PKMNSXPREVENTSYSZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY} from working!"),
|
||||
[STRINGID_PKMNSXCUREDITSYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup
|
||||
[STRINGID_ATTACKERCANTESCAPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't escape!"),
|
||||
[STRINGID_PKMNOBTAINEDX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}."),
|
||||
[STRINGID_PKMNOBTAINEDX2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."),
|
||||
[STRINGID_PKMNOBTAINEDXYOBTAINEDZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."),
|
||||
[STRINGID_BUTNOEFFECT] = COMPOUND_STRING("But it had no effect!"),
|
||||
[STRINGID_PKMNSXHADNOEFFECTONY] = COMPOUND_STRING("Target protected by {B_LAST_ABILITY}!"), //not in gen 5+, ability popup
|
||||
[STRINGID_TWOENEMIESDEFEATED] = sText_TwoInGameTrainersDefeated,
|
||||
[STRINGID_TRAINER2LOSETEXT] = COMPOUND_STRING("{B_TRAINER2_LOSE_TEXT}"),
|
||||
[STRINGID_PKMNINCAPABLEOFPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} appears incapable of using its power!"),
|
||||
@ -748,7 +743,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_BROKETHROUGHPROTECTION] = COMPOUND_STRING("It broke through {B_DEF_NAME_WITH_PREFIX2}'s protection!"),
|
||||
[STRINGID_ABILITYALLOWSONLYMOVE] = COMPOUND_STRING("{B_ATK_ABILITY} only allows the use of {B_CURRENT_MOVE}!\p"),
|
||||
[STRINGID_SWAPPEDABILITIES] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} swapped Abilities with its target!"),
|
||||
[STRINGID_PASTELVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by a pastel veil!"),
|
||||
[STRINGID_PASTELVEILENTERS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of its poisoning!"),
|
||||
[STRINGID_BATTLERTYPECHANGEDTO] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s type changed to {B_BUFF1}!"),
|
||||
[STRINGID_BOTHCANNOLONGERESCAPE] = COMPOUND_STRING("Neither Pokémon can run away!"),
|
||||
@ -1323,16 +1317,6 @@ const u16 gBerryEffectStringIds[] =
|
||||
[B_MSG_NORMALIZED_STATUS] = STRINGID_PKMNSITEMNORMALIZEDSTATUS
|
||||
};
|
||||
|
||||
const u16 gStatusPreventionStringIds[] =
|
||||
{
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_BURN] = STRINGID_PKMNSXPREVENTSBURNS,
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_PARALYSIS] = STRINGID_PKMNPREVENTSPARALYSISWITH,
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_POISON] = STRINGID_PKMNPREVENTSPOISONINGWITH,
|
||||
[B_MSG_ABILITY_PREVENTS_ABILITY_STATUS] = STRINGID_PKMNSXPREVENTSYSZ,
|
||||
[B_MSG_STATUS_HAD_NO_EFFECT] = STRINGID_PKMNSXHADNOEFFECTONY,
|
||||
[B_MSG_ABILITY_PASTEL_VEIL] = STRINGID_PASTELVEILPROTECTED
|
||||
};
|
||||
|
||||
const u16 gItemSwapStringIds[] =
|
||||
{
|
||||
[B_MSG_ITEM_SWAP_TAKEN] = STRINGID_PKMNOBTAINEDX,
|
||||
|
||||
@ -5645,13 +5645,11 @@ bool32 CanSetNonVolatileStatus(u32 battlerAtk, u32 battlerDef, u32 abilityAtk, u
|
||||
abilityAffected = TRUE;
|
||||
battlerDef = sideBattler - 1;
|
||||
abilityDef = ABILITY_PASTEL_VEIL;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PASTEL_VEIL;
|
||||
battleScript = BattleScript_ImmunityProtected;
|
||||
}
|
||||
else if (abilityDef == ABILITY_IMMUNITY)
|
||||
{
|
||||
abilityAffected = TRUE;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_POISON;
|
||||
battleScript = BattleScript_ImmunityProtected;
|
||||
}
|
||||
break;
|
||||
@ -5673,7 +5671,6 @@ bool32 CanSetNonVolatileStatus(u32 battlerAtk, u32 battlerDef, u32 abilityAtk, u
|
||||
else if (abilityDef == ABILITY_LIMBER)
|
||||
{
|
||||
abilityAffected = TRUE;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_PARALYSIS;
|
||||
battleScript = BattleScript_ImmunityProtected;
|
||||
}
|
||||
break;
|
||||
@ -5689,7 +5686,6 @@ bool32 CanSetNonVolatileStatus(u32 battlerAtk, u32 battlerDef, u32 abilityAtk, u
|
||||
else if (abilityDef == ABILITY_WATER_VEIL || abilityDef == ABILITY_WATER_BUBBLE)
|
||||
{
|
||||
abilityAffected = TRUE;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_BURN;
|
||||
battleScript = BattleScript_ImmunityProtected;
|
||||
}
|
||||
else if (abilityDef == ABILITY_THERMAL_EXCHANGE)
|
||||
@ -5720,7 +5716,6 @@ bool32 CanSetNonVolatileStatus(u32 battlerAtk, u32 battlerDef, u32 abilityAtk, u
|
||||
abilityAffected = TRUE;
|
||||
battlerDef = sideBattler - 1;
|
||||
abilityDef = ABILITY_SWEET_VEIL;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUS_HAD_NO_EFFECT;
|
||||
battleScript = BattleScript_ImmunityProtected;
|
||||
}
|
||||
else if (abilityDef == ABILITY_VITAL_SPIRIT || abilityDef == ABILITY_INSOMNIA)
|
||||
|
||||
@ -27,7 +27,7 @@ SINGLE_BATTLE_TEST("Immunity prevents Toxic bad poison")
|
||||
} SCENE {
|
||||
MESSAGE("Wobbuffet used Toxic!");
|
||||
ABILITY_POPUP(opponent, ABILITY_IMMUNITY);
|
||||
MESSAGE("The opposing Snorlax's Immunity prevents poisoning!");
|
||||
MESSAGE("But it failed!");
|
||||
NOT STATUS_ICON(opponent, poison: TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ SINGLE_BATTLE_TEST("Limber prevents paralysis from Thunder Wave")
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_THUNDER_WAVE); }
|
||||
} SCENE {
|
||||
MESSAGE("Persian's Limber prevents paralysis!");
|
||||
MESSAGE("But it failed!");
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player);
|
||||
STATUS_ICON(player, paralysis: TRUE);
|
||||
|
||||
@ -80,7 +80,7 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison")
|
||||
} SCENE {
|
||||
MESSAGE("Wobbuffet used Toxic!");
|
||||
ABILITY_POPUP(opponent, ABILITY_PASTEL_VEIL);
|
||||
MESSAGE("The opposing Ponyta is protected by a pastel veil!");
|
||||
MESSAGE("But it failed!");
|
||||
NOT STATUS_ICON(opponent, badPoison: TRUE);
|
||||
}
|
||||
}
|
||||
@ -97,7 +97,7 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison on partner - right tar
|
||||
} SCENE {
|
||||
MESSAGE("Wobbuffet used Toxic!");
|
||||
ABILITY_POPUP(opponentLeft, ABILITY_PASTEL_VEIL);
|
||||
MESSAGE("The opposing Wynaut is protected by a pastel veil!");
|
||||
MESSAGE("But it failed!");
|
||||
NOT STATUS_ICON(opponentRight, badPoison: TRUE);
|
||||
}
|
||||
}
|
||||
@ -114,7 +114,7 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison on partner - left targ
|
||||
} SCENE {
|
||||
MESSAGE("Wobbuffet used Toxic!");
|
||||
ABILITY_POPUP(opponentRight, ABILITY_PASTEL_VEIL);
|
||||
MESSAGE("The opposing Wynaut is protected by a pastel veil!");
|
||||
MESSAGE("But it failed!");
|
||||
NOT STATUS_ICON(opponentLeft, badPoison: TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Water Bubble prevents burn from Will-o-Wisp")
|
||||
TURN { MOVE(opponent, MOVE_WILL_O_WISP); }
|
||||
} SCENE {
|
||||
ABILITY_POPUP(player, ABILITY_WATER_BUBBLE);
|
||||
MESSAGE("Dewpider's Water Bubble prevents burns!");
|
||||
MESSAGE("But it failed!");
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player);
|
||||
STATUS_ICON(player, burn: TRUE);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user