mirror of
https://github.com/correl/mage.git
synced 2025-04-13 09:11:06 -09:00
moved some target choices to CardImpl, they should be properly copiable now
This commit is contained in:
parent
96a3f40891
commit
e2a1fa50ea
15 changed files with 163 additions and 120 deletions
Mage.Sets/src/mage/cards
a
c
d
f
g
h
l
m
p
s
Mage/src/main/java/mage
|
@ -72,14 +72,14 @@ public class AlexiZephyrMage extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public AlexiZephyrMage(final AlexiZephyrMage card) {
|
||||
super(card);
|
||||
|
|
|
@ -65,14 +65,14 @@ public class CandelabraOfTawnos extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public CandelabraOfTawnos(final CandelabraOfTawnos card) {
|
||||
super(card);
|
||||
|
|
|
@ -37,6 +37,7 @@ import mage.abilities.effects.common.NameACardEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.TargetAdjustment;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.NamePredicate;
|
||||
|
@ -49,11 +50,10 @@ import mage.target.TargetSpell;
|
|||
*/
|
||||
public class DeclarationOfNaught extends CardImpl {
|
||||
|
||||
private final UUID originalId;
|
||||
static final private FilterSpell filter = new FilterSpell("spell with the chosen name");
|
||||
|
||||
public DeclarationOfNaught(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{U}");
|
||||
|
||||
// As Declaration of Naught enters the battlefield, name a card.
|
||||
this.addAbility(new AsEntersBattlefieldAbility(new NameACardEffect(NameACardEffect.TypeOfName.ALL)));
|
||||
|
@ -61,15 +61,15 @@ public class DeclarationOfNaught extends CardImpl {
|
|||
//TODO: Make ability properly copiable
|
||||
// {U}: Counter target spell with the chosen name.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}"));
|
||||
ability.setTargetAdjustment(TargetAdjustment.CHOSEN_NAME);
|
||||
ability.addTarget(new TargetSpell(filter));
|
||||
originalId = ability.getOriginalId();
|
||||
this.addAbility(ability);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getOriginalId().equals(originalId)) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.CHOSEN_NAME) {
|
||||
ability.getTargets().clear();
|
||||
FilterSpell filter2 = new FilterSpell("spell with the chosen name");
|
||||
filter2.add(new NamePredicate((String) game.getState().getValue(ability.getSourceId().toString() + NameACardEffect.INFO_KEY)));
|
||||
|
@ -80,7 +80,6 @@ public class DeclarationOfNaught extends CardImpl {
|
|||
|
||||
public DeclarationOfNaught(final DeclarationOfNaught card) {
|
||||
super(card);
|
||||
this.originalId = card.originalId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -74,16 +74,16 @@ public class DeepfireElemental extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
// filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public DeepfireElemental(final DeepfireElemental card) {
|
||||
super(card);
|
||||
|
|
|
@ -63,14 +63,14 @@ public class FloodwaterDam extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public FloodwaterDam(final FloodwaterDam card) {
|
||||
super(card);
|
||||
|
|
|
@ -75,19 +75,19 @@ public class GorillaShaman extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
TargetPermanent oldTarget = (TargetPermanent) ability.getTargets().get(0);
|
||||
int minTargets = oldTarget.getMinNumberOfTargets();
|
||||
int maxTargets = oldTarget.getMaxNumberOfTargets();
|
||||
FilterPermanent filter2 = oldTarget.getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// TargetPermanent oldTarget = (TargetPermanent) ability.getTargets().get(0);
|
||||
// int minTargets = oldTarget.getMinNumberOfTargets();
|
||||
// int maxTargets = oldTarget.getMaxNumberOfTargets();
|
||||
// FilterPermanent filter2 = oldTarget.getFilter().copy();
|
||||
// filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
// }
|
||||
// }
|
||||
|
||||
public GorillaShaman(final GorillaShaman card) {
|
||||
super(card);
|
||||
|
|
|
@ -74,16 +74,16 @@ public class HearthKami extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
// filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public HearthKami(final HearthKami card) {
|
||||
super(card);
|
||||
|
|
|
@ -97,16 +97,16 @@ public class LinessaZephyrMage extends CardImpl {
|
|||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
// filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public LinessaZephyrMage copy() {
|
||||
|
|
|
@ -71,14 +71,14 @@ public class MagusOfTheCandelabra extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public MagusOfTheCandelabra(final MagusOfTheCandelabra card) {
|
||||
super(card);
|
||||
|
|
|
@ -79,19 +79,19 @@ public class MinamoSightbender extends CardImpl {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_POWER_LEQ) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
TargetPermanent oldTarget = (TargetPermanent) ability.getTargets().get(0);
|
||||
int minTargets = oldTarget.getMinNumberOfTargets();
|
||||
int maxTargets = oldTarget.getMaxNumberOfTargets();
|
||||
FilterPermanent filter2 = oldTarget.getFilter().copy();
|
||||
filter2.add(new PowerPredicate(ComparisonType.FEWER_THAN, xValue + 1));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_POWER_LEQ) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// TargetPermanent oldTarget = (TargetPermanent) ability.getTargets().get(0);
|
||||
// int minTargets = oldTarget.getMinNumberOfTargets();
|
||||
// int maxTargets = oldTarget.getMaxNumberOfTargets();
|
||||
// FilterPermanent filter2 = oldTarget.getFilter().copy();
|
||||
// filter2.add(new PowerPredicate(ComparisonType.FEWER_THAN, xValue + 1));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
// }
|
||||
// }
|
||||
|
||||
public MinamoSightbender(final MinamoSightbender card) {
|
||||
super(card);
|
||||
|
|
|
@ -63,14 +63,14 @@ public class MishrasHelix extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public MishrasHelix(final MishrasHelix card) {
|
||||
super(card);
|
||||
|
|
|
@ -76,16 +76,16 @@ public class Plaguebearer extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
int xValue = ability.getManaCostsToPay().getX();
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_CMC_EQUAL_PERM) {
|
||||
// int xValue = ability.getManaCostsToPay().getX();
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter().copy();
|
||||
// filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
// ability.getTargets().clear();
|
||||
// ability.getTargets().add(new TargetPermanent(filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public Plaguebearer(final Plaguebearer card) {
|
||||
super(card);
|
||||
|
|
|
@ -88,14 +88,14 @@ public class SynodArtificer extends CardImpl {
|
|||
this.addAbility(untapAbility);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void adjustTargets(Ability ability, Game game) {
|
||||
// if (ability.getTargetAdjustment() == TargetAdjustment.X_TARGETS) {
|
||||
// FilterPermanent filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
// ability.getTargets().clear();
|
||||
// ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter2));
|
||||
// }
|
||||
// }
|
||||
|
||||
public SynodArtificer(final SynodArtificer card) {
|
||||
super(card);
|
||||
|
|
|
@ -42,12 +42,16 @@ import mage.cards.repository.PluginClassloaderRegistery;
|
|||
import mage.constants.*;
|
||||
import mage.counters.Counter;
|
||||
import mage.counters.Counters;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
|
||||
import mage.filter.predicate.mageobject.PowerPredicate;
|
||||
import mage.game.*;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.stack.Spell;
|
||||
import mage.game.stack.StackObject;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.util.GameLog;
|
||||
import mage.util.SubTypeList;
|
||||
import mage.watchers.Watcher;
|
||||
|
@ -317,6 +321,46 @@ public abstract class CardImpl extends MageObjectImpl implements Card {
|
|||
return spellAbility;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void adjustCosts(Ability ability, Game game) {
|
||||
// }
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
int xValue;
|
||||
TargetPermanent oldTargetPermanent;
|
||||
int minTargets;
|
||||
int maxTargets;
|
||||
switch (ability.getTargetAdjustment()) {
|
||||
case NONE:
|
||||
break;
|
||||
case X_CMC_EQUAL_PERM:
|
||||
xValue = ability.getManaCostsToPay().getX();
|
||||
oldTargetPermanent = (TargetPermanent) ability.getTargets().get(0);
|
||||
minTargets = oldTargetPermanent.getMinNumberOfTargets();
|
||||
maxTargets = oldTargetPermanent.getMaxNumberOfTargets();
|
||||
FilterPermanent filter2 = oldTargetPermanent.getFilter().copy();
|
||||
filter2.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
break;
|
||||
case X_POWER_LEQ:
|
||||
xValue = ability.getManaCostsToPay().getX();
|
||||
oldTargetPermanent = (TargetPermanent) ability.getTargets().get(0);
|
||||
minTargets = oldTargetPermanent.getMinNumberOfTargets();
|
||||
maxTargets = oldTargetPermanent.getMaxNumberOfTargets();
|
||||
filter2 = oldTargetPermanent.getFilter().copy();
|
||||
filter2.add(new PowerPredicate(ComparisonType.FEWER_THAN, xValue + 1));
|
||||
ability.getTargets().clear();
|
||||
ability.getTargets().add(new TargetPermanent(minTargets, maxTargets, filter2, false));
|
||||
break;
|
||||
case X_TARGETS:
|
||||
xValue = ability.getManaCostsToPay().getX();
|
||||
filter2 = ((TargetPermanent) ability.getTargets().get(0)).getFilter();
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetPermanent(xValue, filter2));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOwnerId(UUID ownerId) {
|
||||
this.ownerId = ownerId;
|
||||
|
|
|
@ -6,5 +6,5 @@ package mage.constants;
|
|||
*/
|
||||
public enum TargetAdjustment {
|
||||
|
||||
NONE, X_TARGETS, X_CMC_EQUAL_PERM, GETH, DEFENDING_PLAYER, X_POWER_LEQ,
|
||||
NONE, X_TARGETS, X_CMC_EQUAL_PERM, GETH, DEFENDING_PLAYER, X_POWER_LEQ, CHOSEN_NAME
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue