mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Rename Attack/Defense to Power/Toughness for consistency
This commit is contained in:
@@ -684,12 +684,12 @@ public class GameAction {
|
||||
for (Card c : game.getCardsIn(ZoneType.Battlefield)) {
|
||||
if (c.isCreature()) {
|
||||
// Rule 704.5f - Put into grave (no regeneration) for toughness <= 0
|
||||
if (c.getNetDefense() <= 0) {
|
||||
if (c.getNetToughness() <= 0) {
|
||||
noRegCreats.add(c);
|
||||
checkAgain = true;
|
||||
} else if (c.hasKeyword("CARDNAME can't be destroyed by lethal damage unless lethal damage dealt by a single source is marked on it.")) {
|
||||
for (final Integer dmg : c.getReceivedDamageFromThisTurn().values()) {
|
||||
if (c.getNetDefense() <= dmg.intValue()) {
|
||||
if (c.getNetToughness() <= dmg.intValue()) {
|
||||
desCreats.add(c);
|
||||
checkAgain = true;
|
||||
break;
|
||||
@@ -697,7 +697,7 @@ public class GameAction {
|
||||
}
|
||||
}
|
||||
// Rule 704.5g - Destroy due to lethal damage
|
||||
else if (c.getNetDefense() <= c.getDamage()) {
|
||||
else if (c.getNetToughness() <= c.getDamage()) {
|
||||
desCreats.add(c);
|
||||
checkAgain = true;
|
||||
}
|
||||
@@ -1112,7 +1112,7 @@ public class GameAction {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (c.canBeShielded() && (!c.isCreature() || c.getNetDefense() > 0)
|
||||
if (c.canBeShielded() && (!c.isCreature() || c.getNetToughness() > 0)
|
||||
&& (c.getShieldCount() > 0 || c.hasKeyword("If CARDNAME would be destroyed, regenerate it."))) {
|
||||
c.subtractShield(c.getController().getController().chooseRegenerationShield(c));
|
||||
c.setDamage(0);
|
||||
|
||||
@@ -201,8 +201,8 @@ public class StaticEffects {
|
||||
if (addT.startsWith("AffectedX")) {
|
||||
toughnessBonus = se.getXMapValue(affectedCard);
|
||||
}
|
||||
affectedCard.addSemiPermanentAttackBoost(powerBonus * -1);
|
||||
affectedCard.addSemiPermanentDefenseBoost(toughnessBonus * -1);
|
||||
affectedCard.addSemiPermanentPowerBoost(powerBonus * -1);
|
||||
affectedCard.addSemiPermanentToughnessBoost(toughnessBonus * -1);
|
||||
|
||||
// remove keywords
|
||||
// TODO regular keywords currently don't try to use keyword multiplier
|
||||
|
||||
@@ -267,7 +267,7 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
} catch (final NumberFormatException e) {
|
||||
power = CardFactoryUtil.xCount(tgtCard, tgtCard.getSVar(rhs));
|
||||
}
|
||||
tgtCard.setBaseAttack(power);
|
||||
tgtCard.setBasePower(power);
|
||||
}
|
||||
|
||||
// set toughness of clone
|
||||
@@ -279,7 +279,7 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
} catch (final NumberFormatException e) {
|
||||
toughness = CardFactoryUtil.xCount(tgtCard, tgtCard.getSVar(rhs));
|
||||
}
|
||||
tgtCard.setBaseDefense(toughness);
|
||||
tgtCard.setBaseToughness(toughness);
|
||||
}
|
||||
|
||||
// colors to be added or changed to
|
||||
|
||||
@@ -39,8 +39,8 @@ public class FightEffect extends SpellAbilityEffect {
|
||||
return;
|
||||
}
|
||||
|
||||
int dmg2 = fighters.get(1).getNetAttack();
|
||||
fighters.get(1).addDamage(fighters.get(0).getNetAttack(), fighters.get(0));
|
||||
int dmg2 = fighters.get(1).getNetPower();
|
||||
fighters.get(1).addDamage(fighters.get(0).getNetPower(), fighters.get(0));
|
||||
fighters.get(0).addDamage(dmg2, fighters.get(1));
|
||||
}
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ public class PermanentCreatureEffect extends SpellAbilityEffect {
|
||||
public String getStackDescription(final SpellAbility sa) {
|
||||
final Card sourceCard = sa.getHostCard();
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append(sourceCard.getName()).append(" - Creature ").append(sourceCard.getNetAttack());
|
||||
sb.append(" / ").append(sourceCard.getNetDefense());
|
||||
sb.append(sourceCard.getName()).append(" - Creature ").append(sourceCard.getNetPower());
|
||||
sb.append(" / ").append(sourceCard.getNetToughness());
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,11 +52,11 @@ public class PowerExchangeEffect extends SpellAbilityEffect {
|
||||
if (!c1.isInPlay() || !c2.isInPlay()) {
|
||||
return;
|
||||
}
|
||||
final int power1 = c1.getNetAttack();
|
||||
final int power2 = c2.getNetAttack();
|
||||
final int power1 = c1.getNetPower();
|
||||
final int power2 = c2.getNetPower();
|
||||
|
||||
c1.addTempAttackBoost(power2 - power1);
|
||||
c2.addTempAttackBoost(power1 - power2);
|
||||
c1.addTempPowerBoost(power2 - power1);
|
||||
c2.addTempPowerBoost(power1 - power2);
|
||||
|
||||
game.fireEvent(new GameEventCardStatsChanged(c1));
|
||||
game.fireEvent(new GameEventCardStatsChanged(c2));
|
||||
@@ -69,8 +69,8 @@ public class PowerExchangeEffect extends SpellAbilityEffect {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
c1.addTempAttackBoost(power1 - power2);
|
||||
c2.addTempAttackBoost(power2 - power1);
|
||||
c1.addTempPowerBoost(power1 - power2);
|
||||
c2.addTempPowerBoost(power2 - power1);
|
||||
game.fireEvent(new GameEventCardStatsChanged(c1));
|
||||
game.fireEvent(new GameEventCardStatsChanged(c2));
|
||||
}
|
||||
|
||||
@@ -51,8 +51,8 @@ public class PumpAllEffect extends SpellAbilityEffect {
|
||||
continue;
|
||||
}
|
||||
|
||||
tgtC.addTempAttackBoost(a);
|
||||
tgtC.addTempDefenseBoost(d);
|
||||
tgtC.addTempPowerBoost(a);
|
||||
tgtC.addTempToughnessBoost(d);
|
||||
tgtC.addChangedCardKeywords(kws, new ArrayList<String>(), false, timestamp);
|
||||
|
||||
for (String kw : hiddenkws) {
|
||||
@@ -75,8 +75,8 @@ public class PumpAllEffect extends SpellAbilityEffect {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
tgtC.addTempAttackBoost(-1 * a);
|
||||
tgtC.addTempDefenseBoost(-1 * d);
|
||||
tgtC.addTempPowerBoost(-1 * a);
|
||||
tgtC.addTempToughnessBoost(-1 * d);
|
||||
tgtC.removeChangedCardKeywords(timestamp);
|
||||
|
||||
for (String kw : hiddenkws) {
|
||||
|
||||
@@ -47,8 +47,8 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
}
|
||||
}
|
||||
|
||||
applyTo.addTempAttackBoost(a);
|
||||
applyTo.addTempDefenseBoost(d);
|
||||
applyTo.addTempPowerBoost(a);
|
||||
applyTo.addTempToughnessBoost(d);
|
||||
applyTo.addChangedCardKeywords(kws, new ArrayList<String>(), false, timestamp);
|
||||
|
||||
if (!sa.hasParam("Permanent")) {
|
||||
@@ -58,8 +58,8 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
applyTo.addTempAttackBoost(-1 * a);
|
||||
applyTo.addTempDefenseBoost(-1 * d);
|
||||
applyTo.addTempPowerBoost(-1 * a);
|
||||
applyTo.addTempToughnessBoost(-1 * d);
|
||||
|
||||
if (keywords.size() > 0) {
|
||||
for (String kw : keywords) {
|
||||
|
||||
@@ -191,8 +191,8 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
// stack of set power/toughness
|
||||
private ArrayList<CardPowerToughness> newPT = new ArrayList<CardPowerToughness>();
|
||||
private int baseLoyalty = 0;
|
||||
private String baseAttackString = null;
|
||||
private String baseDefenseString = null;
|
||||
private String basePowerString = null;
|
||||
private String baseToughnessString = null;
|
||||
|
||||
private int damage;
|
||||
|
||||
@@ -202,11 +202,11 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
|
||||
private int turnInZone;
|
||||
|
||||
private int tempAttackBoost = 0;
|
||||
private int tempDefenseBoost = 0;
|
||||
private int tempPowerBoost = 0;
|
||||
private int tempToughnessBoost = 0;
|
||||
|
||||
private int semiPermanentAttackBoost = 0;
|
||||
private int semiPermanentDefenseBoost = 0;
|
||||
private int semiPermanentPowerBoost = 0;
|
||||
private int semiPermanentToughnessBoost = 0;
|
||||
|
||||
private int xManaCostPaid = 0;
|
||||
private Map<String, Integer> xManaCostPaidByColor;
|
||||
@@ -2404,39 +2404,39 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
// values that are printed on card
|
||||
public final int getBaseAttack() {
|
||||
return currentState.getBaseAttack();
|
||||
public final int getBasePower() {
|
||||
return currentState.getBasePower();
|
||||
}
|
||||
|
||||
public final int getBaseDefense() {
|
||||
return currentState.getBaseDefense();
|
||||
public final int getBaseToughness() {
|
||||
return currentState.getBaseToughness();
|
||||
}
|
||||
|
||||
// values that are printed on card
|
||||
public final void setBaseAttack(final int n) {
|
||||
currentState.setBaseAttack(n);
|
||||
public final void setBasePower(final int n) {
|
||||
currentState.setBasePower(n);
|
||||
}
|
||||
|
||||
public final void setBaseDefense(final int n) {
|
||||
currentState.setBaseDefense(n);
|
||||
public final void setBaseToughness(final int n) {
|
||||
currentState.setBaseToughness(n);
|
||||
}
|
||||
|
||||
// values that are printed on card
|
||||
public final String getBaseAttackString() {
|
||||
return (null == baseAttackString) ? "" + getBaseAttack() : baseAttackString;
|
||||
public final String getBasePowerString() {
|
||||
return (null == basePowerString) ? "" + getBasePower() : basePowerString;
|
||||
}
|
||||
|
||||
public final String getBaseDefenseString() {
|
||||
return (null == baseDefenseString) ? "" + getBaseDefense() : baseDefenseString;
|
||||
public final String getBaseToughnessString() {
|
||||
return (null == baseToughnessString) ? "" + getBaseToughness() : baseToughnessString;
|
||||
}
|
||||
|
||||
// values that are printed on card
|
||||
public final void setBaseAttackString(final String s) {
|
||||
baseAttackString = s;
|
||||
public final void setBasePowerString(final String s) {
|
||||
basePowerString = s;
|
||||
}
|
||||
|
||||
public final void setBaseDefenseString(final String s) {
|
||||
baseDefenseString = s;
|
||||
public final void setBaseToughnessString(final String s) {
|
||||
baseToughnessString = s;
|
||||
}
|
||||
|
||||
public final int getSetPower() {
|
||||
@@ -2504,7 +2504,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
public final int getCurrentPower() {
|
||||
int total = getBaseAttack();
|
||||
int total = getBasePower();
|
||||
final int setPower = getSetPower();
|
||||
if (setPower != -1) {
|
||||
total = setPower;
|
||||
@@ -2513,7 +2513,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
public final int getUnswitchedPower() {
|
||||
return getCurrentPower() + getTempAttackBoost() + getSemiPermanentAttackBoost() + getPowerBonusFromCounters();
|
||||
return getCurrentPower() + getTempPowerBoost() + getSemiPermanentPowerBoost() + getPowerBonusFromCounters();
|
||||
}
|
||||
|
||||
public final int getPowerBonusFromCounters() {
|
||||
@@ -2522,7 +2522,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
- 2 * getCounters(CounterType.M2M2) - getCounters(CounterType.M1M0) + 2 * getCounters(CounterType.P2P0);
|
||||
}
|
||||
|
||||
public final int getNetAttack() {
|
||||
public final int getNetPower() {
|
||||
if (getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 != 0) {
|
||||
return getUnswitchedToughness();
|
||||
}
|
||||
@@ -2530,7 +2530,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
public final int getCurrentToughness() {
|
||||
int total = getBaseDefense();
|
||||
int total = getBaseToughness();
|
||||
final int setToughness = getSetToughness();
|
||||
if (setToughness != -1) {
|
||||
total = setToughness;
|
||||
@@ -2539,7 +2539,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
public final int getUnswitchedToughness() {
|
||||
return getCurrentToughness() + getTempDefenseBoost() + getSemiPermanentDefenseBoost() + getToughnessBonusFromCounters();
|
||||
return getCurrentToughness() + getTempToughnessBoost() + getSemiPermanentToughnessBoost() + getToughnessBonusFromCounters();
|
||||
}
|
||||
|
||||
public final int getToughnessBonusFromCounters() {
|
||||
@@ -2549,7 +2549,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
+ 2 * getCounters(CounterType.P0P2);
|
||||
}
|
||||
|
||||
public final int getNetDefense() {
|
||||
public final int getNetToughness() {
|
||||
if (getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 != 0) {
|
||||
return getUnswitchedPower();
|
||||
}
|
||||
@@ -2563,9 +2563,9 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
if (getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.toughnessAssignsDamage)) {
|
||||
return getNetDefense();
|
||||
return getNetToughness();
|
||||
}
|
||||
return getNetAttack();
|
||||
return getNetPower();
|
||||
}
|
||||
|
||||
private int multiKickerMagnitude = 0;
|
||||
@@ -2585,56 +2585,56 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
public final int getPseudoKickerMagnitude() { return pseudoKickerMagnitude; }
|
||||
|
||||
// for cards like Giant Growth, etc.
|
||||
public final int getTempAttackBoost() {
|
||||
return tempAttackBoost;
|
||||
public final int getTempPowerBoost() {
|
||||
return tempPowerBoost;
|
||||
}
|
||||
|
||||
public final int getTempDefenseBoost() {
|
||||
return tempDefenseBoost;
|
||||
public final int getTempToughnessBoost() {
|
||||
return tempToughnessBoost;
|
||||
}
|
||||
|
||||
public final void addTempAttackBoost(final int n) {
|
||||
public final void addTempPowerBoost(final int n) {
|
||||
if (n == 0) { return; }
|
||||
tempAttackBoost += n;
|
||||
tempPowerBoost += n;
|
||||
currentState.getView().updatePower(this);
|
||||
}
|
||||
|
||||
public final void addTempDefenseBoost(final int n) {
|
||||
public final void addTempToughnessBoost(final int n) {
|
||||
if (n == 0) { return; }
|
||||
tempDefenseBoost += n;
|
||||
tempToughnessBoost += n;
|
||||
currentState.getView().updateToughness(this);
|
||||
}
|
||||
|
||||
// for cards like Glorious Anthem, etc.
|
||||
public final int getSemiPermanentAttackBoost() {
|
||||
return semiPermanentAttackBoost;
|
||||
public final int getSemiPermanentPowerBoost() {
|
||||
return semiPermanentPowerBoost;
|
||||
}
|
||||
|
||||
public final int getSemiPermanentDefenseBoost() {
|
||||
return semiPermanentDefenseBoost;
|
||||
public final int getSemiPermanentToughnessBoost() {
|
||||
return semiPermanentToughnessBoost;
|
||||
}
|
||||
|
||||
public final void addSemiPermanentAttackBoost(final int n) {
|
||||
public final void addSemiPermanentPowerBoost(final int n) {
|
||||
if (n == 0) { return; }
|
||||
semiPermanentAttackBoost += n;
|
||||
semiPermanentPowerBoost += n;
|
||||
currentState.getView().updatePower(this);
|
||||
}
|
||||
|
||||
public final void addSemiPermanentDefenseBoost(final int n) {
|
||||
public final void addSemiPermanentToughnessBoost(final int n) {
|
||||
if (n == 0) { return; }
|
||||
semiPermanentDefenseBoost += n;
|
||||
semiPermanentToughnessBoost += n;
|
||||
currentState.getView().updateToughness(this);
|
||||
}
|
||||
|
||||
public final void setSemiPermanentAttackBoost(final int n) {
|
||||
if (semiPermanentAttackBoost == n) { return; }
|
||||
semiPermanentAttackBoost = n;
|
||||
public final void setSemiPermanentPowerBoost(final int n) {
|
||||
if (semiPermanentPowerBoost == n) { return; }
|
||||
semiPermanentPowerBoost = n;
|
||||
currentState.getView().updatePower(this);
|
||||
}
|
||||
|
||||
public final void setSemiPermanentDefenseBoost(final int n) {
|
||||
if (semiPermanentDefenseBoost == n) { return; }
|
||||
semiPermanentDefenseBoost = n;
|
||||
public final void setSemiPermanentToughnessBoost(final int n) {
|
||||
if (semiPermanentToughnessBoost == n) { return; }
|
||||
semiPermanentToughnessBoost = n;
|
||||
currentState.getView().updateToughness(this);
|
||||
}
|
||||
|
||||
@@ -4474,28 +4474,28 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
}
|
||||
for (final Card crd : cards) {
|
||||
if (crd.getNetAttack() > getNetAttack()) {
|
||||
if (crd.getNetPower() > getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("yardGreatestPower")) {
|
||||
final CardCollectionView cards = CardLists.filter(sourceController.getCardsIn(ZoneType.Graveyard), Presets.CREATURES);
|
||||
for (final Card crd : cards) {
|
||||
if (crd.getNetAttack() > getNetAttack()) {
|
||||
if (crd.getNetPower() > getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("leastPower")) {
|
||||
final CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
|
||||
for (final Card crd : cards) {
|
||||
if (crd.getNetAttack() < getNetAttack()) {
|
||||
if (crd.getNetPower() < getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("leastToughness")) {
|
||||
final CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
|
||||
for (final Card crd : cards) {
|
||||
if (crd.getNetDefense() < getNetDefense()) {
|
||||
if (crd.getNetToughness() < getNetToughness()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -4615,10 +4615,10 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
|
||||
if (property.startsWith("power")) {
|
||||
rhs = property.substring(7);
|
||||
y = getNetAttack();
|
||||
y = getNetPower();
|
||||
} else if (property.startsWith("toughness")) {
|
||||
rhs = property.substring(11);
|
||||
y = getNetDefense();
|
||||
y = getNetToughness();
|
||||
} else if (property.startsWith("cmc")) {
|
||||
rhs = property.substring(5);
|
||||
if (isSplitCard() && getCurrentStateName() == CardStateName.Original) {
|
||||
@@ -4629,7 +4629,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
} else if (property.startsWith("totalPT")) {
|
||||
rhs = property.substring(10);
|
||||
y = getNetAttack() + getNetDefense();
|
||||
y = getNetPower() + getNetToughness();
|
||||
}
|
||||
try {
|
||||
x = Integer.parseInt(rhs);
|
||||
@@ -5103,7 +5103,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
|
||||
// this is the minimal damage a trampling creature has to assign to a blocker
|
||||
public final int getLethalDamage() {
|
||||
return getNetDefense() - getDamage() - getTotalAssignedDamage();
|
||||
return getNetToughness() - getDamage() - getTotalAssignedDamage();
|
||||
}
|
||||
|
||||
public final int getDamage() {
|
||||
@@ -5801,7 +5801,7 @@ public class Card extends GameEntity implements Comparable<Card>, IIdentifiable
|
||||
}
|
||||
|
||||
public final boolean canBeDestroyed() {
|
||||
return isInPlay() && (!hasKeyword("Indestructible") || (isCreature() && getNetDefense() <= 0));
|
||||
return isInPlay() && (!hasKeyword("Indestructible") || (isCreature() && getNetToughness() <= 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -423,12 +423,12 @@ public class CardFactory {
|
||||
c.setColor(ccc);
|
||||
|
||||
if ( face.getIntPower() >= 0 ) {
|
||||
c.setBaseAttack(face.getIntPower());
|
||||
c.setBaseAttackString(face.getPower());
|
||||
c.setBasePower(face.getIntPower());
|
||||
c.setBasePowerString(face.getPower());
|
||||
}
|
||||
if ( face.getIntToughness() >= 0 ) {
|
||||
c.setBaseDefense(face.getIntToughness());
|
||||
c.setBaseDefenseString(face.getToughness());
|
||||
c.setBaseToughness(face.getIntToughness());
|
||||
c.setBaseToughnessString(face.getToughness());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -555,8 +555,8 @@ public class CardFactory {
|
||||
public static void copyState(final Card from, final CardStateName fromState, final Card to, final CardStateName toState) {
|
||||
// copy characteristics not associated with a state
|
||||
to.setBaseLoyalty(from.getBaseLoyalty());
|
||||
to.setBaseAttackString(from.getBaseAttackString());
|
||||
to.setBaseDefenseString(from.getBaseDefenseString());
|
||||
to.setBasePowerString(from.getBasePowerString());
|
||||
to.setBaseToughnessString(from.getBaseToughnessString());
|
||||
to.setText(from.getSpellText());
|
||||
|
||||
// get CardCharacteristics for desired state
|
||||
@@ -617,7 +617,7 @@ public class CardFactory {
|
||||
}
|
||||
|
||||
public static List<Card> makeToken(final String name, final String imageName, final Player controller,
|
||||
final String manaCost, final String[] types, final int baseAttack, final int baseDefense,
|
||||
final String manaCost, final String[] types, final int basePower, final int baseToughness,
|
||||
final String[] intrinsicKeywords) {
|
||||
final List<Card> list = new ArrayList<Card>();
|
||||
final Card c = new Card(controller.getGame().nextCardId());
|
||||
@@ -633,8 +633,8 @@ public class CardFactory {
|
||||
c.addType(t);
|
||||
}
|
||||
|
||||
c.setBaseAttack(baseAttack);
|
||||
c.setBaseDefense(baseDefense);
|
||||
c.setBasePower(basePower);
|
||||
c.setBaseToughness(baseToughness);
|
||||
|
||||
final int multiplier = controller.getTokenDoublersMagnitude();
|
||||
for (int i = 0; i < multiplier; i++) {
|
||||
|
||||
@@ -891,8 +891,8 @@ public class CardFactoryUtil {
|
||||
CardCollection list = CardLists.getValidCards(cc.getGame().getCardsIn(ZoneType.Battlefield), rest, cc, c);
|
||||
int highest = 0;
|
||||
for (final Card crd : list) {
|
||||
if (crd.getNetAttack() > highest) {
|
||||
highest = crd.getNetAttack();
|
||||
if (crd.getNetPower() > highest) {
|
||||
highest = crd.getNetPower();
|
||||
}
|
||||
}
|
||||
return highest;
|
||||
@@ -904,8 +904,8 @@ public class CardFactoryUtil {
|
||||
CardCollection list = CardLists.getValidCards(cc.getGame().getCardsIn(ZoneType.Battlefield), rest, cc, c);
|
||||
int highest = 0;
|
||||
for (final Card crd : list) {
|
||||
if (crd.getNetDefense() > highest) {
|
||||
highest = crd.getNetDefense();
|
||||
if (crd.getNetToughness() > highest) {
|
||||
highest = crd.getNetToughness();
|
||||
}
|
||||
}
|
||||
return highest;
|
||||
@@ -1224,13 +1224,13 @@ public class CardFactoryUtil {
|
||||
}
|
||||
|
||||
if (sq[0].contains("CardPower")) {
|
||||
return doXMath(c.getNetAttack(), m, c);
|
||||
return doXMath(c.getNetPower(), m, c);
|
||||
}
|
||||
if (sq[0].contains("CardToughness")) {
|
||||
return doXMath(c.getNetDefense(), m, c);
|
||||
return doXMath(c.getNetToughness(), m, c);
|
||||
}
|
||||
if (sq[0].contains("CardSumPT")) {
|
||||
return doXMath((c.getNetAttack() + c.getNetDefense()), m, c);
|
||||
return doXMath((c.getNetPower() + c.getNetToughness()), m, c);
|
||||
}
|
||||
|
||||
// Count$SumPower_valid
|
||||
@@ -1238,7 +1238,7 @@ public class CardFactoryUtil {
|
||||
final String[] restrictions = l[0].split("_");
|
||||
final String[] rest = restrictions[1].split(",");
|
||||
CardCollection filteredCards = CardLists.getValidCards(cc.getGame().getCardsIn(ZoneType.Battlefield), rest, cc, c);
|
||||
return doXMath(Aggregates.sum(filteredCards, CardPredicates.Accessors.fnGetNetAttack), m, c);
|
||||
return doXMath(Aggregates.sum(filteredCards, CardPredicates.Accessors.fnGetNetPower), m, c);
|
||||
}
|
||||
// Count$CardManaCost
|
||||
if (sq[0].contains("CardManaCost")) {
|
||||
@@ -1977,7 +1977,7 @@ public class CardFactoryUtil {
|
||||
int neededDamage = -1;
|
||||
|
||||
if ((target != null)) {
|
||||
neededDamage = target.getNetDefense() - target.getDamage();
|
||||
neededDamage = target.getNetToughness() - target.getDamage();
|
||||
}
|
||||
|
||||
return neededDamage;
|
||||
|
||||
@@ -55,7 +55,7 @@ public class CardLists {
|
||||
return CardLists.filter(in, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(Card c) {
|
||||
return c.getNetDefense() <= atLeastToughness;
|
||||
return c.getNetToughness() <= atLeastToughness;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -63,7 +63,7 @@ public class CardLists {
|
||||
public static final Comparator<Card> ToughnessComparator = new Comparator<Card>() {
|
||||
@Override
|
||||
public int compare(final Card a, final Card b) {
|
||||
return a.getNetDefense() - b.getNetDefense();
|
||||
return a.getNetToughness() - b.getNetToughness();
|
||||
}
|
||||
};
|
||||
public static final Comparator<Card> PowerComparator = new Comparator<Card>() {
|
||||
@@ -291,7 +291,7 @@ public class CardLists {
|
||||
public static int getTotalPower(Iterable<Card> cardList) {
|
||||
int total = 0;
|
||||
for (final Card crd : cardList) {
|
||||
total += crd.getNetAttack();
|
||||
total += crd.getNetPower();
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
@@ -355,14 +355,14 @@ public final class CardPredicates {
|
||||
public static final Function<Card, Integer> fnGetDefense = new Function<Card, Integer>() {
|
||||
@Override
|
||||
public Integer apply(Card a) {
|
||||
return a.getNetDefense();
|
||||
return a.getNetToughness();
|
||||
}
|
||||
};
|
||||
|
||||
public static final Function<Card, Integer> fnGetNetAttack = new Function<Card, Integer>() {
|
||||
public static final Function<Card, Integer> fnGetNetPower = new Function<Card, Integer>() {
|
||||
@Override
|
||||
public Integer apply(Card a) {
|
||||
return a.getNetAttack();
|
||||
return a.getNetPower();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ public class CardState {
|
||||
private ManaCost manaCost = ManaCost.NO_COST;
|
||||
private List<CardColor> cardColor = new ArrayList<CardColor>();
|
||||
private String oracleText = "";
|
||||
private int baseAttack = 0;
|
||||
private int baseDefense = 0;
|
||||
private int basePower = 0;
|
||||
private int baseToughness = 0;
|
||||
private List<String> intrinsicKeywords = new ArrayList<String>();
|
||||
private final FCollection<SpellAbility> nonManaAbilities = new FCollection<SpellAbility>();
|
||||
private final FCollection<SpellAbility> manaAbilities = new FCollection<SpellAbility>();
|
||||
@@ -146,21 +146,21 @@ public class CardState {
|
||||
view.updateOracleText(this);
|
||||
}
|
||||
|
||||
public final int getBaseAttack() {
|
||||
return baseAttack;
|
||||
public final int getBasePower() {
|
||||
return basePower;
|
||||
}
|
||||
public final void setBaseAttack(final int baseAttack0) {
|
||||
if (baseAttack == baseAttack0) { return; }
|
||||
baseAttack = baseAttack0;
|
||||
public final void setBasePower(final int basePower0) {
|
||||
if (basePower == basePower0) { return; }
|
||||
basePower = basePower0;
|
||||
view.updatePower(this);
|
||||
}
|
||||
|
||||
public final int getBaseDefense() {
|
||||
return baseDefense;
|
||||
public final int getBaseToughness() {
|
||||
return baseToughness;
|
||||
}
|
||||
public final void setBaseDefense(final int baseDefense0) {
|
||||
if (baseDefense == baseDefense0) { return; }
|
||||
baseDefense = baseDefense0;
|
||||
public final void setBaseToughness(final int baseToughness0) {
|
||||
if (baseToughness == baseToughness0) { return; }
|
||||
baseToughness = baseToughness0;
|
||||
view.updateToughness(this);
|
||||
}
|
||||
|
||||
@@ -370,8 +370,8 @@ public class CardState {
|
||||
setType(source.type);
|
||||
setManaCost(source.getManaCost());
|
||||
setCardColor(source.getCardColor());
|
||||
setBaseAttack(source.getBaseAttack());
|
||||
setBaseDefense(source.getBaseDefense());
|
||||
setBasePower(source.getBasePower());
|
||||
setBaseToughness(source.getBaseToughness());
|
||||
intrinsicKeywords = new ArrayList<String>(source.intrinsicKeywords);
|
||||
unparsedAbilities = new ArrayList<String>(source.unparsedAbilities);
|
||||
staticAbilityStrings = new ArrayList<String>(source.staticAbilityStrings);
|
||||
|
||||
@@ -230,8 +230,8 @@ public final class CardUtil {
|
||||
}
|
||||
|
||||
// lock in the current P/T without bonus from counters
|
||||
newCopy.setBaseAttack(in.getCurrentPower() + in.getTempAttackBoost() + in.getSemiPermanentAttackBoost());
|
||||
newCopy.setBaseDefense(in.getCurrentToughness() + in.getTempDefenseBoost() + in.getSemiPermanentDefenseBoost());
|
||||
newCopy.setBasePower(in.getCurrentPower() + in.getTempPowerBoost() + in.getSemiPermanentPowerBoost());
|
||||
newCopy.setBaseToughness(in.getCurrentToughness() + in.getTempToughnessBoost() + in.getSemiPermanentToughnessBoost());
|
||||
|
||||
newCopy.setCounters(in.getCounters());
|
||||
newCopy.setExtrinsicKeyword(in.getExtrinsicKeyword());
|
||||
@@ -286,8 +286,8 @@ public final class CardUtil {
|
||||
type.add("Creature");
|
||||
|
||||
final CardState ret = new CardState(c.getView().createAlternateState(CardStateName.FaceDown));
|
||||
ret.setBaseAttack(2);
|
||||
ret.setBaseDefense(2);
|
||||
ret.setBasePower(2);
|
||||
ret.setBaseToughness(2);
|
||||
|
||||
ret.setName("");
|
||||
ret.setType(type);
|
||||
|
||||
@@ -638,7 +638,7 @@ public class CardView extends GameEntityView {
|
||||
return get(TrackableProperty.Power);
|
||||
}
|
||||
void updatePower(Card c) {
|
||||
set(TrackableProperty.Power, c.getNetAttack());
|
||||
set(TrackableProperty.Power, c.getNetPower());
|
||||
}
|
||||
void updatePower(CardState c) {
|
||||
if (CardView.this.getCurrentState() == this) {
|
||||
@@ -648,14 +648,14 @@ public class CardView extends GameEntityView {
|
||||
return;
|
||||
}
|
||||
}
|
||||
set(TrackableProperty.Power, c.getBaseAttack());
|
||||
set(TrackableProperty.Power, c.getBasePower());
|
||||
}
|
||||
|
||||
public int getToughness() {
|
||||
return get(TrackableProperty.Toughness);
|
||||
}
|
||||
void updateToughness(Card c) {
|
||||
set(TrackableProperty.Toughness, c.getNetDefense());
|
||||
set(TrackableProperty.Toughness, c.getNetToughness());
|
||||
}
|
||||
void updateToughness(CardState c) {
|
||||
if (CardView.this.getCurrentState() == this) {
|
||||
@@ -665,7 +665,7 @@ public class CardView extends GameEntityView {
|
||||
return;
|
||||
}
|
||||
}
|
||||
set(TrackableProperty.Toughness, c.getBaseDefense());
|
||||
set(TrackableProperty.Toughness, c.getBaseToughness());
|
||||
}
|
||||
|
||||
public int getLoyalty() {
|
||||
|
||||
@@ -617,7 +617,7 @@ public class CombatUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (attacker.hasKeyword("Creatures with power less than CARDNAME's power can't block it.") && attacker.getNetAttack() > blocker.getNetAttack()) {
|
||||
if (attacker.hasKeyword("Creatures with power less than CARDNAME's power can't block it.") && attacker.getNetPower() > blocker.getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ public class GameEventCardStatsChanged extends GameEvent {
|
||||
if ( null == card )
|
||||
return "Card state changes: (empty list)";
|
||||
if( cards.size() == 1)
|
||||
return String.format("Card state changes: %s (%s) %d/%d", card.getName(), StringUtils.join(card.getType(), ' '), card.getNetAttack(), card.getNetDefense() );
|
||||
return String.format("Card state changes: %s (%s) %d/%d", card.getName(), StringUtils.join(card.getType(), ' '), card.getNetPower(), card.getNetToughness() );
|
||||
else
|
||||
return String.format("Card state changes: %s (%s) %d/%d and %d more", card.getName(), StringUtils.join(card.getType(), ' '), card.getNetAttack(), card.getNetDefense(), cards.size() - 1 );
|
||||
return String.format("Card state changes: %s (%s) %d/%d and %d more", card.getName(), StringUtils.join(card.getType(), ' '), card.getNetPower(), card.getNetToughness(), cards.size() - 1 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1636,7 +1636,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
final CardCollectionView ferocious = CardLists.filter(list, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
return c.getNetAttack() > 3;
|
||||
return c.getNetPower() > 3;
|
||||
}
|
||||
});
|
||||
return !ferocious.isEmpty();
|
||||
|
||||
@@ -658,7 +658,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
}
|
||||
switch (related) {
|
||||
case "LEPower" :
|
||||
return c.getNetAttack() <= parentTarget.getNetAttack();
|
||||
return c.getNetPower() <= parentTarget.getNetPower();
|
||||
case "LECMC" :
|
||||
return c.getCMC() <= parentTarget.getCMC();
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ public class SpellPermanent extends Spell {
|
||||
|
||||
if (sourceCard.isCreature()) {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append(sourceCard.getName()).append(" - Creature ").append(sourceCard.getNetAttack());
|
||||
sb.append(" / ").append(sourceCard.getNetDefense());
|
||||
sb.append(sourceCard.getName()).append(" - Creature ").append(sourceCard.getNetPower());
|
||||
sb.append(" / ").append(sourceCard.getNetToughness());
|
||||
this.setStackDescription(sb.toString());
|
||||
} else {
|
||||
this.setStackDescription(sourceCard.getName());
|
||||
|
||||
@@ -396,10 +396,10 @@ public class StaticAbilityContinuous {
|
||||
// set P/T
|
||||
if (params.containsKey("CharacteristicDefining")) {
|
||||
if (setPower != -1) {
|
||||
affectedCard.setBaseAttack(setPower);
|
||||
affectedCard.setBasePower(setPower);
|
||||
}
|
||||
if (setToughness != -1) {
|
||||
affectedCard.setBaseDefense(setToughness);
|
||||
affectedCard.setBaseToughness(setToughness);
|
||||
}
|
||||
} else // non CharacteristicDefining
|
||||
if ((setPower != -1) || (setToughness != -1)) {
|
||||
@@ -421,8 +421,8 @@ public class StaticAbilityContinuous {
|
||||
toughnessBonus = CardFactoryUtil.xCount(affectedCard, AbilityUtils.getSVar(stAb, addT));
|
||||
se.addXMapValue(affectedCard, toughnessBonus);
|
||||
}
|
||||
affectedCard.addSemiPermanentAttackBoost(powerBonus);
|
||||
affectedCard.addSemiPermanentDefenseBoost(toughnessBonus);
|
||||
affectedCard.addSemiPermanentPowerBoost(powerBonus);
|
||||
affectedCard.addSemiPermanentToughnessBoost(toughnessBonus);
|
||||
|
||||
// add keywords
|
||||
// TODO regular keywords currently don't try to use keyword multiplier
|
||||
|
||||
@@ -270,8 +270,8 @@ public abstract class Trigger extends TriggerReplacementBase {
|
||||
// sb.append(this.getHostCard().getName());
|
||||
// throw new RuntimeException(sb.toString());
|
||||
}
|
||||
if (moved.getNetAttack() <= this.getHostCard().getNetAttack()
|
||||
&& moved.getNetDefense() <= this.getHostCard().getNetDefense()) {
|
||||
if (moved.getNetPower() <= this.getHostCard().getNetPower()
|
||||
&& moved.getNetToughness() <= this.getHostCard().getNetToughness()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class TriggerAttackerBlockedByCreature extends Trigger {
|
||||
if (this.mapParams.containsKey("ValidCard")) {
|
||||
final String validCard = this.mapParams.get("ValidCard");
|
||||
if (validCard.equals("LessPowerThanBlocker")) {
|
||||
if (attacker.getNetAttack() >= blocker.getNetAttack()) {
|
||||
if (attacker.getNetPower() >= blocker.getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
} else if (!matchesValid(attacker, validCard.split(","), this.getHostCard())) {
|
||||
@@ -73,7 +73,7 @@ public class TriggerAttackerBlockedByCreature extends Trigger {
|
||||
if (this.mapParams.containsKey("ValidBlocker")) {
|
||||
final String validBlocker = this.mapParams.get("ValidBlocker");
|
||||
if (validBlocker.equals("LessPowerThanAttacker")) {
|
||||
if (blocker.getNetAttack() >= attacker.getNetAttack()) {
|
||||
if (blocker.getNetPower() >= attacker.getNetPower()) {
|
||||
return false;
|
||||
}
|
||||
} else if (!matchesValid(blocker, validBlocker.split(","), this.getHostCard())) {
|
||||
|
||||
Reference in New Issue
Block a user