convert Flowstone Charger, Goblin General, Pianna Nomad Captain, and Soltari Champion to triggers

This commit is contained in:
jendave
2011-08-06 20:10:10 +00:00
parent 1b45511f4c
commit 287687d915
5 changed files with 44 additions and 204 deletions

View File

@@ -1,8 +1,10 @@
Name:Flowstone Charger Name:Flowstone Charger
ManaCost:2 R W ManaCost:2 R W
Types:Creature Beast Types:Creature Beast
Text:Whenever Flowstone Charger attacks, it gets +3/-3 until end of turn. Text:no text
PT:2/5 PT:2/5
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +3/-3 until end of turn.
SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +3 | NumDef$ -3
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/flowstone_charger.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/flowstone_charger.jpg
SetInfo:APC|Uncommon|http://magiccards.info/scans/en/ap/99.jpg SetInfo:APC|Uncommon|http://magiccards.info/scans/en/ap/99.jpg

View File

@@ -1,8 +1,10 @@
Name:Goblin General Name:Goblin General
ManaCost:1 R R ManaCost:1 R R
Types:Creature Goblin Warrior Types:Creature Goblin Warrior
Text:Whenever Goblin General attacks, Goblin creatures you control get +1/+1 until end of turn. Text:no text
PT:1/1 PT:1/1
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, Goblin creatures you control get +1/+1 until end of turn.
SVar:TrigPumpAll:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.Goblin+YouCtrl | NumAtt$ +1 | NumDef$ +1
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://serv1.tcgimages.eu/img/cards/Portal_Second_Age/goblin_general.jpg SVar:Picture:http://serv1.tcgimages.eu/img/cards/Portal_Second_Age/goblin_general.jpg
SetInfo:PO2|Rare|http://magiccards.info/scans/en/po2/97.jpg SetInfo:PO2|Rare|http://magiccards.info/scans/en/po2/97.jpg

View File

@@ -1,8 +1,10 @@
Name:Pianna, Nomad Captain Name:Pianna, Nomad Captain
ManaCost:1 W W ManaCost:1 W W
Types:Legendary Creature Human Nomad Types:Legendary Creature Human Nomad
Text:Whenever Pianna, Nomad Captain attacks, attacking creatures get +1/+1 until end of turn. Text:no text
PT:2/2 PT:2/2
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, attacking creatures get +1/+1 until end of turn.
SVar:TrigPumpAll:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.attacking | NumAtt$ +1 | NumDef$ +1
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/pianna_nomad_captain.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/pianna_nomad_captain.jpg
SetInfo:ODY|Rare|http://magiccards.info/scans/en/od/39.jpg SetInfo:ODY|Rare|http://magiccards.info/scans/en/od/39.jpg

View File

@@ -1,9 +1,11 @@
Name:Soltari Champion Name:Soltari Champion
ManaCost:2 W ManaCost:2 W
Types:Creature Soltari Soldier Types:Creature Soltari Soldier
Text:Whenever Soltari Champion attacks, all other creatures you control get +1/+1 until end of turn. Text:no text
PT:2/2 PT:2/2
K:Shadow K:Shadow
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, all other creatures you control get +1/+1 until end of turn.
SVar:TrigPumpAll:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 | NumDef$ +1
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/soltari_champion.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/soltari_champion.jpg
SetInfo:STH|Rare|http://magiccards.info/scans/en/sh/118.jpg SetInfo:STH|Rare|http://magiccards.info/scans/en/sh/118.jpg

View File

