mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
convert Captain of the Watch and Wizened Cenn to stPumpAll keyword
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"});
|
||||
|
||||
Reference in New Issue
Block a user