diff --git a/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuel.java b/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuel.java index 2e0340854ac..d981d14d875 100644 --- a/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuel.java +++ b/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuel.java @@ -15,8 +15,8 @@ public class TwoPlayerDuel extends GameImpl { this(attackOption, range, mulligan, startLife, 60); } - public TwoPlayerDuel(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int startingHandSize) { - super(attackOption, range, mulligan, startingLife, startingHandSize); + public TwoPlayerDuel(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int minimumDeckSize) { + super(attackOption, range, mulligan, startingLife, minimumDeckSize); } public TwoPlayerDuel(final TwoPlayerDuel game) { diff --git a/Mage.Sets/src/mage/cards/g/GyrudaDoomOfDepths.java b/Mage.Sets/src/mage/cards/g/GyrudaDoomOfDepths.java index 420140085d1..6fca384b50e 100644 --- a/Mage.Sets/src/mage/cards/g/GyrudaDoomOfDepths.java +++ b/Mage.Sets/src/mage/cards/g/GyrudaDoomOfDepths.java @@ -59,7 +59,7 @@ enum GyrudaDoomOfDepthsCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck .stream() .mapToInt(MageObject::getManaValue) diff --git a/Mage.Sets/src/mage/cards/j/JeganthaTheWellspring.java b/Mage.Sets/src/mage/cards/j/JeganthaTheWellspring.java index 64319447683..ca321fb4f52 100644 --- a/Mage.Sets/src/mage/cards/j/JeganthaTheWellspring.java +++ b/Mage.Sets/src/mage/cards/j/JeganthaTheWellspring.java @@ -8,16 +8,21 @@ import mage.abilities.costs.Cost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.keyword.CompanionAbility; import mage.abilities.keyword.CompanionCondition; +import mage.abilities.mana.ConditionalColoredManaAbility; +import mage.abilities.mana.builder.ConditionalManaBuilder; import mage.abilities.mana.conditional.ManaCondition; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; import mage.game.Game; -import java.util.*; -import mage.abilities.mana.ConditionalColoredManaAbility; -import mage.abilities.mana.builder.ConditionalManaBuilder; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.UUID; /** * @author TheElk801 @@ -61,7 +66,7 @@ enum JeganthaTheWellspringCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck.stream().noneMatch(JeganthaTheWellspringCompanionCondition::checkCard); } diff --git a/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java b/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java index d8e3546239b..933195e033c 100644 --- a/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java +++ b/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java @@ -96,7 +96,7 @@ enum KaheeraTheOrphanguardCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck.stream() .filter(card -> card.hasCardTypeForDeckbuilding(CardType.CREATURE)) .allMatch(KaheeraTheOrphanguardCompanionCondition::isCardLegal); diff --git a/Mage.Sets/src/mage/cards/k/KerugaTheMacrosage.java b/Mage.Sets/src/mage/cards/k/KerugaTheMacrosage.java index 7033f79cc67..02192b980dd 100644 --- a/Mage.Sets/src/mage/cards/k/KerugaTheMacrosage.java +++ b/Mage.Sets/src/mage/cards/k/KerugaTheMacrosage.java @@ -66,7 +66,7 @@ enum KerugaCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck.stream().allMatch(card -> card.hasCardTypeForDeckbuilding(CardType.LAND) || card.getManaValue() >= 3); } } diff --git a/Mage.Sets/src/mage/cards/l/LurrusOfTheDreamDen.java b/Mage.Sets/src/mage/cards/l/LurrusOfTheDreamDen.java index fb55d52e494..2cf85ac35c8 100644 --- a/Mage.Sets/src/mage/cards/l/LurrusOfTheDreamDen.java +++ b/Mage.Sets/src/mage/cards/l/LurrusOfTheDreamDen.java @@ -1,7 +1,5 @@ package mage.cards.l; -import java.util.Set; -import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.common.CastFromGraveyardOnceStaticAbility; @@ -18,6 +16,9 @@ import mage.constants.SuperType; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ManaValuePredicate; +import java.util.Set; +import java.util.UUID; + /** * @author TheElk801 */ @@ -67,7 +68,7 @@ enum LurrusOfTheDreamDenCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck.stream() .filter(MageObject::isPermanent) .mapToInt(MageObject::getManaValue) diff --git a/Mage.Sets/src/mage/cards/l/LutriTheSpellchaser.java b/Mage.Sets/src/mage/cards/l/LutriTheSpellchaser.java index f3fb70a83db..d8d2ec7bfe6 100644 --- a/Mage.Sets/src/mage/cards/l/LutriTheSpellchaser.java +++ b/Mage.Sets/src/mage/cards/l/LutriTheSpellchaser.java @@ -83,7 +83,7 @@ enum LutriTheSpellchaserCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { Map cardMap = new HashMap<>(); deck.stream() .filter(card -> !card.hasCardTypeForDeckbuilding(CardType.LAND)) diff --git a/Mage.Sets/src/mage/cards/o/OboshThePreypiercer.java b/Mage.Sets/src/mage/cards/o/OboshThePreypiercer.java index 9ab6529240c..2fd4a045b31 100644 --- a/Mage.Sets/src/mage/cards/o/OboshThePreypiercer.java +++ b/Mage.Sets/src/mage/cards/o/OboshThePreypiercer.java @@ -58,7 +58,7 @@ enum OboshThePreypiercerCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck .stream() .filter(card -> !card.hasCardTypeForDeckbuilding(CardType.LAND)) diff --git a/Mage.Sets/src/mage/cards/u/UmoriTheCollector.java b/Mage.Sets/src/mage/cards/u/UmoriTheCollector.java index 041324f4a07..802dd376a65 100644 --- a/Mage.Sets/src/mage/cards/u/UmoriTheCollector.java +++ b/Mage.Sets/src/mage/cards/u/UmoriTheCollector.java @@ -64,7 +64,7 @@ enum UmoriCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { Set cardTypes = new HashSet<>(); for (Card card : deck) { // Lands are fine. diff --git a/Mage.Sets/src/mage/cards/y/YorionSkyNomad.java b/Mage.Sets/src/mage/cards/y/YorionSkyNomad.java index 56aac1067ea..bf9f657b750 100644 --- a/Mage.Sets/src/mage/cards/y/YorionSkyNomad.java +++ b/Mage.Sets/src/mage/cards/y/YorionSkyNomad.java @@ -72,8 +72,8 @@ enum YorionSkyNomadCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { - return deck.size() >= startingHandSize + 20; + public boolean isLegal(Set deck, int minimumDeckSize) { + return deck.size() >= minimumDeckSize + 20; } } diff --git a/Mage.Sets/src/mage/cards/z/ZirdaTheDawnwaker.java b/Mage.Sets/src/mage/cards/z/ZirdaTheDawnwaker.java index 081c7cff9b6..741dbbb4777 100644 --- a/Mage.Sets/src/mage/cards/z/ZirdaTheDawnwaker.java +++ b/Mage.Sets/src/mage/cards/z/ZirdaTheDawnwaker.java @@ -73,7 +73,7 @@ enum ZirdaTheDawnwakerCompanionCondition implements CompanionCondition { } @Override - public boolean isLegal(Set deck, int startingHandSize) { + public boolean isLegal(Set deck, int minimumDeckSize) { return deck .stream() .filter(MageObject::isPermanent) diff --git a/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java b/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java index cdcdbc94d66..b08d86011fd 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java @@ -41,8 +41,8 @@ public class CompanionAbility extends SpecialAction { return "Companion — " + companionCondition.getRule(); } - public final boolean isLegal(Set cards, int startingHandSize) { - return companionCondition.isLegal(cards, startingHandSize); + public final boolean isLegal(Set cards, int minimumDeckSize) { + return companionCondition.isLegal(cards, minimumDeckSize); } public final String getLegalRule() { diff --git a/Mage/src/main/java/mage/abilities/keyword/CompanionCondition.java b/Mage/src/main/java/mage/abilities/keyword/CompanionCondition.java index d00441681c4..d91d69d32e3 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CompanionCondition.java +++ b/Mage/src/main/java/mage/abilities/keyword/CompanionCondition.java @@ -19,8 +19,8 @@ public interface CompanionCondition extends Serializable { /** * @param deck The set of cards to check. - * @param startingHandSize + * @param minimumDeckSize * @return Whether the companion is valid for that deck. */ - boolean isLegal(Set deck, int startingHandSize); + boolean isLegal(Set deck, int minimumDeckSize); } diff --git a/Mage/src/main/java/mage/game/GameCommanderImpl.java b/Mage/src/main/java/mage/game/GameCommanderImpl.java index a17bc98e9f7..478d4d49382 100644 --- a/Mage/src/main/java/mage/game/GameCommanderImpl.java +++ b/Mage/src/main/java/mage/game/GameCommanderImpl.java @@ -16,7 +16,6 @@ import mage.game.mulligan.Mulligan; import mage.game.turn.TurnMod; import mage.players.Player; import mage.watchers.common.CommanderInfoWatcher; -import mage.watchers.common.CommanderPlaysCountWatcher; import java.util.*; import java.util.stream.Stream; @@ -32,8 +31,8 @@ public abstract class GameCommanderImpl extends GameImpl { protected boolean startingPlayerSkipsDraw = true; - public GameCommanderImpl(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int startingHandSize) { - super(attackOption, range, mulligan, startingLife, startingHandSize); + public GameCommanderImpl(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int minimumDeckSize) { + super(attackOption, range, mulligan, startingLife, minimumDeckSize); } public GameCommanderImpl(final GameCommanderImpl game) { diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 0fda1982749..54aa49dbfd5 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -144,7 +144,7 @@ public abstract class GameImpl implements Game { private boolean saveGame = false; // replay code, not done private int priorityTime; // match time limit private final int startingLife; - private final int startingHandSize; + private final int minimumDeckSize; protected transient PlayerList playerList; // auto-generated from state, don't copy // infinite loop check (temporary data, do not copy) @@ -156,7 +156,7 @@ public abstract class GameImpl implements Game { // temporary store for income concede commands, don't copy private final LinkedList concedingPlayers = new LinkedList<>(); - public GameImpl(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int startingHandSize) { + public GameImpl(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan, int startingLife, int minimumDeckSize) { this.id = UUID.randomUUID(); this.range = range; this.mulligan = mulligan; @@ -164,7 +164,7 @@ public abstract class GameImpl implements Game { this.state = new GameState(); this.startingLife = startingLife; this.executingRollback = false; - this.startingHandSize = startingHandSize; + this.minimumDeckSize = minimumDeckSize; initGameDefaultWatchers(); } @@ -251,7 +251,7 @@ public abstract class GameImpl implements Game { this.saveGame = game.saveGame; this.priorityTime = game.priorityTime; this.startingLife = game.startingLife; - this.startingHandSize = game.startingHandSize; + this.minimumDeckSize = game.minimumDeckSize; //this.playerList = game.playerList; // auto-generated list, don't copy // loop check code, no need to copy @@ -1173,7 +1173,7 @@ public abstract class GameImpl implements Game { for (Ability ability : card.getAbilities(this)) { if (ability instanceof CompanionAbility) { CompanionAbility companionAbility = (CompanionAbility) ability; - if (companionAbility.isLegal(cards, startingHandSize)) { + if (companionAbility.isLegal(cards, minimumDeckSize)) { potentialCompanions.add(card); break; }