mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Added Lavaclaw Reaches
This commit is contained in:
@@ -38,6 +38,7 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene
|
||||
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
|
||||
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||
lavaclaw_reaches.jpg http://www.wizards.com/global/images/magic/general/lavaclaw_reaches.jpg
|
||||
tormods_crypt.jpg http://www.wizards.com/global/images/magic/general/tormods_crypt.jpg
|
||||
sword_of_light_and_shadow.jpg http://www.wizards.com/global/images/magic/general/sword_of_light_and_shadow.jpg
|
||||
sword_of_fire_and_ice.jpg http://www.wizards.com/global/images/magic/general/sword_of_fire_and_ice.jpg
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
Lavaclaw Reaches
|
||||
no cost
|
||||
Land
|
||||
Comes into play tapped.
|
||||
tap: add B
|
||||
tap: add R
|
||||
|
||||
Tormod's Crypt
|
||||
0
|
||||
Artifact
|
||||
|
||||
@@ -4,6 +4,8 @@ package forge;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
|
||||
class CardFactory_Lands {
|
||||
|
||||
@@ -2722,6 +2724,118 @@ class CardFactory_Lands {
|
||||
a1.setDescription("3 W U: Until end of turn, Celestial Colonnade becomes a 4/4 white and blue Elemental creature with flying and vigilance. It's still a land.");
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Lavaclaw Reaches")) {
|
||||
final SpellAbility X_ability = new Ability(card, "0") {
|
||||
@Override
|
||||
public boolean canPlayAI() {
|
||||
PlayerZone opponentPlayZone = AllZone.getZone(Constant.Zone.Play, "Human");
|
||||
CardList opponentCreatureList = new CardList(opponentPlayZone.getCards());
|
||||
opponentCreatureList = opponentCreatureList.getType("Creature");
|
||||
int n = ComputerUtil.getAvailableMana().size() - 1;
|
||||
if(n > 0) setManaCost(n + "");
|
||||
return (n > 0 && opponentCreatureList.size() == 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
final Card c = card;
|
||||
for(int i = 0; i < Integer.parseInt(getManaCost()); i++) {
|
||||
c.addTempAttackBoost(1);
|
||||
}
|
||||
c.updateObservers();
|
||||
|
||||
Command untilEOT = new Command() {
|
||||
private static final long serialVersionUID = -28032591440730370L;
|
||||
|
||||
public void execute() {
|
||||
for(int i = 0; i < Integer.parseInt(getManaCost()); i++) {
|
||||
c.addTempAttackBoost(-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
AllZone.EndOfTurn.addUntil(untilEOT);
|
||||
}//resolve()
|
||||
};//SpellAbility
|
||||
|
||||
X_ability.setBeforePayMana(new Input()
|
||||
{
|
||||
private static final long serialVersionUID = 437814522686732L;
|
||||
|
||||
public void showMessage()
|
||||
{
|
||||
String s = JOptionPane.showInputDialog("What would you like X to be?");
|
||||
try {
|
||||
Integer.parseInt(s);
|
||||
X_ability.setManaCost(s);
|
||||
stopSetNext(new Input_PayManaCost(X_ability));
|
||||
}
|
||||
catch(NumberFormatException e){
|
||||
AllZone.Display.showMessage("\"" + s + "\" is not a number.");
|
||||
showMessage();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
final Command eot1 = new Command() {
|
||||
private static final long serialVersionUID = -132950142223575L;
|
||||
|
||||
public void execute() {
|
||||
Card c = card;
|
||||
c.removeType("Creature");
|
||||
c.removeType("Elemental");
|
||||
c.removeSpellAbility(X_ability);
|
||||
c.setManaCost("");
|
||||
c.setBaseAttack(0);
|
||||
c.setBaseDefense(0);
|
||||
}
|
||||
};
|
||||
|
||||
final SpellAbility a1 = new Ability(card, "1 B R") {
|
||||
@Override
|
||||
public boolean canPlayAI() {
|
||||
return (!card.hasSickness() && !card.getType().contains("Creature"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
Card c = card;
|
||||
|
||||
c.setBaseAttack(2);
|
||||
c.setBaseDefense(2);
|
||||
c.setManaCost("B R");
|
||||
|
||||
//to prevent like duplication like "Creature Creature"
|
||||
if(!c.getType().contains("Creature")) c.addType("Creature");
|
||||
if(!c.getType().contains("Elemental")) c.addType("Elemental");
|
||||
|
||||
card.removeSpellAbility(X_ability);
|
||||
X_ability.setDescription("X: This creature gets +X/+0 until end of turn.");
|
||||
X_ability.setStackDescription("X: This creature gets +X/+0 until end of turn.");
|
||||
card.addSpellAbility(X_ability);
|
||||
|
||||
|
||||
AllZone.EndOfTurn.addUntil(eot1);
|
||||
}
|
||||
|
||||
};//SpellAbility
|
||||
final Command comesIntoPlay = new Command() {
|
||||
private static final long serialVersionUID = 4245563898487609274L;
|
||||
|
||||
public void execute() {
|
||||
// Comes into tapped Keyword gets removed, so this this command does the tapping. Keyword is still required for things like Amulet of Vigor (Not tested)
|
||||
card.tap();
|
||||
}
|
||||
};
|
||||
|
||||
card.clearSpellKeepManaAbility();
|
||||
card.addSpellAbility(a1);
|
||||
card.addComesIntoPlayCommand(comesIntoPlay);
|
||||
a1.setStackDescription(card
|
||||
+ " - until end of turn, Lavaclaw Reaches becomes a 2/2 black and red Elemental creature with {X}: This creature gets +X/+0 until end of turn.");
|
||||
a1.setDescription("1 B R: Until end of turn, Lavaclaw Reaches becomes a 2/2 black and red Elemental creature with {X}: This creature gets +X/+0 until end of turn. It's still a land.");
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Stirring Wildwood")) {
|
||||
final Command eot1 = new Command() {
|
||||
|
||||
Reference in New Issue
Block a user