mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Implemented cards:
Molten hydra Spitting hydra Magma giant Cloudthresher Thunder dragon Bloodfire Colossus Crater Hellion Feral Hydra Grove of the burnwillows
This commit is contained in:
@@ -1763,6 +1763,151 @@ public class CardFactory_Creatures {
|
|||||||
card.addDestroyCommand(leavesPlay);
|
card.addDestroyCommand(leavesPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Crater Hellion")) {
|
||||||
|
final SpellAbility ability = new Ability(card, "0") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
PlayerZone hPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
PlayerZone cPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
|
CardList creatures = new CardList();
|
||||||
|
|
||||||
|
creatures.addAll(hPlay.getCards());
|
||||||
|
creatures.addAll(cPlay.getCards());
|
||||||
|
creatures = creatures.getType("Creature");
|
||||||
|
|
||||||
|
for(int i = 0; i < creatures.size(); i++) {
|
||||||
|
Card crd = creatures.get(i);
|
||||||
|
if(CardFactoryUtil.canDamage(card, crd) && !crd.equals(card)) crd.addDamage(4, card);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
private static final long serialVersionUID = 9072052875006010512L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
ability.setStackDescription(card.getName() + " deals 4 damage to each other creature.");
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Magma Giant")) {
|
||||||
|
final SpellAbility ability = new Ability(card, "0") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
PlayerZone hPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
PlayerZone cPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
|
CardList creatures = new CardList();
|
||||||
|
|
||||||
|
creatures.addAll(hPlay.getCards());
|
||||||
|
creatures.addAll(cPlay.getCards());
|
||||||
|
creatures = creatures.getType("Creature");
|
||||||
|
|
||||||
|
for(int i = 0; i < creatures.size(); i++) {
|
||||||
|
Card crd = creatures.get(i);
|
||||||
|
if(CardFactoryUtil.canDamage(card, crd)) crd.addDamage(2, card);
|
||||||
|
}
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Computer, card, 2);
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Human, card, 2);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
private static final long serialVersionUID = 9072052875006010499L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
ability.setStackDescription(card.getName() + " deals 2 damage to each creature and each player.");
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Thunder Dragon")) {
|
||||||
|
final SpellAbility ability = new Ability(card, "0") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
|
||||||
|
CardList all = new CardList();
|
||||||
|
all.addAll(AllZone.Human_Play.getCards());
|
||||||
|
all.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
all = all.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c)
|
||||||
|
{
|
||||||
|
return c.isCreature() && !c.getKeyword().contains("Flying") &&
|
||||||
|
CardFactoryUtil.canDamage(card, c);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for(int i = 0; i < all.size(); i++)
|
||||||
|
all.get(i).addDamage(3, card);
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
private static final long serialVersionUID = 9072052875006010434L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
ability.setStackDescription(card.getName() + " deals 3 damage to each creature without flying.");
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Cloudthresher")) {
|
||||||
|
final SpellAbility ability = new Ability(card, "0") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
|
||||||
|
CardList all = new CardList();
|
||||||
|
all.addAll(AllZone.Human_Play.getCards());
|
||||||
|
all.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
all = all.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c)
|
||||||
|
{
|
||||||
|
return c.isCreature() && c.getKeyword().contains("Flying") &&
|
||||||
|
CardFactoryUtil.canDamage(card, c);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for(int i = 0; i < all.size(); i++)
|
||||||
|
all.get(i).addDamage(2, card);
|
||||||
|
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Human, card, 2);
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Computer, card, 2);
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
private static final long serialVersionUID = 9072052875006010410L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
ability.setStackDescription(card.getName() + " deals 2 damage to each creature with flying and each player.");
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
|
||||||
|
card.addSpellAbility(new Spell_Evoke(card, "2 G G") {
|
||||||
|
private static final long serialVersionUID = 5061298336319833911L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Mulldrifter")) {
|
else if(cardName.equals("Mulldrifter")) {
|
||||||
@@ -8041,6 +8186,33 @@ public class CardFactory_Creatures {
|
|||||||
}, true, false));
|
}, true, false));
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Bloodfire Colossus")) {
|
||||||
|
final Ability ability = new Ability(card, "R") {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
int damage = 6;
|
||||||
|
CardList all = AllZoneUtil.getCreaturesInPlay();
|
||||||
|
for(Card c:all) {
|
||||||
|
AllZone.GameAction.addDamage(c, card, damage);
|
||||||
|
}
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Computer, card, damage);
|
||||||
|
AllZone.GameAction.addDamage(Constant.Player.Human, card, damage);
|
||||||
|
}//resolve()
|
||||||
|
};//SpellAbility
|
||||||
|
|
||||||
|
card.addSpellAbility(ability);
|
||||||
|
ability.setDescription("R: Sacrifice Bloodfire Colossus, Bloodfire Colossus deals 6 damage to each creature and each player.");
|
||||||
|
ability.setBeforePayMana(CardFactoryUtil.input_targetCreaturePlayer(ability, new Command() {
|
||||||
|
private static final long serialVersionUID = 8283052965865884889L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
AllZone.GameAction.sacrifice(card);
|
||||||
|
}
|
||||||
|
}, true, false));
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Goblin Skycutter")) {
|
else if(cardName.equals("Goblin Skycutter")) {
|
||||||
@@ -14665,6 +14837,43 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Feral Hydra")) {
|
||||||
|
|
||||||
|
SpellAbility spell = new Spell_Permanent(card) {
|
||||||
|
private static final long serialVersionUID = -11489323319L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return super.canPlay() && 4 <= ComputerUtil.getAvailableMana().size() - CardUtil.getConvertedManaCost(card.getManaCost());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
card.clearSpellAbility();
|
||||||
|
card.addSpellAbility(spell);
|
||||||
|
|
||||||
|
final SpellAbility ability = new Ability(card, "3") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
card.addCounter(Counters.P1P1,1);
|
||||||
|
}//resolve()
|
||||||
|
};
|
||||||
|
|
||||||
|
ability.setDescription("3: put a +1/+1 counter on Feral Hydra. ");
|
||||||
|
ability.setStackDescription("Feral Hydra gets a +1/+1 counter. ");
|
||||||
|
card.addSpellAbility(ability);
|
||||||
|
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 2559021590L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
int XCounters = card.getXManaCostPaid();
|
||||||
|
card.addCounter(Counters.P1P1, XCounters);
|
||||||
|
|
||||||
|
}//execute()
|
||||||
|
};//Command
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Shifting Wall") || cardName.equals("Maga, Traitor to Mortals")
|
else if(cardName.equals("Shifting Wall") || cardName.equals("Maga, Traitor to Mortals")
|
||||||
@@ -14708,6 +14917,7 @@ public class CardFactory_Creatures {
|
|||||||
AllZone.Stack.add(ability);
|
AllZone.Stack.add(ability);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}//execute()
|
}//execute()
|
||||||
};//Command
|
};//Command
|
||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
@@ -14820,6 +15030,212 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Spitting Hydra")) {
|
||||||
|
SpellAbility spell = new Spell_Permanent(card) {
|
||||||
|
private static final long serialVersionUID = -11489323314L;
|
||||||
|
|
||||||
|
};
|
||||||
|
card.clearSpellAbility();
|
||||||
|
card.addSpellAbility(spell);
|
||||||
|
|
||||||
|
final Ability ability = new Ability(card, "1 R") {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlay() {
|
||||||
|
return card.getCounters(Counters.P1P1) > 0 && super.canPlay();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return getCreature().size() != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void chooseTargetAI() {
|
||||||
|
if(AllZone.Human_Life.getLife() < card.getCounters(Counters.P1P1)) setTargetPlayer(Constant.Player.Human);
|
||||||
|
else {
|
||||||
|
CardList list = getCreature();
|
||||||
|
list.shuffle();
|
||||||
|
setTargetCard(list.get(0));
|
||||||
|
}
|
||||||
|
card.subtractCounter(Counters.P1P1, 1);
|
||||||
|
}//chooseTargetAI()
|
||||||
|
|
||||||
|
CardList getCreature() {
|
||||||
|
//toughness of 1
|
||||||
|
CardList list = CardFactoryUtil.AI_getHumanCreature(1, card, true);
|
||||||
|
list = list.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return (1 == c.getKillDamage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}//getCreature()
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
if(getTargetCard() != null) {
|
||||||
|
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) getTargetCard().addDamage(1,
|
||||||
|
card);
|
||||||
|
} else AllZone.GameAction.getPlayerLife(getTargetPlayer()).subtractLife(1,card);
|
||||||
|
}//resolve()
|
||||||
|
|
||||||
|
};//SpellAbility
|
||||||
|
Input target = new Input() {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 4246601245231656L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showMessage() {
|
||||||
|
AllZone.Display.showMessage("Select creature or player to target: ");
|
||||||
|
ButtonUtil.enableOnlyCancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectPlayer(String player) {
|
||||||
|
ability.setTargetPlayer(player);
|
||||||
|
card.subtractCounter(Counters.P1P1, 1);
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
stopSetNext(new ComputerAI_StackNotEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectButtonCancel() {
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void selectCard(Card c, PlayerZone zone) {
|
||||||
|
PlayerZone Hplay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
PlayerZone Cplay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
|
if(AllZone.GameAction.isCardInZone(c, Hplay) || AllZone.GameAction.isCardInZone(c, Cplay)) {
|
||||||
|
card.subtractCounter(Counters.P1P1, 1);
|
||||||
|
ability.setTargetCard(c);
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
stopSetNext(new ComputerAI_StackNotEmpty());
|
||||||
|
}
|
||||||
|
}//selectCard()
|
||||||
|
};//Input
|
||||||
|
card.addSpellAbility(ability);
|
||||||
|
ability.setAfterPayMana(target);
|
||||||
|
Command intoPlay = new Command() {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 255901529244894L;
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
card.addCounter(Counters.P1P1, 4);
|
||||||
|
}//execute()
|
||||||
|
};//Command
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Molten Hydra")) {
|
||||||
|
|
||||||
|
final Ability ability1 = new Ability(card, "1 R R") {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
card.addCounter(Counters.P1P1,1);
|
||||||
|
}//resolve()
|
||||||
|
|
||||||
|
};//SpellAbility
|
||||||
|
|
||||||
|
ability1.setDescription("1 R R: put a +1/+1 counter on Molten Hydra. ");
|
||||||
|
ability1.setStackDescription("Molten Hydra gets a +1/+1 counter. ");
|
||||||
|
card.addSpellAbility(ability1);
|
||||||
|
|
||||||
|
final Ability_Tap ability2 = new Ability_Tap(card,"0") {
|
||||||
|
private static final long serialVersionUID = 2626619319289064289L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlay() {
|
||||||
|
return card.getCounters(Counters.P1P1) > 0 && super.canPlay();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return getCreature().size() != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void chooseTargetAI() {
|
||||||
|
if(AllZone.Human_Life.getLife() < card.getCounters(Counters.P1P1)) setTargetPlayer(Constant.Player.Human);
|
||||||
|
else {
|
||||||
|
CardList list = getCreature();
|
||||||
|
list.shuffle();
|
||||||
|
setTargetCard(list.get(0));
|
||||||
|
}
|
||||||
|
// card.subtractCounter(Counters.P1P1, total);
|
||||||
|
}//chooseTargetAI()
|
||||||
|
|
||||||
|
CardList getCreature() {
|
||||||
|
|
||||||
|
//toughness of 1
|
||||||
|
CardList list = CardFactoryUtil.AI_getHumanCreature(card.getCounters(Counters.P1P1), card, true);
|
||||||
|
list = list.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
int total = card.sumAllCounters();
|
||||||
|
return (total >= c.getKillDamage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}//getCreature()
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
int total = card.sumAllCounters();
|
||||||
|
if(getTargetCard() != null) {
|
||||||
|
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) getTargetCard().addDamage(total,
|
||||||
|
card);
|
||||||
|
} else AllZone.GameAction.getPlayerLife(getTargetPlayer()).subtractLife(total,card);
|
||||||
|
card.subtractCounter(Counters.P1P1,total);
|
||||||
|
}//resolve()
|
||||||
|
};//SpellAbility
|
||||||
|
|
||||||
|
Input target = new Input() {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 4246601245231656L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showMessage() {
|
||||||
|
AllZone.Display.showMessage("Select creature or player to target: ");
|
||||||
|
ButtonUtil.enableOnlyCancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectPlayer(String player) {
|
||||||
|
ability2.setTargetPlayer(player);
|
||||||
|
AllZone.Stack.add(ability2);
|
||||||
|
stopSetNext(new ComputerAI_StackNotEmpty());
|
||||||
|
//card.subtractCounter(Counters.P1P1, total);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectButtonCancel() {
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void selectCard(Card c, PlayerZone zone) {
|
||||||
|
PlayerZone Hplay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
PlayerZone Cplay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
|
if(AllZone.GameAction.isCardInZone(c, Hplay) || AllZone.GameAction.isCardInZone(c, Cplay)) {
|
||||||
|
ability2.setTargetCard(c);
|
||||||
|
AllZone.Stack.add(ability2);
|
||||||
|
stopSetNext(new ComputerAI_StackNotEmpty());
|
||||||
|
//card.subtractCounter(Counters.P1P1, total);
|
||||||
|
}
|
||||||
|
}//selectCard()
|
||||||
|
};//Input
|
||||||
|
|
||||||
|
card.addSpellAbility(ability2);
|
||||||
|
ability2.setBeforePayMana(target);
|
||||||
|
ability2.setDescription("Tap: Remove all +1/+1 counters and deal damage equal to number of counters " +
|
||||||
|
"removed to target creature or player.");
|
||||||
|
ability2.setStackDescription("Molten Hydra deals damage to number of counters on it to target creature or player.");
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Auramancer") || cardName.equals("Monk Idealist")) {
|
else if(cardName.equals("Auramancer") || cardName.equals("Monk Idealist")) {
|
||||||
|
|||||||
@@ -3527,6 +3527,44 @@ class CardFactory_Lands {
|
|||||||
ability.setBeforePayMana(runtime);
|
ability.setBeforePayMana(runtime);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Grove of the Burnwillows")) {
|
||||||
|
|
||||||
|
final Ability_Mana ability1 = new Ability_Mana(card, "tap, your opponent gains 1 life: add G") {
|
||||||
|
private static final long serialVersionUID = 5290938125518969678L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
AllZone.GameAction.gainLife(Constant.Player.Computer, 1);
|
||||||
|
super.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String mana() {
|
||||||
|
return "G";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
final Ability_Mana ability2 = new Ability_Mana(card, "tap, your opponent gains 1 life: add R") {
|
||||||
|
private static final long serialVersionUID = 5290938125518969689L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
AllZone.GameAction.gainLife(Constant.Player.Computer, 1);
|
||||||
|
super.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String mana() {
|
||||||
|
return "R";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
card.addSpellAbility(ability1);
|
||||||
|
card.addSpellAbility(ability2);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
if(cardName.equals("Kjeldoran Outpost")) {
|
if(cardName.equals("Kjeldoran Outpost")) {
|
||||||
final Command comesIntoPlay = new Command() {
|
final Command comesIntoPlay = new Command() {
|
||||||
|
|||||||
Reference in New Issue
Block a user