Update multiple battle messages (#7529)

This commit is contained in:
Bassoonian 2025-08-30 16:58:50 +02:00 committed by GitHub
commit 33686c31aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 8 additions and 111 deletions

View File

@ -207,10 +207,8 @@ BattleScript_EffectDoodle::
BattleScript_EffectDoodle_CopyAbility:
trycopyability BS_ATTACKER, BattleScript_EffectDoodleMoveEnd
BattleScript_EffectDoodle_AfterCopy:
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerAttacker
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_ATTACKER
printstring STRINGID_PKMNCOPIEDFOE
waitmessage B_WAIT_TIME_LONG
@ -2226,10 +2224,8 @@ BattleScript_EffectSimpleBeam::
setsimplebeam BattleScript_ButItFailed
attackanimation
waitanimation
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerTarget
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_TARGET
printstring STRINGID_PKMNACQUIREDSIMPLE
waitmessage B_WAIT_TIME_LONG
@ -2328,10 +2324,8 @@ BattleScript_EffectWorrySeed::
tryworryseed BattleScript_ButItFailed
attackanimation
waitanimation
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerTarget
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_TARGET
printstring STRINGID_PKMNACQUIREDABILITY
waitmessage B_WAIT_TIME_LONG
@ -2804,14 +2798,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
@ -3127,10 +3113,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_DoesntAffectTargetAtkString
BattleScript_EffectAuroraVeil::
attackcanceler
@ -4671,10 +4654,8 @@ BattleScript_EffectRolePlay::
trycopyability BS_ATTACKER, BattleScript_ButItFailed
attackanimation
waitanimation
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerAttacker
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_ATTACKER
printstring STRINGID_PKMNCOPIEDFOE
waitmessage B_WAIT_TIME_LONG
@ -4806,13 +4787,11 @@ BattleScript_EffectSkillSwap::
attackanimation
waitanimation
jumpiftargetally BattleScript_EffectSkillSwap_AfterAbilityPopUp
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerAttacker
call BattleScript_AbilityPopUpOverwriteThenNormal
copybyte gBattlerAbility, gBattlerTarget
copyhword sABILITY_OVERWRITE, gLastUsedAbility
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
BattleScript_EffectSkillSwap_AfterAbilityPopUp:
recordability BS_ATTACKER
recordability BS_TARGET
@ -7102,10 +7081,8 @@ BattleScript_AbilityPopUpTarget::
copybyte gBattlerAbility, gBattlerTarget
BattleScript_AbilityPopUp::
tryactivateabilityshield BS_ABILITY_BATTLER
.if B_ABILITY_POP_UP == TRUE
showabilitypopup
pause B_WAIT_TIME_SHORT
.endif
recordability BS_ABILITY_BATTLER
sethword sABILITY_OVERWRITE, 0
return
@ -7156,11 +7133,9 @@ BattleScript_MoodyEnd:
end3
BattleScript_EmergencyExit::
.if B_ABILITY_POP_UP == TRUE
pause 5
call BattleScript_AbilityPopUpScripting
pause B_WAIT_TIME_LONG
.endif
playanimation BS_SCRIPTING, B_ANIM_SLIDE_OFFSCREEN
waitanimation
openpartyscreen BS_SCRIPTING, BattleScript_EmergencyExitRet
@ -7179,11 +7154,9 @@ BattleScript_EmergencyExitRet:
return
BattleScript_EmergencyExitWild::
.if B_ABILITY_POP_UP == TRUE
pause 5
call BattleScript_AbilityPopUpScripting
pause B_WAIT_TIME_LONG
.endif
playanimation BS_SCRIPTING, B_ANIM_SLIDE_OFFSCREEN
waitanimation
setteleportoutcome BS_SCRIPTING
@ -7914,13 +7887,11 @@ BattleScript_CursedBodyActivates::
return
BattleScript_MummyActivates::
.if B_ABILITY_POP_UP == TRUE
setbyte sFIXED_ABILITY_POPUP, TRUE
call BattleScript_AbilityPopUpTarget
copybyte gBattlerAbility, gBattlerAttacker
copyhword sABILITY_OVERWRITE, gLastUsedAbility
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_TARGET
recordability BS_ATTACKER
printstring STRINGID_ATTACKERACQUIREDABILITY
@ -7930,14 +7901,12 @@ BattleScript_MummyActivates::
BattleScript_WanderingSpiritActivates::
saveattacker
savetarget
.if B_ABILITY_POP_UP == TRUE
copybyte gBattlerAbility, gBattlerTarget
sethword sABILITY_OVERWRITE, ABILITY_WANDERING_SPIRIT
call BattleScript_AbilityPopUpOverwriteThenNormal
copybyte gBattlerAbility, gBattlerAttacker
copyhword sABILITY_OVERWRITE, gLastUsedAbility
call BattleScript_AbilityPopUpOverwriteThenNormal
.endif
recordability BS_TARGET
recordability BS_ATTACKER
printstring STRINGID_SWAPPEDABILITIES

View File

@ -268,7 +268,6 @@
#define B_NEW_TERRAIN_BACKGROUNDS FALSE // If set to TRUE, uses new terrain backgrounds for Electric, Misty, Grassy and Psychic Terrain.
// Interface settings
#define B_ABILITY_POP_UP TRUE // In Gen5+, the Pokémon abilities are displayed in a pop-up, when they activate in battle.
#define B_FAST_INTRO_PKMN_TEXT TRUE // If set to TRUE, battle intro texts print at the same time as animation of a Pokémon, as opposing to waiting for the animation to end.
#define B_FAST_INTRO_NO_SLIDE FALSE // If set to TRUE, the slide animation that happens at the beginning of the battle is skipped.
#define B_FAST_HP_DRAIN TRUE // If set to TRUE, HP bars will move faster.

View File

@ -61,11 +61,8 @@ enum StringID
STRINGID_PKMNISPARALYZED,
STRINGID_PKMNISALREADYPARALYZED,
STRINGID_PKMNHEALEDPARALYSIS,
STRINGID_PKMNDREAMEATEN,
STRINGID_STATSWONTINCREASE,
STRINGID_STATSWONTDECREASE,
STRINGID_TEAMSTOPPEDWORKING,
STRINGID_FOESTOPPEDWORKING,
STRINGID_PKMNISCONFUSED,
STRINGID_PKMNHEALEDCONFUSION,
STRINGID_PKMNWASCONFUSED,
@ -73,7 +70,6 @@ enum StringID
STRINGID_PKMNFELLINLOVE,
STRINGID_PKMNINLOVE,
STRINGID_PKMNIMMOBILIZEDBYLOVE,
STRINGID_PKMNBLOWNAWAY,
STRINGID_PKMNCHANGEDTYPE,
STRINGID_PKMNFLINCHED,
STRINGID_PKMNREGAINEDHEALTH,
@ -179,7 +175,6 @@ enum StringID
STRINGID_PKMNREADYTOHELP,
STRINGID_PKMNSWITCHEDITEMS,
STRINGID_PKMNCOPIEDFOE,
STRINGID_PKMNMADEWISH,
STRINGID_PKMNWISHCAMETRUE,
STRINGID_PKMNPLANTEDROOTS,
STRINGID_PKMNABSORBEDNUTRIENTS,
@ -201,9 +196,7 @@ enum StringID
STRINGID_PKMNPREVENTSUSAGE,
STRINGID_PKMNRESTOREDHPUSING,
STRINGID_PKMNCHANGEDTYPEWITH,
STRINGID_PKMNPREVENTSPARALYSISWITH,
STRINGID_PKMNPREVENTSROMANCEWITH,
STRINGID_PKMNPREVENTSPOISONINGWITH,
STRINGID_PKMNPREVENTSCONFUSIONWITH,
STRINGID_PKMNRAISEDFIREPOWERWITH,
STRINGID_PKMNANCHORSITSELFWITH,
@ -250,7 +243,6 @@ enum StringID
STRINGID_HAILSTOPPED,
STRINGID_FAILEDTOSPITUP,
STRINGID_FAILEDTOSWALLOW,
STRINGID_WINDBECAMEHEATWAVE,
STRINGID_STATCHANGESGONE,
STRINGID_COINSSCATTERED,
STRINGID_TOOWEAKFORSUBSTITUTE,
@ -307,7 +299,6 @@ enum StringID
STRINGID_ITEMALLOWSONLYYMOVE,
STRINGID_PKMNHUNGONWITHX,
STRINGID_EMPTYSTRING3,
STRINGID_PKMNSXPREVENTSBURNS,
STRINGID_PKMNSXBLOCKSY,
STRINGID_PKMNSXRESTOREDHPALITTLE2,
STRINGID_PKMNSXWHIPPEDUPSANDSTORM,
@ -326,7 +317,6 @@ enum StringID
STRINGID_PLAYERDEFEATEDTRAINER1,
STRINGID_SOOTHINGAROMA,
STRINGID_ITEMSCANTBEUSEDNOW,
STRINGID_FORXCOMMAYZ,
STRINGID_USINGITEMSTATOFPKMNROSE,
STRINGID_PKMNUSEDXTOGETPUMPED,
STRINGID_PKMNSXMADEYUSELESS,
@ -343,7 +333,6 @@ enum StringID
STRINGID_PKMNFLEDUSINGITS,
STRINGID_PKMNFLEDUSING,
STRINGID_PKMNWASDRAGGEDOUT,
STRINGID_PREVENTEDFROMWORKING,
STRINGID_PKMNSITEMNORMALIZEDSTATUS,
STRINGID_TRAINER1USEDITEM,
STRINGID_BOXISFULL,
@ -354,17 +343,13 @@ enum StringID
STRINGID_STATSWONTDECREASE2,
STRINGID_PKMNSXBLOCKSY2,
STRINGID_PKMNSXWOREOFF,
STRINGID_PKMNRAISEDDEFALITTLE,
STRINGID_PKMNRAISEDSPDEFALITTLE,
STRINGID_THEWALLSHATTERED,
STRINGID_PKMNSXPREVENTSYSZ,
STRINGID_PKMNSXCUREDITSYPROBLEM,
STRINGID_ATTACKERCANTESCAPE,
STRINGID_PKMNOBTAINEDX,
STRINGID_PKMNOBTAINEDX2,
STRINGID_PKMNOBTAINEDXYOBTAINEDZ,
STRINGID_BUTNOEFFECT,
STRINGID_PKMNSXHADNOEFFECTONY,
STRINGID_TWOENEMIESDEFEATED,
STRINGID_TRAINER2LOSETEXT,
STRINGID_PKMNINCAPABLEOFPOWER,
@ -597,7 +582,6 @@ enum StringID
STRINGID_BROKETHROUGHPROTECTION,
STRINGID_ABILITYALLOWSONLYMOVE,
STRINGID_SWAPPEDABILITIES,
STRINGID_PASTELVEILPROTECTED,
STRINGID_PASTELVEILENTERS,
STRINGID_BATTLERTYPECHANGEDTO,
STRINGID_BOTHCANNOLONGERESCAPE,
@ -1049,17 +1033,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
{

View File

@ -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:

View File

@ -2638,9 +2638,6 @@ void CreateAbilityPopUp(u8 battler, u32 ability, bool32 isDoubleBattle)
struct SpriteTemplate template;
const s16 (*coords)[2];
if (!B_ABILITY_POP_UP)
return;
if (gBattleScripting.abilityPopupOverwrite)
ability = gBattleScripting.abilityPopupOverwrite;

View File

@ -220,11 +220,8 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNISPARALYZED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} couldn't move because it's paralyzed!"),
[STRINGID_PKMNISALREADYPARALYZED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already paralyzed!"),
[STRINGID_PKMNHEALEDPARALYSIS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of paralysis!"),
[STRINGID_PKMNDREAMEATEN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s dream was eaten!"), //not in gen 5+, expansion doesn't use anymore
[STRINGID_STATSWONTINCREASE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"),
[STRINGID_STATSWONTDECREASE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any lower!"),
[STRINGID_TEAMSTOPPEDWORKING] = COMPOUND_STRING("Your team's {B_BUFF1} stopped working!"), //unused
[STRINGID_FOESTOPPEDWORKING] = COMPOUND_STRING("The foe's {B_BUFF1} stopped working!"), //unused
[STRINGID_PKMNISCONFUSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is confused!"),
[STRINGID_PKMNHEALEDCONFUSION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} snapped out of its confusion!"),
[STRINGID_PKMNWASCONFUSED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} became confused!"),
@ -232,7 +229,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNFELLINLOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell in love!"),
[STRINGID_PKMNINLOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is in love with {B_SCR_NAME_WITH_PREFIX2}!"),
[STRINGID_PKMNIMMOBILIZEDBYLOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is immobilized by love!"),
[STRINGID_PKMNBLOWNAWAY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was blown away!"), //unused
[STRINGID_PKMNCHANGEDTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"),
[STRINGID_PKMNFLINCHED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flinched and couldn't move!"),
[STRINGID_PKMNREGAINEDHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored."),
@ -324,7 +320,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNFLEDFROMBATTLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} fled from battle!"),
[STRINGID_PKMNFORESAWATTACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} foresaw an attack!"),
[STRINGID_PKMNTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the {B_BUFF1} attack!"),
[STRINGID_PKMNATTACK] = COMPOUND_STRING("{B_BUFF1}'s attack!"), //not in gen 5+, expansion doesn't use anymore
[STRINGID_PKMNATTACK] = COMPOUND_STRING("{B_BUFF1}'s attack!"), //not in gen 5+
[STRINGID_PKMNCENTERATTENTION] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became the center of attention!"),
[STRINGID_PKMNCHARGINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} began charging power!"),
[STRINGID_NATUREPOWERTURNEDINTO] = COMPOUND_STRING("Nature Power turned into {B_CURRENT_MOVE}!"),
@ -338,7 +334,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNREADYTOHELP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is ready to help {B_DEF_NAME_WITH_PREFIX2}!"),
[STRINGID_PKMNSWITCHEDITEMS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched items with its target!"),
[STRINGID_PKMNCOPIEDFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}'s Ability!"),
[STRINGID_PKMNMADEWISH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} made a wish!"), //unused
[STRINGID_PKMNWISHCAMETRUE] = COMPOUND_STRING("{B_BUFF1}'s wish came true!"),
[STRINGID_PKMNPLANTEDROOTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} planted its roots!"),
[STRINGID_PKMNABSORBEDNUTRIENTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} absorbed nutrients with its roots!"),
@ -360,9 +355,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
@ -409,7 +402,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_HAILSTOPPED] = COMPOUND_STRING("The hail stopped."),
[STRINGID_FAILEDTOSPITUP] = COMPOUND_STRING("But it failed to spit up a thing!"), //not in gen 5+, uses "but it failed"
[STRINGID_FAILEDTOSWALLOW] = COMPOUND_STRING("But it failed to swallow a thing!"), //not in gen 5+, uses "but it failed"
[STRINGID_WINDBECAMEHEATWAVE] = COMPOUND_STRING("The wind turned into a Heat Wave!"), //unused
[STRINGID_STATCHANGESGONE] = COMPOUND_STRING("All stat changes were eliminated!"),
[STRINGID_COINSSCATTERED] = COMPOUND_STRING("Coins were scattered everywhere!"),
[STRINGID_TOOWEAKFORSUBSTITUTE] = COMPOUND_STRING("But it does not have enough HP left to make a substitute!"),
@ -466,7 +458,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_ABILITY} whipped up a sandstorm!"), //not in gen 5+, ability popup
@ -485,7 +476,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PLAYERDEFEATEDTRAINER1] = sText_PlayerDefeatedLinkTrainerTrainer1,
[STRINGID_SOOTHINGAROMA] = COMPOUND_STRING("A soothing aroma wafted through the area!"),
[STRINGID_ITEMSCANTBEUSEDNOW] = COMPOUND_STRING("Items can't be used now.{PAUSE 64}"), //not in gen 5+, i think
[STRINGID_FORXCOMMAYZ] = COMPOUND_STRING("For {B_SCR_NAME_WITH_PREFIX2}, {B_LAST_ITEM} {B_BUFF1}"), //not in gen 5+, expansion doesn't use anymore
[STRINGID_USINGITEMSTATOFPKMNROSE] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}"), //todo: update this, will require code changes
[STRINGID_PKMNUSEDXTOGETPUMPED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used the {B_LAST_ITEM} to get pumped!"),
[STRINGID_PKMNSXMADEYUSELESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} useless!"), //not in gen 5+, ability popup
@ -502,7 +492,6 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_PKMNFLEDUSINGITS] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using its {B_LAST_ITEM}!\p"),
[STRINGID_PKMNFLEDUSING] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using {B_ATK_ABILITY}!\p"), //not in gen 5+
[STRINGID_PKMNWASDRAGGEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was dragged out!\p"),
[STRINGID_PREVENTEDFROMWORKING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevented {B_SCR_NAME_WITH_PREFIX2}'s {B_BUFF1} from working!"), //unused
[STRINGID_PKMNSITEMNORMALIZEDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} normalized its status!"),
[STRINGID_TRAINER1USEDITEM] = COMPOUND_STRING("{B_ATK_TRAINER_NAME_WITH_CLASS} used {B_LAST_ITEM}!"),
[STRINGID_BOXISFULL] = COMPOUND_STRING("The Box is full! You can't catch any more!\p"),
@ -513,17 +502,13 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_STATSWONTDECREASE2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stats won't go any lower!"),
[STRINGID_PKMNSXBLOCKSY2] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_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_PKMNRAISEDDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised DEFENSE a little!"), //expansion doesn't use anymore
[STRINGID_PKMNRAISEDSPDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised SP. DEF a little!"), //expansion doesn't use anymore
[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_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!"),
@ -757,7 +742,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!"),
@ -1333,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,

View File

@ -480,12 +480,10 @@ void BattleTv_SetDataBasedOnString(enum StringID stringId)
}
break;
case STRINGID_PKMNRAISEDDEF:
case STRINGID_PKMNRAISEDDEFALITTLE:
tvPtr->side[atkSide].reflectMonId = gBattlerPartyIndexes[gBattlerAttacker] + 1;
tvPtr->side[atkSide].reflectMoveSlot = moveSlot;
break;
case STRINGID_PKMNRAISEDSPDEF:
case STRINGID_PKMNRAISEDSPDEFALITTLE:
tvPtr->side[atkSide].lightScreenMonId = gBattlerPartyIndexes[gBattlerAttacker] + 1;
tvPtr->side[atkSide].lightScreenMoveSlot = moveSlot;
break;

View File

@ -5672,13 +5672,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;
@ -5700,7 +5698,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;
@ -5716,7 +5713,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)
@ -5747,7 +5743,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)

View File

@ -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("It doesn't affect the opposing Snorlax…");
NOT STATUS_ICON(opponent, poison: TRUE);
}
}

View File

@ -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("It doesn't affect Persian…");
NONE_OF {
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player);
STATUS_ICON(player, paralysis: TRUE);

View File

@ -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("It doesn't affect the opposing Ponyta…");
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("It doesn't affect the opposing Wynaut…");
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("It doesn't affect the opposing Wynaut…");
NOT STATUS_ICON(opponentLeft, badPoison: TRUE);
}
}

View File

@ -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("It doesn't affect Dewpider…");
NONE_OF {
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player);
STATUS_ICON(player, burn: TRUE);

View File

@ -2559,7 +2559,6 @@ void CloseQueueGroup(u32 sourceLine)
void QueueAbility(u32 sourceLine, struct BattlePokemon *battler, struct AbilityEventContext ctx)
{
#if B_ABILITY_POP_UP
s32 battlerId = battler - gBattleMons;
INVALID_IF(!STATE->runScene, "ABILITY_POPUP outside of SCENE");
if (DATA.queuedEventsCount == MAX_QUEUED_EVENTS)
@ -2574,7 +2573,6 @@ void QueueAbility(u32 sourceLine, struct BattlePokemon *battler, struct AbilityE
.ability = ctx.ability,
}},
};
#endif
}
void QueueAnimation(u32 sourceLine, u32 type, u32 id, struct AnimationEventContext ctx)

View File

@ -663,8 +663,6 @@ TEST("Battle strings fit on the battle message window")
break;
// Buffer Move name to B_BUFF1
case STRINGID_PKMNLEARNEDMOVE2:
case STRINGID_TEAMSTOPPEDWORKING: // Unused
case STRINGID_FOESTOPPEDWORKING: // Unused
case STRINGID_PKMNHURTBY:
case STRINGID_PKMNFREEDFROM:
case STRINGID_PKMNMOVEWASDISABLED:
@ -758,7 +756,6 @@ TEST("Battle strings fit on the battle message window")
case STRINGID_PKMNCURIOUSABOUTX:
case STRINGID_PKMNENTHRALLEDBYX:
case STRINGID_PKMNIGNOREDX:
case STRINGID_PREVENTEDFROMWORKING:
case STRINGID_PKMNOBTAINEDX:
case STRINGID_ABOUTTOUSEPOLTERGEIST:
PREPARE_ITEM_BUFFER(gBattleTextBuff1, longItemName);