From df47bab393a7ae237eb4fef0e022d1f39408cbda Mon Sep 17 00:00:00 2001
From: Maxmtg
Date: Fri, 23 Nov 2012 20:03:37 +0000
Subject: [PATCH] Counter class renamed to CounterType
---
.gitattributes | 2 +-
src/main/java/forge/Card.java | 91 +++++++++----------
.../forge/{Counters.java => CounterType.java} | 12 +--
src/main/java/forge/GameAction.java | 22 ++---
src/main/java/forge/GameActionUtil.java | 6 +-
.../card/abilityfactory/ai/CountersAi.java | 4 +-
.../abilityfactory/ai/CountersMoveAi.java | 6 +-
.../ai/CountersProliferateAi.java | 6 +-
.../card/abilityfactory/ai/CountersPutAi.java | 4 +-
.../abilityfactory/ai/CountersRemoveAi.java | 4 +-
.../card/abilityfactory/ai/DestroyAi.java | 4 +-
.../card/abilityfactory/ai/LifeSetAi.java | 4 +-
.../effects/CountersMoveEffect.java | 8 +-
.../effects/CountersProliferateEffect.java | 10 +-
.../effects/CountersPutAllEffect.java | 8 +-
.../effects/CountersPutEffect.java | 10 +-
.../effects/CountersRemoveAllEffect.java | 8 +-
.../effects/CountersRemoveEffect.java | 24 ++---
.../abilityfactory/effects/ManaEffect.java | 4 +-
.../cardfactory/CardFactoryArtifacts.java | 4 +-
.../cardfactory/CardFactoryCreatures.java | 24 ++---
.../card/cardfactory/CardFactoryLands.java | 4 +-
.../cardfactory/CardFactoryPlaneswalkers.java | 4 +-
.../card/cardfactory/CardFactoryUtil.java | 42 ++++-----
src/main/java/forge/card/cost/Cost.java | 6 +-
.../java/forge/card/cost/CostPutCounter.java | 10 +-
.../forge/card/cost/CostRemoveCounter.java | 10 +-
src/main/java/forge/card/cost/CostUtil.java | 8 +-
.../card/trigger/TriggerCounterAdded.java | 4 +-
.../card/trigger/TriggerCounterRemoved.java | 4 +-
.../java/forge/game/phase/CombatUtil.java | 18 ++--
src/main/java/forge/game/phase/EndOfTurn.java | 4 +-
src/main/java/forge/game/phase/Untap.java | 6 +-
src/main/java/forge/game/phase/Upkeep.java | 26 +++---
.../forge/game/player/ComputerUtilAttack.java | 8 +-
.../forge/game/player/ComputerUtilBlock.java | 4 +-
src/main/java/forge/game/player/Player.java | 14 +--
src/main/java/forge/gui/CardDetailPanel.java | 6 +-
src/main/java/forge/gui/GuiDisplayUtil.java | 6 +-
.../java/forge/view/arcane/CardPanel.java | 6 +-
40 files changed, 225 insertions(+), 230 deletions(-)
rename src/main/java/forge/{Counters.java => CounterType.java} (95%)
diff --git a/.gitattributes b/.gitattributes
index 4f2378c0030..739c808faeb 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -12535,7 +12535,7 @@ src/main/java/forge/ColorChanger.java -text
src/main/java/forge/Command.java svneol=native#text/plain
src/main/java/forge/CommandList.java svneol=native#text/plain
src/main/java/forge/Constant.java svneol=native#text/plain
-src/main/java/forge/Counters.java svneol=native#text/plain
+src/main/java/forge/CounterType.java svneol=native#text/plain
src/main/java/forge/GameAction.java svneol=native#text/plain
src/main/java/forge/GameActionUtil.java svneol=native#text/plain
src/main/java/forge/GameEntity.java -text
diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java
index 1246cfc1920..15bd30f58c2 100644
--- a/src/main/java/forge/Card.java
+++ b/src/main/java/forge/Card.java
@@ -95,7 +95,7 @@ public class Card extends GameEntity implements Comparable {
private ZoneType castFrom = null;
private final CardDamageHistory damageHistory = new CardDamageHistory();
- private Map counters = new TreeMap();
+ private Map counters = new TreeMap();
private final Map triggeringObjects = new TreeMap();
private ArrayList extrinsicKeyword = new ArrayList();
// Hidden keywords won't be displayed on the card
@@ -1211,11 +1211,11 @@ public class Card extends GameEntity implements Comparable {
* the counter name
* @return true, if successful
*/
- public final boolean canHaveCountersPlacedOnIt(final Counters counterName) {
+ public final boolean canHaveCountersPlacedOnIt(final CounterType counterName) {
if (this.hasKeyword("CARDNAME can't have counters placed on it.")) {
return false;
}
- if (this.isCreature() && counterName.equals(Counters.M1M1)) {
+ if (this.isCreature() && counterName.equals(CounterType.M1M1)) {
for (final Card c : this.getController().getCreaturesInPlay()) { // look
// for
// Melira,
@@ -1237,11 +1237,11 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @param n
* a int.
*/
- public final void addCounterFromNonEffect(final Counters counterName, final int n) {
+ public final void addCounterFromNonEffect(final CounterType counterName, final int n) {
if (!this.canHaveCountersPlacedOnIt(counterName)) {
return;
}
@@ -1272,33 +1272,32 @@ public class Card extends GameEntity implements Comparable {
* addCounter.
*
*
- * @param counterName
- * a {@link forge.Counters} object.
+ * @param counterType
+ * a {@link forge.CounterType} object.
* @param n
* a int.
*/
- public final void addCounter(final Counters counterName, final int n) {
- if (!this.canHaveCountersPlacedOnIt(counterName)) {
+ public final void addCounter(final CounterType counterType, final int n) {
+ if (!this.canHaveCountersPlacedOnIt(counterType)) {
return;
}
- final int multiplier = this.getController().getCounterDoublersMagnitude(counterName);
- if (this.counters.containsKey(counterName)) {
- final Integer aux = this.counters.get(counterName) + (multiplier * n);
- this.counters.put(counterName, aux);
- } else {
- this.counters.put(counterName, Integer.valueOf(multiplier * n));
- }
+ final int multiplier = this.getController().getCounterDoublersMagnitude(counterType);
+ final int addAmount = (multiplier * n);
+
+ Integer oldValue = this.counters.get(counterType);
+ int newValue = addAmount + (oldValue == null ? 0 : oldValue.intValue());
+ this.counters.put(counterType, Integer.valueOf(newValue));
// Run triggers
final Map runParams = new TreeMap();
runParams.put("Card", this);
- runParams.put("CounterType", counterName);
- for (int i = 0; i < (multiplier * n); i++) {
+ runParams.put("CounterType", counterType);
+ for (int i = 0; i < addAmount; i++) {
Singletons.getModel().getGame().getTriggerHandler().runTrigger(TriggerType.CounterAdded, runParams);
}
// play the Add Counter sound
- Singletons.getModel().getGame().getEvents().post(new AddCounterEvent(n));
+ Singletons.getModel().getGame().getEvents().post(new AddCounterEvent(addAmount));
this.updateObservers();
}
@@ -1309,11 +1308,11 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @param n
* a int.
*/
- public final void subtractCounter(final Counters counterName, final int n) {
+ public final void subtractCounter(final CounterType counterName, final int n) {
if (this.counters.containsKey(counterName)) {
Integer aux = this.counters.get(counterName) - n;
if (aux < 0) {
@@ -1329,7 +1328,7 @@ public class Card extends GameEntity implements Comparable {
Singletons.getModel().getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemoved, runParams);
}
- if (counterName.equals(Counters.TIME) && (aux == 0)) {
+ if (counterName.equals(CounterType.TIME) && (aux == 0)) {
final boolean hasVanish = CardFactoryUtil.hasKeyword(this, "Vanishing") != -1;
if (hasVanish && this.isInPlay()) {
@@ -1386,10 +1385,10 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @return a int.
*/
- public final int getCounters(final Counters counterName) {
+ public final int getCounters(final CounterType counterName) {
if (this.counters.containsKey(counterName)) {
return this.counters.get(counterName);
}
@@ -1405,7 +1404,7 @@ public class Card extends GameEntity implements Comparable {
* @return a Map object.
* @since 1.0.15
*/
- public final Map getCounters() {
+ public final Map getCounters() {
return this.counters;
}
@@ -1440,13 +1439,13 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @param n
* a int.
* @param bSetValue
* a boolean.
*/
- public final void setCounter(final Counters counterName, final int n, final boolean bSetValue) {
+ public final void setCounter(final CounterType counterName, final int n, final boolean bSetValue) {
if (!this.canHaveCountersPlacedOnIt(counterName)) {
return;
}
@@ -1476,7 +1475,7 @@ public class Card extends GameEntity implements Comparable {
* a Map object.
* @since 1.0.15
*/
- public final void setCounters(final Map allCounters) {
+ public final void setCounters(final Map allCounters) {
this.counters = allCounters;
}
@@ -1489,7 +1488,7 @@ public class Card extends GameEntity implements Comparable {
* @since 1.0.15
*/
public final void clearCounters() {
- this.counters = new TreeMap();
+ this.counters.clear();
}
/**
@@ -1589,7 +1588,7 @@ public class Card extends GameEntity implements Comparable {
* @return a int.
*/
public final int getNetPTCounters() {
- return this.getCounters(Counters.P1P1) - this.getCounters(Counters.M1M1);
+ return this.getCounters(CounterType.P1P1) - this.getCounters(CounterType.M1M1);
}
/**
@@ -2226,7 +2225,7 @@ public class Card extends GameEntity implements Comparable {
if (p.length > 4) {
s.append(p[4]);
} else {
- final Counters counter = Counters.valueOf(p[1]);
+ final CounterType counter = CounterType.valueOf(p[1]);
final String numCounters = p[2];
s.append(this.getName());
s.append(" enters the battlefield with ");
@@ -4527,10 +4526,10 @@ public class Card extends GameEntity implements Comparable {
public final int getUnswitchedAttack() {
int total = this.getCurrentPower();
- total += ((this.getTempAttackBoost() + this.getSemiPermanentAttackBoost() + this.getCounters(Counters.P1P1)
- + this.getCounters(Counters.P1P2) + this.getCounters(Counters.P1P0)) - this.getCounters(Counters.M1M1))
- + ((2 * this.getCounters(Counters.P2P2)) - (2 * this.getCounters(Counters.M2M1))
- - (2 * this.getCounters(Counters.M2M2)) - this.getCounters(Counters.M1M0));
+ total += ((this.getTempAttackBoost() + this.getSemiPermanentAttackBoost() + this.getCounters(CounterType.P1P1)
+ + this.getCounters(CounterType.P1P2) + this.getCounters(CounterType.P1P0)) - this.getCounters(CounterType.M1M1))
+ + ((2 * this.getCounters(CounterType.P2P2)) - (2 * this.getCounters(CounterType.M2M1))
+ - (2 * this.getCounters(CounterType.M2M2)) - this.getCounters(CounterType.M1M0));
return total;
}
@@ -4576,12 +4575,12 @@ public class Card extends GameEntity implements Comparable {
int total = this.getCurrentToughness();
total += (((((this.getTempDefenseBoost() + this.getSemiPermanentDefenseBoost()
- + this.getCounters(Counters.P1P1) + (2 * this.getCounters(Counters.P1P2))) - this
- .getCounters(Counters.M1M1)) + this.getCounters(Counters.P0P1)) - (2 * this.getCounters(Counters.M0M2))) + (2 * this
- .getCounters(Counters.P2P2)))
- - this.getCounters(Counters.M0M1)
- - this.getCounters(Counters.M2M1)
- - (2 * this.getCounters(Counters.M2M2));
+ + this.getCounters(CounterType.P1P1) + (2 * this.getCounters(CounterType.P1P2))) - this
+ .getCounters(CounterType.M1M1)) + this.getCounters(CounterType.P0P1)) - (2 * this.getCounters(CounterType.M0M2))) + (2 * this
+ .getCounters(CounterType.P2P2)))
+ - this.getCounters(CounterType.M0M1)
+ - this.getCounters(CounterType.M2M1)
+ - (2 * this.getCounters(CounterType.M2M2));
return total;
}
@@ -6961,7 +6960,7 @@ public class Card extends GameEntity implements Comparable {
}
} else if (property.startsWith("suspended")) {
if (!this.hasSuspend() || !Singletons.getModel().getGame().isCardExiled(this)
- || !(this.getCounters(Counters.getType("TIME")) >= 1)) {
+ || !(this.getCounters(CounterType.getType("TIME")) >= 1)) {
return false;
}
@@ -7026,7 +7025,7 @@ public class Card extends GameEntity implements Comparable {
}
counterType = splitProperty[2];
- final int actualnumber = this.getCounters(Counters.getType(counterType));
+ final int actualnumber = this.getCounters(CounterType.getType(counterType));
if (!Expressions.compare(actualnumber, comparator, number)) {
return false;
@@ -8132,7 +8131,7 @@ public class Card extends GameEntity implements Comparable {
if (this.hasKeyword("If damage would be dealt to CARDNAME, "
+ "prevent that damage. Remove a +1/+1 counter from CARDNAME.")) {
restDamage = 0;
- this.subtractCounter(Counters.P1P1, 1);
+ this.subtractCounter(CounterType.P1P1, 1);
}
if (restDamage >= this.getPreventNextDamage()) {
@@ -8314,7 +8313,7 @@ public class Card extends GameEntity implements Comparable {
Singletons.getModel().getGame().getTriggerHandler().runTrigger(TriggerType.DamageDone, runParams);
if (this.isPlaneswalker()) {
- this.subtractCounter(Counters.LOYALTY, damageToAdd);
+ this.subtractCounter(CounterType.LOYALTY, damageToAdd);
return true;
}
@@ -8326,7 +8325,7 @@ public class Card extends GameEntity implements Comparable {
GameActionUtil.executeDamageToCreatureEffects(source, this, damageToAdd);
if (this.isInPlay() && wither) {
- this.addCounter(Counters.M1M1, damageToAdd);
+ this.addCounter(CounterType.M1M1, damageToAdd);
}
if (source.hasKeyword("Deathtouch") && this.isCreature()) {
Singletons.getModel().getGame().getAction().destroy(this);
diff --git a/src/main/java/forge/Counters.java b/src/main/java/forge/CounterType.java
similarity index 95%
rename from src/main/java/forge/Counters.java
rename to src/main/java/forge/CounterType.java
index 7d713caa53d..fb93c8307ea 100644
--- a/src/main/java/forge/Counters.java
+++ b/src/main/java/forge/CounterType.java
@@ -24,7 +24,7 @@ package forge;
* @author Clemens Koza
* @version V0.0 17.02.2010
*/
-public enum Counters {
+public enum CounterType {
/** The AGE. */
AGE(),
@@ -348,7 +348,7 @@ public enum Counters {
* Constructor for Counters.
*
*/
- private Counters() {
+ private CounterType() {
this.name = this.name().substring(0, 1).toUpperCase() + this.name().substring(1).toLowerCase();
}
@@ -360,7 +360,7 @@ public enum Counters {
* @param name
* a {@link java.lang.String} object.
*/
- private Counters(final String nameIn) {
+ private CounterType(final String nameIn) {
this.name = nameIn;
}
@@ -382,10 +382,10 @@ public enum Counters {
*
* @param name
* a {@link java.lang.String} object.
- * @return a {@link forge.Counters} object.
+ * @return a {@link forge.CounterType} object.
*/
- public static Counters getType(final String name) {
+ public static CounterType getType(final String name) {
final String replacedName = name.replace("/", "").replaceAll("\\+", "p").replaceAll("\\-", "m").toUpperCase();
- return Enum.valueOf(Counters.class, replacedName);
+ return Enum.valueOf(CounterType.class, replacedName);
}
}
diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java
index 82ec9915420..acfc37d6219 100644
--- a/src/main/java/forge/GameAction.java
+++ b/src/main/java/forge/GameAction.java
@@ -848,7 +848,7 @@ public class GameAction {
this.moveToPlay(c);
if (c.getName().equals("Dodecapod")) {
- c.setCounter(Counters.P1P1, 2, false);
+ c.setCounter(CounterType.P1P1, 2, false);
}
}
@@ -1169,12 +1169,12 @@ public class GameAction {
}
// +1/+1 counters should erase -1/-1 counters
- if (c.getCounters(Counters.P1P1) > 0 && c.getCounters(Counters.M1M1) > 0) {
+ if (c.getCounters(CounterType.P1P1) > 0 && c.getCounters(CounterType.M1M1) > 0) {
- final Counters p1Counter = Counters.P1P1;
- final Counters m1Counter = Counters.M1M1;
- int plusOneCounters = c.getCounters(Counters.P1P1);
- int minusOneCounters = c.getCounters(Counters.M1M1);
+ final CounterType p1Counter = CounterType.P1P1;
+ final CounterType m1Counter = CounterType.M1M1;
+ int plusOneCounters = c.getCounters(CounterType.P1P1);
+ int minusOneCounters = c.getCounters(CounterType.M1M1);
if (plusOneCounters == minusOneCounters) {
c.getCounters().remove(m1Counter);
@@ -1253,7 +1253,7 @@ public class GameAction {
for (int i = 0; i < list.size(); i++) {
c = list.get(i);
- if (c.getCounters(Counters.LOYALTY) <= 0) {
+ if (c.getCounters(CounterType.LOYALTY) <= 0) {
Singletons.getModel().getGame().getAction().moveToGraveyard(c);
}
@@ -1467,9 +1467,9 @@ public class GameAction {
throw new RuntimeException("GameAction : destroy() invalid card.getOwner() - " + c + " " + owner);
}
- final boolean persist = (c.hasKeyword("Persist") && (c.getCounters(Counters.M1M1) == 0)) && !c.isToken();
+ final boolean persist = (c.hasKeyword("Persist") && (c.getCounters(CounterType.M1M1) == 0)) && !c.isToken();
- final boolean undying = (c.hasKeyword("Undying") && (c.getCounters(Counters.P1P1) == 0)) && !c.isToken();
+ final boolean undying = (c.hasKeyword("Undying") && (c.getCounters(CounterType.P1P1) == 0)) && !c.isToken();
final Card newCard = this.moveToGraveyard(c);
@@ -1494,7 +1494,7 @@ public class GameAction {
if (game.getZoneOf(persistCard).is(ZoneType.Graveyard)) {
final PlayerZone ownerPlay = persistCard.getOwner().getZone(ZoneType.Battlefield);
final Card card = GameAction.this.moveTo(ownerPlay, persistCard);
- card.addCounter(Counters.M1M1, 1);
+ card.addCounter(CounterType.M1M1, 1);
}
}
};
@@ -1514,7 +1514,7 @@ public class GameAction {
if (game.getZoneOf(undyingCard).is(ZoneType.Graveyard)) {
final PlayerZone ownerPlay = undyingCard.getOwner().getZone(ZoneType.Battlefield);
final Card card = GameAction.this.moveTo(ownerPlay, undyingCard);
- card.addCounter(Counters.P1P1, 1);
+ card.addCounter(CounterType.P1P1, 1);
}
}
};
diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java
index 9d3c6c7efd9..4ad42fe1a52 100644
--- a/src/main/java/forge/GameActionUtil.java
+++ b/src/main/java/forge/GameActionUtil.java
@@ -427,7 +427,7 @@ public final class GameActionUtil {
else if (part instanceof CostPutCounter) {
String amountString = part.getAmount();
- Counters counterType = ((CostPutCounter) part).getCounter();
+ CounterType counterType = ((CostPutCounter) part).getCounter();
int amount = amountString.matches("[0-9][0-9]?") ? Integer.parseInt(amountString)
: CardFactoryUtil.xCount(source, source.getSVar(amountString));
String plural = amount > 1 ? "s" : "";
@@ -724,9 +724,9 @@ public final class GameActionUtil {
final Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
- Counters counter = Counters.P1P1;
+ CounterType counter = CounterType.P1P1;
if (kw.contains("+2/+2")) {
- counter = Counters.P2P2;
+ counter = CounterType.P2P2;
}
if (thisCard.isInPlay()) {
thisCard.addCounter(counter, 1);
diff --git a/src/main/java/forge/card/abilityfactory/ai/CountersAi.java b/src/main/java/forge/card/abilityfactory/ai/CountersAi.java
index c0b5e767149..e2811c3bcc9 100644
--- a/src/main/java/forge/card/abilityfactory/ai/CountersAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/CountersAi.java
@@ -24,7 +24,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.card.cardfactory.CardFactoryUtil;
@@ -93,7 +93,7 @@ public abstract class CountersAi {
final List boon = CardLists.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
- return c.getCounters(Counters.DIVINITY) == 0;
+ return c.getCounters(CounterType.DIVINITY) == 0;
}
});
choice = CardFactoryUtil.getMostExpensivePermanentAI(boon, null, false);
diff --git a/src/main/java/forge/card/abilityfactory/ai/CountersMoveAi.java b/src/main/java/forge/card/abilityfactory/ai/CountersMoveAi.java
index 3d2766ab144..0980824686b 100644
--- a/src/main/java/forge/card/abilityfactory/ai/CountersMoveAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/CountersMoveAi.java
@@ -6,7 +6,7 @@ import java.util.Random;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellAiLogic;
import forge.card.cardfactory.CardFactoryUtil;
@@ -53,12 +53,12 @@ public class CountersMoveAi extends SpellAiLogic {
boolean chance = false;
boolean preferred = true;
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final ArrayList srcCards = AbilityFactory.getDefinedCards(host, sa.getParam("Source"), sa);
final ArrayList destCards = AbilityFactory.getDefinedCards(host, sa.getParam("Defined"), sa);
if (abTgt == null) {
if ((srcCards.size() > 0)
- && cType.equals(Counters.P1P1) // move +1/+1 counters away
+ && cType.equals(CounterType.P1P1) // move +1/+1 counters away
// from
// permanents that cannot use
// them
diff --git a/src/main/java/forge/card/abilityfactory/ai/CountersProliferateAi.java b/src/main/java/forge/card/abilityfactory/ai/CountersProliferateAi.java
index e3dde89ac0d..8d5309e6025 100644
--- a/src/main/java/forge/card/abilityfactory/ai/CountersProliferateAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/CountersProliferateAi.java
@@ -6,7 +6,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.card.abilityfactory.SpellAiLogic;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility;
@@ -22,7 +22,7 @@ public class CountersProliferateAi extends SpellAiLogic {
List cperms = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), new Predicate() {
@Override
public boolean apply(final Card crd) {
- for (final Counters c1 : Counters.values()) {
+ for (final CounterType c1 : CounterType.values()) {
if (crd.getCounters(c1) != 0 && !CardFactoryUtil.isNegativeCounter(c1)) {
return true;
}
@@ -34,7 +34,7 @@ public class CountersProliferateAi extends SpellAiLogic {
List hperms = CardLists.filter(ai.getOpponent().getCardsIn(ZoneType.Battlefield), new Predicate() {
@Override
public boolean apply(final Card crd) {
- for (final Counters c1 : Counters.values()) {
+ for (final CounterType c1 : CounterType.values()) {
if (crd.getCounters(c1) != 0 && CardFactoryUtil.isNegativeCounter(c1)) {
return true;
}
diff --git a/src/main/java/forge/card/abilityfactory/ai/CountersPutAi.java b/src/main/java/forge/card/abilityfactory/ai/CountersPutAi.java
index 7a33c428f97..02f44b4df3a 100644
--- a/src/main/java/forge/card/abilityfactory/ai/CountersPutAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/CountersPutAi.java
@@ -8,7 +8,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellAiLogic;
@@ -141,7 +141,7 @@ public class CountersPutAi extends SpellAiLogic {
return false;
}
- final int currCounters = cards.get(0).getCounters(Counters.valueOf(type));
+ final int currCounters = cards.get(0).getCounters(CounterType.valueOf(type));
// each non +1/+1 counter on the card is a 10% chance of not
// activating this ability.
diff --git a/src/main/java/forge/card/abilityfactory/ai/CountersRemoveAi.java b/src/main/java/forge/card/abilityfactory/ai/CountersRemoveAi.java
index 8c808de9a1b..afe9cc5d55a 100644
--- a/src/main/java/forge/card/abilityfactory/ai/CountersRemoveAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/CountersRemoveAi.java
@@ -3,7 +3,7 @@ package forge.card.abilityfactory.ai;
import java.util.Random;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.SpellAiLogic;
import forge.card.cost.Cost;
@@ -73,7 +73,7 @@ public class CountersRemoveAi extends SpellAiLogic {
}
if (!type.matches("Any")) {
- final int currCounters = sa.getSourceCard().getCounters(Counters.valueOf(type));
+ final int currCounters = sa.getSourceCard().getCounters(CounterType.valueOf(type));
if (currCounters < 1) {
return false;
}
diff --git a/src/main/java/forge/card/abilityfactory/ai/DestroyAi.java b/src/main/java/forge/card/abilityfactory/ai/DestroyAi.java
index 163153bddbb..115071973b2 100644
--- a/src/main/java/forge/card/abilityfactory/ai/DestroyAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/DestroyAi.java
@@ -8,7 +8,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellAiLogic;
@@ -75,7 +75,7 @@ public class DestroyAi extends SpellAiLogic {
list = CardLists.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
- return (!c.hasKeyword("Undying") || c.getCounters(Counters.P1P1) > 0);
+ return (!c.hasKeyword("Undying") || c.getCounters(CounterType.P1P1) > 0);
}
});
}
diff --git a/src/main/java/forge/card/abilityfactory/ai/LifeSetAi.java b/src/main/java/forge/card/abilityfactory/ai/LifeSetAi.java
index ea84db9cea6..6ea8dc26e8c 100644
--- a/src/main/java/forge/card/abilityfactory/ai/LifeSetAi.java
+++ b/src/main/java/forge/card/abilityfactory/ai/LifeSetAi.java
@@ -3,7 +3,7 @@ package forge.card.abilityfactory.ai;
import java.util.Random;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellAiLogic;
@@ -121,7 +121,7 @@ public class LifeSetAi extends SpellAiLogic {
}
if (source.getName().equals("Eternity Vessel")
- && (opponent.isCardInPlay("Vampire Hexmage") || (source.getCounters(Counters.CHARGE) == 0))) {
+ && (opponent.isCardInPlay("Vampire Hexmage") || (source.getCounters(CounterType.CHARGE) == 0))) {
return false;
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersMoveEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersMoveEffect.java
index 996c2a52ed6..e598984bd49 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersMoveEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersMoveEffect.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
import forge.card.spellability.SpellAbility;
@@ -30,7 +30,7 @@ public class CountersMoveEffect extends SpellEffect {
}
final List tgtCards = getTargetCards(sa);
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final int amount = AbilityFactory.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
sb.append("Move ").append(amount).append(" ").append(cType.getName()).append(" counter");
@@ -48,7 +48,7 @@ public class CountersMoveEffect extends SpellEffect {
public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard();
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final int amount = AbilityFactory.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
Card source = null;
@@ -74,7 +74,7 @@ public class CountersMoveEffect extends SpellEffect {
if (source.getCounters(cType) >= amount) {
if (!dest.hasKeyword("CARDNAME can't have counters placed on it.")
&& !(dest.hasKeyword("CARDNAME can't have -1/-1 counters placed on it.") && cType
- .equals(Counters.M1M1))) {
+ .equals(CounterType.M1M1))) {
dest.addCounter(cType, amount);
source.subtractCounter(cType, amount);
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersProliferateEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersProliferateEffect.java
index 4671ee544e0..99c27c8be70 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersProliferateEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersProliferateEffect.java
@@ -9,7 +9,7 @@ import com.google.common.collect.Lists;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.SpellEffect;
import forge.card.cardfactory.CardFactoryUtil;
@@ -71,14 +71,14 @@ public class CountersProliferateEffect extends SpellEffect {
}
unchosen.remove(card);
final ArrayList choices = new ArrayList();
- for (final Counters c1 : Counters.values()) {
+ for (final CounterType c1 : CounterType.values()) {
if (card.getCounters(c1) != 0) {
choices.add(c1.getName());
}
}
if (choices.size() > 0) {
card.addCounter(
- Counters.getType((choices.size() == 1 ? choices.get(0) : GuiChoose.one(
+ CounterType.getType((choices.size() == 1 ? choices.get(0) : GuiChoose.one(
"Select counter type", choices).toString())), 1);
}
}
@@ -104,7 +104,7 @@ public class CountersProliferateEffect extends SpellEffect {
final Predicate predProliferate = new Predicate() {
@Override
public boolean apply(Card crd) {
- for (final Entry c1 : crd.getCounters().entrySet()) {
+ for (final Entry c1 : crd.getCounters().entrySet()) {
if (CardFactoryUtil.isNegativeCounter(c1.getKey()) && enemies.contains(crd.getController())) {
return true;
}
@@ -150,7 +150,7 @@ public class CountersProliferateEffect extends SpellEffect {
// add a counter of one counter type, if it would benefit the
// computer
for (final Card c : cardsToProliferate) {
- for (final Entry c1 : c.getCounters().entrySet()) {
+ for (final Entry c1 : c.getCounters().entrySet()) {
if (CardFactoryUtil.isNegativeCounter(c1.getKey()) && enemies.contains(c.getController()))
{
c.addCounter(c1.getKey(), 1);
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersPutAllEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersPutAllEffect.java
index 7360970b957..79b7cca4559 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersPutAllEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersPutAllEffect.java
@@ -4,7 +4,7 @@ import java.util.List;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
@@ -19,7 +19,7 @@ public class CountersPutAllEffect extends SpellEffect {
protected String getStackDescription(SpellAbility sa) {
final StringBuilder sb = new StringBuilder();
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final int amount = AbilityFactory.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
final String zone = sa.hasParam("ValidZone") ? sa.getParam("ValidZone") : "Battlefield";
@@ -55,10 +55,10 @@ public class CountersPutAllEffect extends SpellEffect {
for (final Card tgtCard : cards) {
if (Singletons.getModel().getGame().getZoneOf(tgtCard).is(ZoneType.Battlefield)) {
- tgtCard.addCounter(Counters.valueOf(type), counterAmount);
+ tgtCard.addCounter(CounterType.valueOf(type), counterAmount);
} else {
// adding counters to something like re-suspend cards
- tgtCard.addCounterFromNonEffect(Counters.valueOf(type), counterAmount);
+ tgtCard.addCounterFromNonEffect(CounterType.valueOf(type), counterAmount);
}
}
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersPutEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersPutEffect.java
index ebc042fcdc6..31627762f1d 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersPutEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersPutEffect.java
@@ -5,7 +5,7 @@ import java.util.Iterator;
import java.util.List;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
@@ -22,7 +22,7 @@ public class CountersPutEffect extends SpellEffect {
final Card card = sa.getSourceCard();
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final int amount = AbilityFactory.calculateAmount(card, sa.getParam("CounterNum"), sa);
sb.append("Put ");
if (sa.hasParam("UpTo")) {
@@ -86,16 +86,16 @@ public class CountersPutEffect extends SpellEffect {
for (final Card tgtCard : tgtCards) {
if ((tgt == null) || tgtCard.canBeTargetedBy(sa)) {
if (max != -1) {
- counterAmount = max - tgtCard.getCounters(Counters.valueOf(type));
+ counterAmount = max - tgtCard.getCounters(CounterType.valueOf(type));
}
final Zone zone = Singletons.getModel().getGame().getZoneOf(tgtCard);
if (zone == null) {
// Do nothing, token disappeared
} else if (zone.is(ZoneType.Battlefield) || zone.is(ZoneType.Stack)) {
- tgtCard.addCounter(Counters.valueOf(type), counterAmount);
+ tgtCard.addCounter(CounterType.valueOf(type), counterAmount);
} else {
// adding counters to something like re-suspend cards
- tgtCard.addCounterFromNonEffect(Counters.valueOf(type), counterAmount);
+ tgtCard.addCounterFromNonEffect(CounterType.valueOf(type), counterAmount);
}
}
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersRemoveAllEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersRemoveAllEffect.java
index c94192ab1a8..e281f6b2e86 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersRemoveAllEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersRemoveAllEffect.java
@@ -4,7 +4,7 @@ import java.util.List;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
@@ -18,7 +18,7 @@ public class CountersRemoveAllEffect extends SpellEffect {
protected String getStackDescription(SpellAbility sa) {
final StringBuilder sb = new StringBuilder();
- final Counters cType = Counters.valueOf(sa.getParam("CounterType"));
+ final CounterType cType = CounterType.valueOf(sa.getParam("CounterType"));
final int amount = AbilityFactory.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
final String zone = sa.hasParam("ValidZone") ? sa.getParam("ValidZone") : "Battlefield";
String amountString = Integer.toString(amount);
@@ -59,10 +59,10 @@ public class CountersRemoveAllEffect extends SpellEffect {
for (final Card tgtCard : cards) {
if (sa.hasParam("AllCounters")) {
- counterAmount = tgtCard.getCounters(Counters.valueOf(type));
+ counterAmount = tgtCard.getCounters(CounterType.valueOf(type));
}
- tgtCard.subtractCounter(Counters.valueOf(type), counterAmount);
+ tgtCard.subtractCounter(CounterType.valueOf(type), counterAmount);
}
}
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/CountersRemoveEffect.java b/src/main/java/forge/card/abilityfactory/effects/CountersRemoveEffect.java
index 08543f8dcca..a155d019d11 100644
--- a/src/main/java/forge/card/abilityfactory/effects/CountersRemoveEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/CountersRemoveEffect.java
@@ -5,7 +5,7 @@ import java.util.List;
import java.util.Map;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
@@ -37,7 +37,7 @@ public class CountersRemoveEffect extends SpellEffect {
}
}
else {
- sb.append(amount).append(" ").append(Counters.valueOf(counterName).getName()).append(" counter");
+ sb.append(amount).append(" ").append(CounterType.valueOf(counterName).getName()).append(" counter");
}
if (amount != 1) {
sb.append("s");
@@ -73,18 +73,18 @@ public class CountersRemoveEffect extends SpellEffect {
if ((tgt == null) || tgtCard.canBeTargetedBy(sa)) {
final Zone zone = Singletons.getModel().getGame().getZoneOf(tgtCard);
if (sa.getParam("CounterNum").equals("All")) {
- counterAmount = tgtCard.getCounters(Counters.valueOf(type));
+ counterAmount = tgtCard.getCounters(CounterType.valueOf(type));
}
if (type.matches("Any")) {
while (counterAmount > 0 && tgtCard.getNumberOfCounters() > 0) {
- final Map tgtCounters = tgtCard.getCounters();
- Counters chosenType = null;
+ final Map tgtCounters = tgtCard.getCounters();
+ CounterType chosenType = null;
int chosenAmount;
if (sa.getActivatingPlayer().isHuman()) {
- final ArrayList typeChoices = new ArrayList();
+ final ArrayList typeChoices = new ArrayList();
// get types of counters
- for (Counters key : tgtCounters.keySet()) {
+ for (CounterType key : tgtCounters.keySet()) {
if (tgtCounters.get(key) > 0) {
typeChoices.add(key);
}
@@ -116,7 +116,7 @@ public class CountersRemoveEffect extends SpellEffect {
// find first nonzero counter on target
for (Object key : tgtCounters.keySet()) {
if (tgtCounters.get(key) > 0) {
- chosenType = (Counters) key;
+ chosenType = (CounterType) key;
break;
}
}
@@ -147,13 +147,13 @@ public class CountersRemoveEffect extends SpellEffect {
counterAmount = Integer.parseInt(o);
}
}
- tgtCard.subtractCounter(Counters.valueOf(type), counterAmount);
+ tgtCard.subtractCounter(CounterType.valueOf(type), counterAmount);
if (rememberRemoved) {
- if (counterAmount > tgtCard.getCounters(Counters.valueOf(type))) {
- counterAmount = tgtCard.getCounters(Counters.valueOf(type));
+ if (counterAmount > tgtCard.getCounters(CounterType.valueOf(type))) {
+ counterAmount = tgtCard.getCounters(CounterType.valueOf(type));
}
for (int i = 0; i < counterAmount; i++) {
- card.addRemembered(Counters.valueOf(type));
+ card.addRemembered(CounterType.valueOf(type));
}
}
}
diff --git a/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java b/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java
index 07560d1ec8a..ef2c56958aa 100644
--- a/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java
+++ b/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java
@@ -6,7 +6,7 @@ import com.google.common.collect.Iterables;
import forge.Card;
import forge.CardPredicates;
import forge.Constant;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.abilityfactory.SpellEffect;
@@ -191,7 +191,7 @@ public class ManaEffect extends SpellEffect {
final String deplete = sa.getParam("Deplete");
if (deplete != null) {
- final int num = card.getCounters(Counters.getType(deplete));
+ final int num = card.getCounters(CounterType.getType(deplete));
if (num == 0) {
sa.setUndoable(false);
Singletons.getModel().getGame().getAction().sacrifice(card, null);
diff --git a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java
index fa1296de77d..779c345eb98 100644
--- a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java
+++ b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java
@@ -8,7 +8,7 @@ import javax.swing.JOptionPane;
import forge.Card;
import forge.Command;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.cost.Cost;
import forge.card.spellability.Ability;
@@ -309,7 +309,7 @@ class CardFactoryArtifacts {
@Override
public void execute() {
- card.addCounter(Counters.CHARGE, card.getMultiKickerMagnitude());
+ card.addCounter(CounterType.CHARGE, card.getMultiKickerMagnitude());
card.setMultiKickerMagnitude(0);
}
};
diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java
index 5f68870b8fa..5b4c447b84e 100644
--- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java
+++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java
@@ -38,7 +38,7 @@ import forge.CardPredicates.Presets;
import forge.CardUtil;
import forge.Command;
import forge.Constant;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.cost.Cost;
@@ -92,7 +92,7 @@ public class CardFactoryCreatures {
return;
} else if (c.isInPlay() && c.canBeTargetedBy(this)) {
// zerker clean up:
- for (final Counters c1 : Counters.values()) {
+ for (final CounterType c1 : CounterType.values()) {
if (c.getCounters(c1) > 0) {
c.addCounter(c1, c.getCounters(c1));
}
@@ -151,7 +151,7 @@ public class CardFactoryCreatures {
if (artifacts.size() != 0) {
final Card c = GuiChoose.one("Select an artifact put a phylactery counter on", artifacts);
if (c != null) {
- c.addCounter(Counters.PHYLACTERY, 1);
+ c.addCounter(CounterType.PHYLACTERY, 1);
}
}
@@ -171,7 +171,7 @@ public class CardFactoryCreatures {
chosen = artifacts.get(0);
}
if (chosen != null) {
- chosen.addCounter(Counters.PHYLACTERY, 1);
+ chosen.addCounter(CounterType.PHYLACTERY, 1);
}
} // else
} // execute()
@@ -506,7 +506,7 @@ public class CardFactoryCreatures {
if (xCounters >= 5) {
xCounters = 2 * xCounters;
}
- c.addCounter(Counters.P1P1, xCounters);
+ c.addCounter(CounterType.P1P1, xCounters);
}
};
spell.setIsXCost(true);
@@ -520,7 +520,7 @@ public class CardFactoryCreatures {
final SpellAbility ability = new Ability(card, "0") {
@Override
public void resolve() {
- card.addCounter(Counters.P1P1, this.countKithkin());
+ card.addCounter(CounterType.P1P1, this.countKithkin());
// System.out.println("all counters: "
// +card.sumAllCounters());
} // resolve()
@@ -590,7 +590,7 @@ public class CardFactoryCreatures {
final AbilityStatic ability = new AbilityStatic(card, "0") {
@Override
public void resolve() {
- card.addCounter(Counters.P1P1, card.getMultiKickerMagnitude());
+ card.addCounter(CounterType.P1P1, card.getMultiKickerMagnitude());
card.setMultiKickerMagnitude(0);
}
};
@@ -642,7 +642,7 @@ public class CardFactoryCreatures {
list = CardLists.filter(list, new Predicate() {
@Override
public boolean apply(final Card crd) {
- return crd.getCounters(Counters.ICE) >= 3;
+ return crd.getCounters(CounterType.ICE) >= 3;
}
});
@@ -656,7 +656,7 @@ public class CardFactoryCreatures {
list = CardLists.filter(list, new Predicate() {
@Override
public boolean apply(final Card crd) {
- return crd.isPlaneswalker() && (crd.getCounters(Counters.LOYALTY) >= 5);
+ return crd.isPlaneswalker() && (crd.getCounters(CounterType.LOYALTY) >= 5);
}
});
@@ -671,7 +671,7 @@ public class CardFactoryCreatures {
@Override
public void resolve() {
final Card c = this.getTargetCard();
- for (final Counters counter : Counters.values()) {
+ for (final CounterType counter : CounterType.values()) {
if (c.getCounters(counter) > 0) {
c.setCounter(counter, 0, false);
}
@@ -1166,13 +1166,13 @@ public class CardFactoryCreatures {
@Override
public void resolve() {
- card.addCounter(Counters.LEVEL, 1);
+ card.addCounter(CounterType.LEVEL, 1);
}
@Override
public boolean canPlayAI() {
// Todo: Improve Level up code
- return card.getCounters(Counters.LEVEL) < maxLevel;
+ return card.getCounters(CounterType.LEVEL) < maxLevel;
}
@Override
diff --git a/src/main/java/forge/card/cardfactory/CardFactoryLands.java b/src/main/java/forge/card/cardfactory/CardFactoryLands.java
index e9d0c886f57..8850f39328a 100644
--- a/src/main/java/forge/card/cardfactory/CardFactoryLands.java
+++ b/src/main/java/forge/card/cardfactory/CardFactoryLands.java
@@ -28,7 +28,7 @@ import forge.Card;
import forge.CardLists;
import forge.Command;
-import forge.Counters;
+import forge.CounterType;
import forge.GameActionUtil;
import forge.Singletons;
import forge.card.cost.Cost;
@@ -178,7 +178,7 @@ class CardFactoryLands {
this.inPlay.clear();
this.inPlay.addAll(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield));
for (final Card targ : CardLists.filter(this.inPlay, targets)) {
- targ.addCounter(Counters.P1P1, 1);
+ targ.addCounter(CounterType.P1P1, 1);
}
}
}
diff --git a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java
index 55a3bf1a368..95448bb9640 100644
--- a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java
+++ b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java
@@ -19,7 +19,7 @@ package forge.card.cardfactory;
import forge.Card;
import forge.Command;
-import forge.Counters;
+import forge.CounterType;
import forge.card.replacement.ReplacementHandler;
/**
@@ -44,7 +44,7 @@ public class CardFactoryPlaneswalkers {
public static void buildCard(final Card card) {
// All Planeswalkers set their loyality in the beginning
if (card.getBaseLoyalty() > 0) {
- Command cmd = CardFactoryUtil.entersBattleFieldWithCounters(card, Counters.LOYALTY, card.getBaseLoyalty());
+ Command cmd = CardFactoryUtil.entersBattleFieldWithCounters(card, CounterType.LOYALTY, card.getBaseLoyalty());
card.addComesIntoPlayCommand(cmd);
}
diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java
index 69dd2310de4..c10537a3f1b 100644
--- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java
+++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java
@@ -42,7 +42,7 @@ import forge.CardPredicates.Presets;
import forge.CardUtil;
import forge.Command;
import forge.Constant;
-import forge.Counters;
+import forge.CounterType;
import forge.GameEntity;
import forge.Singletons;
import forge.card.CardCharacteristics;
@@ -1124,7 +1124,7 @@ public class CardFactoryUtil {
final Card c = Singletons.getModel().getGame().getAction().exile(sourceCard);
int counters = AbilityFactory.calculateAmount(c, timeCounters, this);
- c.addCounter(Counters.TIME, counters);
+ c.addCounter(CounterType.TIME, counters);
StringBuilder sb = new StringBuilder();
sb.append(this.getActivatingPlayer()).append(" has suspended ");
@@ -1154,12 +1154,12 @@ public class CardFactoryUtil {
* @param c
* a {@link forge.Card} object.
* @param type
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @param n
* a int.
* @return a {@link forge.Command} object.
*/
- public static Command entersBattleFieldWithCounters(final Card c, final Counters type, final int n) {
+ public static Command entersBattleFieldWithCounters(final Card c, final CounterType type, final int n) {
final Command addCounters = new Command() {
private static final long serialVersionUID = 4825430555490333062L;
@@ -1183,7 +1183,7 @@ public class CardFactoryUtil {
* @return a {@link forge.Command} object.
*/
public static Command fading(final Card sourceCard, final int power) {
- return entersBattleFieldWithCounters(sourceCard, Counters.FADE, power);
+ return entersBattleFieldWithCounters(sourceCard, CounterType.FADE, power);
} // fading
/**
@@ -1198,7 +1198,7 @@ public class CardFactoryUtil {
* @return a {@link forge.Command} object.
*/
public static Command vanishing(final Card sourceCard, final int power) {
- return entersBattleFieldWithCounters(sourceCard, Counters.TIME, power);
+ return entersBattleFieldWithCounters(sourceCard, CounterType.TIME, power);
} // vanishing
// List choices are the only cards the user can successful select
@@ -1342,7 +1342,7 @@ public class CardFactoryUtil {
&& card.canBeTargetedBy(ability)) {
ability.setTargetCard(card2);
final StringBuilder sb = new StringBuilder();
- sb.append("Put ").append(card.getCounters(Counters.P1P1));
+ sb.append("Put ").append(card.getCounters(CounterType.P1P1));
sb.append(" +1/+1 counter/s from ").append(card);
sb.append(" on ").append(card2);
ability.setStackDescription(sb.toString());
@@ -2425,12 +2425,12 @@ public class CardFactoryUtil {
}
// Count$CardCounters.
if (sq[0].contains("CardCounters")) {
- return CardFactoryUtil.doXMath(c.getCounters(Counters.getType(sq[1])), m, c);
+ return CardFactoryUtil.doXMath(c.getCounters(CounterType.getType(sq[1])), m, c);
}
// Count$TotalCounters._
if (sq[0].contains("TotalCounters")) {
final String[] restrictions = l[0].split("_");
- final Counters cType = Counters.getType(restrictions[1]);
+ final CounterType cType = CounterType.getType(restrictions[1]);
final String[] validFilter = restrictions[2].split(",");
List validCards = Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield);
validCards = CardLists.getValidCards(validCards, validFilter, cardController, c);
@@ -2445,7 +2445,7 @@ public class CardFactoryUtil {
return CardFactoryUtil.doXMath(c.getMultiKickerMagnitude(), m, c);
}
if (sq[0].contains("NumCounters")) {
- final int num = c.getCounters(Counters.getType(sq[1]));
+ final int num = c.getCounters(CounterType.getType(sq[1]));
return CardFactoryUtil.doXMath(num, m, c);
}
@@ -3442,13 +3442,13 @@ public class CardFactoryUtil {
*
*
* @param c
- * a {@link forge.Counters} object.
+ * a {@link forge.CounterType} object.
* @return a boolean.
*/
- public static boolean isNegativeCounter(final Counters c) {
- return (c == Counters.AGE) || (c == Counters.BLAZE) || (c == Counters.BRIBERY) || (c == Counters.DOOM)
- || (c == Counters.ICE) || (c == Counters.M1M1) || (c == Counters.M0M2) || (c == Counters.M0M1)
- || (c == Counters.TIME);
+ public static boolean isNegativeCounter(final CounterType c) {
+ return (c == CounterType.AGE) || (c == CounterType.BLAZE) || (c == CounterType.BRIBERY) || (c == CounterType.DOOM)
+ || (c == CounterType.ICE) || (c == CounterType.M1M1) || (c == CounterType.M0M2) || (c == CounterType.M0M1)
+ || (c == CounterType.TIME);
}
/**
@@ -4254,7 +4254,7 @@ public class CardFactoryUtil {
String[] splitkw = parse.split(":");
String desc = "CARDNAME enters the battlefield with " + splitkw[2] + " "
- + Counters.valueOf(splitkw[1]).getName() + " counters on it.";
+ + CounterType.valueOf(splitkw[1]).getName() + " counters on it.";
String extraparams = "";
String amount = splitkw[2];
if (splitkw.length > 3) {
@@ -4446,9 +4446,9 @@ public class CardFactoryUtil {
@Override
public void execute() {
if (card.isCreature()) {
- card.addCounter(Counters.P1P1, card.getSunburstValue());
+ card.addCounter(CounterType.P1P1, card.getSunburstValue());
} else {
- card.addCounter(Counters.CHARGE, card.getSunburstValue());
+ card.addCounter(CounterType.CHARGE, card.getSunburstValue());
}
}
@@ -4594,7 +4594,7 @@ public class CardFactoryUtil {
: Integer.parseInt(magnitude);
final int totalCounters = numCreatures[0] * multiplier;
- card.addCounter(Counters.P1P1, totalCounters);
+ card.addCounter(CounterType.P1P1, totalCounters);
}
};
@@ -4617,7 +4617,7 @@ public class CardFactoryUtil {
@Override
public void resolve() {
final Card card2 = this.getTargetCard();
- card2.addCounter(Counters.P1P1, this.getSourceCard().getCounters(Counters.P1P1));
+ card2.addCounter(CounterType.P1P1, this.getSourceCard().getCounters(CounterType.P1P1));
} // resolve()
};
@@ -4639,7 +4639,7 @@ public class CardFactoryUtil {
ability.setTargetCard(CardFactoryUtil.getBestCreatureAI(choices));
if (ability.getTargetCard() != null) {
- ability.setStackDescription("Put " + card.getCounters(Counters.P1P1)
+ ability.setStackDescription("Put " + card.getCounters(CounterType.P1P1)
+ " +1/+1 counter/s from " + card + " on " + ability.getTargetCard());
Singletons.getModel().getGame().getStack().addSimultaneousStackEntry(ability);
diff --git a/src/main/java/forge/card/cost/Cost.java b/src/main/java/forge/card/cost/Cost.java
index afd9619364f..1cb6ce255ce 100644
--- a/src/main/java/forge/card/cost/Cost.java
+++ b/src/main/java/forge/card/cost/Cost.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
import java.util.regex.Pattern;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.CardManaCost;
import forge.card.mana.ManaCost;
@@ -216,7 +216,7 @@ public class Cost {
final String description = splitStr.length > 3 ? splitStr[3] : null;
final ZoneType zone = splitStr.length > 4 ? ZoneType.smartValueOf(splitStr[4]) : ZoneType.Battlefield;
- this.costParts.add(new CostRemoveCounter(splitStr[0], Counters.valueOf(splitStr[1]), type, description, zone));
+ this.costParts.add(new CostRemoveCounter(splitStr[0], CounterType.valueOf(splitStr[1]), type, description, zone));
}
while (parse.contains(Cost.ADD_STR)) {
@@ -227,7 +227,7 @@ public class Cost {
final String type = splitStr.length > 2 ? splitStr[2] : "CARDNAME";
final String description = splitStr.length > 3 ? splitStr[3] : null;
- this.costParts.add(new CostPutCounter(splitStr[0], Counters.valueOf(splitStr[1]), type, description));
+ this.costParts.add(new CostPutCounter(splitStr[0], CounterType.valueOf(splitStr[1]), type, description));
}
// While no card has "PayLife<2> PayLife<3> there might be a card that
diff --git a/src/main/java/forge/card/cost/CostPutCounter.java b/src/main/java/forge/card/cost/CostPutCounter.java
index f58d730a7f2..111687910ad 100644
--- a/src/main/java/forge/card/cost/CostPutCounter.java
+++ b/src/main/java/forge/card/cost/CostPutCounter.java
@@ -22,7 +22,7 @@ import java.util.List;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
@@ -38,7 +38,7 @@ import forge.view.ButtonUtil;
*/
public class CostPutCounter extends CostPartWithList {
// Put Counter doesn't really have a "Valid" portion of the cost
- private final Counters counter;
+ private final CounterType counter;
private int lastPaidAmount = 0;
/**
@@ -46,7 +46,7 @@ public class CostPutCounter extends CostPartWithList {
*
* @return the counter
*/
- public final Counters getCounter() {
+ public final CounterType getCounter() {
return this.counter;
}
@@ -72,7 +72,7 @@ public class CostPutCounter extends CostPartWithList {
* @param description
* the description
*/
- public CostPutCounter(final String amount, final Counters cntr, final String type, final String description) {
+ public CostPutCounter(final String amount, final CounterType cntr, final String type, final String description) {
this.setReusable(true);
this.setAmount(amount);
this.counter = cntr;
@@ -133,7 +133,7 @@ public class CostPutCounter extends CostPartWithList {
return false;
}
if (source.hasKeyword("CARDNAME can't have -1/-1 counters placed on it.")
- && this.counter.equals(Counters.M1M1)) {
+ && this.counter.equals(CounterType.M1M1)) {
return false;
}
} else {
diff --git a/src/main/java/forge/card/cost/CostRemoveCounter.java b/src/main/java/forge/card/cost/CostRemoveCounter.java
index 73142fd820d..ea2cf5dfb18 100644
--- a/src/main/java/forge/card/cost/CostRemoveCounter.java
+++ b/src/main/java/forge/card/cost/CostRemoveCounter.java
@@ -23,7 +23,7 @@ import java.util.List;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.spellability.SpellAbility;
@@ -45,7 +45,7 @@ public class CostRemoveCounter extends CostPartWithList {
// Counter is tough),
// Quillspike, Rift Elemental, Sage of Fables, Spike Rogue
- private final Counters counter;
+ private final CounterType counter;
private int lastPaidAmount = 0;
private ZoneType zone;
@@ -54,7 +54,7 @@ public class CostRemoveCounter extends CostPartWithList {
*
* @return the counter
*/
- public final Counters getCounter() {
+ public final CounterType getCounter() {
return this.counter;
}
@@ -95,7 +95,7 @@ public class CostRemoveCounter extends CostPartWithList {
* the description
* @param zone the zone.
*/
- public CostRemoveCounter(final String amount, final Counters counter, final String type, final String description, ZoneType zone) {
+ public CostRemoveCounter(final String amount, final CounterType counter, final String type, final String description, ZoneType zone) {
super(amount, type, description);
this.setReusable(true);
@@ -157,7 +157,7 @@ public class CostRemoveCounter extends CostPartWithList {
*/
@Override
public final boolean canPay(final SpellAbility ability, final Card source, final Player activator, final Cost cost) {
- final Counters cntrs = this.getCounter();
+ final CounterType cntrs = this.getCounter();
final Integer amount = this.convertAmount();
if (this.getThis()) {
diff --git a/src/main/java/forge/card/cost/CostUtil.java b/src/main/java/forge/card/cost/CostUtil.java
index b1918a0572d..b497a07cc40 100644
--- a/src/main/java/forge/card/cost/CostUtil.java
+++ b/src/main/java/forge/card/cost/CostUtil.java
@@ -23,7 +23,7 @@ import java.util.Random;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.mana.ManaCost;
import forge.card.spellability.SpellAbility;
@@ -248,7 +248,7 @@ public class CostUtil {
// A card has a 25% chance per counter to be able to pass
// through here
// 4+ counters will always pass. 0 counters will never
- final Counters type = remCounter.getCounter();
+ final CounterType type = remCounter.getCounter();
final double percent = type.name().equals("P1P1") ? p1p1Percent : otherPercent;
final int currentNum = source.getCounters(type);
if (!part.getThis()) {
@@ -287,9 +287,9 @@ public class CostUtil {
for (final CostPart part : cost.getCostParts()) {
if (part instanceof CostPutCounter) {
final CostPutCounter addCounter = (CostPutCounter) part;
- final Counters type = addCounter.getCounter();
+ final CounterType type = addCounter.getCounter();
- if (type.equals(Counters.M1M1)) {
+ if (type.equals(CounterType.M1M1)) {
return false;
}
}
diff --git a/src/main/java/forge/card/trigger/TriggerCounterAdded.java b/src/main/java/forge/card/trigger/TriggerCounterAdded.java
index cafc202507e..554e44395d7 100644
--- a/src/main/java/forge/card/trigger/TriggerCounterAdded.java
+++ b/src/main/java/forge/card/trigger/TriggerCounterAdded.java
@@ -18,7 +18,7 @@
package forge.card.trigger;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.card.spellability.SpellAbility;
/**
@@ -51,7 +51,7 @@ public class TriggerCounterAdded extends Trigger {
@Override
public final boolean performTest(final java.util.Map runParams2) {
final Card addedTo = (Card) runParams2.get("Card");
- final Counters addedType = (Counters) runParams2.get("CounterType");
+ final CounterType addedType = (CounterType) runParams2.get("CounterType");
if (this.getMapParams().containsKey("ValidCard")) {
if (!addedTo.isValid(this.getMapParams().get("ValidCard").split(","), this.getHostCard().getController(),
diff --git a/src/main/java/forge/card/trigger/TriggerCounterRemoved.java b/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
index 8b646f924cf..cb01c9d8d1e 100644
--- a/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
+++ b/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
@@ -18,7 +18,7 @@
package forge.card.trigger;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.card.spellability.SpellAbility;
/**
@@ -51,7 +51,7 @@ public class TriggerCounterRemoved extends Trigger {
@Override
public final boolean performTest(final java.util.Map runParams2) {
final Card addedTo = (Card) runParams2.get("Card");
- final Counters addedType = (Counters) runParams2.get("CounterType");
+ final CounterType addedType = (CounterType) runParams2.get("CounterType");
if (this.getMapParams().containsKey("ValidCard")) {
if (!addedTo.isValid(this.getMapParams().get("ValidCard").split(","), this.getHostCard().getController(),
diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java
index 8d34c0c8d15..e14ee07b518 100644
--- a/src/main/java/forge/game/phase/CombatUtil.java
+++ b/src/main/java/forge/game/phase/CombatUtil.java
@@ -35,7 +35,7 @@ import forge.CardLists;
import forge.CardPredicates;
import forge.Command;
import forge.Constant;
-import forge.Counters;
+import forge.CounterType;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Singletons;
@@ -2247,10 +2247,10 @@ public class CombatUtil {
if (((attacker.hasKeyword("Indestructible") || (ComputerUtil.canRegenerate(attacker) && !withoutAbilities)) && !(defender
.hasKeyword("Wither") || defender.hasKeyword("Infect")))
- || (attacker.hasKeyword("Persist") && !attacker.canHaveCountersPlacedOnIt(Counters.M1M1) && (attacker
- .getCounters(Counters.M1M1) == 0))
- || (attacker.hasKeyword("Undying") && !attacker.canHaveCountersPlacedOnIt(Counters.P1P1) && (attacker
- .getCounters(Counters.P1P1) == 0))) {
+ || (attacker.hasKeyword("Persist") && !attacker.canHaveCountersPlacedOnIt(CounterType.M1M1) && (attacker
+ .getCounters(CounterType.M1M1) == 0))
+ || (attacker.hasKeyword("Undying") && !attacker.canHaveCountersPlacedOnIt(CounterType.P1P1) && (attacker
+ .getCounters(CounterType.P1P1) == 0))) {
return false;
}
if (checkDestroyAttackerTrigger(attacker, defender) && !attacker.hasKeyword("Indestructible")) {
@@ -2394,10 +2394,10 @@ public class CombatUtil {
if (((defender.hasKeyword("Indestructible") || (ComputerUtil.canRegenerate(defender) && !withoutAbilities)) && !(attacker
.hasKeyword("Wither") || attacker.hasKeyword("Infect")))
- || (defender.hasKeyword("Persist") && !defender.canHaveCountersPlacedOnIt(Counters.M1M1) && (defender
- .getCounters(Counters.M1M1) == 0))
- || (defender.hasKeyword("Undying") && !defender.canHaveCountersPlacedOnIt(Counters.P1P1) && (defender
- .getCounters(Counters.P1P1) == 0))) {
+ || (defender.hasKeyword("Persist") && !defender.canHaveCountersPlacedOnIt(CounterType.M1M1) && (defender
+ .getCounters(CounterType.M1M1) == 0))
+ || (defender.hasKeyword("Undying") && !defender.canHaveCountersPlacedOnIt(CounterType.P1P1) && (defender
+ .getCounters(CounterType.P1P1) == 0))) {
return false;
}
diff --git a/src/main/java/forge/game/phase/EndOfTurn.java b/src/main/java/forge/game/phase/EndOfTurn.java
index 9e72a23d85e..0aa05f3ba9e 100644
--- a/src/main/java/forge/game/phase/EndOfTurn.java
+++ b/src/main/java/forge/game/phase/EndOfTurn.java
@@ -25,7 +25,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility;
@@ -217,7 +217,7 @@ public class EndOfTurn extends Phase {
list = CardLists.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
- return c.getName().equals("Lighthouse Chronologist") && (c.getCounters(Counters.LEVEL) >= 7);
+ return c.getName().equals("Lighthouse Chronologist") && (c.getCounters(CounterType.LEVEL) >= 7);
}
});
diff --git a/src/main/java/forge/game/phase/Untap.java b/src/main/java/forge/game/phase/Untap.java
index 9c91dcb7d62..79a42664dac 100644
--- a/src/main/java/forge/game/phase/Untap.java
+++ b/src/main/java/forge/game/phase/Untap.java
@@ -26,7 +26,7 @@ import forge.Card;
import forge.CardLists;
import forge.CardPredicates.Presets;
-import forge.Counters;
+import forge.CounterType;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Singletons;
@@ -176,9 +176,9 @@ public class Untap extends Phase {
}
}
}
- } else if ((c.getCounters(Counters.WIND) > 0) && Singletons.getModel().getGame().isCardInPlay("Freyalise's Winds")) {
+ } else if ((c.getCounters(CounterType.WIND) > 0) && Singletons.getModel().getGame().isCardInPlay("Freyalise's Winds")) {
// remove a WIND counter instead of untapping
- c.subtractCounter(Counters.WIND, 1);
+ c.subtractCounter(CounterType.WIND, 1);
} else {
c.untap();
}
diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java
index 31763e4dc14..11d7e8ba99e 100644
--- a/src/main/java/forge/game/phase/Upkeep.java
+++ b/src/main/java/forge/game/phase/Upkeep.java
@@ -31,7 +31,7 @@ import forge.CardLists;
import forge.CardPredicates;
import forge.CardPredicates.Presets;
import forge.Command;
-import forge.Counters;
+import forge.CounterType;
import forge.GameActionUtil;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -139,9 +139,9 @@ public class Upkeep extends Phase {
final Ability upkeepAbility = new Ability(c, "0") {
@Override
public void resolve() {
- c.addCounter(Counters.AGE, 1);
+ c.addCounter(CounterType.AGE, 1);
StringBuilder rs = new StringBuilder("R");
- for(int ageCounters = c.getCounters(Counters.AGE); ageCounters > 1; ageCounters-- )
+ for(int ageCounters = c.getCounters(CounterType.AGE); ageCounters > 1; ageCounters-- )
rs.append(" R");
Map produced = new HashMap();
produced.put("Produced", rs.toString());
@@ -337,8 +337,8 @@ public class Upkeep extends Phase {
if (ability.startsWith("Cumulative upkeep")) {
final String[] k = ability.split(":");
- c.addCounter(Counters.AGE, 1);
- cost = CardFactoryUtil.multiplyCost(k[1], c.getCounters(Counters.AGE));
+ c.addCounter(CounterType.AGE, 1);
+ cost = CardFactoryUtil.multiplyCost(k[1], c.getCounters(CounterType.AGE));
sb.append("Cumulative upkeep for ").append(c).append("\n");
}
@@ -1691,7 +1691,7 @@ public class Upkeep extends Phase {
this.revealTopCard(title);
}
if (wantCounter) {
- k.addCounter(Counters.P1P1, 1);
+ k.addCounter(CounterType.P1P1, 1);
}
} // resolve()
@@ -1826,9 +1826,9 @@ public class Upkeep extends Phase {
}
for (final Card c : list) {
- final int counters = c.getCounters(Counters.TIME);
+ final int counters = c.getCounters(CounterType.TIME);
if (counters > 0) {
- c.subtractCounter(Counters.TIME, 1);
+ c.subtractCounter(CounterType.TIME, 1);
}
}
} // suspend
@@ -1854,7 +1854,7 @@ public class Upkeep extends Phase {
final Ability ability = new Ability(card, "0") {
@Override
public void resolve() {
- card.subtractCounter(Counters.TIME, 1);
+ card.subtractCounter(CounterType.TIME, 1);
}
}; // ability
@@ -1892,11 +1892,11 @@ public class Upkeep extends Phase {
final Ability ability = new Ability(card, "0") {
@Override
public void resolve() {
- final int fadeCounters = card.getCounters(Counters.FADE);
+ final int fadeCounters = card.getCounters(CounterType.FADE);
if (fadeCounters <= 0) {
Singletons.getModel().getGame().getAction().sacrifice(card, null);
} else {
- card.subtractCounter(Counters.FADE, 1);
+ card.subtractCounter(CounterType.FADE, 1);
}
}
}; // ability
@@ -2136,7 +2136,7 @@ public class Upkeep extends Phase {
final SpellAbility ability = new Ability(source, "0") {
@Override
public void resolve() {
- final int num = source.getCounters(Counters.FADE);
+ final int num = source.getCounters(CounterType.FADE);
final List list = CardLists.filter(player.getCardsIn(ZoneType.Battlefield), new Predicate() {
@Override
public boolean apply(final Card c) {
@@ -2221,7 +2221,7 @@ public class Upkeep extends Phase {
blaze = CardLists.filter(blaze, new Predicate() {
@Override
public boolean apply(final Card c) {
- return c.isLand() && (c.getCounters(Counters.BLAZE) > 0);
+ return c.isLand() && (c.getCounters(CounterType.BLAZE) > 0);
}
});
diff --git a/src/main/java/forge/game/player/ComputerUtilAttack.java b/src/main/java/forge/game/player/ComputerUtilAttack.java
index d6e482c51e9..0484da26725 100644
--- a/src/main/java/forge/game/player/ComputerUtilAttack.java
+++ b/src/main/java/forge/game/player/ComputerUtilAttack.java
@@ -26,7 +26,7 @@ import com.google.common.base.Predicate;
import forge.Card;
import forge.CardLists;
-import forge.Counters;
+import forge.CounterType;
import forge.GameEntity;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -365,7 +365,7 @@ public class ComputerUtilAttack {
final List beastions = ai.getCardsIn(ZoneType.Battlefield, "Beastmaster Ascension");
int minCreatures = 7;
for (final Card beastion : beastions) {
- final int counters = beastion.getCounters(Counters.QUEST);
+ final int counters = beastion.getCounters(CounterType.QUEST);
minCreatures = Math.min(minCreatures, 7 - counters);
}
if (this.attackers.size() >= minCreatures) {
@@ -799,7 +799,7 @@ public class ComputerUtilAttack {
}
}
// if enough damage: switch to next planeswalker or player
- if (damage >= pw.getCounters(Counters.LOYALTY)) {
+ if (damage >= pw.getCounters(CounterType.LOYALTY)) {
combat.setCurrentDefenderNumber(combat.getCurrentDefenderNumber() - 1);
}
}
@@ -892,7 +892,7 @@ public class ComputerUtilAttack {
&& CombatUtil.canBlock(attacker, defender)) {
numberOfPossibleBlockers += 1;
if (isWorthLessThanAllKillers && CombatUtil.canDestroyAttacker(attacker, defender, combat, false)
- && !(attacker.hasKeyword("Undying") && attacker.getCounters(Counters.P1P1) == 0)) {
+ && !(attacker.hasKeyword("Undying") && attacker.getCounters(CounterType.P1P1) == 0)) {
canBeKilledByOne = true; // there is a single creature on
// the battlefield that can kill
// the creature
diff --git a/src/main/java/forge/game/player/ComputerUtilBlock.java b/src/main/java/forge/game/player/ComputerUtilBlock.java
index f6489a2242b..05fd2135023 100644
--- a/src/main/java/forge/game/player/ComputerUtilBlock.java
+++ b/src/main/java/forge/game/player/ComputerUtilBlock.java
@@ -27,7 +27,7 @@ import forge.Card;
import forge.CardLists;
import forge.CardPredicates;
-import forge.Counters;
+import forge.CounterType;
import forge.GameEntity;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.phase.Combat;
@@ -369,7 +369,7 @@ public class ComputerUtilBlock {
// 3.Blockers that can destroy the attacker and have an upside when dying
killingBlockers = ComputerUtilBlock.getKillingBlockers(attacker, blockers, combat);
for (Card b : killingBlockers) {
- if ((b.hasKeyword("Undying") && b.getCounters(Counters.P1P1) == 0)
+ if ((b.hasKeyword("Undying") && b.getCounters(CounterType.P1P1) == 0)
|| !b.getSVar("SacMe").equals("")) {
blocker = b;
break;
diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java
index 28437f0af34..6acfb90da45 100644
--- a/src/main/java/forge/game/player/Player.java
+++ b/src/main/java/forge/game/player/Player.java
@@ -41,7 +41,7 @@ import forge.CardPredicates.Presets;
import forge.CardUtil;
import forge.Constant;
import forge.Constant.Preferences;
-import forge.Counters;
+import forge.CounterType;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Singletons;
@@ -2858,22 +2858,18 @@ public abstract class Player extends GameEntity implements Comparable {
});
}
- public int getCounterDoublersMagnitude(final Counters type) {
+ public int getCounterDoublersMagnitude(final CounterType type) {
int counterDoublers = getCardsIn(ZoneType.Battlefield, "Doubling Season").size();
- if(type == Counters.P1P1) {
+ if(type == CounterType.P1P1) {
counterDoublers += getCardsIn(ZoneType.Battlefield, "Corpsejack Menace").size();
}
- return (int) Math.pow(2, counterDoublers); // pow(a,0) = 1; pow(a,1) = a
- // ... no worries about size
- // = 0
+ return 1 << counterDoublers;
}
public int getTokenDoublersMagnitude() {
final int tokenDoublers = getCardsIn(ZoneType.Battlefield, "Parallel Lives").size()
+ getCardsIn(ZoneType.Battlefield, "Doubling Season").size();
- return (int) Math.pow(2, tokenDoublers); // pow(a,0) = 1; pow(a,1) = a
- // ... no worries about size =
- // 0
+ return 1 << tokenDoublers; // pow(a,0) = 1; pow(a,1) = a
}
public void onCleanupPhase() {
diff --git a/src/main/java/forge/gui/CardDetailPanel.java b/src/main/java/forge/gui/CardDetailPanel.java
index 6ba0742c5a9..725833624f2 100644
--- a/src/main/java/forge/gui/CardDetailPanel.java
+++ b/src/main/java/forge/gui/CardDetailPanel.java
@@ -35,7 +35,7 @@ import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.GameEntity;
import forge.Singletons;
import forge.game.zone.ZoneType;
@@ -257,8 +257,8 @@ public class CardDetailPanel extends JPanel implements CardContainer {
}
// counter text
- final Counters[] counters = Counters.values();
- for (final Counters counter : counters) {
+ final CounterType[] counters = CounterType.values();
+ for (final CounterType counter : counters) {
if (card.getCounters(counter) != 0) {
if (area.length() != 0) {
area.append("\n");
diff --git a/src/main/java/forge/gui/GuiDisplayUtil.java b/src/main/java/forge/gui/GuiDisplayUtil.java
index 54b74d0edd0..ce0e0312f66 100644
--- a/src/main/java/forge/gui/GuiDisplayUtil.java
+++ b/src/main/java/forge/gui/GuiDisplayUtil.java
@@ -42,7 +42,7 @@ import forge.CardCharacteristicName;
import forge.CardUtil;
import forge.Constant;
-import forge.Counters;
+import forge.CounterType;
import forge.Singletons;
import forge.card.spellability.AbilityManaPart;
import forge.card.spellability.SpellAbility;
@@ -599,7 +599,7 @@ public final class GuiDisplayUtil {
} else if (info.startsWith("Counters:")) {
final String[] counterStrings = info.substring(info.indexOf(':') + 1).split(",");
for (final String counter : counterStrings) {
- c.addCounter(Counters.valueOf(counter), 1);
+ c.addCounter(CounterType.valueOf(counter), 1);
}
} else if (info.equalsIgnoreCase("SummonSick:True")) {
c.setSickness(true);
@@ -649,7 +649,7 @@ public final class GuiDisplayUtil {
return;
} else {
final Card c = o;
- final Counters counter = GuiChoose.oneOrNone("Which type of counter?", Counters.values());
+ final CounterType counter = GuiChoose.oneOrNone("Which type of counter?", CounterType.values());
if (null == counter) {
return;
} else {
diff --git a/src/main/java/forge/view/arcane/CardPanel.java b/src/main/java/forge/view/arcane/CardPanel.java
index 7ffd0bdf861..a8ad5636a3c 100644
--- a/src/main/java/forge/view/arcane/CardPanel.java
+++ b/src/main/java/forge/view/arcane/CardPanel.java
@@ -37,7 +37,7 @@ import javax.swing.JRootPane;
import javax.swing.SwingUtilities;
import forge.Card;
-import forge.Counters;
+import forge.CounterType;
import forge.ImageCache;
import forge.Singletons;
import forge.gui.CardContainer;
@@ -612,11 +612,11 @@ public class CardPanel extends JPanel implements CardContainer {
if (card.isCreature() && card.isPlaneswalker()) {
this.ptText.setText(card.getNetAttack() + "/" + card.getNetDefense() + " ("
- + String.valueOf(card.getCounters(Counters.LOYALTY)) + ")");
+ + String.valueOf(card.getCounters(CounterType.LOYALTY)) + ")");
} else if (card.isCreature()) {
this.ptText.setText(card.getNetAttack() + "/" + card.getNetDefense());
} else if (card.isPlaneswalker()) {
- int loyalty = card.getCounters(Counters.LOYALTY);
+ int loyalty = card.getCounters(CounterType.LOYALTY);
if (loyalty == 0) {
loyalty = card.getBaseLoyalty();
}