convert Captain of the Watch and Wizened Cenn to stPumpAll keyword

This commit is contained in:
jendave
2011-08-06 12:26:51 +00:00
parent 005789ece4
commit cdd7a641ab
5 changed files with 30 additions and 162 deletions

View File

@@ -1,9 +1,10 @@
Name:Captain of the Watch
ManaCost:4 W W
Types:Creature Human Soldier
Text:Other Soldier creatures you control get +1/+1 and have vigilance.\r\nWhen Captain of the Watch enters the battlefield, put three 1/1 white Soldier creature tokens onto the battlefield.
Text:When Captain of the Watch enters the battlefield, put three 1/1 white Soldier creature tokens onto the battlefield.
PT:3/3
K:Vigilance
K:stPumpAll:Creature.Soldier+Other+YouCtrl:1/1/Vigilance:No Condition:Other Soldier creatures you control get +1/+1 and have vigilance.
K:etbMakeToken<>3<>Soldier<>W 1 1 Soldier<>Controller<>W<>Creature;Soldier<>1<>1<>None<>put three 1/1 white Soldier creature tokens onto the battlefield.
SVar:PlayMain1:TRUE
SVar:Rarity:Rare

View File

@@ -1,8 +1,9 @@
Name:Wizened Cenn
ManaCost:W W
Types:Creature Kithkin Cleric
Text:Other Kithkin creatures you control get +1/+1.
Text:no text
PT:2/2
K:stPumpAll:Creature.Kithkin+Other+YouCtrl:1/1:No Condition:Other Kithkin creatures you control get +1/+1.
SVar:PlayMain1:TRUE
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/wizened_cenn.jpg

View File

