mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
convert Flowstone Charger, Goblin General, Pianna Nomad Captain, and Soltari Champion to triggers
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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") {
|
||||||
|
|||||||
Reference in New Issue
Block a user