Fixes Flower Shield affecting semi-invulnerable mons (#7766)
This commit is contained in:
parent
abc471e9bd
commit
2c16f6ba55
@ -1475,14 +1475,17 @@ BattleScript_EffectFlowerShield::
|
||||
ppreduce
|
||||
savetarget
|
||||
selectfirstvalidtarget
|
||||
BattleScript_FlowerShieldIsAnyGrass:
|
||||
BattleScript_FlowerShieldIsAnyValidTarget:
|
||||
jumpifvolatile BS_TARGET, VOLATILE_SEMI_INVULNERABLE, BattleScript_FlowerShieldCheckNextTarget
|
||||
jumpiftype BS_TARGET, TYPE_GRASS, BattleScript_FlowerShieldLoopStart
|
||||
jumpifnexttargetvalid BattleScript_FlowerShieldIsAnyGrass
|
||||
BattleScript_FlowerShieldCheckNextTarget:
|
||||
jumpifnexttargetvalid BattleScript_FlowerShieldIsAnyValidTarget
|
||||
goto BattleScript_RestoreTargetButItFailed
|
||||
BattleScript_FlowerShieldLoopStart:
|
||||
selectfirstvalidtarget
|
||||
BattleScript_FlowerShieldLoop:
|
||||
movevaluescleanup
|
||||
jumpifvolatile BS_TARGET, VOLATILE_SEMI_INVULNERABLE, BattleScript_FlowerShieldMoveTargetEnd
|
||||
jumpiftype BS_TARGET, TYPE_GRASS, BattleScript_FlowerShieldLoop2
|
||||
goto BattleScript_FlowerShieldMoveTargetEnd
|
||||
BattleScript_FlowerShieldLoop2:
|
||||
@ -1503,6 +1506,7 @@ BattleScript_FlowerShieldMoveTargetEnd:
|
||||
moveendto MOVEEND_NEXT_TARGET
|
||||
jumpifnexttargetvalid BattleScript_FlowerShieldLoop
|
||||
restoretarget
|
||||
moveendfrom MOVEEND_ITEM_EFFECTS_ATTACKER
|
||||
end
|
||||
|
||||
BattleScript_EffectRototiller::
|
||||
|
||||
@ -36,4 +36,38 @@ DOUBLE_BATTLE_TEST("Flower Shield raises the defense of all Grass-type Pokémon"
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Flower Shield fails if there's no Grass-type Pokémon on the field")
|
||||
SINGLE_BATTLE_TEST("Flower Shield fails if there's no Grass-type Pokémon on the field")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_FLOWER_SHIELD); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, player);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Flower Shield doesn't affect Grass-type Pokémon that are in a semi-invulnerable position")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_BULBASAUR);
|
||||
PLAYER(SPECIES_WYNAUT);
|
||||
OPPONENT(SPECIES_BULBASAUR);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN {
|
||||
MOVE(opponentLeft, MOVE_FLY, target: playerLeft);
|
||||
MOVE(playerLeft, MOVE_FLOWER_SHIELD);
|
||||
}
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLY, opponentLeft);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft);
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user