@@ -15574,80 +15574,6 @@ public class GameActionUtil {
}; //Knight_Exemplar_Other
public static Command Wizened_Cenn_Pump = new Command() {
private static final long serialVersionUID = 542524781150091105L;
CardList gloriousAnthemList = new CardList();
public void execute() {
CardList cList = gloriousAnthemList;
Card c;
for(int i = 0; i < cList.size(); i++) {
c = cList.get(i);
c.addSemiPermanentAttackBoost(-1);
c.addSemiPermanentDefenseBoost(-1);
}
cList.clear();
PlayerZone[] zone = getZone("Wizened Cenn");
// for each zone found add +1/+1 to each card
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = new CardList(
zone[outer].getCards());
creature = creature.getType("Kithkin");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
if(c.isCreature()
&& !c.getName().equals(
"Wizened Cenn")) {
c.addSemiPermanentAttackBoost(1);
c.addSemiPermanentDefenseBoost(1);
gloriousAnthemList.add(c);
}
} // for
} // for
}// execute()
}; //Wizened_Cenn_Pump
public static Command Wizened_Cenn_Other = new Command() {
private static final long serialVersionUID = -7242601069504800797L;
int otherCenns = 0;
private int countOtherCenns(Card c) {
PlayerZone play = AllZone.getZone(
Constant.Zone.Play, c.getController());
CardList cenns = new CardList(play.getCards());
cenns = cenns.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.getName().equals("Wizened Cenn")
&& (c.getType().contains("Kithkin") || c.getKeyword().contains("Changeling"));
}
});
return cenns.size() - 1;
}
public void execute() {
CardList creature = AllZoneUtil.getCardsInPlay("Wizened Cenn");
for(int i = 0; i < creature.size(); i++) {
Card c = creature.get(i);
otherCenns = countOtherCenns(c);
c.setOtherAttackBoost(otherCenns);
c.setOtherDefenseBoost(otherCenns);
}// for inner
}// execute()
}; //Wizened Cenn Other
public static Command Lord_of_the_Undead_Pump = new Command() {
@@ -15805,86 +15731,7 @@ public class GameActionUtil {
}; //Cemetery_Reaper_Other
public static Command Captain_of_the_Watch_Pump = new Command() {
private static final long serialVersionUID = 542524781150091105L;
CardList gloriousAnthemList = new CardList();
public void execute() {
CardList cList = gloriousAnthemList;
Card c;
for(int i = 0; i < cList.size(); i++) {
c = cList.get(i);
c.addSemiPermanentAttackBoost(-1);
c.addSemiPermanentDefenseBoost(-1);
c.removeExtrinsicKeyword("Vigilance");
}
cList.clear();
PlayerZone[] zone = getZone("Captain of the Watch");
// for each zone found add +1/+1 to each card
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = new CardList(
zone[outer].getCards());
creature = creature.getType("Soldier");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
if(c.isCreature()
&& !c.getName().equals(
"Captain of the Watch")) {
c.addSemiPermanentAttackBoost(1);
c.addSemiPermanentDefenseBoost(1);
if(!c.getExtrinsicKeyword().contains(
"Vigilance")) c.addExtrinsicKeyword("Vigilance");
gloriousAnthemList.add(c);
}
} // for
} // for
}// execute()
}; //Captain_of_the_Watch_Pump
public static Command Captain_of_the_Watch_Other = new Command() {
private static final long serialVersionUID = -7242601069504800797L;
int otherCapts = 0;
private int countOtherCapts(Card c) {
PlayerZone play = AllZone.getZone(
Constant.Zone.Play, c.getController());
CardList capts = new CardList(play.getCards());
capts = capts.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.getName().equals(
"Captain of the Watch")
&& (c.getType().contains("Soldier") || c.getKeyword().contains("Changeling"));
}
});
return capts.size() - 1;
}
public void execute() {
CardList creature = AllZoneUtil.getCardsInPlay("Captain of the Watch");
for(int i = 0; i < creature.size(); i++) {
Card c = creature.get(i);
otherCapts = countOtherCapts(c);
c.setOtherAttackBoost(otherCapts);
c.setOtherDefenseBoost(otherCapts);
if(!c.getExtrinsicKeyword().contains("Vigilance")) c.addExtrinsicKeyword("Vigilance");
}// for inner
}// execute()
}; //Captain of the Watch Other
public static Command Veteran_Swordsmith_Pump = new Command() {
private static final long serialVersionUID = 542524781150091105L;
@@ -19660,14 +19507,10 @@ public class GameActionUtil {
commands.put("Elvish_Champion_Other", Elvish_Champion_Other);
commands.put("Knight_Exemplar_Pump", Knight_Exemplar_Pump);
commands.put("Knight_Exemplar_Other", Knight_Exemplar_Other);
commands.put("Wizened_Cenn_Pump", Wizened_Cenn_Pump);
commands.put("Wizened_Cenn_Other", Wizened_Cenn_Other);
commands.put("Lord_of_the_Undead_Pump", Lord_of_the_Undead_Pump);
commands.put("Lord_of_the_Undead_Other", Lord_of_the_Undead_Other);
commands.put("Cemetery_Reaper_Pump", Cemetery_Reaper_Pump);
commands.put("Cemetery_Reaper_Other", Cemetery_Reaper_Other);
commands.put("Captain_of_the_Watch_Pump", Captain_of_the_Watch_Pump);
commands.put("Captain_of_the_Watch_Other", Captain_of_the_Watch_Other);
commands.put("Veteran_Swordsmith_Pump", Veteran_Swordsmith_Pump);
commands.put("Veteran_Swordsmith_Other", Veteran_Swordsmith_Other);
commands.put("Death_Baron_Pump", Death_Baron_Pump);

View File

@@ -26,6 +26,8 @@ public abstract class Player extends MyObservable{
protected int numDrawnThisTurn = 0;
protected CardList slowtripList = new CardList();
protected Card channelCard = null;
public Player(String myName) {
this(myName, 20, 0);
}
@@ -747,6 +749,11 @@ public abstract class Player extends MyObservable{
return list.size() >= 3;
}
public boolean hasThreshold() {
CardList grave = AllZoneUtil.getPlayerGraveyard(this);
return grave.size() >= 7;
}
private ArrayList<HandSizeOp> handSizeOperations;
public int getMaxHandSize() {
@@ -817,6 +824,24 @@ public abstract class Player extends MyObservable{
public static int getHandSizeStamp() {
return NextHandSizeStamp++;
}
/////////////////
//
// for using the card Channel
//
/////////////////
public void setChannelCard(Card c) {
channelCard = c;
}
public boolean canChannel() {
return null != channelCard;
}
public Card getChannelCard() {
return channelCard;
}
////////////////////////////////
//
// generic Object overrides

View File

@@ -108,10 +108,8 @@ public class StaticEffects
cardToEffectsList.put("Broodwarden", new String[] {"Broodwarden"});
cardToEffectsList.put("Elvish Archdruid", new String[] {"Elvish_Archdruid_Pump", "Elvish_Archdruid_Other"});
cardToEffectsList.put("Knight Exemplar", new String[] {"Knight_Exemplar_Pump", "Knight_Exemplar_Other"});
cardToEffectsList.put("Wizened Cenn", new String[] {"Wizened_Cenn_Pump", "Wizened_Cenn_Other"});
cardToEffectsList.put("Lord of the Undead", new String[] {"Lord_of_the_Undead_Pump", "Lord_of_the_Undead_Other"});
cardToEffectsList.put("Cemetery Reaper", new String[] {"Cemetery_Reaper_Pump", "Cemetery_Reaper_Other"});
cardToEffectsList.put("Captain of the Watch", new String[] {"Captain_of_the_Watch_Pump", "Captain_of_the_Watch_Other"});
cardToEffectsList.put("Veteran Swordsmith", new String[] {"Veteran_Swordsmith_Pump", "Veteran_Swordsmith_Other"});
cardToEffectsList.put("Elvish Champion", new String[] {"Elvish_Champion_Pump","Elvish_Champion_Other"});
cardToEffectsList.put("Death Baron", new String[] {"Death_Baron_Pump","Death_Baron_Other"});