mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +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_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_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
|
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
|
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_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
|
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
|
Tormod's Crypt
|
||||||
0
|
0
|
||||||
Artifact
|
Artifact
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ package forge;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
|
|
||||||
class CardFactory_Lands {
|
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.");
|
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 **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Stirring Wildwood")) {
|
else if(cardName.equals("Stirring Wildwood")) {
|
||||||
final Command eot1 = new Command() {
|
final Command eot1 = new Command() {
|
||||||
|
|||||||
Reference in New Issue
Block a user