diff --git a/src/main/java/com/matag/game/cardinstance/CardInstance.java b/src/main/java/com/matag/game/cardinstance/CardInstance.java index e3c80a23..1cdd318a 100644 --- a/src/main/java/com/matag/game/cardinstance/CardInstance.java +++ b/src/main/java/com/matag/game/cardinstance/CardInstance.java @@ -40,8 +40,6 @@ isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE ) -@Component -@Scope("prototype") public class CardInstance { private int id; @@ -56,17 +54,14 @@ public class CardInstance { private List triggeredAbilities = new ArrayList<>(); private Set acknowledgedBy = new HashSet<>(); - private GameStatus gameStatus; - private final AttachmentsService attachmentsService; - private final AbilitiesFromOtherPermanentsService abilitiesFromOtherPermanentsService; + private int attachmentsPower = 0; + private int attachmentsToughness = 0; + private int powerFromOtherPermanents = 0; + private int toughnessFromOtherPermanents = 0; + private List attachmentsAbilities = emptyList(); + private List abilitiesFormOtherPermanents = emptyList(); + - public CardInstance( - @Autowired(required = false) AttachmentsService attachmentsService, - @Autowired(required = false) AbilitiesFromOtherPermanentsService abilitiesFromOtherPermanentsService - ) { - this.attachmentsService = attachmentsService; - this.abilitiesFromOtherPermanentsService = abilitiesFromOtherPermanentsService; - } @JsonProperty public int getId() { @@ -262,28 +257,4 @@ public void cleanup() { public void resetAllModifiers() { modifiers = new CardModifiers(); } - - private int getAttachmentsPower() { - return attachmentsService != null ? attachmentsService.getAttachmentsPower(gameStatus, this) : 0; - } - - private int getAttachmentsToughness() { - return attachmentsService != null ? attachmentsService.getAttachmentsToughness(gameStatus, this) : 0; - } - - private List getAttachmentsAbilities() { - return attachmentsService != null ? attachmentsService.getAttachmentsAbilities(gameStatus, this) : emptyList(); - } - - private int getPowerFromOtherPermanents() { - return abilitiesFromOtherPermanentsService != null ? abilitiesFromOtherPermanentsService.getPowerFromOtherPermanents(gameStatus, this) : 0; - } - - private int getToughnessFromOtherPermanents() { - return abilitiesFromOtherPermanentsService != null ? abilitiesFromOtherPermanentsService.getToughnessFromOtherPermanents(gameStatus, this) : 0; - } - - private List getAbilitiesFormOtherPermanents() { - return abilitiesFromOtherPermanentsService != null ? abilitiesFromOtherPermanentsService.getAbilitiesFormOtherPermanents(gameStatus, this) : emptyList(); - } } diff --git a/src/main/java/com/matag/game/cardinstance/CardInstanceFactory.java b/src/main/java/com/matag/game/cardinstance/CardInstanceFactory.java index a37fe8dd..10b943ed 100644 --- a/src/main/java/com/matag/game/cardinstance/CardInstanceFactory.java +++ b/src/main/java/com/matag/game/cardinstance/CardInstanceFactory.java @@ -20,9 +20,8 @@ public void setApplicationContext(ApplicationContext applicationContext) throws this.applicationContext = applicationContext; } - public CardInstance create(GameStatus gameStatus, int id, Card card, String owner, String controller) { - CardInstance cardInstance = applicationContext.getBean(CardInstance.class); - cardInstance.setGameStatus(gameStatus); + public CardInstance create(int id, Card card, String owner, String controller) { + CardInstance cardInstance = new CardInstance(); cardInstance.setId(id); cardInstance.setCard(card); cardInstance.setOwner(owner); @@ -30,12 +29,12 @@ public CardInstance create(GameStatus gameStatus, int id, Card card, String owne return cardInstance; } - public CardInstance create(GameStatus gameStatus, int id, Card card, String owner) { - return create(gameStatus, id, card, owner, null); + public CardInstance create(int id, Card card, String owner) { + return create(id, card, owner, null); } public CardInstance mask(CardInstance cardInstance) { - return create(cardInstance.getGameStatus(), cardInstance.getId(), CardUtils.hiddenCard(), cardInstance.getOwner()); + return create(cardInstance.getId(), CardUtils.hiddenCard(), cardInstance.getOwner()); } public List mask(List cardInstanceList) { diff --git a/src/main/java/com/matag/game/deck/DeckFactory.java b/src/main/java/com/matag/game/deck/DeckFactory.java index d0038f53..d00bb130 100644 --- a/src/main/java/com/matag/game/deck/DeckFactory.java +++ b/src/main/java/com/matag/game/deck/DeckFactory.java @@ -38,7 +38,7 @@ public List create(String playerName, GameStatus gameStatus, DeckI } return cards.stream() - .map(card -> cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, playerName)) + .map(card -> cardInstanceFactory.create(gameStatus.nextCardId(), card, playerName)) .collect(Collectors.toList()); } diff --git a/src/main/java/com/matag/game/init/test/InitTestService.java b/src/main/java/com/matag/game/init/test/InitTestService.java index 909c9473..1466b97a 100644 --- a/src/main/java/com/matag/game/init/test/InitTestService.java +++ b/src/main/java/com/matag/game/init/test/InitTestService.java @@ -29,39 +29,39 @@ public void initGameStatusForTest(GameStatus gameStatus) { public abstract void initGameStatus(GameStatus gameStatus); protected void addCardToCurrentPlayerLibrary(GameStatus gameStatus, Card card) { - gameStatus.getCurrentPlayer().getLibrary().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); + gameStatus.getCurrentPlayer().getLibrary().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); } protected void addCardToCurrentPlayerHand(GameStatus gameStatus, Card card) { - gameStatus.getCurrentPlayer().getHand().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); + gameStatus.getCurrentPlayer().getHand().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); } protected void addCardToCurrentPlayerBattlefield(GameStatus gameStatus, Card card) { String owner = gameStatus.getCurrentPlayer().getName(); String controller = gameStatus.getCurrentPlayer().getName(); - gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, owner, controller)); + gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, owner, controller)); } protected void addCardToCurrentPlayerGraveyard(GameStatus gameStatus, Card card) { - gameStatus.getCurrentPlayer().getGraveyard().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); + gameStatus.getCurrentPlayer().getGraveyard().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getCurrentPlayer().getName())); } protected void addCardToNonCurrentPlayerLibrary(GameStatus gameStatus, Card card) { - gameStatus.getNonCurrentPlayer().getLibrary().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); + gameStatus.getNonCurrentPlayer().getLibrary().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); } protected void addCardToNonCurrentPlayerHand(GameStatus gameStatus, Card card) { - gameStatus.getNonCurrentPlayer().getHand().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); + gameStatus.getNonCurrentPlayer().getHand().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); } protected void addCardToNonCurrentPlayerBattlefield(GameStatus gameStatus, Card card) { String owner = gameStatus.getNonCurrentPlayer().getName(); String controller = gameStatus.getNonCurrentPlayer().getName(); - gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, owner, controller)); + gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, owner, controller)); } protected void addCardToNonCurrentPlayerGraveyard(GameStatus gameStatus, Card card) { - gameStatus.getNonCurrentPlayer().getGraveyard().addCard(cardInstanceFactory.create(gameStatus, gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); + gameStatus.getNonCurrentPlayer().getGraveyard().addCard(cardInstanceFactory.create(gameStatus.nextCardId(), card, gameStatus.getNonCurrentPlayer().getName())); } public void setCardInstanceFactory(CardInstanceFactory cardInstanceFactory) { diff --git a/src/main/java/com/matag/game/stack/SpellStack.java b/src/main/java/com/matag/game/stack/SpellStack.java index d215a1ce..06d3f77f 100644 --- a/src/main/java/com/matag/game/stack/SpellStack.java +++ b/src/main/java/com/matag/game/stack/SpellStack.java @@ -6,8 +6,6 @@ import java.util.LinkedList; -@Component -@Scope("prototype") public class SpellStack { private LinkedList items = new LinkedList<>(); diff --git a/src/main/java/com/matag/game/status/GameStatus.java b/src/main/java/com/matag/game/status/GameStatus.java index 264573fe..a1ed7e90 100644 --- a/src/main/java/com/matag/game/status/GameStatus.java +++ b/src/main/java/com/matag/game/status/GameStatus.java @@ -12,8 +12,6 @@ import java.util.concurrent.atomic.AtomicInteger; @Getter -@Component -@Scope("prototype") public class GameStatus { private final AtomicInteger nextCardId = new AtomicInteger(); private String gameId; diff --git a/src/main/java/com/matag/game/status/GameStatusFactory.java b/src/main/java/com/matag/game/status/GameStatusFactory.java index 26c93b36..fe58a0b0 100644 --- a/src/main/java/com/matag/game/status/GameStatusFactory.java +++ b/src/main/java/com/matag/game/status/GameStatusFactory.java @@ -1,5 +1,7 @@ package com.matag.game.status; +import com.matag.game.stack.SpellStack; +import com.matag.game.turn.Turn; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; @@ -15,7 +17,7 @@ public void setApplicationContext(ApplicationContext applicationContext) throws } public GameStatus create(String gameId) { - GameStatus gameStatus = applicationContext.getBean(GameStatus.class); + GameStatus gameStatus = new GameStatus(new Turn(), new SpellStack()); gameStatus.setGameId(gameId); return gameStatus; } diff --git a/src/main/java/com/matag/game/turn/Turn.java b/src/main/java/com/matag/game/turn/Turn.java index e3693de0..99d96c3b 100644 --- a/src/main/java/com/matag/game/turn/Turn.java +++ b/src/main/java/com/matag/game/turn/Turn.java @@ -14,8 +14,6 @@ @ToString @EqualsAndHashCode -@Component -@Scope("prototype") public class Turn { private int turnNumber; private String currentTurnPlayer; diff --git a/src/main/java/com/matag/game/turn/TurnController.java b/src/main/java/com/matag/game/turn/TurnController.java index e6363de9..4fadd56a 100644 --- a/src/main/java/com/matag/game/turn/TurnController.java +++ b/src/main/java/com/matag/game/turn/TurnController.java @@ -8,6 +8,8 @@ import com.matag.game.status.GameStatusRepository; import com.matag.game.status.GameStatusUpdaterService; import com.matag.game.turn.action._continue.ConsolidateStatusService; +import com.matag.game.turn.action.attach.AttachmentsService; +import com.matag.game.turn.action.selection.AbilitiesFromOtherPermanentsService; import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +32,8 @@ public class TurnController { private final GameStatusUpdaterService gameStatusUpdaterService; private final TurnService turnService; private final ConsolidateStatusService consolidateStatusService; + private final AttachmentsService attachmentsService; + private final AbilitiesFromOtherPermanentsService abilitiesFromOtherPermanentsService; @MessageMapping("/game/turn") public void turn(SimpMessageHeaderAccessor headerAccessor, TurnRequest request) { @@ -54,6 +58,9 @@ public void turn(SimpMessageHeaderAccessor headerAccessor, TurnRequest request) turnService.declareBlockers(gameStatus, toMapListInteger(request.getTargetsIdsForCardIds())); } + consolidateStatusService.consolidate(gameStatus); + abilitiesFromOtherPermanentsService.updateGameStatus(gameStatus); + attachmentsService.updateGameStatus(gameStatus); consolidateStatusService.consolidate(gameStatus); gameStatusUpdaterService.sendUpdateGameStatus(gameStatus); } diff --git a/src/main/java/com/matag/game/turn/action/attach/AttachmentsService.java b/src/main/java/com/matag/game/turn/action/attach/AttachmentsService.java index 1a71dff2..8831add6 100644 --- a/src/main/java/com/matag/game/turn/action/attach/AttachmentsService.java +++ b/src/main/java/com/matag/game/turn/action/attach/AttachmentsService.java @@ -6,12 +6,15 @@ import com.matag.cards.ability.AbilityService; import com.matag.cards.ability.type.AbilityType; import com.matag.cards.properties.PowerToughness; +import com.matag.game.player.Battlefield; +import com.matag.game.player.Player; import com.matag.game.status.GameStatus; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.matag.cards.ability.type.AbilityType.ENCHANTED_CREATURE_GETS; import static com.matag.cards.ability.type.AbilityType.EQUIPPED_CREATURE_GETS; @@ -25,6 +28,17 @@ public class AttachmentsService { private final AbilityService abilityService; private final CardInstanceAbilityFactory cardInstanceAbilityFactory; + public void updateGameStatus(GameStatus gameStatus) { + Stream.of(gameStatus.getPlayer1(), gameStatus.getPlayer2()) + .map(Player::getBattlefield) + .flatMap(battlefield -> battlefield.getCards().stream()) + .forEach(cardInstance -> { + cardInstance.setAttachmentsPower(getAttachmentsPower(gameStatus, cardInstance)); + cardInstance.setAttachmentsToughness(getAttachmentsToughness(gameStatus, cardInstance)); + cardInstance.setAttachmentsAbilities(getAttachmentsAbilities(gameStatus, cardInstance)); + }); + } + public List getAttachedCards(GameStatus gameStatus, CardInstance cardInstance) { return gameStatus.getAllBattlefieldCards().attachedToId(cardInstance.getId()).getCards(); } diff --git a/src/main/java/com/matag/game/turn/action/selection/AbilitiesFromOtherPermanentsService.java b/src/main/java/com/matag/game/turn/action/selection/AbilitiesFromOtherPermanentsService.java index ac3ded07..abc11209 100644 --- a/src/main/java/com/matag/game/turn/action/selection/AbilitiesFromOtherPermanentsService.java +++ b/src/main/java/com/matag/game/turn/action/selection/AbilitiesFromOtherPermanentsService.java @@ -6,12 +6,14 @@ import com.matag.cards.ability.AbilityService; import com.matag.cards.ability.trigger.TriggerType; import com.matag.cards.properties.PowerToughness; +import com.matag.game.player.Player; import com.matag.game.status.GameStatus; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; +import java.util.stream.Stream; import static com.matag.cards.ability.type.AbilityType.SELECTED_PERMANENTS_GET; @@ -22,6 +24,17 @@ public class AbilitiesFromOtherPermanentsService { private final AbilityService abilityService; private final CardInstanceAbilityFactory cardInstanceAbilityFactory; + public void updateGameStatus(GameStatus gameStatus) { + Stream.of(gameStatus.getPlayer1(), gameStatus.getPlayer2()) + .map(Player::getBattlefield) + .flatMap(battlefield -> battlefield.getCards().stream()) + .forEach(cardInstance -> { + cardInstance.setPowerFromOtherPermanents(getPowerFromOtherPermanents(gameStatus, cardInstance)); + cardInstance.setToughnessFromOtherPermanents(getToughnessFromOtherPermanents(gameStatus, cardInstance)); + cardInstance.setAbilitiesFormOtherPermanents(getAbilitiesFormOtherPermanents(gameStatus, cardInstance)); + }); + } + public int getPowerFromOtherPermanents(GameStatus gameStatus, CardInstance cardInstance) { return getParametersFromOtherPermanents(gameStatus, cardInstance).stream() .map(abilityService::powerToughnessFromParameter) diff --git a/src/test/java/application/browser/MatagBrowser.java b/src/test/java/application/browser/MatagBrowser.java index 03f26a16..66a11bb7 100644 --- a/src/test/java/application/browser/MatagBrowser.java +++ b/src/test/java/application/browser/MatagBrowser.java @@ -141,7 +141,7 @@ WebElement findElement(By element) { } void wait(ExpectedCondition condition) { - new WebDriverWait(webDriver, 5).until(condition); + new WebDriverWait(webDriver, 10).until(condition); } public void dumpContent() { diff --git a/src/test/java/integration/TestUtils.java b/src/test/java/integration/TestUtils.java index 9026f138..f69548bd 100644 --- a/src/test/java/integration/TestUtils.java +++ b/src/test/java/integration/TestUtils.java @@ -37,13 +37,13 @@ public GameStatus testGameStatus() { PlayerInfo player1 = new PlayerInfo("player-name"); SecurityToken player1SecurityToken = new SecurityToken("player-session", UUID.randomUUID().toString(), "1"); gameStatus.setPlayer1(playerFactory.create(player1SecurityToken, player1)); - gameStatus.getPlayer1().getLibrary().addCards(testLibrary(gameStatus, player1.getPlayerName())); + gameStatus.getPlayer1().getLibrary().addCards(testLibrary(player1.getPlayerName())); gameStatus.getPlayer1().drawHand(); PlayerInfo player2 = new PlayerInfo("opponent-name"); SecurityToken player2SecurityToken = new SecurityToken("opponent-session", UUID.randomUUID().toString(), "1"); gameStatus.setPlayer2(playerFactory.create(player2SecurityToken, player2)); - gameStatus.getPlayer2().getLibrary().addCards(testLibrary(gameStatus, player2.getPlayerName())); + gameStatus.getPlayer2().getLibrary().addCards(testLibrary(player2.getPlayerName())); gameStatus.getPlayer2().drawHand(); gameStatus.getTurn().setCurrentTurnPlayer("player-name"); @@ -53,10 +53,10 @@ public GameStatus testGameStatus() { return gameStatus; } - private List testLibrary(GameStatus gameStatus, String playerName) { + private List testLibrary(String playerName) { return IntStream.rangeClosed(1, 40) .boxed() - .map(i -> cardInstanceFactory.create(gameStatus, i, cards.get("Plains"), playerName)) + .map(i -> cardInstanceFactory.create(i, cards.get("Plains"), playerName)) .collect(Collectors.toList()); } } \ No newline at end of file diff --git a/src/test/java/integration/cardinstance/CardInstanceFactoryTest.java b/src/test/java/integration/cardinstance/CardInstanceFactoryTest.java index 681e979a..b38b9888 100644 --- a/src/test/java/integration/cardinstance/CardInstanceFactoryTest.java +++ b/src/test/java/integration/cardinstance/CardInstanceFactoryTest.java @@ -33,7 +33,7 @@ public void shouldCreateACardInstance() { GameStatus gameStatus = testUtils.testGameStatus(); // When - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Short Sword"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Short Sword"), "player-name"); // Then assertThat(cardInstance.getId()).isEqualTo(1); @@ -46,8 +46,8 @@ public void shouldCreateTwoDifferentCardInstances() { GameStatus gameStatus = testUtils.testGameStatus(); // When - CardInstance cardInstance1 = cardInstanceFactory.create(gameStatus, 1, cards.get("Short Sword"), "player-name"); - CardInstance cardInstance2 = cardInstanceFactory.create(gameStatus, 2, cards.get("Befuddle"), "opponent-name"); + CardInstance cardInstance1 = cardInstanceFactory.create(1, cards.get("Short Sword"), "player-name"); + CardInstance cardInstance2 = cardInstanceFactory.create(2, cards.get("Befuddle"), "opponent-name"); // Then assertThat(cardInstance1).isNotSameAs(cardInstance2); diff --git a/src/test/java/integration/cardinstance/cost/CostServiceTest.java b/src/test/java/integration/cardinstance/cost/CostServiceTest.java index 1f7de51b..1f1e8a0d 100644 --- a/src/test/java/integration/cardinstance/cost/CostServiceTest.java +++ b/src/test/java/integration/cardinstance/cost/CostServiceTest.java @@ -203,7 +203,7 @@ public void canAffordReturnsFalseIfWrongManaDualLands() { private CardInstance createCardInstance(GameStatus gameStatus, String cardName) { Card card = cards.get(cardName); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, ++cardInstanceId, card, "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(++cardInstanceId, card, "player-name", "player-name"); gameStatus.getActivePlayer().getBattlefield().addCard(cardInstance); return cardInstance; } diff --git a/src/test/java/integration/cardinstance/cost/PayCostServiceTest.java b/src/test/java/integration/cardinstance/cost/PayCostServiceTest.java index 6b1d4330..8505da2d 100644 --- a/src/test/java/integration/cardinstance/cost/PayCostServiceTest.java +++ b/src/test/java/integration/cardinstance/cost/PayCostServiceTest.java @@ -85,7 +85,7 @@ public void isCastingCostFulfilledCheckpointOfficerTapAbility() { private CardInstance createCardInstance(GameStatus gameStatus, String cardName) { Card card = cards.get(cardName); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, ++cardInstanceId, card, "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(++cardInstanceId, card, "player-name", "player-name"); gameStatus.getActivePlayer().getBattlefield().addCard(cardInstance); return cardInstance; } diff --git a/src/test/java/integration/turn/action/_continue/AutocontinueCheckerTest.java b/src/test/java/integration/turn/action/_continue/AutocontinueCheckerTest.java index a9bc02d0..c1a9fbb5 100644 --- a/src/test/java/integration/turn/action/_continue/AutocontinueCheckerTest.java +++ b/src/test/java/integration/turn/action/_continue/AutocontinueCheckerTest.java @@ -49,8 +49,8 @@ public void canPerformAnyActionReturnsTrueIfUPAndAffordableInstantInHand() { GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase("UP"); gameStatus.getPlayer1().getHand().getCards().clear(); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 61, cards.get("Mountain"), "player-name", "player-name")); - gameStatus.getPlayer1().getHand().addCard(cardInstanceFactory.create(gameStatus, 62, cards.get("Infuriate"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(61, cards.get("Mountain"), "player-name", "player-name")); + gameStatus.getPlayer1().getHand().addCard(cardInstanceFactory.create(62, cards.get("Infuriate"), "player-name")); // When boolean result = autocontinueChecker.canPerformAnyAction(gameStatus); @@ -65,9 +65,9 @@ public void canPerformAnyActionReturnsFalseIfUPAndNotAffordableInstantInHand() { GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase("UP"); gameStatus.getPlayer1().getHand().getCards().clear(); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 61, cards.get("Mountain"), "player-name", "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(61, cards.get("Mountain"), "player-name", "player-name")); gameStatus.getPlayer1().getBattlefield().getCards().get(0).getModifiers().tap(); - gameStatus.getPlayer1().getHand().addCard(cardInstanceFactory.create(gameStatus, 62, cards.get("Infuriate"), "player-name")); + gameStatus.getPlayer1().getHand().addCard(cardInstanceFactory.create(62, cards.get("Infuriate"), "player-name")); // When boolean result = autocontinueChecker.canPerformAnyAction(gameStatus); @@ -82,7 +82,7 @@ public void canPerformAnyActionReturnsFalseIfUPAndCardWithTriggeredAbility() { GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase("UP"); gameStatus.getPlayer1().getHand().getCards().clear(); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 62, cards.get("Exclusion Mage"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(62, cards.get("Exclusion Mage"), "player-name")); // When boolean result = autocontinueChecker.canPerformAnyAction(gameStatus); @@ -97,7 +97,7 @@ public void canPerformAnyActionReturnsFalseIfUPAndCardWithNotAffordableActivated GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase("UP"); gameStatus.getPlayer1().getHand().getCards().clear(); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 62, cards.get("Locthwain Gargoyle"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(62, cards.get("Locthwain Gargoyle"), "player-name")); // When boolean result = autocontinueChecker.canPerformAnyAction(gameStatus); @@ -112,11 +112,11 @@ public void canPerformAnyActionReturnsTrueIfUPAndCardAffordableActivatedAbility( GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase("UP"); gameStatus.getPlayer1().getHand().getCards().clear(); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 62, cards.get("Locthwain Gargoyle"), "player-name")); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 63, cards.get("Plains"), "player-name")); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 64, cards.get("Plains"), "player-name")); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 65, cards.get("Plains"), "player-name")); - gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 66, cards.get("Plains"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(62, cards.get("Locthwain Gargoyle"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(63, cards.get("Plains"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(64, cards.get("Plains"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(65, cards.get("Plains"), "player-name")); + gameStatus.getPlayer1().getBattlefield().addCard(cardInstanceFactory.create(66, cards.get("Plains"), "player-name")); // When boolean result = autocontinueChecker.canPerformAnyAction(gameStatus); diff --git a/src/test/java/integration/turn/action/_continue/ConsolidateStatusServiceTest.java b/src/test/java/integration/turn/action/_continue/ConsolidateStatusServiceTest.java index 32cec038..c6f7e45b 100644 --- a/src/test/java/integration/turn/action/_continue/ConsolidateStatusServiceTest.java +++ b/src/test/java/integration/turn/action/_continue/ConsolidateStatusServiceTest.java @@ -34,7 +34,7 @@ public class ConsolidateStatusServiceTest { public void consolidateShouldReturnACreatureToHandAndClearTheModifiers() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); cardInstance.getModifiers().getModifiersUntilEndOfTurn().setToBeReturnedToHand(true); cardInstance.getModifiers().dealDamage(1); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -52,7 +52,7 @@ public void consolidateShouldReturnACreatureToHandAndClearTheModifiers() { public void consolidateShouldDestroyACreatureAndClearTheModifiers() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); cardInstance.getModifiers().getModifiersUntilEndOfTurn().setToBeDestroyed(true); cardInstance.getModifiers().dealDamage(1); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); diff --git a/src/test/java/integration/turn/action/cast/InstantSpeedServiceTest.java b/src/test/java/integration/turn/action/cast/InstantSpeedServiceTest.java index ca218bb9..559f447d 100644 --- a/src/test/java/integration/turn/action/cast/InstantSpeedServiceTest.java +++ b/src/test/java/integration/turn/action/cast/InstantSpeedServiceTest.java @@ -33,7 +33,7 @@ public class InstantSpeedServiceTest { public void isInstantSpeedReturnsFalseForLand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), "player"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Plains"), "player"); // When boolean result = instantSpeedService.isAtInstantSpeed(cardInstance, null); @@ -46,7 +46,7 @@ public void isInstantSpeedReturnsFalseForLand() { public void isInstantSpeedReturnsTrueForInstant() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Murder"), "player"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Murder"), "player"); // When boolean result = instantSpeedService.isAtInstantSpeed(cardInstance, null); @@ -59,7 +59,7 @@ public void isInstantSpeedReturnsTrueForInstant() { public void isInstantSpeedReturnsTrueForMetropolisSpriteSelectedPermanentsGet() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Metropolis Sprite"), "player"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Metropolis Sprite"), "player"); String playedAbility = "SELECTED_PERMANENTS_GET"; // When @@ -73,7 +73,7 @@ public void isInstantSpeedReturnsTrueForMetropolisSpriteSelectedPermanentsGet() public void isInstantSpeedReturnsFalseForEquip() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Cobbled Wings"), "player"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Cobbled Wings"), "player"); String playedAbility = "EQUIPPED_CREATURE_GETS"; // When diff --git a/src/test/java/integration/turn/action/cast/ManaCountServiceTest.java b/src/test/java/integration/turn/action/cast/ManaCountServiceTest.java index b1eddcb5..573a4a8a 100644 --- a/src/test/java/integration/turn/action/cast/ManaCountServiceTest.java +++ b/src/test/java/integration/turn/action/cast/ManaCountServiceTest.java @@ -56,9 +56,9 @@ public void countManaPaidForSimpleLands() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), player.getName(), player.getName())); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 2, cards.get("Plains"), player.getName(), player.getName())); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 3, cards.get("Island"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Plains"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(2, cards.get("Plains"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(3, cards.get("Island"), player.getName(), player.getName())); // When ArrayList colors = manaCountService.verifyManaPaid(mana, player); @@ -76,7 +76,7 @@ public void countManaPaidTappingInstant() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Dark Remedy"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Dark Remedy"), player.getName(), player.getName())); thrown.expectMessage("\"1 - Dark Remedy\" cannot be tapped for mana."); @@ -93,7 +93,7 @@ public void countManaPaidTappingAlreadyTappedLand() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - CardInstance plains = cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), player.getName(), player.getName()); + CardInstance plains = cardInstanceFactory.create(1, cards.get("Plains"), player.getName(), player.getName()); plains.getModifiers().tap(); player.getBattlefield().addCard(plains); @@ -112,7 +112,7 @@ public void countManaPaidTappingLandForWrongColor() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Plains"), player.getName(), player.getName())); thrown.expectMessage("\"1 - Plains\" cannot produce BLUE"); @@ -129,7 +129,7 @@ public void countManaPaidTappingLandForDualLand() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Azorius Guildgate"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Azorius Guildgate"), player.getName(), player.getName())); // When ArrayList colors = manaCountService.verifyManaPaid(mana, player); @@ -147,7 +147,7 @@ public void countManaPaidTappingLandForDualLandError() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Azorius Guildgate"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Azorius Guildgate"), player.getName(), player.getName())); thrown.expectMessage("\"1 - Azorius Guildgate\" cannot produce BLACK"); @@ -164,7 +164,7 @@ public void countManaPaidTappingCreatureWhichGeneratesTwoMana() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Gyre Engineer"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Gyre Engineer"), player.getName(), player.getName())); // When manaCountService.verifyManaPaid(mana, player); @@ -179,7 +179,7 @@ public void countManaPaidTappingCreatureWhichGeneratesTwoManaException() { GameStatus gameStatus = testUtils.testGameStatus(); Player player = gameStatus.getPlayer1(); - player.getBattlefield().addCard(cardInstanceFactory.create(gameStatus, 1, cards.get("Gyre Engineer"), player.getName(), player.getName())); + player.getBattlefield().addCard(cardInstanceFactory.create(1, cards.get("Gyre Engineer"), player.getName(), player.getName())); thrown.expectMessage("\"1 - Gyre Engineer\" cannot produce BLACK"); diff --git a/src/test/java/integration/turn/action/cast/PlayLandServiceTest.java b/src/test/java/integration/turn/action/cast/PlayLandServiceTest.java index 9906b566..fbfa17b7 100644 --- a/src/test/java/integration/turn/action/cast/PlayLandServiceTest.java +++ b/src/test/java/integration/turn/action/cast/PlayLandServiceTest.java @@ -44,7 +44,7 @@ public class PlayLandServiceTest { public void playLand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Swamp"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Swamp"), "player-name"); gameStatus.getPlayer1().getHand().addCard(card); // When @@ -58,7 +58,7 @@ public void playLand() { public void playLandErrorNotALand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Befuddle"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Befuddle"), "player-name"); gameStatus.getPlayer1().getHand().addCard(card); // Expect @@ -72,9 +72,9 @@ public void playLandErrorNotALand() { public void playLandMultipleLand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card1 = cardInstanceFactory.create(gameStatus, 100, cards.get("Swamp"), "player-name"); + CardInstance card1 = cardInstanceFactory.create(100, cards.get("Swamp"), "player-name"); gameStatus.getPlayer1().getHand().addCard(card1); - CardInstance card2 = cardInstanceFactory.create(gameStatus, 101, cards.get("Swamp"), "player-name"); + CardInstance card2 = cardInstanceFactory.create(101, cards.get("Swamp"), "player-name"); gameStatus.getPlayer1().getHand().addCard(card2); // When @@ -95,7 +95,7 @@ public void playLandNotInMainPhase() { // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(FS); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Swamp"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Swamp"), "player-name"); gameStatus.getPlayer1().getHand().addCard(card); // Expect diff --git a/src/test/java/integration/turn/action/combat/BlockerCheckerTest.java b/src/test/java/integration/turn/action/combat/BlockerCheckerTest.java index 88cd1da1..a0bcb84b 100644 --- a/src/test/java/integration/turn/action/combat/BlockerCheckerTest.java +++ b/src/test/java/integration/turn/action/combat/BlockerCheckerTest.java @@ -39,9 +39,9 @@ public void shouldBlockWhenItHasTwoOrMoreBlockers() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance boggartBrute = cardInstanceFactory.create(gameStatus, 1, cards.get("Boggart Brute"), "player"); - CardInstance firstAirElemental = cardInstanceFactory.create(gameStatus, 2, cards.get("Air Elemental"), "opponent"); - CardInstance secondAirElemental = cardInstanceFactory.create(gameStatus, 3, cards.get("Air Elemental"), "opponent"); + CardInstance boggartBrute = cardInstanceFactory.create(1, cards.get("Boggart Brute"), "player"); + CardInstance firstAirElemental = cardInstanceFactory.create(2, cards.get("Air Elemental"), "opponent"); + CardInstance secondAirElemental = cardInstanceFactory.create(3, cards.get("Air Elemental"), "opponent"); // When blockerChecker.checkIfCanBlock(boggartBrute, List.of(firstAirElemental, secondAirElemental)); @@ -54,8 +54,8 @@ public void shouldNotBlockWhenItHasOneBlocker() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance boggartBrute = cardInstanceFactory.create(gameStatus, 1, cards.get("Boggart Brute"), "player"); - CardInstance airElemental = cardInstanceFactory.create(gameStatus, 2, cards.get("Air Elemental"), "opponent"); + CardInstance boggartBrute = cardInstanceFactory.create(1, cards.get("Boggart Brute"), "player"); + CardInstance airElemental = cardInstanceFactory.create(2, cards.get("Air Elemental"), "opponent"); // Expect thrown.expectMessage("\"2 - Air Elemental\" cannot block \"1 - Boggart Brute\" alone as it has menace."); diff --git a/src/test/java/integration/turn/action/combat/CombatServiceTest.java b/src/test/java/integration/turn/action/combat/CombatServiceTest.java index 3578c3ba..3062c095 100644 --- a/src/test/java/integration/turn/action/combat/CombatServiceTest.java +++ b/src/test/java/integration/turn/action/combat/CombatServiceTest.java @@ -74,7 +74,7 @@ public void combatShouldWorkIfNoAttackingCreatures() { public void unblockedCreatureDealsDamageToPlayer() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance attackingCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Feral Maaka"), "player", "player"); + CardInstance attackingCreature = cardInstanceFactory.create(1, cards.get("Feral Maaka"), "player", "player"); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature); // When @@ -91,12 +91,12 @@ public void lifelinkCreatureGainsLifeWhenDealingDamage() { // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature1 = cardInstanceFactory.create(gameStatus, 1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); - CardInstance attackingCreature2 = cardInstanceFactory.create(gameStatus, 2, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); + CardInstance attackingCreature1 = cardInstanceFactory.create(1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); + CardInstance attackingCreature2 = cardInstanceFactory.create(2, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature1); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature2); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); + CardInstance blockingCreature = cardInstanceFactory.create(3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When @@ -115,10 +115,10 @@ public void trampleCreatureDealsRemainingDamageToPlayer() { // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Charging Monstrosaur"), PLAYER, PLAYER); + CardInstance attackingCreature = cardInstanceFactory.create(1, cards.get("Charging Monstrosaur"), PLAYER, PLAYER); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); + CardInstance blockingCreature = cardInstanceFactory.create(2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When @@ -139,10 +139,10 @@ public void deathtouchDamageToCreature() { // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); + CardInstance attackingCreature = cardInstanceFactory.create(1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); + CardInstance blockingCreature = cardInstanceFactory.create(2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When @@ -162,10 +162,10 @@ public void lifelinkNotHappeningIfBlockedCreatureIsReturnedToHandAndNoDamageIsDe // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); + CardInstance attackingCreature = cardInstanceFactory.create(1, cards.get("Vampire of the Dire Moon"), PLAYER, PLAYER); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); + CardInstance blockingCreature = cardInstanceFactory.create(2, cards.get("Feral Maaka"), OPPONENT, OPPONENT); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When @@ -187,12 +187,12 @@ public void onlyFirstStrikeAndDoubleStrikeCreaturesDealDamageDuringFirstStrike() // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature1 = cardInstanceFactory.create(gameStatus, 1, cards.get("Fencing Ace"), PLAYER, PLAYER); // 1/1 double strike - CardInstance attackingCreature2 = cardInstanceFactory.create(gameStatus, 2, cards.get("Youthful Knight"), PLAYER, PLAYER); // 2/1 first strike + CardInstance attackingCreature1 = cardInstanceFactory.create(1, cards.get("Fencing Ace"), PLAYER, PLAYER); // 1/1 double strike + CardInstance attackingCreature2 = cardInstanceFactory.create(2, cards.get("Youthful Knight"), PLAYER, PLAYER); // 2/1 first strike gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature1); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature2); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); // 2/2 + CardInstance blockingCreature = cardInstanceFactory.create(3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); // 2/2 gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When @@ -214,12 +214,12 @@ public void firstStrikeCreaturesDoNotDealDamageDuringCombat() { // Given GameStatus gameStatus = testUtils.testGameStatus(); gameStatus.getTurn().setCurrentPhase(DA); - CardInstance attackingCreature1 = cardInstanceFactory.create(gameStatus, 1, cards.get("Fencing Ace"), PLAYER, PLAYER); - CardInstance attackingCreature2 = cardInstanceFactory.create(gameStatus, 2, cards.get("Youthful Knight"), PLAYER, PLAYER); + CardInstance attackingCreature1 = cardInstanceFactory.create(1, cards.get("Fencing Ace"), PLAYER, PLAYER); + CardInstance attackingCreature2 = cardInstanceFactory.create(2, cards.get("Youthful Knight"), PLAYER, PLAYER); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature1); gameStatus.getCurrentPlayer().getBattlefield().addCard(attackingCreature2); - CardInstance blockingCreature = cardInstanceFactory.create(gameStatus, 3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); + CardInstance blockingCreature = cardInstanceFactory.create(3, cards.get("Feral Maaka"), OPPONENT, OPPONENT); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(blockingCreature); // When diff --git a/src/test/java/integration/turn/action/draw/DrawXCardsActionTest.java b/src/test/java/integration/turn/action/draw/DrawXCardsActionTest.java index fa09feae..b0685944 100644 --- a/src/test/java/integration/turn/action/draw/DrawXCardsActionTest.java +++ b/src/test/java/integration/turn/action/draw/DrawXCardsActionTest.java @@ -38,7 +38,7 @@ public class DrawXCardsActionTest { public void controllerDraw3Cards() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 12, cards.get("Dark Remedy"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(12, cards.get("Dark Remedy"), "opponent-name"); CardInstanceAbility draw2Cards = new CardInstanceAbility(Ability.builder().abilityType(AbilityType.DRAW_X_CARDS).parameters(singletonList("2")).build()); // When diff --git a/src/test/java/integration/turn/action/enter/EnterCardIntoBattlefieldServiceTest.java b/src/test/java/integration/turn/action/enter/EnterCardIntoBattlefieldServiceTest.java index 4fb7a444..616466d3 100644 --- a/src/test/java/integration/turn/action/enter/EnterCardIntoBattlefieldServiceTest.java +++ b/src/test/java/integration/turn/action/enter/EnterCardIntoBattlefieldServiceTest.java @@ -42,7 +42,7 @@ public class EnterCardIntoBattlefieldServiceTest { public void enterTheBattlefield() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Swamp"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Swamp"), "player-name"); card.setController("player-name"); // When @@ -57,7 +57,7 @@ public void enterTheBattlefield() { public void enterTheBattlefieldOpponent() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Swamp"), "opponent-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Swamp"), "opponent-name"); card.setController("opponent-name"); // When @@ -72,7 +72,7 @@ public void enterTheBattlefieldOpponent() { public void enterTheBattlefieldTapped() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Diregraf Ghoul"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Diregraf Ghoul"), "player-name"); card.setController("player-name"); // When @@ -86,7 +86,7 @@ public void enterTheBattlefieldTapped() { public void enterTheBattlefieldTrigger() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Jadecraft Artisan"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Jadecraft Artisan"), "player-name"); card.setController("player-name"); // When @@ -102,7 +102,7 @@ public void enterTheBattlefieldTrigger() { public void enterTheBattlefieldAdamantTriggered() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Ardenvale Paladin"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Ardenvale Paladin"), "player-name"); card.setController("player-name"); gameStatus.getTurn().setLastManaPaid(ImmutableMap.of( @@ -123,7 +123,7 @@ public void enterTheBattlefieldAdamantTriggered() { public void enterTheBattlefieldAdamantNotTriggered() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Ardenvale Paladin"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Ardenvale Paladin"), "player-name"); card.setController("player-name"); gameStatus.getTurn().setLastManaPaid(ImmutableMap.of( @@ -144,7 +144,7 @@ public void enterTheBattlefieldAdamantNotTriggered() { public void enterTheBattlefieldAdamantSameTriggered() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Clockwork Servant"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Clockwork Servant"), "player-name"); card.setController("player-name"); gameStatus.getTurn().setLastManaPaid(ImmutableMap.of( @@ -165,7 +165,7 @@ public void enterTheBattlefieldAdamantSameTriggered() { public void enterTheBattlefieldAdamantSameNotTriggered() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance card = cardInstanceFactory.create(gameStatus, 100, cards.get("Clockwork Servant"), "player-name"); + CardInstance card = cardInstanceFactory.create(100, cards.get("Clockwork Servant"), "player-name"); card.setController("player-name"); gameStatus.getTurn().setLastManaPaid(ImmutableMap.of( diff --git a/src/test/java/integration/turn/action/leave/DestroyPermanentServiceTest.java b/src/test/java/integration/turn/action/leave/DestroyPermanentServiceTest.java index 9e5571b1..9e4ad4ea 100644 --- a/src/test/java/integration/turn/action/leave/DestroyPermanentServiceTest.java +++ b/src/test/java/integration/turn/action/leave/DestroyPermanentServiceTest.java @@ -39,7 +39,7 @@ public class DestroyPermanentServiceTest { public void testDestroy() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); // When @@ -55,7 +55,7 @@ public void testDestroy() { public void testDestroyDontBlowUpIfCardsIsNotAnymoreInTheBattlefield() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); gameStatus.getPlayer1().getGraveyard().addCard(cardInstance); // When @@ -71,7 +71,7 @@ public void testDestroyDontBlowUpIfCardsIsNotAnymoreInTheBattlefield() { public void testDestroyIndestructibleDoesNotDestroyIt() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); cardInstance.getModifiers().getModifiersUntilEndOfTurn().getExtraAbilities().add(new CardInstanceAbility(INDESTRUCTIBLE)); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); @@ -88,7 +88,7 @@ public void testDestroyIndestructibleDoesNotDestroyIt() { public void testReduceToughnessToZeroOfIndestructibleDestroysIt() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); cardInstance.getModifiers().getModifiersUntilEndOfTurn().getExtraAbilities().add(new CardInstanceAbility(INDESTRUCTIBLE)); cardInstance.getModifiers().getModifiersUntilEndOfTurn().getExtraAbilities().add(new CardInstanceAbility(THAT_TARGETS_GET, emptyList(), singletonList("-3/-3"), null)); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); diff --git a/src/test/java/integration/turn/action/leave/LeaveBattlefieldServiceTest.java b/src/test/java/integration/turn/action/leave/LeaveBattlefieldServiceTest.java index b25335ec..57d17d20 100644 --- a/src/test/java/integration/turn/action/leave/LeaveBattlefieldServiceTest.java +++ b/src/test/java/integration/turn/action/leave/LeaveBattlefieldServiceTest.java @@ -38,7 +38,7 @@ public class LeaveBattlefieldServiceTest { public void testLeaveBattlefield() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); cardInstance.getModifiers().tap(); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); @@ -54,18 +54,18 @@ public void testLeaveBattlefield() { public void testLeaveBattlefieldWithAttachments() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance creature = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance creature = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(creature); - CardInstance enchantment1 = cardInstanceFactory.create(gameStatus, 62, cards.get("Knight's Pledge"), "player-name", "player-name"); + CardInstance enchantment1 = cardInstanceFactory.create(62, cards.get("Knight's Pledge"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(enchantment1); attachService.attach(gameStatus, enchantment1, creature.getId()); - CardInstance enchantment2 = cardInstanceFactory.create(gameStatus, 63, cards.get("Knight's Pledge"), "opponent-name", "opponent-name"); + CardInstance enchantment2 = cardInstanceFactory.create(63, cards.get("Knight's Pledge"), "opponent-name", "opponent-name"); gameStatus.getPlayer2().getBattlefield().addCard(enchantment2); attachService.attach(gameStatus, enchantment2, creature.getId()); - CardInstance equipment = cardInstanceFactory.create(gameStatus, 64, cards.get("Marauder's Axe"), "player-name", "player-name"); + CardInstance equipment = cardInstanceFactory.create(64, cards.get("Marauder's Axe"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(equipment); attachService.attach(gameStatus, equipment, creature.getId()); diff --git a/src/test/java/integration/turn/action/leave/ReturnPermanentToHandServiceTest.java b/src/test/java/integration/turn/action/leave/ReturnPermanentToHandServiceTest.java index 0b604f34..c09b07e8 100644 --- a/src/test/java/integration/turn/action/leave/ReturnPermanentToHandServiceTest.java +++ b/src/test/java/integration/turn/action/leave/ReturnPermanentToHandServiceTest.java @@ -34,7 +34,7 @@ public class ReturnPermanentToHandServiceTest { public void testMarkReturnToHand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); // When @@ -48,7 +48,7 @@ public void testMarkReturnToHand() { public void testReturnToHand() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 61, cards.get("Canopy Spider"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(61, cards.get("Canopy Spider"), "player-name", "player-name"); gameStatus.getPlayer1().getBattlefield().addCard(cardInstance); // When diff --git a/src/test/java/integration/turn/action/life/AddXLifeActionTest.java b/src/test/java/integration/turn/action/life/AddXLifeActionTest.java index b45f2b84..822b0479 100644 --- a/src/test/java/integration/turn/action/life/AddXLifeActionTest.java +++ b/src/test/java/integration/turn/action/life/AddXLifeActionTest.java @@ -38,7 +38,7 @@ public class AddXLifeActionTest { public void addLifeToPlayer() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Lich's Caress"), "player-name", "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Lich's Caress"), "player-name", "player-name"); // When Ability gain3Life = Ability.builder().abilityType(AbilityType.ADD_X_LIFE).parameters(singletonList("3")).build(); diff --git a/src/test/java/integration/turn/action/life/EachPlayersAddXLifeActionTest.java b/src/test/java/integration/turn/action/life/EachPlayersAddXLifeActionTest.java index 3aa20de1..e2e51e70 100644 --- a/src/test/java/integration/turn/action/life/EachPlayersAddXLifeActionTest.java +++ b/src/test/java/integration/turn/action/life/EachPlayersAddXLifeActionTest.java @@ -38,7 +38,7 @@ public class EachPlayersAddXLifeActionTest { public void subtractXLifeToEachPlayer() { // Given GameStatus gameStatus = testUtils.testGameStatus(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Dark Remedy"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Dark Remedy"), "player-name"); // When Ability lose4Life = Ability.builder().abilityType(AbilityType.ADD_X_LIFE).parameters(singletonList("-4")).build(); diff --git a/src/test/java/integration/turn/action/selection/CardInstanceSelectorServiceTest.java b/src/test/java/integration/turn/action/selection/CardInstanceSelectorServiceTest.java index b7981090..3213a65a 100644 --- a/src/test/java/integration/turn/action/selection/CardInstanceSelectorServiceTest.java +++ b/src/test/java/integration/turn/action/selection/CardInstanceSelectorServiceTest.java @@ -59,7 +59,7 @@ public void selectionOnTargetPermanentFails() { .selectorType(PERMANENT) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); // When List selection = selectorService.select(gameStatus, cardInstance, cardInstanceSelector).getCards(); @@ -76,7 +76,7 @@ public void selectionOnTargetPermanentPasses() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder() .selectorType(PERMANENT) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -95,7 +95,7 @@ public void selectionOnTargetCreatureFails() { .selectorType(PERMANENT) .ofType(singletonList(CREATURE)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Plains"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -114,7 +114,7 @@ public void selectionOnTargetCreaturePasses() { .selectorType(PERMANENT) .ofType(singletonList(CREATURE)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -134,7 +134,7 @@ public void selectionOnEqualToughnessFails() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(POWER, EQUAL, 2)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -154,7 +154,7 @@ public void selectionOnEqualToughnessPasses() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(POWER, EQUAL, 3)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -174,7 +174,7 @@ public void selectionOnGreaterPowerFails() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(POWER, GREATER, 4)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -194,7 +194,7 @@ public void selectionOnGreaterPowerPasses() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(POWER, GREATER, 2)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -214,7 +214,7 @@ public void selectionOnLessOrEqualToughnessFailsOnLess() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(TOUGHNESS, LESS_OR_EQUAL, 3)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -234,7 +234,7 @@ public void selectionOnLessOrEqualToughnessPassesOnEqual() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(TOUGHNESS, LESS_OR_EQUAL, 4)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -254,7 +254,7 @@ public void selectionOnLessOrEqualToughnessPassesOnGreater() { .ofType(singletonList(CREATURE)) .powerToughnessConstraint(new PowerToughnessConstraint(TOUGHNESS, LESS_OR_EQUAL, 5)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); // When @@ -274,7 +274,7 @@ public void selectionPlayerCreatureCorrect() { .ofType(singletonList(CREATURE)) .controllerType(PLAYER) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -295,7 +295,7 @@ public void selectionPlayerCreatureException() { .ofType(singletonList(CREATURE)) .controllerType(PLAYER) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); cardInstance.setController("opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -316,7 +316,7 @@ public void selectionOpponentCreatureCorrect() { .ofType(singletonList(CREATURE)) .controllerType(OPPONENT) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "opponent-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "opponent-name"); cardInstance.setController("opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -337,7 +337,7 @@ public void selectionOpponentCreatureException() { .ofType(singletonList(CREATURE)) .controllerType(OPPONENT) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -358,7 +358,7 @@ public void selectionAttackingCreature() { .ofType(singletonList(CREATURE)) .statusTypes(singletonList(ATTACKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); cardInstance.getModifiers().setAttacking(true); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -380,7 +380,7 @@ public void selectionAttackingCreatureException() { .ofType(singletonList(CREATURE)) .statusTypes(singletonList(ATTACKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -401,7 +401,7 @@ public void selectionBlockingCreature() { .ofType(singletonList(CREATURE)) .statusTypes(singletonList(BLOCKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); cardInstance.getModifiers().setBlockingCardId(2); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -423,7 +423,7 @@ public void selectionBlockingCreatureException() { .ofType(singletonList(CREATURE)) .statusTypes(singletonList(BLOCKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -444,7 +444,7 @@ public void selectionAttackingOrBlockingAttackingCreature() { .ofType(singletonList(CREATURE)) .statusTypes(asList(ATTACKING, BLOCKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); cardInstance.getModifiers().setAttacking(true); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -466,7 +466,7 @@ public void selectionAttackingOrBlockingBlockingCreature() { .ofType(singletonList(CREATURE)) .statusTypes(asList(ATTACKING, BLOCKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); cardInstance.getModifiers().setBlockingCardId(2); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -488,7 +488,7 @@ public void selectionAttackingOrBlockingException() { .ofType(singletonList(CREATURE)) .statusTypes(asList(ATTACKING, BLOCKING)) .build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -505,8 +505,8 @@ public void selectionAnother() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().others(true).selectorType(PERMANENT).ofType(singletonList(CREATURE)).build(); - CardInstance cardInstance1 = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); - CardInstance cardInstance2 = cardInstanceFactory.create(gameStatus, 2, cards.get("Frenzied Raptor"), "player-name"); + CardInstance cardInstance1 = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance2 = cardInstanceFactory.create(2, cards.get("Frenzied Raptor"), "player-name"); cardInstance1.setController("player-name"); cardInstance2.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance1); @@ -525,7 +525,7 @@ public void selectionAnotherException() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().others(true).selectorType(PERMANENT).ofType(singletonList(CREATURE)).build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -542,7 +542,7 @@ public void selectionNonLand() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).notOfType(singletonList(LAND)).build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Grazing Whiptail"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Grazing Whiptail"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -559,7 +559,7 @@ public void selectionNonLandException() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).notOfType(singletonList(LAND)).build(); - CardInstance cardInstance = cardInstanceFactory.create(gameStatus, 1, cards.get("Plains"), "player-name"); + CardInstance cardInstance = cardInstanceFactory.create(1, cards.get("Plains"), "player-name"); cardInstance.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(cardInstance); @@ -576,19 +576,19 @@ public void selectionZombiesYouControl() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).ofType(singletonList(CREATURE)).ofSubtype(singletonList(ZOMBIE)).others(true).build(); - CardInstance otherZombiesCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Death Baron"), "player-name"); + CardInstance otherZombiesCreature = cardInstanceFactory.create(1, cards.get("Death Baron"), "player-name"); otherZombiesCreature.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(otherZombiesCreature); - CardInstance aZombie = cardInstanceFactory.create(gameStatus, 2, cards.get("Diregraf Ghoul"), "player-name"); + CardInstance aZombie = cardInstanceFactory.create(2, cards.get("Diregraf Ghoul"), "player-name"); aZombie.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aZombie); - CardInstance aNonZombie = cardInstanceFactory.create(gameStatus, 3, cards.get("Daybreak Chaplain"), "player-name"); + CardInstance aNonZombie = cardInstanceFactory.create(3, cards.get("Daybreak Chaplain"), "player-name"); aNonZombie.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aNonZombie); - CardInstance anOpponentZombie = cardInstanceFactory.create(gameStatus, 4, cards.get("Daybreak Chaplain"), "player-name"); + CardInstance anOpponentZombie = cardInstanceFactory.create(4, cards.get("Daybreak Chaplain"), "player-name"); anOpponentZombie.setController("opponent-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(anOpponentZombie); @@ -605,19 +605,19 @@ public void selectionFliersYouControl() { GameStatus gameStatus = testUtils.testGameStatus(); CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).others(true).ofType(singletonList(CREATURE)).withAbilityType(FLYING).controllerType(PLAYER).build(); - CardInstance otherFliersCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "player-name"); + CardInstance otherFliersCreature = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "player-name"); otherFliersCreature.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(otherFliersCreature); - CardInstance aFlier = cardInstanceFactory.create(gameStatus, 2, cards.get("Dawning Angel"), "player-name"); + CardInstance aFlier = cardInstanceFactory.create(2, cards.get("Dawning Angel"), "player-name"); aFlier.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aFlier); - CardInstance aNonFlier = cardInstanceFactory.create(gameStatus, 3, cards.get("Daybreak Chaplain"), "player-name"); + CardInstance aNonFlier = cardInstanceFactory.create(3, cards.get("Daybreak Chaplain"), "player-name"); aNonFlier.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aNonFlier); - CardInstance anOpponentFlier = cardInstanceFactory.create(gameStatus, 4, cards.get("Dawning Angel"), "player-name"); + CardInstance anOpponentFlier = cardInstanceFactory.create(4, cards.get("Dawning Angel"), "player-name"); anOpponentFlier.setController("opponent-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(anOpponentFlier); @@ -636,10 +636,10 @@ public void selectionCreatureOrPlaneswalkerGreenOrWhite() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).ofType(asList(CREATURE, PLANESWALKER)).ofColors(asList(GREEN, WHITE)).build(); - CardInstance whiteCreature = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "player-name"); + CardInstance whiteCreature = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(whiteCreature); - CardInstance blackCreature = cardInstanceFactory.create(gameStatus, 2, cards.get("Barony Vampire"), "player-name"); + CardInstance blackCreature = cardInstanceFactory.create(2, cards.get("Barony Vampire"), "player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(blackCreature); // When @@ -656,7 +656,7 @@ public void selectionItself() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).itself(true).build(); - CardInstance aPermanent = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "player-name"); + CardInstance aPermanent = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aPermanent); // When @@ -673,7 +673,7 @@ public void selectionItselfAsLongItsYourTurnYes() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).itself(true).turnStatusType(YOUR_TURN).build(); - CardInstance aPermanent = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "player-name"); + CardInstance aPermanent = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "player-name"); aPermanent.setController("player-name"); gameStatus.getCurrentPlayer().getBattlefield().addCard(aPermanent); @@ -691,7 +691,7 @@ public void selectionItselfAsLongItsYourTurnNo() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).itself(true).turnStatusType(YOUR_TURN).build(); - CardInstance aPermanent = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "opponent-name"); + CardInstance aPermanent = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "opponent-name"); aPermanent.setController("opponent-name"); gameStatus.getNonCurrentPlayer().getBattlefield().addCard(aPermanent); @@ -709,9 +709,9 @@ public void selectionCurrentEnchanted() { CardInstanceSelector cardInstanceSelector = CardInstanceSelector.builder().selectorType(PERMANENT).currentEnchanted(true).build(); - CardInstance aPermanent = cardInstanceFactory.create(gameStatus, 1, cards.get("Empyrean Eagle"), "player-name"); + CardInstance aPermanent = cardInstanceFactory.create(1, cards.get("Empyrean Eagle"), "player-name"); aPermanent.setController("player-name"); - CardInstance theEnchantment = cardInstanceFactory.create(gameStatus, 2, cards.get("Colossification"), "player-name"); + CardInstance theEnchantment = cardInstanceFactory.create(2, cards.get("Colossification"), "player-name"); theEnchantment.setController("player-name"); theEnchantment.getModifiers().setAttachedToId(aPermanent.getId());