mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
- Convert Spitting Hydra
- Changed Chronatog's ability to Ability_Activated
This commit is contained in:
@@ -3,6 +3,8 @@ ManaCost:3 R R
|
|||||||
Types:Creature Hydra
|
Types:Creature Hydra
|
||||||
Text:Spitting Hydra enters the battlefield with four +1/+1 counters.
|
Text:Spitting Hydra enters the battlefield with four +1/+1 counters.
|
||||||
PT:0/0
|
PT:0/0
|
||||||
|
K:etbCounter:P1P1:4
|
||||||
|
A:AB$DealDamage | Cost$1 R SubCounter<1/P1P1> | Tgt$TgtC | NumDmg$1 | SpellDescription$CARDNAME deals 1 damage to target creature.
|
||||||
SVar:Rarity:Rare
|
SVar:Rarity:Rare
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/spitting_hydra.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/spitting_hydra.jpg
|
||||||
SetInfo:STH|Rare|http://magiccards.info/scans/en/sh/99.jpg
|
SetInfo:STH|Rare|http://magiccards.info/scans/en/sh/99.jpg
|
||||||
|
|||||||
@@ -2764,7 +2764,7 @@ public class CardFactory_Creatures {
|
|||||||
};
|
};
|
||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Skirk Prospector")) {
|
else if(cardName.equals("Skirk Prospector")) {
|
||||||
final Ability_Mana ability = new Ability_Mana(card, "Sacrifice a Goblin: Add R") {
|
final Ability_Mana ability = new Ability_Mana(card, "Sacrifice a Goblin: Add R") {
|
||||||
@@ -15275,106 +15275,6 @@ public class CardFactory_Creatures {
|
|||||||
}//*************** 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.HumanPlayer.getLife() < card.getCounters(Counters.P1P1)) setTargetPlayer(AllZone.HumanPlayer);
|
|
||||||
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 getTargetPlayer().loseLife(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(Player 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, AllZone.HumanPlayer);
|
|
||||||
PlayerZone Cplay = AllZone.getZone(Constant.Zone.Play, AllZone.ComputerPlayer);
|
|
||||||
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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Molten Hydra")) {
|
else if(cardName.equals("Molten Hydra")) {
|
||||||
|
|
||||||
@@ -17608,8 +17508,11 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
final Ability ability = new Ability(card, "0") {
|
Ability_Cost abCost = new Ability_Cost("0", cardName, true);
|
||||||
@Override
|
final Ability_Activated ability = new Ability_Activated(card, abCost, null) {
|
||||||
|
private static final long serialVersionUID = -8345060615720565828L;
|
||||||
|
|
||||||
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(card)) {
|
if(AllZone.GameAction.isCardInPlay(card)) {
|
||||||
card.addTempAttackBoost(3);
|
card.addTempAttackBoost(3);
|
||||||
@@ -18058,7 +17961,7 @@ public class CardFactory_Creatures {
|
|||||||
};
|
};
|
||||||
card.addComesIntoPlayCommand(comesIntoPlay);
|
card.addComesIntoPlayCommand(comesIntoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Viridian Joiner"))
|
else if(cardName.equals("Viridian Joiner"))
|
||||||
|
|||||||
Reference in New Issue
Block a user