Bugfixes Batch (#7739)
This commit is contained in:
parent
37e1188045
commit
74de29a921
@ -2223,6 +2223,10 @@ BattleScript_EffectEntrainment::
|
||||
setlastusedability
|
||||
printstring STRINGID_PKMNACQUIREDABILITY
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
tryendneutralizinggas
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectSimpleBeam::
|
||||
@ -2298,6 +2302,9 @@ BattleScript_EffectHealingWishGen4:
|
||||
switchindataupdate BS_ATTACKER
|
||||
hpthresholds BS_ATTACKER
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
tryendneutralizinggas
|
||||
flushtextbox
|
||||
printstring STRINGID_SWITCHINMON
|
||||
switchinanim BS_ATTACKER, FALSE, TRUE
|
||||
@ -3319,6 +3326,9 @@ BattleScript_EffectTransform::
|
||||
attackstring
|
||||
ppreduce
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
tryendneutralizinggas
|
||||
flushtextbox
|
||||
transformdataexecution
|
||||
attackanimation
|
||||
@ -4551,6 +4561,7 @@ BattleScript_EffectNonVolatileStatus::
|
||||
attackanimation
|
||||
waitanimation
|
||||
setnonvolatilestatus TRIGGER_ON_MOVE
|
||||
clearmoveresultflags MOVE_RESULT_NOT_VERY_EFFECTIVE | MOVE_RESULT_SUPER_EFFECTIVE
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
@ -5075,6 +5086,9 @@ BattleScript_FaintAttacker::
|
||||
dofaintanimation BS_ATTACKER
|
||||
printstring STRINGID_ATTACKERFAINTED
|
||||
cleareffectsonfaint BS_ATTACKER
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
waitanimation
|
||||
tryactivatesoulheart
|
||||
tryactivatereceiver BS_ATTACKER
|
||||
@ -5090,6 +5104,9 @@ BattleScript_FaintTarget::
|
||||
dofaintanimation BS_TARGET
|
||||
printstring STRINGID_TARGETFAINTED
|
||||
cleareffectsonfaint BS_TARGET
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
waitanimation
|
||||
tryactivatesoulheart
|
||||
tryactivatereceiver BS_TARGET
|
||||
@ -7962,6 +7979,10 @@ BattleScript_MummyActivates::
|
||||
recordability BS_ATTACKER
|
||||
printstring STRINGID_ATTACKERACQUIREDABILITY
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
trytoclearprimalweather
|
||||
tryrevertweatherform
|
||||
flushtextbox
|
||||
tryendneutralizinggas
|
||||
return
|
||||
|
||||
BattleScript_WanderingSpiritActivates::
|
||||
|
||||
@ -623,7 +623,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
|
||||
[STRINGID_SOLARPOWERHPDROP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} takes its toll!"), //don't think this message is displayed anymore
|
||||
[STRINGID_AFTERMATHDMG] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt!"),
|
||||
[STRINGID_ANTICIPATIONACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} shuddered!"),
|
||||
[STRINGID_FOREWARNACTIVATES] = COMPOUND_STRING("{B_SCR_ABILITY} alerted {B_SCR_NAME_WITH_PREFIX2} to {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"),
|
||||
[STRINGID_FOREWARNACTIVATES] = COMPOUND_STRING("{B_SCR_ABILITY} alerted {B_SCR_NAME_WITH_PREFIX2} to {B_EFF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"),
|
||||
[STRINGID_ICEBODYHPGAIN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} healed it a little bit!"), //don't think this message is displayed anymore
|
||||
[STRINGID_SNOWWARNINGHAIL] = COMPOUND_STRING("It started to hail!"),
|
||||
[STRINGID_FRISKACTIVATES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} frisked {B_DEF_NAME_WITH_PREFIX2} and found its {B_LAST_ITEM}!"),
|
||||
|
||||
@ -17849,7 +17849,7 @@ void BS_GetTotemBoost(void)
|
||||
void BS_ActivateItemEffects(void)
|
||||
{
|
||||
NATIVE_ARGS();
|
||||
if (ItemBattleEffects(ITEMEFFECT_NORMAL, gBattlerTarget))
|
||||
if (ItemBattleEffects(ITEMEFFECT_TRY_HEALING, gBattlerTarget))
|
||||
return;
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
|
||||
@ -2906,9 +2906,9 @@ static void ForewarnChooseMove(u32 battler)
|
||||
bestId = i;
|
||||
}
|
||||
|
||||
gBattlerTarget = data[bestId].battler;
|
||||
gEffectBattler = data[bestId].battler;
|
||||
PREPARE_MOVE_BUFFER(gBattleTextBuff1, data[bestId].moveId)
|
||||
RecordKnownMove(gBattlerTarget, data[bestId].moveId);
|
||||
RecordKnownMove(data[bestId].battler, data[bestId].moveId);
|
||||
|
||||
Free(data);
|
||||
}
|
||||
@ -5188,6 +5188,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
|
||||
gBattleScripting.battler = gBattlerAbility = gBattlerTarget;
|
||||
RecordAbilityBattle(gBattlerTarget, ABILITY_SYNCHRONIZE);
|
||||
|
||||
if (B_SYNCHRONIZE_TOXIC < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC)
|
||||
gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON;
|
||||
|
||||
if (CanSetNonVolatileStatus(
|
||||
gBattlerTarget,
|
||||
gBattlerAttacker,
|
||||
@ -5196,9 +5199,6 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
|
||||
gBattleStruct->synchronizeMoveEffect,
|
||||
CHECK_TRIGGER))
|
||||
{
|
||||
if (B_SYNCHRONIZE_TOXIC < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC)
|
||||
gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON;
|
||||
|
||||
gEffectBattler = gBattlerAttacker;
|
||||
gBattleScripting.moveEffect = gBattleStruct->synchronizeMoveEffect;
|
||||
PREPARE_ABILITY_BUFFER(gBattleTextBuff1, ABILITY_SYNCHRONIZE);
|
||||
@ -5218,6 +5218,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
|
||||
gBattleScripting.battler = gBattlerAbility = gBattlerAttacker;
|
||||
RecordAbilityBattle(gBattlerAttacker, ABILITY_SYNCHRONIZE);
|
||||
|
||||
if (B_SYNCHRONIZE_TOXIC < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC)
|
||||
gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON;
|
||||
|
||||
if (CanSetNonVolatileStatus(
|
||||
gBattlerAttacker,
|
||||
gBattlerTarget,
|
||||
|
||||
@ -32096,6 +32096,7 @@ static const u16 sDipplinTeachableLearnset[] = {
|
||||
static const u16 sHydrappleTeachableLearnset[] = {
|
||||
MOVE_BODY_SLAM,
|
||||
MOVE_BULLET_SEED,
|
||||
MOVE_DEFENSE_CURL,
|
||||
MOVE_DOUBLE_EDGE,
|
||||
MOVE_EARTHQUAKE,
|
||||
MOVE_ENDURE,
|
||||
@ -32106,6 +32107,7 @@ static const u16 sHydrappleTeachableLearnset[] = {
|
||||
MOVE_RAIN_DANCE,
|
||||
MOVE_REFLECT,
|
||||
MOVE_REST,
|
||||
MOVE_ROLLOUT,
|
||||
MOVE_SLEEP_TALK,
|
||||
MOVE_SOLAR_BEAM,
|
||||
MOVE_SUNNY_DAY,
|
||||
|
||||
@ -83,3 +83,18 @@ SINGLE_BATTLE_TEST("Desolate Land will not create a softlock when move in semi i
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Desolate Land is removed immediately if user faints")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_GROUDON) { HP(1); Item(ITEM_RED_ORB); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_POUND); SEND_OUT(player, 1); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, opponent);
|
||||
NOT MESSAGE("The sunlight is strong.");
|
||||
MESSAGE("The extremely harsh sunlight faded!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,4 +58,19 @@ SINGLE_BATTLE_TEST("Entrainment fails if the target's ability has cantBeOverwrit
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Entrainment causes primal weather to revert")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_TELEPATHY); }
|
||||
OPPONENT(SPECIES_GROUDON) { Item(ITEM_RED_ORB); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_ENTRAINMENT); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_ENTRAINMENT, player);
|
||||
MESSAGE("The extremely harsh sunlight faded!");
|
||||
} THEN {
|
||||
EXPECT(opponent->ability == ABILITY_TELEPATHY);
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Entrainment fails on Dynamaxed Pokémon");
|
||||
|
||||
@ -77,3 +77,17 @@ SINGLE_BATTLE_TEST("Thunder Wave doesn't affect Electric types in Gen6+")
|
||||
MESSAGE("It doesn't affect the opposing Pikachu…");
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Thunder Wave doesn't print an effectiveness message")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gSpeciesInfo[SPECIES_PIDGEY].types[1] == TYPE_FLYING);
|
||||
PLAYER(SPECIES_PIDGEY);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_THUNDER_WAVE); }
|
||||
} SCENE {
|
||||
MESSAGE("The opposing Wobbuffet used Thunder Wave!");
|
||||
NOT MESSAGE("It's super effective!");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user