ChangeZoneEffect: Ninjutsu need to attack the same Defender as Returned Creature

This commit is contained in:
Hanmac
2016-10-06 15:51:04 +00:00
parent 649305d7c2
commit d2fb20b341

View File

@@ -542,9 +542,8 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (sa.hasParam("FaceDown")) { if (sa.hasParam("FaceDown")) {
movedCard.setState(CardStateName.FaceDown, true); movedCard.setState(CardStateName.FaceDown, true);
} }
if (sa.hasParam("Ninjutsu") || sa.hasParam("Attacking")) { if (sa.hasParam("Attacking")) {
// What should they attack? // What should they attack?
// TODO Ninjutsu needs to actually select the Defender, instead of auto selecting player
FCollectionView<GameEntity> defenders = game.getCombat().getDefenders(); FCollectionView<GameEntity> defenders = game.getCombat().getDefenders();
if (!defenders.isEmpty()) { if (!defenders.isEmpty()) {
// Blockeres are already declared, set this to unblocked // Blockeres are already declared, set this to unblocked
@@ -553,6 +552,14 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
game.fireEvent(new GameEventCombatChanged()); game.fireEvent(new GameEventCombatChanged());
} }
} }
if (sa.hasParam("Ninjutsu")) {
// Ninjutsu need to get the Defender of the Returned Creature
final Card returned = sa.getPaidList("Returned").getFirst();
final GameEntity defender = game.getCombat().getDefenderByAttacker(returned);
game.getCombat().addAttacker(tgtC, defender);
game.getCombat().getBandOfAttacker(tgtC).setBlocked(false);
game.fireEvent(new GameEventCombatChanged());
}
if (sa.hasParam("Tapped") || sa.hasParam("Ninjutsu")) { if (sa.hasParam("Tapped") || sa.hasParam("Ninjutsu")) {
tgtC.setTapped(true); tgtC.setTapped(true);
} }