diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index d4a9c77adcf..95aeceb5454 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -7299,7 +7299,7 @@ public class Card extends GameEntity implements Comparable { cardsInCommand = this.getGame().getCardsIn(ZoneType.Command); } - this.getController().getController().playSpellAbilityNoStack(this.getController(), shieldSA); + this.getController().getController().playSpellAbilityNoStack(shieldSA); if (apiIsEffect) { List newCardsInCommand = this.getGame().getCardsIn(ZoneType.Command); newCardsInCommand.removeAll(cardsInCommand); diff --git a/src/main/java/forge/card/replacement/ReplacementHandler.java b/src/main/java/forge/card/replacement/ReplacementHandler.java index 3bbb7ac1d9a..566372c7874 100644 --- a/src/main/java/forge/card/replacement/ReplacementHandler.java +++ b/src/main/java/forge/card/replacement/ReplacementHandler.java @@ -238,7 +238,7 @@ public class ReplacementHandler { } Player player = replacementEffect.getHostCard().getController(); - player.getController().playSpellAbilityNoStack(player, effectSA); + player.getController().playSpellAbilityNoStack(effectSA); return ReplacementResult.Replaced; } diff --git a/src/main/java/forge/game/GameAction.java b/src/main/java/forge/game/GameAction.java index 9cc5b3b2d5a..303fc0e7f9e 100644 --- a/src/main/java/forge/game/GameAction.java +++ b/src/main/java/forge/game/GameAction.java @@ -60,7 +60,6 @@ import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.card.trigger.ZCTrigger; -import forge.game.ai.ComputerUtil; import forge.game.event.GameEventCardChangeZone; import forge.game.event.GameEventCardDestroyed; import forge.game.event.GameEventCardRegenerated; @@ -70,7 +69,6 @@ import forge.game.event.GameEventGameFinished; import forge.game.event.GameEventFlipCoin; import forge.game.event.GameEventGameStarted; import forge.game.player.GameLossReason; -import forge.game.player.HumanPlay; import forge.game.player.Player; import forge.game.player.PlayerController.ManaPaymentPurpose; import forge.game.zone.PlayerZone; @@ -1658,11 +1656,8 @@ public class GameAction { for(final SpellAbility sa : usableFromOpeningHand ) { if (!takesAction.getZone(ZoneType.Hand).contains(sa.getSourceCard())) continue; - - if (takesAction.isHuman()) - HumanPlay.playSpellAbilityNoStack(takesAction, sa); - else - ComputerUtil.playNoStack(takesAction, sa, game); + + takesAction.getController().playSpellAbilityNoStack(sa); } takesAction = game.getNextPlayerAfter(takesAction); } while( takesAction != first ); diff --git a/src/main/java/forge/game/combat/CombatUtil.java b/src/main/java/forge/game/combat/CombatUtil.java index c9282f24efa..a5b7b38b780 100644 --- a/src/main/java/forge/game/combat/CombatUtil.java +++ b/src/main/java/forge/game/combat/CombatUtil.java @@ -32,7 +32,6 @@ import com.google.common.collect.Lists; import forge.Card; import forge.CardLists; import forge.CardPredicates; -import forge.Command; import forge.Constant; import forge.GameEntity; import forge.card.CardType; diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index faab29fbd3d..b3ae3aec0cb 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -915,7 +915,7 @@ public class Player extends GameEntity implements Comparable { cardsInCommand = this.getGame().getCardsIn(ZoneType.Command); } - this.getController().playSpellAbilityNoStack(this, shieldSA); + this.getController().playSpellAbilityNoStack(shieldSA); if (apiIsEffect) { List newCardsInCommand = this.getGame().getCardsIn(ZoneType.Command); newCardsInCommand.removeAll(cardsInCommand); diff --git a/src/main/java/forge/game/player/PlayerController.java b/src/main/java/forge/game/player/PlayerController.java index 00477eaff66..98ec7de3c94 100644 --- a/src/main/java/forge/game/player/PlayerController.java +++ b/src/main/java/forge/game/player/PlayerController.java @@ -96,7 +96,7 @@ public abstract class PlayerController { //public abstract void playFromSuspend(Card c); public abstract boolean playCascade(Card cascadedCard, Card sourceCard); public abstract void playSpellAbilityForFree(SpellAbility copySA, boolean mayChoseNewTargets); - public abstract void playSpellAbilityNoStack(Player player, SpellAbility effectSA); + public abstract void playSpellAbilityNoStack(SpellAbility effectSA); public abstract Deck sideboard(final Deck deck, GameType gameType); diff --git a/src/main/java/forge/game/player/PlayerControllerAi.java b/src/main/java/forge/game/player/PlayerControllerAi.java index 9409c6f78b2..2227364983b 100644 --- a/src/main/java/forge/game/player/PlayerControllerAi.java +++ b/src/main/java/forge/game/player/PlayerControllerAi.java @@ -249,7 +249,7 @@ public class PlayerControllerAi extends PlayerController { } @Override - public void playSpellAbilityNoStack(Player player, SpellAbility effectSA) { + public void playSpellAbilityNoStack(SpellAbility effectSA) { ComputerUtil.playNoStack(player, effectSA, game); } diff --git a/src/main/java/forge/game/player/PlayerControllerHuman.java b/src/main/java/forge/game/player/PlayerControllerHuman.java index 2d4136a61df..afa32987c9d 100644 --- a/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -122,7 +122,7 @@ public class PlayerControllerHuman extends PlayerController { } @Override - public void playSpellAbilityNoStack(Player player, SpellAbility effectSA) { + public void playSpellAbilityNoStack(SpellAbility effectSA) { HumanPlay.playSpellAbilityNoStack(player, effectSA); }