mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Renamed StateBasedEffects into StaticEffects.
- Added Golem creature type to Darksteel Colossus. - Fixed Maelstrom Pulse (should whipe out tokens with the same name now). - Fixed a bunch of Cascade issues (some cards where not cascadable, hopefully I got all of them now). - Added a couple of new cards from the new set: Loam Lion and Hada Freeblade.
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -250,7 +250,7 @@ src/forge/SpellAbilityUtil.java svneol=native#text/plain
|
|||||||
src/forge/Spell_Evoke.java svneol=native#text/plain
|
src/forge/Spell_Evoke.java svneol=native#text/plain
|
||||||
src/forge/Spell_Permanent.java svneol=native#text/plain
|
src/forge/Spell_Permanent.java svneol=native#text/plain
|
||||||
src/forge/StackObserver.java svneol=native#text/plain
|
src/forge/StackObserver.java svneol=native#text/plain
|
||||||
src/forge/StateBasedEffects.java -text svneol=native#text/plain
|
src/forge/StaticEffects.java -text svneol=native#text/plain
|
||||||
src/forge/TableModel.java -text svneol=native#text/plain
|
src/forge/TableModel.java -text svneol=native#text/plain
|
||||||
src/forge/TableSorter.java svneol=native#text/plain
|
src/forge/TableSorter.java svneol=native#text/plain
|
||||||
src/forge/TempRun.java svneol=native#text/plain
|
src/forge/TempRun.java svneol=native#text/plain
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
Loam Lion
|
||||||
|
W
|
||||||
|
Creature Cat
|
||||||
|
Loam Lion gets +1/+2 as long as you control a Forest.
|
||||||
|
1/1
|
||||||
|
|
||||||
|
Hada Freeblade
|
||||||
|
W
|
||||||
|
Creature Humand Soldier Ally
|
||||||
|
Whenever Hada Freeblade or another Ally enters the battlefield under your control, you may put a +1/+1 counter on Hada Freeblade.
|
||||||
|
0/1
|
||||||
|
|
||||||
Gatekeeper of Malakir
|
Gatekeeper of Malakir
|
||||||
B B
|
B B
|
||||||
Creature Vampire Warrior
|
Creature Vampire Warrior
|
||||||
@@ -6530,7 +6542,7 @@ When this card is put into a graveyard from anywhere, reveal this card and shuff
|
|||||||
|
|
||||||
Darksteel Colossus
|
Darksteel Colossus
|
||||||
11
|
11
|
||||||
Artifact Creature
|
Artifact Creature Golem
|
||||||
no text
|
no text
|
||||||
11/11
|
11/11
|
||||||
Trample
|
Trample
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
program/mail=mtgerror@yahoo.com
|
program/mail=mtgerror@yahoo.com
|
||||||
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
|
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
|
||||||
program/version=Forge -- official beta: 10/01/17, SVN revision: 301
|
program/version=Forge -- official beta: 10/01/17, SVN revision: 302
|
||||||
|
|
||||||
tokens--file=AllTokens.txt
|
tokens--file=AllTokens.txt
|
||||||
|
|
||||||
|
|||||||
@@ -23,63 +23,79 @@ abstract public class Ability_Mana extends SpellAbility implements java.io.Seria
|
|||||||
cost = cost.replaceAll("tap", "T");
|
cost = cost.replaceAll("tap", "T");
|
||||||
return (cost.contains("T"));
|
return (cost.contains("T"));
|
||||||
}
|
}
|
||||||
public Ability_Mana(Card sourceCard, String orig)
|
|
||||||
{
|
public Ability_Mana(Card sourceCard, String orig)
|
||||||
super(isTapAbility(orig) ? SpellAbility.Ability_Tap : SpellAbility.Ability, sourceCard);
|
|
||||||
this.orig=orig;
|
|
||||||
setDescription(orig);
|
|
||||||
if(isBasic())//lowers memory usage drastically
|
|
||||||
{
|
{
|
||||||
Mana = "" + orig.charAt(9);
|
super(isTapAbility(orig) ? SpellAbility.Ability_Tap : SpellAbility.Ability, sourceCard);
|
||||||
setManaCost("0");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String[] parts = orig.split(":");
|
|
||||||
Mana=parts[1];
|
|
||||||
Mana = Mana.replaceAll(" add ", "");
|
|
||||||
setStackDescription("Add "+ Mana +" to your mana pool.");
|
|
||||||
Mana = Mana.replaceAll(" ", "");
|
|
||||||
|
|
||||||
String cost=parts[0];
|
/*
|
||||||
cost = cost.replaceAll("tap", "T");
|
if (orig.contains("$"))
|
||||||
//cost = cost.replaceAll("T, ", "");
|
{
|
||||||
setManaCost(cost.replaceAll("T", "").split(",")[0]);
|
String[] k = orig.split(":");
|
||||||
if (getManaCost().equals("")) setManaCost("0");
|
String mana = k[1];
|
||||||
//pain lands
|
int count = CardFactoryUtil.xCount(sourceCard, k[2]);
|
||||||
ArrayList<String> pain = new ArrayList<String>();
|
StringBuilder sb = new StringBuilder();
|
||||||
pain.add("Battlefield Forge");
|
sb.append("tap: add ");
|
||||||
pain.add("Caves of Koilos");
|
for (int i=0;i<count;i++)
|
||||||
pain.add("Llanowar Wastes");
|
sb.append(mana);
|
||||||
pain.add("Shivan Reef");
|
orig = sb.toString();
|
||||||
pain.add("Yavimaya Coast");
|
}
|
||||||
pain.add("Adarkar Wastes");
|
*/
|
||||||
pain.add("Brushland");
|
|
||||||
pain.add("Karplusan Forest");
|
|
||||||
pain.add("Underground River");
|
|
||||||
pain.add("Sulfurous Springs");
|
|
||||||
if(pain.contains(sourceCard.getName()) && !Mana.equals("1"))
|
|
||||||
runcommands.add(new Command()
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = -5904507275105961979L;
|
|
||||||
|
|
||||||
public void execute(){
|
this.orig=orig;
|
||||||
|
setDescription(orig);
|
||||||
|
if(isBasic())//lowers memory usage drastically
|
||||||
|
{
|
||||||
|
Mana = "" + orig.charAt(9);
|
||||||
|
setManaCost("0");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String[] parts = orig.split(":");
|
||||||
|
Mana=parts[1];
|
||||||
|
Mana = Mana.replaceAll(" add ", "");
|
||||||
|
setStackDescription("Add "+ Mana +" to your mana pool.");
|
||||||
|
Mana = Mana.replaceAll(" ", "");
|
||||||
|
|
||||||
AllZone.GameAction.getPlayerLife(getController()).subtractLife(1);
|
String cost=parts[0];
|
||||||
}});
|
cost = cost.replaceAll("tap", "T");
|
||||||
//parseCosts();
|
//cost = cost.replaceAll("T, ", "");
|
||||||
/*for(String subcost : cost.split(","))
|
setManaCost(cost.replaceAll("T", "").split(",")[0]);
|
||||||
{
|
if (getManaCost().equals("")) setManaCost("0");
|
||||||
subcost.trim();
|
//pain lands
|
||||||
if (subcost.equals("") || subcost.equals("T") ||
|
ArrayList<String> pain = new ArrayList<String>();
|
||||||
subcost.equals(getManaCost())) continue;
|
pain.add("Battlefield Forge");
|
||||||
if (subcost.startsWith("Sacrifice a")){
|
pain.add("Caves of Koilos");
|
||||||
String sactype= subcost.substring(12).trim();//will remove both "Sac a " and "Sac an" :P
|
pain.add("Llanowar Wastes");
|
||||||
Input bpM_old = getBeforePayMana();
|
pain.add("Shivan Reef");
|
||||||
}
|
pain.add("Yavimaya Coast");
|
||||||
}*/
|
pain.add("Adarkar Wastes");
|
||||||
|
pain.add("Brushland");
|
||||||
|
pain.add("Karplusan Forest");
|
||||||
|
pain.add("Underground River");
|
||||||
|
pain.add("Sulfurous Springs");
|
||||||
|
if(pain.contains(sourceCard.getName()) && !Mana.equals("1"))
|
||||||
|
runcommands.add(new Command()
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -5904507275105961979L;
|
||||||
|
|
||||||
|
public void execute(){
|
||||||
|
|
||||||
|
AllZone.GameAction.getPlayerLife(getController()).subtractLife(1);
|
||||||
|
}});
|
||||||
|
//parseCosts();
|
||||||
|
/*for(String subcost : cost.split(","))
|
||||||
|
{
|
||||||
|
subcost.trim();
|
||||||
|
if (subcost.equals("") || subcost.equals("T") ||
|
||||||
|
subcost.equals(getManaCost())) continue;
|
||||||
|
if (subcost.startsWith("Sacrifice a")){
|
||||||
|
String sactype= subcost.substring(12).trim();//will remove both "Sac a " and "Sac an" :P
|
||||||
|
Input bpM_old = getBeforePayMana();
|
||||||
|
}
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
public boolean equals(Object o)//Mana abilities with equal descriptions are considered equal, please take this into account
|
public boolean equals(Object o)//Mana abilities with equal descriptions are considered equal, please take this into account
|
||||||
{return (o instanceof Ability_Mana ? ((Ability_Mana)o).orig.equals(orig) : (o instanceof String ? o.toString().equals(orig) : false )) ;}
|
{return (o instanceof Ability_Mana ? ((Ability_Mana)o).orig.equals(orig) : (o instanceof String ? o.toString().equals(orig) : false )) ;}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class AllZone implements NewConstants {
|
|||||||
public static final MagicStack Stack = new MagicStack();
|
public static final MagicStack Stack = new MagicStack();
|
||||||
public static final InputControl InputControl = new InputControl();
|
public static final InputControl InputControl = new InputControl();
|
||||||
public static final GameAction GameAction = new GameAction();
|
public static final GameAction GameAction = new GameAction();
|
||||||
public static final StateBasedEffects StateBasedEffects = new StateBasedEffects();
|
public static final StaticEffects StateBasedEffects = new StaticEffects();
|
||||||
public static final GameInfo GameInfo = new GameInfo();
|
public static final GameInfo GameInfo = new GameInfo();
|
||||||
|
|
||||||
//initialized at Runtime since it has to be the last object constructed
|
//initialized at Runtime since it has to be the last object constructed
|
||||||
|
|||||||
@@ -2335,7 +2335,10 @@ public class CardFactory implements NewConstants {
|
|||||||
});
|
});
|
||||||
|
|
||||||
CardList choices = allCards.getValidCards(Tgts);
|
CardList choices = allCards.getValidCards(Tgts);
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spDstryTgt, choices, Selec, true));
|
boolean free = false;
|
||||||
|
if (this.isFree())
|
||||||
|
free = true;
|
||||||
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spDstryTgt, choices, Selec, true, free));
|
||||||
}
|
}
|
||||||
};//InGetTarget
|
};//InGetTarget
|
||||||
|
|
||||||
@@ -3474,91 +3477,6 @@ public class CardFactory implements NewConstants {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
//contributed code
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
if(cardName.equals("Dark Banishing"))
|
|
||||||
{
|
|
||||||
final SpellAbility spell = new Spell(card)
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = -5621665629586583879L;
|
|
||||||
|
|
||||||
Card check;
|
|
||||||
|
|
||||||
public boolean canPlayAI()
|
|
||||||
{
|
|
||||||
check = getNonBlackCreature();
|
|
||||||
return check != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void chooseTargetAI()
|
|
||||||
{
|
|
||||||
Card c = getNonBlackCreature();
|
|
||||||
if((c == null) || (! check.equals(c)))
|
|
||||||
throw new RuntimeException(card +" error in chooseTargetAI() - Card c is " +c +", Card check is " +check);
|
|
||||||
|
|
||||||
setTargetCard(c);
|
|
||||||
}//chooseTargetAI()
|
|
||||||
|
|
||||||
Card getNonBlackCreature()
|
|
||||||
{
|
|
||||||
int maxAttack = 0;
|
|
||||||
Card bestCard = null;
|
|
||||||
CardList nonBlackCards = CardFactoryUtil.AI_getHumanCreature(card, true);
|
|
||||||
|
|
||||||
for(int i = 0; i < nonBlackCards.size(); i++)
|
|
||||||
if(!CardUtil.getColors(nonBlackCards.get(i)).contains(Constant.Color.Black))
|
|
||||||
if(nonBlackCards.get (i).getNetAttack() > maxAttack)
|
|
||||||
{
|
|
||||||
maxAttack = nonBlackCards.get(i).getNetAttack();
|
|
||||||
bestCard = nonBlackCards.get(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
return bestCard;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard()) && CardFactoryUtil.canTarget(card,getTargetCard()))
|
|
||||||
{
|
|
||||||
AllZone.GameAction.destroyNoRegeneration(getTargetCard());
|
|
||||||
}
|
|
||||||
}//resolve()
|
|
||||||
};//SpellAbility
|
|
||||||
card.clearSpellAbility();
|
|
||||||
card.addSpellAbility(spell);
|
|
||||||
|
|
||||||
//target
|
|
||||||
Input target = new Input()
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = -3155643868640376193L;
|
|
||||||
|
|
||||||
public void showMessage()
|
|
||||||
{
|
|
||||||
AllZone.Display.showMessage("Select target non-black creature for " +spell.getSourceCard());
|
|
||||||
ButtonUtil.enableOnlyCancel();
|
|
||||||
}
|
|
||||||
public void selectButtonCancel() {stop();}
|
|
||||||
public void selectCard(Card c, PlayerZone zone)
|
|
||||||
{
|
|
||||||
if (!CardFactoryUtil.canTarget(card, c))
|
|
||||||
{
|
|
||||||
AllZone.Display.showMessage("Cannot target this card (Shroud? Protection?).");
|
|
||||||
}
|
|
||||||
else if((!CardUtil.getColors(c).contains(Constant.Color.Black))
|
|
||||||
&& c.isCreature()
|
|
||||||
&& zone.is(Constant.Zone.Play))
|
|
||||||
{
|
|
||||||
spell.setTargetCard(c);
|
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};//SpellAbility - target
|
|
||||||
|
|
||||||
spell.setBeforePayMana(target);
|
|
||||||
}//*************** END ************ END **************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Pyrohemia"))
|
else if(cardName.equals("Pyrohemia"))
|
||||||
@@ -4281,162 +4199,6 @@ public class CardFactory implements NewConstants {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
else if(cardName.equals("Terminate"))
|
|
||||||
{
|
|
||||||
final SpellAbility spell = new Spell(card)
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 3334967250557638367L;
|
|
||||||
|
|
||||||
public boolean canPlayAI()
|
|
||||||
{
|
|
||||||
return (getCreature().size() != 0) && (AllZone.Phase.getTurn() > 4);
|
|
||||||
}
|
|
||||||
public void chooseTargetAI()
|
|
||||||
{
|
|
||||||
Card best = CardFactoryUtil.AI_getBestCreature(getCreature());
|
|
||||||
setTargetCard(best);
|
|
||||||
|
|
||||||
CardList human = CardFactoryUtil.AI_getHumanCreature(AllZone.Computer_Life.getLife() - 1, card, true);
|
|
||||||
CardListUtil.sortAttack(human);
|
|
||||||
|
|
||||||
if(0 < human.size())
|
|
||||||
setTargetCard(human.get(0));
|
|
||||||
|
|
||||||
}
|
|
||||||
CardList getCreature()
|
|
||||||
{
|
|
||||||
return CardFactoryUtil.AI_getHumanCreature(card, true);
|
|
||||||
}//getCreature()
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
if (AllZone.GameAction.isCardInPlay(getTargetCard()) && CardFactoryUtil.canTarget(card, getTargetCard()))
|
|
||||||
AllZone.GameAction.destroyNoRegeneration(getTargetCard());
|
|
||||||
}//resolve()
|
|
||||||
};
|
|
||||||
|
|
||||||
card.clearSpellAbility();
|
|
||||||
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
|
|
||||||
card.addSpellAbility(spell);
|
|
||||||
}//*************** END ************ END **************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
else if(cardName.equals("Kinsbaile Borderguard"))
|
|
||||||
{
|
|
||||||
final SpellAbility ability = new Ability(card, "0")
|
|
||||||
{
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
card.addCounter(Counters.P1P1, countKithkin());
|
|
||||||
//System.out.println("all counters: " +card.sumAllCounters());
|
|
||||||
}//resolve()
|
|
||||||
|
|
||||||
public int countKithkin()
|
|
||||||
{
|
|
||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
|
||||||
CardList kithkin = new CardList(play.getCards());
|
|
||||||
kithkin = kithkin.filter(new CardListFilter()
|
|
||||||
{
|
|
||||||
|
|
||||||
public boolean addCard(Card c)
|
|
||||||
{
|
|
||||||
return (c.getType().contains("Kithkin") || c.getKeyword().contains("Changeling"))&& !c.equals(card);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
return kithkin.size();
|
|
||||||
|
|
||||||
}
|
|
||||||
@SuppressWarnings("unused") // makeToken
|
|
||||||
public void makeToken()
|
|
||||||
{
|
|
||||||
Card c = new Card();
|
|
||||||
|
|
||||||
c.setOwner(card.getController());
|
|
||||||
c.setController(card.getController());
|
|
||||||
|
|
||||||
c.setName("Kithkin Soldier");
|
|
||||||
c.setImageName("W 1 1 Kithkin Soldier");
|
|
||||||
c.setManaCost("W");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Kithkin");
|
|
||||||
c.addType("Soldier");
|
|
||||||
|
|
||||||
c.setBaseAttack(1);
|
|
||||||
c.setBaseDefense(1);
|
|
||||||
|
|
||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
|
||||||
play.add(c);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Command intoPlay = new Command()
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = -7067218066522935060L;
|
|
||||||
|
|
||||||
public void execute()
|
|
||||||
{
|
|
||||||
ability.setStackDescription("Kinsbaile Borderguard comes into play with a +1/+1 counter on it for each other Kithkin you control.");
|
|
||||||
AllZone.Stack.add(ability);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
final SpellAbility ability2 = new Ability(card, "0")
|
|
||||||
{
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
for (int i=0;i<card.sumAllCounters();i++)
|
|
||||||
{
|
|
||||||
makeToken();
|
|
||||||
}
|
|
||||||
}//resolve()
|
|
||||||
|
|
||||||
public void makeToken()
|
|
||||||
{
|
|
||||||
Card c = new Card();
|
|
||||||
|
|
||||||
c.setOwner(card.getController());
|
|
||||||
c.setController(card.getController());
|
|
||||||
|
|
||||||
c.setName("Kithkin Soldier");
|
|
||||||
c.setImageName("W 1 1 Kithkin Soldier");
|
|
||||||
c.setManaCost("W");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Kithkin");
|
|
||||||
c.addType("Soldier");
|
|
||||||
|
|
||||||
c.setBaseAttack(1);
|
|
||||||
c.setBaseDefense(1);
|
|
||||||
|
|
||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
|
||||||
play.add(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
Command destroy = new Command()
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 304026662487997331L;
|
|
||||||
|
|
||||||
public void execute()
|
|
||||||
{
|
|
||||||
ability2.setStackDescription("When Kinsbaile Borderguard is put into a graveyard from play, put a 1/1 white Kithkin Soldier creature token into play for each counter on it.");
|
|
||||||
AllZone.Stack.add(ability2);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
card.addComesIntoPlayCommand(intoPlay);
|
|
||||||
card.addDestroyCommand(destroy);
|
|
||||||
|
|
||||||
}//*************** END ************ END **************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Oblivion Ring"))
|
else if(cardName.equals("Oblivion Ring"))
|
||||||
@@ -4484,7 +4246,7 @@ public class CardFactory implements NewConstants {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getPerm.execute();
|
CardList choice = (CardList)getPerm.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target permanent to remove from the game", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target permanent to remove from the game", true, false));
|
||||||
ButtonUtil.disableAll();//to disable the Cancel button
|
ButtonUtil.disableAll();//to disable the Cancel button
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -4817,70 +4579,6 @@ public class CardFactory implements NewConstants {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
else if(cardName.equals("Angelic Blessing"))
|
|
||||||
{
|
|
||||||
SpellAbility spell = new Spell(card)
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 6906094867912276636L;
|
|
||||||
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
final Command eot = new Command()
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 4672991308703961180L;
|
|
||||||
|
|
||||||
public void execute()
|
|
||||||
{
|
|
||||||
Card c = getTargetCard();
|
|
||||||
if(AllZone.GameAction.isCardInPlay(c) )
|
|
||||||
{
|
|
||||||
c.addTempAttackBoost(-3);
|
|
||||||
c.addTempDefenseBoost(-3);
|
|
||||||
c.removeExtrinsicKeyword("Flying");
|
|
||||||
}
|
|
||||||
}//execute()
|
|
||||||
};//Command
|
|
||||||
|
|
||||||
Card c = getTargetCard();
|
|
||||||
if(AllZone.GameAction.isCardInPlay(c) && CardFactoryUtil.canTarget(card, c) )
|
|
||||||
{
|
|
||||||
c.addTempAttackBoost(3);
|
|
||||||
c.addTempDefenseBoost(3);
|
|
||||||
c.addExtrinsicKeyword("Flying");
|
|
||||||
|
|
||||||
AllZone.EndOfTurn.addUntil(eot);
|
|
||||||
}
|
|
||||||
}//resolve()
|
|
||||||
public boolean canPlayAI()
|
|
||||||
{
|
|
||||||
Combat combat = ComputerUtil.getAttackers();
|
|
||||||
return (0 != combat.getAttackers().length);
|
|
||||||
}
|
|
||||||
public void chooseTargetAI()
|
|
||||||
{
|
|
||||||
Combat combat = ComputerUtil.getAttackers();
|
|
||||||
Card[] attacker = combat.getAttackers();
|
|
||||||
if(attacker.length != 0)
|
|
||||||
setTargetCard(attacker[0]);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
|
||||||
list = list.getType("Creature");
|
|
||||||
Card best = CardFactoryUtil.AI_getBestCreature(list);
|
|
||||||
setTargetCard(best);
|
|
||||||
}
|
|
||||||
}//chooseTargetAI()
|
|
||||||
};//SpellAbility
|
|
||||||
card.clearSpellAbility();
|
|
||||||
card.addSpellAbility(spell);
|
|
||||||
|
|
||||||
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
|
|
||||||
}//*************** END ************ END **************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if (cardName.equals("Molten Rain"))
|
else if (cardName.equals("Molten Rain"))
|
||||||
{
|
{
|
||||||
@@ -5054,8 +4752,16 @@ public class CardFactory implements NewConstants {
|
|||||||
index[0]++;
|
index[0]++;
|
||||||
showMessage();
|
showMessage();
|
||||||
|
|
||||||
if(index[0] == target.length)
|
if(index[0] == target.length) {
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
if(this.isFree())
|
||||||
|
{
|
||||||
|
this.setFree(false);
|
||||||
|
AllZone.Stack.add(spell);
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopSetNext(new Input_PayManaCost(spell));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}//selectCard()
|
}//selectCard()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -5154,8 +4860,16 @@ public class CardFactory implements NewConstants {
|
|||||||
index[0]++;
|
index[0]++;
|
||||||
showMessage();
|
showMessage();
|
||||||
|
|
||||||
if(index[0] == target.length)
|
if(index[0] == target.length) {
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
if(this.isFree())
|
||||||
|
{
|
||||||
|
this.setFree(false);
|
||||||
|
AllZone.Stack.add(spell);
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopSetNext(new Input_PayManaCost(spell));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}//selectCard()
|
}//selectCard()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -5238,8 +4952,16 @@ public class CardFactory implements NewConstants {
|
|||||||
index[0]++;
|
index[0]++;
|
||||||
showMessage();
|
showMessage();
|
||||||
|
|
||||||
if(index[0] == target.length)
|
if(index[0] == target.length) {
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
if(this.isFree())
|
||||||
|
{
|
||||||
|
this.setFree(false);
|
||||||
|
AllZone.Stack.add(spell);
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopSetNext(new Input_PayManaCost(spell));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}//selectCard()
|
}//selectCard()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -5338,8 +5060,16 @@ public class CardFactory implements NewConstants {
|
|||||||
index[0]++;
|
index[0]++;
|
||||||
showMessage();
|
showMessage();
|
||||||
|
|
||||||
if(index[0] == target.length)
|
if(index[0] == target.length) {
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
if(this.isFree())
|
||||||
|
{
|
||||||
|
this.setFree(false);
|
||||||
|
AllZone.Stack.add(spell);
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopSetNext(new Input_PayManaCost(spell));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}//selectCard()
|
}//selectCard()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -5361,71 +5091,6 @@ public class CardFactory implements NewConstants {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
// *************** START *********** START **************************
|
|
||||||
if (cardName.equals("Lay Waste") || cardName.equals("Stone Rain")
|
|
||||||
|| cardName.equals("Ice Storm") || cardName.equals("Sinkhole"))
|
|
||||||
{
|
|
||||||
final SpellAbility spell = new Spell(card)
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = -4973311759179228894L;
|
|
||||||
public boolean canPlayAI()
|
|
||||||
{
|
|
||||||
CardList land = new CardList(AllZone.Human_Play.getCards());
|
|
||||||
land = land.getType("Basic");
|
|
||||||
return land.size() != 0;
|
|
||||||
}
|
|
||||||
public void chooseTargetAI()
|
|
||||||
{
|
|
||||||
// target basic land that Human only has 1 or 2 in play
|
|
||||||
CardList land = new CardList(AllZone.Human_Play.getCards());
|
|
||||||
land = land.getType("Basic");
|
|
||||||
Card target = null;
|
|
||||||
String[] name =
|
|
||||||
{ "Forest", "Swamp", "Plains", "Mountain", "Island" };
|
|
||||||
for (int i = 0; i < name.length; i++)
|
|
||||||
if (land.getName(name[i]).size() == 1)
|
|
||||||
{
|
|
||||||
target = land.getName(name[i]).get(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// see if there are only 2 lands of the same type
|
|
||||||
if (target == null)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < name.length; i++)
|
|
||||||
if (land.getName(name[i]).size() == 2)
|
|
||||||
{
|
|
||||||
target = land.getName(name[i]).get(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}// if
|
|
||||||
if (target == null)
|
|
||||||
{
|
|
||||||
land.shuffle();
|
|
||||||
target = land.get(0);
|
|
||||||
}
|
|
||||||
setTargetCard(target);
|
|
||||||
}// chooseTargetAI()
|
|
||||||
public void resolve()
|
|
||||||
{
|
|
||||||
if (AllZone.GameAction.isCardInPlay(getTargetCard()) && CardFactoryUtil.canTarget(card, getTargetCard()) )
|
|
||||||
AllZone.GameAction.destroy(getTargetCard());
|
|
||||||
}// resolve()
|
|
||||||
};// SpellAbility
|
|
||||||
card.clearSpellAbility();
|
|
||||||
spell.setBeforePayMana(CardFactoryUtil.input_targetType(spell,
|
|
||||||
"Land"));
|
|
||||||
card.addSpellAbility(spell);
|
|
||||||
if (cardName.equals("Lay Waste"))
|
|
||||||
{
|
|
||||||
card.addSpellAbility(CardFactoryUtil.ability_cycle(card, "2"));
|
|
||||||
spell.setDescription("Destroy target land");
|
|
||||||
}
|
|
||||||
return card;
|
|
||||||
}// *************** END ************ END **************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Wings of Velis Vel"))
|
else if(cardName.equals("Wings of Velis Vel"))
|
||||||
{
|
{
|
||||||
@@ -6235,7 +5900,10 @@ public class CardFactory implements NewConstants {
|
|||||||
perms.addAll(human.getCards());
|
perms.addAll(human.getCards());
|
||||||
perms.addAll(comp.getCards());
|
perms.addAll(comp.getCards());
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell_one, perms, "Select target permanent.", true));
|
boolean free = false;
|
||||||
|
if (this.isFree())
|
||||||
|
free = true;
|
||||||
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell_one, perms, "Select target permanent.", true, free));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -6251,8 +5919,11 @@ public class CardFactory implements NewConstants {
|
|||||||
perms.addAll(human.getCards());
|
perms.addAll(human.getCards());
|
||||||
perms.addAll(comp.getCards());
|
perms.addAll(comp.getCards());
|
||||||
|
|
||||||
|
boolean free = false;
|
||||||
|
if (this.isFree())
|
||||||
|
free = true;
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell_two, perms, "Select target permanent.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell_two, perms, "Select target permanent.", true, free));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -8034,7 +7705,7 @@ public class CardFactory implements NewConstants {
|
|||||||
|
|
||||||
AllZone.GameAction.destroy(getTargetCard());
|
AllZone.GameAction.destroy(getTargetCard());
|
||||||
|
|
||||||
if(! getTargetCard().isToken() && !getTargetCard().isFaceDown())
|
if(!getTargetCard().isFaceDown())
|
||||||
{
|
{
|
||||||
//get all creatures
|
//get all creatures
|
||||||
CardList list = new CardList();
|
CardList list = new CardList();
|
||||||
@@ -8069,7 +7740,14 @@ public class CardFactory implements NewConstants {
|
|||||||
if(zone.is(Constant.Zone.Play) && !card.isLand())
|
if(zone.is(Constant.Zone.Play) && !card.isLand())
|
||||||
{
|
{
|
||||||
spell.setTargetCard(card);
|
spell.setTargetCard(card);
|
||||||
stopSetNext(new Input_PayManaCost(spell));
|
if(this.isFree())
|
||||||
|
{
|
||||||
|
this.setFree(false);
|
||||||
|
AllZone.Stack.add(spell);
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopSetNext(new Input_PayManaCost(spell));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
@@ -13124,7 +12802,7 @@ public class CardFactory implements NewConstants {
|
|||||||
lands.addAll(play.getCards());
|
lands.addAll(play.getCards());
|
||||||
lands = lands.getType("Land");
|
lands = lands.getType("Land");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, lands, "Select a land to sacrifice", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, lands, "Select a land to sacrifice", false, false));
|
||||||
|
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -13278,7 +12956,8 @@ public class CardFactory implements NewConstants {
|
|||||||
return (!c.isLand() && CardFactoryUtil.canTarget(creature, c));
|
return (!c.isLand() && CardFactoryUtil.canTarget(creature, c));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
tBanish.setBeforePayMana(CardFactoryUtil.input_targetSpecific(tBanish, all, "Return target nonland permanent to its owner's hand.", true));
|
|
||||||
|
tBanish.setBeforePayMana(CardFactoryUtil.input_targetSpecific(tBanish, all, "Return target nonland permanent to its owner's hand.", true, false));
|
||||||
AllZone.EndOfTurn.addUntil(new Command(){
|
AllZone.EndOfTurn.addUntil(new Command(){
|
||||||
private static final long serialVersionUID = -7819140065166374666L;
|
private static final long serialVersionUID = -7819140065166374666L;
|
||||||
|
|
||||||
@@ -15304,7 +14983,7 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Select target basic land", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Select target basic land", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
a1.setBeforePayMana(runtime);
|
a1.setBeforePayMana(runtime);
|
||||||
@@ -16242,7 +15921,7 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
|
|||||||
{
|
{
|
||||||
AllZone.GameAction.sacrifice(card);
|
AllZone.GameAction.sacrifice(card);
|
||||||
}
|
}
|
||||||
}, true));
|
}, true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -16802,7 +16481,11 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
|
|||||||
choice.addAll(AllZone.Human_Play.getCards());
|
choice.addAll(AllZone.Human_Play.getCards());
|
||||||
choice = choice.getType("Artifact");
|
choice = choice.getType("Artifact");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, choice, "Select artifact to sacrifice.", false));
|
boolean free = false;
|
||||||
|
if (this.isFree())
|
||||||
|
free = true;
|
||||||
|
|
||||||
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, choice, "Select artifact to sacrifice.", false, free));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
spell.setBeforePayMana(runtime);
|
spell.setBeforePayMana(runtime);
|
||||||
@@ -16924,7 +16607,7 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, arts, "Select a non-token Artifact to sacrifice", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, arts, "Select a non-token Artifact to sacrifice", false, false));
|
||||||
|
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
@@ -17801,7 +17484,11 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, perms, "Select a permanent you control", true));
|
boolean free = false;
|
||||||
|
if (this.isFree())
|
||||||
|
free = true;
|
||||||
|
|
||||||
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, perms, "Select a permanent you control", true, free));
|
||||||
|
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
|
|||||||
@@ -1388,7 +1388,7 @@ public class CardFactoryUtil
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1567,13 +1567,13 @@ public class CardFactoryUtil
|
|||||||
}//soul_desc()
|
}//soul_desc()
|
||||||
|
|
||||||
//CardList choices are the only cards the user can successful select
|
//CardList choices are the only cards the user can successful select
|
||||||
public static Input input_targetSpecific(final SpellAbility spell, final CardList choices, final String message, final boolean targeted)
|
public static Input input_targetSpecific(final SpellAbility spell, final CardList choices, final String message, final boolean targeted, final boolean free)
|
||||||
{
|
{
|
||||||
return input_targetSpecific(spell, choices, message, Command.Blank, targeted);
|
return input_targetSpecific(spell, choices, message, Command.Blank, targeted, free);
|
||||||
}
|
}
|
||||||
|
|
||||||
//CardList choices are the only cards the user can successful select
|
//CardList choices are the only cards the user can successful select
|
||||||
public static Input input_targetSpecific(final SpellAbility spell, final CardList choices, final String message, final Command paid, final boolean targeted)
|
public static Input input_targetSpecific(final SpellAbility spell, final CardList choices, final String message, final Command paid, final boolean targeted, final boolean free)
|
||||||
{
|
{
|
||||||
Input target = new Input()
|
Input target = new Input()
|
||||||
{
|
{
|
||||||
@@ -1596,7 +1596,7 @@ public class CardFactoryUtil
|
|||||||
spell.setTargetCard(card);
|
spell.setTargetCard(card);
|
||||||
if(spell instanceof Ability_Tap && spell.getManaCost().equals("0"))
|
if(spell instanceof Ability_Tap && spell.getManaCost().equals("0"))
|
||||||
stopSetNext(new Input_NoCost_TapAbility((Ability_Tap)spell));
|
stopSetNext(new Input_NoCost_TapAbility((Ability_Tap)spell));
|
||||||
else if(spell.getManaCost().equals("0") || this.isFree())
|
else if(spell.getManaCost().equals("0") || free)
|
||||||
{
|
{
|
||||||
this.setFree(false);
|
this.setFree(false);
|
||||||
AllZone.Stack.add(spell);
|
AllZone.Stack.add(spell);
|
||||||
@@ -2445,7 +2445,7 @@ public class CardFactoryUtil
|
|||||||
//parser for non-mana X variables
|
//parser for non-mana X variables
|
||||||
public static int xCount(Card c, String s)
|
public static int xCount(Card c, String s)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
|
||||||
String cardController = c.getController();
|
String cardController = c.getController();
|
||||||
String oppController = AllZone.GameAction.getOpponent(cardController);
|
String oppController = AllZone.GameAction.getOpponent(cardController);
|
||||||
|
|||||||
@@ -3483,7 +3483,7 @@ class CardFactory_Auras {
|
|||||||
CardList cars = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList cars = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
cars = cars.getType("Caribou");
|
cars = cars.getType("Caribou");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, cars, "Select a Caribou to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, cars, "Select a Caribou to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -3515,7 +3515,7 @@ class CardFactory_Auras {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land you control", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land you control", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
spell.setBeforePayMana(runtime2);
|
spell.setBeforePayMana(runtime2);
|
||||||
@@ -3669,7 +3669,7 @@ class CardFactory_Auras {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
spell.setBeforePayMana(runtime);
|
spell.setBeforePayMana(runtime);
|
||||||
@@ -3821,7 +3821,7 @@ class CardFactory_Auras {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
spell.setBeforePayMana(runtime);
|
spell.setBeforePayMana(runtime);
|
||||||
@@ -3897,7 +3897,7 @@ class CardFactory_Auras {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, land, "Select target land", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
spell.setBeforePayMana(runtime);
|
spell.setBeforePayMana(runtime);
|
||||||
|
|||||||
@@ -834,7 +834,7 @@ public class CardFactory_Creatures {
|
|||||||
(!c.getType().contains("Legendary"));
|
(!c.getType().contains("Legendary"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target creature to copy that is not legendary.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target creature to copy that is not legendary.", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
ability.setStackDescription("Kiki-Jiki - copy card.");
|
ability.setStackDescription("Kiki-Jiki - copy card.");
|
||||||
@@ -1099,7 +1099,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList slivers = new CardList(AllZone.getZone(Constant.Zone.Play, opponent).getCards());
|
CardList slivers = new CardList(AllZone.getZone(Constant.Zone.Play, opponent).getCards());
|
||||||
slivers = slivers.getType("Sliver");
|
slivers = slivers.getType("Sliver");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability2, slivers, "Select a Sliver", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability2, slivers, "Select a Sliver", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1954,7 +1954,7 @@ public class CardFactory_Creatures {
|
|||||||
perms.addAll(human.getCards());
|
perms.addAll(human.getCards());
|
||||||
perms.addAll(comp.getCards());
|
perms.addAll(comp.getCards());
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, perms, "Select target permanent.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, perms, "Select target permanent.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2199,7 +2199,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList kith = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList kith = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
kith = kith.getType("Kithkin");
|
kith = kith.getType("Kithkin");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, kith, "Select a Kithkin to sacrifice.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, kith, "Select a Kithkin to sacrifice.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5081,7 +5081,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getCreature.execute();
|
CardList choice = (CardList)getCreature.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select Elemental to remove from the game", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select Elemental to remove from the game", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5223,7 +5223,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getCreature.execute();
|
CardList choice = (CardList)getCreature.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select Elf to remove from the game", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select Elf to remove from the game", false, false));
|
||||||
ButtonUtil.disableAll(); //target this card means: sacrifice this card
|
ButtonUtil.disableAll(); //target this card means: sacrifice this card
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -5425,7 +5425,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getCreature.execute();
|
CardList choice = (CardList)getCreature.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select creature to remove from the game", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select creature to remove from the game", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -5561,7 +5561,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getBlackPerm.execute();
|
CardList choice = (CardList)getBlackPerm.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target black permanent to remove from the game", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target black permanent to remove from the game", true, false));
|
||||||
ButtonUtil.disableAll();//to disable the Cancel button
|
ButtonUtil.disableAll();//to disable the Cancel button
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -5690,7 +5690,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
CardList choice = (CardList)getCreature.execute();
|
CardList choice = (CardList)getCreature.execute();
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target creature to remove from the game", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(abilityComes, choice, "Select target creature to remove from the game", true, false));
|
||||||
ButtonUtil.disableAll();//to disable the Cancel button
|
ButtonUtil.disableAll();//to disable the Cancel button
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -6261,7 +6261,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, creats, "Select a creature", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, creats, "Select a creature", false, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -6908,7 +6908,7 @@ public class CardFactory_Creatures {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, slivers, "Select a tapped non-black creature", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, slivers, "Select a tapped non-black creature", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -7208,7 +7208,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, all, "Destroy target enchanted creature.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, all, "Destroy target enchanted creature.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ability.setBeforePayMana(runtime);
|
ability.setBeforePayMana(runtime);
|
||||||
@@ -7329,7 +7329,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, all, "Choose target creature or enchantment.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, all, "Choose target creature or enchantment.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ability.setBeforePayMana(runtime);
|
ability.setBeforePayMana(runtime);
|
||||||
@@ -8031,7 +8031,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
||||||
CardList choice = new CardList(play.getCards());
|
CardList choice = new CardList(play.getCards());
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select a permanent you control.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select a permanent you control.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -9348,7 +9348,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
AllZone.GameAction.sacrifice(card);
|
AllZone.GameAction.sacrifice(card);
|
||||||
}
|
}
|
||||||
}, true));
|
}, true, false));
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -10724,7 +10724,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList rats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList rats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
rats = rats.getType("Rat");
|
rats = rats.getType("Rat");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, rats, "Select a Rat to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, rats, "Select a Rat to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -11214,7 +11214,7 @@ public class CardFactory_Creatures {
|
|||||||
if (all.size() != 0) {
|
if (all.size() != 0) {
|
||||||
|
|
||||||
if(card.getController().equals(Constant.Player.Human)) {
|
if(card.getController().equals(Constant.Player.Human)) {
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target permanent to tap/untap.", true));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target permanent to tap/untap.", true, false));
|
||||||
ButtonUtil.enableAll();
|
ButtonUtil.enableAll();
|
||||||
}
|
}
|
||||||
else if (card.getController().equals(Constant.Player.Computer)) {
|
else if (card.getController().equals(Constant.Player.Computer)) {
|
||||||
@@ -11282,7 +11282,7 @@ public class CardFactory_Creatures {
|
|||||||
if (all.size() != 0) {
|
if (all.size() != 0) {
|
||||||
|
|
||||||
if(card.getController().equals(Constant.Player.Human)) {
|
if(card.getController().equals(Constant.Player.Human)) {
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target permanent to destroy.", true));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target permanent to destroy.", true, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
else if (card.getController().equals(Constant.Player.Computer)) {
|
else if (card.getController().equals(Constant.Player.Computer)) {
|
||||||
@@ -12081,7 +12081,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, land, "Select a Plains or Forest to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, land, "Select a Plains or Forest to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ability.setBeforePayMana(runtime);
|
ability.setBeforePayMana(runtime);
|
||||||
@@ -12277,7 +12277,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
saps = saps.getType("Saproling");
|
saps = saps.getType("Saproling");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -12382,7 +12382,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
saps = saps.getType("Saproling");
|
saps = saps.getType("Saproling");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -12442,7 +12442,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
saps = saps.getType("Saproling");
|
saps = saps.getType("Saproling");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -12488,7 +12488,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList walls = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList walls = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
walls = walls.getType("Wall");
|
walls = walls.getType("Wall");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, walls, "Select a Wall to sacrifice.", false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, walls, "Select a Wall to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -13218,7 +13218,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, targets, "Select target blocking or blocked by Cromat.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, targets, "Select target blocking or blocked by Cromat.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
card.addSpellAbility(a2);
|
card.addSpellAbility(a2);
|
||||||
@@ -13426,7 +13426,7 @@ public class CardFactory_Creatures {
|
|||||||
{
|
{
|
||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
||||||
CardList choice = new CardList(play.getCards());
|
CardList choice = new CardList(play.getCards());
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, choice, "Select a permanent you control.", false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, choice, "Select a permanent you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13497,7 +13497,7 @@ public class CardFactory_Creatures {
|
|||||||
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
||||||
|
|
||||||
|
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, redGreen, "Select a red or green creature you control.", false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, redGreen, "Select a red or green creature you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13567,7 +13567,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, whiteBlue, "Select a white or blue creature you control.", false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, whiteBlue, "Select a white or blue creature you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13640,7 +13640,7 @@ public class CardFactory_Creatures {
|
|||||||
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
||||||
|
|
||||||
|
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, greenWhite, "Select a green or white creature you control.",false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, greenWhite, "Select a green or white creature you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13719,7 +13719,7 @@ public class CardFactory_Creatures {
|
|||||||
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
||||||
|
|
||||||
|
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, creatures, "Select a creature you control.", false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, creatures, "Select a creature you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13811,7 +13811,7 @@ public class CardFactory_Creatures {
|
|||||||
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
//Object o = AllZone.Display.getChoiceOptional("Select a creature card to bounce", blackBlue.toArray());
|
||||||
|
|
||||||
|
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, blackBlue, "Select blue or black creature you control.", false));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, blackBlue, "Select blue or black creature you control.", false, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
@@ -13956,7 +13956,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList saps = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
saps = saps.getType("Saproling");
|
saps = saps.getType("Saproling");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.",false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, saps, "Select a Saproling to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
a1.setDescription("2G: Put a 1/1 green Saproling creature token into play.");
|
a1.setDescription("2G: Put a 1/1 green Saproling creature token into play.");
|
||||||
@@ -14034,7 +14034,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
creats = creats.getType("Creature");
|
creats = creats.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.",false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -14109,7 +14109,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
creats = creats.getType("Creature");
|
creats = creats.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.",false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.",false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -14169,7 +14169,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
creats = creats.getType("Creature");
|
creats = creats.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.",false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -14225,7 +14225,7 @@ public class CardFactory_Creatures {
|
|||||||
if (all.size() != 0) {
|
if (all.size() != 0) {
|
||||||
|
|
||||||
if(card.getController().equals(Constant.Player.Human)) {
|
if(card.getController().equals(Constant.Player.Human)) {
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target artifact.", true));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target artifact.", true, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
else if (card.getController().equals(Constant.Player.Computer)) {
|
else if (card.getController().equals(Constant.Player.Computer)) {
|
||||||
@@ -14303,7 +14303,7 @@ public class CardFactory_Creatures {
|
|||||||
if (all.size() != 0) {
|
if (all.size() != 0) {
|
||||||
|
|
||||||
if(card.getController().equals(Constant.Player.Human)) {
|
if(card.getController().equals(Constant.Player.Human)) {
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target artifact.", true));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target artifact.", true, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
else if (card.getController().equals(Constant.Player.Computer)) {
|
else if (card.getController().equals(Constant.Player.Computer)) {
|
||||||
@@ -14378,7 +14378,7 @@ public class CardFactory_Creatures {
|
|||||||
if (all.size() != 0) {
|
if (all.size() != 0) {
|
||||||
|
|
||||||
if(card.getController().equals(Constant.Player.Human)) {
|
if(card.getController().equals(Constant.Player.Human)) {
|
||||||
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target enchantment.", true));
|
AllZone.InputControl.setInput(CardFactoryUtil.input_targetSpecific(ability, all, "Select target enchantment.", true, false));
|
||||||
ButtonUtil.disableAll();
|
ButtonUtil.disableAll();
|
||||||
}
|
}
|
||||||
else if (card.getController().equals(Constant.Player.Computer)) {
|
else if (card.getController().equals(Constant.Player.Computer)) {
|
||||||
@@ -15224,7 +15224,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Return target permanent", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Return target permanent", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
a1.setBeforePayMana(runtime);
|
a1.setBeforePayMana(runtime);
|
||||||
@@ -15442,7 +15442,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Destroy target artifact or enchantment.", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a1, all, "Destroy target artifact or enchantment.", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
a1.setBeforePayMana(runtime);
|
a1.setBeforePayMana(runtime);
|
||||||
@@ -15994,9 +15994,7 @@ public class CardFactory_Creatures {
|
|||||||
private static final long serialVersionUID = -9155272432379335551L;
|
private static final long serialVersionUID = -9155272432379335551L;
|
||||||
public void resolve()
|
public void resolve()
|
||||||
{
|
{
|
||||||
/*CardList list = new CardList(AllZone.getZone(Constant.Zone.Play, Constant.Player.Human).getCards());
|
Card mp = AllZone.ManaPool;
|
||||||
list = list.getName("Mana Pool");*/
|
|
||||||
Card mp = AllZone.ManaPool;//list.getCard(0);
|
|
||||||
|
|
||||||
PlayerZone hum = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
PlayerZone hum = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
@@ -16033,6 +16031,28 @@ public class CardFactory_Creatures {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
if (cardName.equals("Priest of Titania"))
|
||||||
|
{
|
||||||
|
|
||||||
|
String countString = "Count$TypeOnBattlefield.Elf";
|
||||||
|
|
||||||
|
SpellAbility ability = new Ability_Mana(card, "tap: add G:"+countString)
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = -5461196759660196802L;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ability.setDescription("tap: add G to your mana pool for each Elf in play.");
|
||||||
|
ability.setStackDescription(cardName + " adds G to your mana pool for each Elf in play.");
|
||||||
|
//card.clearSpellAbility();
|
||||||
|
card.addSpellAbility(ability);
|
||||||
|
|
||||||
|
return card;
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
*/
|
||||||
//*************** START ************ START **************************
|
//*************** START ************ START **************************
|
||||||
if (cardName.equals("Rats of Rath"))
|
if (cardName.equals("Rats of Rath"))
|
||||||
{
|
{
|
||||||
@@ -16049,7 +16069,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList choices = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList choices = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
choices.filter(new CardListFilter(){public boolean addCard(Card c){
|
choices.filter(new CardListFilter(){public boolean addCard(Card c){
|
||||||
return c.isArtifact() || c.isCreature() || c.isLand();}});
|
return c.isArtifact() || c.isCreature() || c.isLand();}});
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choices, "Select an artifact, creature, or land you control", true));}
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choices, "Select an artifact, creature, or land you control", true, false));}
|
||||||
});
|
});
|
||||||
ability.setDescription("B: Destroy target artifact, creature, or land you control.");
|
ability.setDescription("B: Destroy target artifact, creature, or land you control.");
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -16678,7 +16698,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
creats = creats.getType("Creature");
|
creats = creats.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.",false));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(a2, creats, "Select a creature to sacrifice.", false, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -16899,7 +16919,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Merfolk creature", Command.Blank,true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Merfolk creature", Command.Blank, true, false));
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -16990,7 +17010,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Dwarf creature", Command.Blank,true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Dwarf creature", Command.Blank, true, false));
|
||||||
}//showMessage()
|
}//showMessage()
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -17652,7 +17672,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -17730,7 +17750,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -17808,7 +17828,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Enchantment", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select target Enchantment", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -17889,7 +17909,7 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
@@ -18301,7 +18321,7 @@ public class CardFactory_Creatures {
|
|||||||
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
CardList creats = new CardList(AllZone.getZone(Constant.Zone.Play, card.getController()).getCards());
|
||||||
creats = creats.getType("Merfolk");
|
creats = creats.getType("Merfolk");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, creats, "Select a target Merfolk",true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, creats, "Select a target Merfolk",true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ability.setDescription("1 W: Target Merfolk you control gains protection from the color of your choice until end of turn.");
|
ability.setDescription("1 W: Target Merfolk you control gains protection from the color of your choice until end of turn.");
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -359,7 +359,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -474,7 +474,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -703,7 +703,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -818,7 +818,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -937,7 +937,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1056,7 +1056,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1176,7 +1176,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1294,7 +1294,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1504,7 +1504,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1623,7 +1623,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1705,7 +1705,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
@@ -1999,7 +1999,7 @@ class CardFactory_Equipment {
|
|||||||
list.addAll(AllZone.Human_Play.getCards());
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
list = list.getType("Creature");
|
list = list.getType("Creature");
|
||||||
|
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(equip, list, "Select target creature to equip", true, false));
|
||||||
}
|
}
|
||||||
};//Input
|
};//Input
|
||||||
|
|
||||||
|
|||||||
@@ -1121,7 +1121,7 @@ class CardFactory_Lands {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//System.out.println("size of choice: " + choice.size());
|
//System.out.println("size of choice: " + choice.size());
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target Legendary creature:", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target Legendary creature:", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1223,7 +1223,7 @@ class CardFactory_Lands {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//System.out.println("size of choice: " + choice.size());
|
//System.out.println("size of choice: " + choice.size());
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target 1/1 Creature:", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target 1/1 Creature:", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1325,7 +1325,7 @@ class CardFactory_Lands {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//System.out.println("size of choice: " + choice.size());
|
//System.out.println("size of choice: " + choice.size());
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target legendary Creature:", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target legendary Creature:", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1391,7 +1391,7 @@ class CardFactory_Lands {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//System.out.println("size of choice: " + choice.size());
|
//System.out.println("size of choice: " + choice.size());
|
||||||
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target Elf", true));
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, choice, "Select target Elf", true, false));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ public class GameActionUtil
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else //computer
|
||||||
{
|
{
|
||||||
ArrayList<SpellAbility> choices = cascadedCard.getBasicSpells();
|
ArrayList<SpellAbility> choices = cascadedCard.getBasicSpells();
|
||||||
|
|
||||||
@@ -3254,7 +3254,8 @@ public class GameActionUtil
|
|||||||
{
|
{
|
||||||
if (c.getName().equals("Kazandu Blademaster") || c.getName().equals("Makindi Shieldmate") ||
|
if (c.getName().equals("Kazandu Blademaster") || c.getName().equals("Makindi Shieldmate") ||
|
||||||
c.getName().equals("Nimana Sell-Sword") || c.getName().equals("Oran-Rief Survivalist") ||
|
c.getName().equals("Nimana Sell-Sword") || c.getName().equals("Oran-Rief Survivalist") ||
|
||||||
c.getName().equals("Tuktuk Grunts") || c.getName().equals("Umara Raptor"))
|
c.getName().equals("Tuktuk Grunts") || c.getName().equals("Umara Raptor") ||
|
||||||
|
c.getName().equals("Hada Freeblade") )
|
||||||
ally_Generic_P1P1(c);
|
ally_Generic_P1P1(c);
|
||||||
else if (c.getName().equals("Turntimber Ranger"))
|
else if (c.getName().equals("Turntimber Ranger"))
|
||||||
ally_Turntimber_Ranger(c);
|
ally_Turntimber_Ranger(c);
|
||||||
@@ -11152,6 +11153,49 @@ public class GameActionUtil
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static Command Loam_Lion = new Command()
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = -6996623102170747897L;
|
||||||
|
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
// get all creatures
|
||||||
|
CardList list = new CardList();
|
||||||
|
list.addAll(AllZone.Human_Play.getCards());
|
||||||
|
list.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
list = list.getName("Loam Lion");
|
||||||
|
|
||||||
|
for (int i = 0; i < list.size(); i++)
|
||||||
|
{
|
||||||
|
Card c = list.get(i);
|
||||||
|
if (hasForest(c))
|
||||||
|
{
|
||||||
|
c.setBaseAttack(2);
|
||||||
|
c.setBaseDefense(3);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
c.setBaseAttack(1);
|
||||||
|
c.setBaseDefense(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}// execute()
|
||||||
|
|
||||||
|
private boolean hasForest(Card c)
|
||||||
|
{
|
||||||
|
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController());
|
||||||
|
|
||||||
|
CardList land = new CardList();
|
||||||
|
land.addAll(play.getCards());
|
||||||
|
|
||||||
|
land = land.getType("Forest");
|
||||||
|
if (land.size()>0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static Command Vexing_Beetle = new Command()
|
public static Command Vexing_Beetle = new Command()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -16332,6 +16376,7 @@ public class GameActionUtil
|
|||||||
commands.put("Dauntless_Dourbark", Dauntless_Dourbark);
|
commands.put("Dauntless_Dourbark", Dauntless_Dourbark);
|
||||||
commands.put("Vexing_Beetle", Vexing_Beetle);
|
commands.put("Vexing_Beetle", Vexing_Beetle);
|
||||||
commands.put("Kird_Ape", Kird_Ape);
|
commands.put("Kird_Ape", Kird_Ape);
|
||||||
|
commands.put("Loam_Lion", Loam_Lion);
|
||||||
commands.put("Sedge_Troll", Sedge_Troll);
|
commands.put("Sedge_Troll", Sedge_Troll);
|
||||||
commands.put("Hedge_Troll", Hedge_Troll);
|
commands.put("Hedge_Troll", Hedge_Troll);
|
||||||
commands.put("Wild_Nacatl", Wild_Nacatl);
|
commands.put("Wild_Nacatl", Wild_Nacatl);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package forge;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
public class StateBasedEffects
|
public class StaticEffects
|
||||||
{
|
{
|
||||||
//this is used to keep track of all state-based effects in play:
|
//this is used to keep track of all state-based effects in play:
|
||||||
private HashMap<String, Integer> stateBasedMap = new HashMap<String, Integer>();
|
private HashMap<String, Integer> stateBasedMap = new HashMap<String, Integer>();
|
||||||
@@ -10,7 +10,7 @@ public class StateBasedEffects
|
|||||||
//this is used to define all cards that are state-based effects, and map the corresponding commands to their cardnames
|
//this is used to define all cards that are state-based effects, and map the corresponding commands to their cardnames
|
||||||
private static HashMap<String, String[]> cardToEffectsList = new HashMap<String, String[]>();
|
private static HashMap<String, String[]> cardToEffectsList = new HashMap<String, String[]>();
|
||||||
|
|
||||||
public StateBasedEffects()
|
public StaticEffects()
|
||||||
{
|
{
|
||||||
initStateBasedEffectsList();
|
initStateBasedEffectsList();
|
||||||
}
|
}
|
||||||
@@ -56,6 +56,7 @@ public class StateBasedEffects
|
|||||||
cardToEffectsList.put("Korlash, Heir to Blackblade", new String[] {"Korlash"});
|
cardToEffectsList.put("Korlash, Heir to Blackblade", new String[] {"Korlash"});
|
||||||
cardToEffectsList.put("Dauntless Dourbark", new String[] {"Dauntless_Dourbark"});
|
cardToEffectsList.put("Dauntless Dourbark", new String[] {"Dauntless_Dourbark"});
|
||||||
cardToEffectsList.put("Vexing Beetle", new String[] {"Vexing_Beetle"});
|
cardToEffectsList.put("Vexing Beetle", new String[] {"Vexing_Beetle"});
|
||||||
|
cardToEffectsList.put("Loam Lion", new String[] {"Loam_Lion"});
|
||||||
cardToEffectsList.put("Kird Ape", new String[] {"Kird_Ape"});
|
cardToEffectsList.put("Kird Ape", new String[] {"Kird_Ape"});
|
||||||
cardToEffectsList.put("Sedge Troll", new String[] {"Sedge_Troll"});
|
cardToEffectsList.put("Sedge Troll", new String[] {"Sedge_Troll"});
|
||||||
cardToEffectsList.put("Hedge Troll", new String[] {"Hedge_Troll"});
|
cardToEffectsList.put("Hedge Troll", new String[] {"Hedge_Troll"});
|
||||||
Reference in New Issue
Block a user