@@ -1309,176 +1309,42 @@ public class CombatUtil {
} }
if (c.getKeyword().contains("Whenever CARDNAME attacks alone, it gets +1/+0 until end of turn.")) if (c.getKeyword().contains("Whenever CARDNAME attacks alone, it gets +1/+0 until end of turn."))
{ {
final Card charger = c; final Card charger = c;
Ability ability2 = new Ability(c, "0") { Ability ability2 = new Ability(c, "0") {
@Override @Override
public void resolve() { public void resolve() {
final Command untilEOT = new Command() {
private static final long serialVersionUID = -6039349249335745813L;
public void execute() { final Command untilEOT = new Command() {
if(AllZone.GameAction.isCardInPlay(charger)) { private static final long serialVersionUID = -6039349249335745813L;
charger.addTempAttackBoost(-1);
charger.addTempDefenseBoost(0);
}
}
};//Command
if(AllZone.GameAction.isCardInPlay(charger)) { public void execute() {
charger.addTempAttackBoost(1); if(AllZone.GameAction.isCardInPlay(charger)) {
charger.addTempDefenseBoost(0); charger.addTempAttackBoost(-1);
charger.addTempDefenseBoost(0);
AllZone.EndOfTurn.addUntil(untilEOT); }
} }
}//resolve };//Command
};//ability
if(AllZone.GameAction.isCardInPlay(charger)) {
StringBuilder sb2 = new StringBuilder(); charger.addTempAttackBoost(1);
sb2.append(c.getName()).append(" - attacks alone and gets +1/+0 until EOT."); charger.addTempDefenseBoost(0);
ability2.setStackDescription(sb2.toString());
AllZone.EndOfTurn.addUntil(untilEOT);
AllZone.Stack.add(ability2); }
} }//resolve
};//ability
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - attacks alone and gets +1/+0 until EOT.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}
} }
if(c.getName().equals("Soltari Champion") && !c.getCreatureAttackedThisCombat()) {
final PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, c.getController());
final Card crd = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
CardList cl = new CardList(play.getCards());
cl = cl.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature() && !c.equals(crd);
}
});
final CardList creatures = cl;
final Command untilEOT = new Command() {
private static final long serialVersionUID = -8434529949884582940L;
public void execute() {
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(-1);
creat.addTempDefenseBoost(-1);
}
}
}
};//Command
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(1);
creat.addTempDefenseBoost(1);
}
}
AllZone.EndOfTurn.addUntil(untilEOT);
}
};
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - all other creatures you control get +1/+1 until end of turn.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Soltari Champion
if(c.getName().equals("Goblin General") && !c.getCreatureAttackedThisCombat()) {
final PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, c.getController());
//final Card crd = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
CardList cl = new CardList(play.getCards());
cl = cl.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature()
&& (c.getType().contains("Goblin") || c.getKeyword().contains("Changeling"));
}
});
final CardList creatures = cl;
final Command untilEOT = new Command() {
private static final long serialVersionUID = -8434529949884582940L;
public void execute() {
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(-1);
creat.addTempDefenseBoost(-1);
}
}
}
};//Command
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(1);
creat.addTempDefenseBoost(1);
}
}
AllZone.EndOfTurn.addUntil(untilEOT);
}
};
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - Goblin creatures you control get +1/+1 until end of turn.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Goblin General
if(c.getName().equals("Pianna, Nomad Captain") && !c.getCreatureAttackedThisCombat()) {
//final Card crd = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
CardList cl = new CardList(AllZone.Combat.getAttackers());
final CardList creatures = cl;
final Command untilEOT = new Command() {
private static final long serialVersionUID = -7050310805245783042L;
public void execute() {
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(-1);
creat.addTempDefenseBoost(-1);
}
}
}
};//Command
for(Card creat:creatures) {
if(AllZone.GameAction.isCardInPlay(creat)) {
creat.addTempAttackBoost(1);
creat.addTempDefenseBoost(1);
}
}
AllZone.EndOfTurn.addUntil(untilEOT);
}
};
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - attacking creatures get +1/+1 until end of turn.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Pianna, Nomad Captain
if(c.getName().equals("Zur the Enchanter") && !c.getCreatureAttackedThisCombat()) { if(c.getName().equals("Zur the Enchanter") && !c.getCreatureAttackedThisCombat()) {
//hack, to make sure this doesn't break grabbing an oblivion ring: //hack, to make sure this doesn't break grabbing an oblivion ring:
c.setCreatureAttackedThisCombat(true); c.setCreatureAttackedThisCombat(true);
@@ -1583,40 +1449,6 @@ public class CombatUtil {
} //if (creatures.size() > 0) } //if (creatures.size() > 0)
}//Yore-Tiller Nephilim }//Yore-Tiller Nephilim
else if(c.getName().equals("Flowstone Charger") && !c.getCreatureAttackedThisCombat()) {
final Card charger = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
final Command untilEOT = new Command() {
private static final long serialVersionUID = -1703473800920781454L;
public void execute() {
if(AllZone.GameAction.isCardInPlay(charger)) {
charger.addTempAttackBoost(-3);
charger.addTempDefenseBoost(3);
}
}
};//Command
if(AllZone.GameAction.isCardInPlay(charger)) {
charger.addTempAttackBoost(3);
charger.addTempDefenseBoost(-3);
AllZone.EndOfTurn.addUntil(untilEOT);
}
}//resolve
};//ability
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - gets +3/-3 until EOT.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Flowstone Charger
else if(c.getName().equals("Timbermaw Larva") && !c.getCreatureAttackedThisCombat()) { else if(c.getName().equals("Timbermaw Larva") && !c.getCreatureAttackedThisCombat()) {
final Card charger = c; final Card charger = c;
Ability ability2 = new Ability(c, "0") { Ability ability2 = new Ability(c, "0") {