Fixes Toxic Spikes Absorbed message (#6448)
This commit is contained in:
parent
7663fb8870
commit
cf9ee2caee
@ -424,6 +424,8 @@ B_TRAINER1_NAME_WITH_CLASS = FD 42
|
||||
B_TRAINER2_NAME_WITH_CLASS = FD 43
|
||||
B_PARTNER_NAME_WITH_CLASS = FD 44
|
||||
B_ATK_TRAINER_NAME_WITH_CLASS = FD 45
|
||||
B_SCR_TEAM1 = FD 46
|
||||
B_SCR_TEAM2 = FD 47
|
||||
|
||||
@ indicates the end of a town/city name (before " TOWN" or " CITY")
|
||||
NAME_END = FC 00
|
||||
|
||||
@ -83,6 +83,8 @@
|
||||
#define B_TXT_TRAINER2_NAME_WITH_CLASS 0x43
|
||||
#define B_TXT_PARTNER_NAME_WITH_CLASS 0x44
|
||||
#define B_TXT_ATK_TRAINER_NAME_WITH_CLASS 0x45
|
||||
#define B_TXT_SCR_TEAM1 0x46
|
||||
#define B_TXT_SCR_TEAM2 0x47
|
||||
|
||||
#define B_BUFF_STRING 0
|
||||
#define B_BUFF_NUMBER 1
|
||||
|
||||
@ -636,7 +636,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
[STRINGID_PROTEANTYPECHANGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed it into the {B_BUFF1} type!"),
|
||||
[STRINGID_SYMBIOSISITEMPASS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} passed its {B_LAST_ITEM} to {B_EFF_NAME_WITH_PREFIX2} through {B_LAST_ABILITY}!"),
|
||||
[STRINGID_STEALTHROCKDMG] = COMPOUND_STRING("Pointed stones dug into {B_SCR_NAME_WITH_PREFIX2}!"),
|
||||
[STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_ATK_TEAM2} team!"),
|
||||
[STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_SCR_TEAM2} team!"),
|
||||
[STRINGID_TOXICSPIKESPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was poisoned!"),
|
||||
[STRINGID_STICKYWEBSWITCHIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was caught in a sticky web!"),
|
||||
[STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("The healing wish came true for {B_ATK_NAME_WITH_PREFIX2}!"),
|
||||
@ -3112,6 +3112,18 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst, u32 dstSize)
|
||||
else
|
||||
toCpy = sText_Opposing2;
|
||||
break;
|
||||
case B_TXT_SCR_TEAM1:
|
||||
if (GetBattlerSide(gBattleScripting.battler) == B_SIDE_PLAYER)
|
||||
toCpy = sText_Your1;
|
||||
else
|
||||
toCpy = sText_Opposing1;
|
||||
break;
|
||||
case B_TXT_SCR_TEAM2:
|
||||
if (GetBattlerSide(gBattleScripting.battler) == B_SIDE_PLAYER)
|
||||
toCpy = sText_Your2;
|
||||
else
|
||||
toCpy = sText_Opposing2;
|
||||
break;
|
||||
case B_TXT_ATK_NAME_WITH_PREFIX2:
|
||||
HANDLE_NICKNAME_STRING_LOWERCASE(gBattlerAttacker)
|
||||
break;
|
||||
|
||||
@ -119,3 +119,48 @@ SINGLE_BATTLE_TEST("Dragon Tail effect fails against target with Suction Cups")
|
||||
NOT MESSAGE("The opposing Charmander was dragged out!");
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Dragon Tail switches target out and incoming mon has Immunity negated by Mold Breaker")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_TOXIC_SPIKES) == EFFECT_TOXIC_SPIKES);
|
||||
PLAYER(SPECIES_PANCHAM) { Ability(ABILITY_MOLD_BREAKER); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_SNORLAX) { Ability(ABILITY_IMMUNITY); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_TOXIC_SPIKES); }
|
||||
TURN { MOVE(player, MOVE_DRAGON_TAIL); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, player);
|
||||
HP_BAR(opponent);
|
||||
MESSAGE("The opposing Snorlax was dragged out!");
|
||||
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent);
|
||||
STATUS_ICON(opponent, poison: TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Dragon Tail switches target out and incoming mon has Levitate negated by Mold Breaker")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_TOXIC_SPIKES) == EFFECT_TOXIC_SPIKES);
|
||||
ASSUME(GetMoveEffect(MOVE_SPIKES) == EFFECT_SPIKES);
|
||||
ASSUME(gSpeciesInfo[SPECIES_WEEZING].types[0] == TYPE_POISON || gSpeciesInfo[SPECIES_WEEZING].types[1] == TYPE_POISON);
|
||||
PLAYER(SPECIES_PANCHAM) { Ability(ABILITY_MOLD_BREAKER); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WEEZING) { Ability(ABILITY_LEVITATE); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_TOXIC_SPIKES); }
|
||||
TURN { MOVE(player, MOVE_SPIKES); }
|
||||
TURN { MOVE(player, MOVE_DRAGON_TAIL); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKES, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, player);
|
||||
HP_BAR(opponent);
|
||||
MESSAGE("The opposing Weezing was dragged out!");
|
||||
HP_BAR(opponent);
|
||||
NOT STATUS_ICON(opponent, poison: TRUE);
|
||||
MESSAGE("The poison spikes disappeared from the ground around the opposing team!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2038,8 +2038,7 @@ s32 MoveGetTarget(s32 battlerId, u32 moveId, struct MoveContext *ctx, u32 source
|
||||
|| move->target == MOVE_TARGET_BOTH
|
||||
|| move->target == MOVE_TARGET_DEPENDS
|
||||
|| move->target == MOVE_TARGET_FOES_AND_ALLY
|
||||
|| move->target == MOVE_TARGET_OPPONENTS_FIELD
|
||||
|| move->target == MOVE_TARGET_ALL_BATTLERS)
|
||||
|| move->target == MOVE_TARGET_OPPONENTS_FIELD)
|
||||
{
|
||||
target = BATTLE_OPPOSITE(battlerId);
|
||||
}
|
||||
@ -2053,7 +2052,7 @@ s32 MoveGetTarget(s32 battlerId, u32 moveId, struct MoveContext *ctx, u32 source
|
||||
|
||||
target = BATTLE_OPPOSITE(battlerId);
|
||||
}
|
||||
else if (move->target == MOVE_TARGET_USER)
|
||||
else if (move->target == MOVE_TARGET_USER || move->target == MOVE_TARGET_ALL_BATTLERS)
|
||||
{
|
||||
target = battlerId;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user