diff --git a/res/cardsfolder/flowstone_charger.txt b/res/cardsfolder/flowstone_charger.txt index 0aca22ef505..29dd38ab1f1 100644 --- a/res/cardsfolder/flowstone_charger.txt +++ b/res/cardsfolder/flowstone_charger.txt @@ -1,8 +1,10 @@ Name:Flowstone Charger ManaCost:2 R W Types:Creature Beast -Text:Whenever Flowstone Charger attacks, it gets +3/-3 until end of turn. +Text:no text 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:Picture:http://www.wizards.com/global/images/magic/general/flowstone_charger.jpg SetInfo:APC|Uncommon|http://magiccards.info/scans/en/ap/99.jpg diff --git a/res/cardsfolder/goblin_general.txt b/res/cardsfolder/goblin_general.txt index 55cd463c7e7..6641f03c796 100644 --- a/res/cardsfolder/goblin_general.txt +++ b/res/cardsfolder/goblin_general.txt @@ -1,8 +1,10 @@ Name:Goblin General ManaCost:1 R R 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 +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:Picture:http://serv1.tcgimages.eu/img/cards/Portal_Second_Age/goblin_general.jpg SetInfo:PO2|Rare|http://magiccards.info/scans/en/po2/97.jpg diff --git a/res/cardsfolder/pianna_nomad_captain.txt b/res/cardsfolder/pianna_nomad_captain.txt index ffff8b2fae5..f7cfb64715b 100644 --- a/res/cardsfolder/pianna_nomad_captain.txt +++ b/res/cardsfolder/pianna_nomad_captain.txt @@ -1,8 +1,10 @@ Name:Pianna, Nomad Captain ManaCost:1 W W 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 +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:Picture:http://www.wizards.com/global/images/magic/general/pianna_nomad_captain.jpg SetInfo:ODY|Rare|http://magiccards.info/scans/en/od/39.jpg diff --git a/res/cardsfolder/soltari_champion.txt b/res/cardsfolder/soltari_champion.txt index bab82b9dba9..c72a7738ff8 100644 --- a/res/cardsfolder/soltari_champion.txt +++ b/res/cardsfolder/soltari_champion.txt @@ -1,9 +1,11 @@ Name:Soltari Champion ManaCost:2 W 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 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:Picture:http://www.wizards.com/global/images/magic/general/soltari_champion.jpg SetInfo:STH|Rare|http://magiccards.info/scans/en/sh/118.jpg diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index 970dd96fe11..29d12bfeae7 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -1309,176 +1309,42 @@ public class CombatUtil { } if (c.getKeyword().contains("Whenever CARDNAME attacks alone, it gets +1/+0 until end of turn.")) - { - final Card charger = c; - Ability ability2 = new Ability(c, "0") { - @Override - public void resolve() { - - final Command untilEOT = new Command() { - private static final long serialVersionUID = -6039349249335745813L; + { + final Card charger = c; + Ability ability2 = new Ability(c, "0") { + @Override + public void resolve() { - public void execute() { - if(AllZone.GameAction.isCardInPlay(charger)) { - charger.addTempAttackBoost(-1); - charger.addTempDefenseBoost(0); - } - } - };//Command - + final Command untilEOT = new Command() { + private static final long serialVersionUID = -6039349249335745813L; - if(AllZone.GameAction.isCardInPlay(charger)) { - charger.addTempAttackBoost(1); - charger.addTempDefenseBoost(0); - - AllZone.EndOfTurn.addUntil(untilEOT); - } - }//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); - } + public void execute() { + if(AllZone.GameAction.isCardInPlay(charger)) { + charger.addTempAttackBoost(-1); + charger.addTempDefenseBoost(0); + } + } + };//Command + + + if(AllZone.GameAction.isCardInPlay(charger)) { + charger.addTempAttackBoost(1); + charger.addTempDefenseBoost(0); + + AllZone.EndOfTurn.addUntil(untilEOT); + } + }//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()) { //hack, to make sure this doesn't break grabbing an oblivion ring: c.setCreatureAttackedThisCombat(true); @@ -1583,40 +1449,6 @@ public class CombatUtil { } //if (creatures.size() > 0) }//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()) { final Card charger = c; Ability ability2 = new Ability(c, "0") {