mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
add Last Stand (from Ravinica: City of Guilds)
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -2208,6 +2208,7 @@ res/cardsfolder/last_breath.txt -text svneol=native#text/plain
|
|||||||
res/cardsfolder/last_caress.txt -text svneol=native#text/plain
|
res/cardsfolder/last_caress.txt -text svneol=native#text/plain
|
||||||
res/cardsfolder/last_gasp.txt -text svneol=native#text/plain
|
res/cardsfolder/last_gasp.txt -text svneol=native#text/plain
|
||||||
res/cardsfolder/last_kiss.txt -text svneol=native#text/plain
|
res/cardsfolder/last_kiss.txt -text svneol=native#text/plain
|
||||||
|
res/cardsfolder/last_stand.txt -text svneol=native#text/plain
|
||||||
res/cardsfolder/last_word.txt -text svneol=native#text/plain
|
res/cardsfolder/last_word.txt -text svneol=native#text/plain
|
||||||
res/cardsfolder/launch.txt -text svneol=native#text/plain
|
res/cardsfolder/launch.txt -text svneol=native#text/plain
|
||||||
res/cardsfolder/lava_axe.txt -text svneol=native#text/plain
|
res/cardsfolder/lava_axe.txt -text svneol=native#text/plain
|
||||||
|
|||||||
8
res/cardsfolder/last_stand.txt
Normal file
8
res/cardsfolder/last_stand.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Last Stand
|
||||||
|
ManaCost:W U B R G
|
||||||
|
Types:Sorcery
|
||||||
|
Text:Target opponent loses 2 life for each Swamp you control. Last Stand deals damage equal to the number of Mountains you control to target creature. Put a 1/1 green Saproling creature token onto the battlefield for each Forest you control. You gain 2 life for each Plains you control. Draw a card for each Island you control, then discard that many cards.
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:Rarity:Rare
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/last_stand.jpg
|
||||||
|
End
|
||||||
@@ -8261,6 +8261,68 @@ public class CardFactory_Sorceries {
|
|||||||
card.addSpellAbility(spell);
|
card.addSpellAbility(spell);
|
||||||
}// *************** END ************ END **************************
|
}// *************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Last Stand")) {
|
||||||
|
/*
|
||||||
|
* Target opponent loses 2 life for each Swamp you control.
|
||||||
|
* Last Stand deals damage equal to the number of Mountains
|
||||||
|
* you control to target creature.
|
||||||
|
* Put a 1/1 green Saproling creature token onto the battlefield
|
||||||
|
* for each Forest you control.
|
||||||
|
* You gain 2 life for each Plains you control.
|
||||||
|
* Draw a card for each Island you control, then discard that many cards.
|
||||||
|
*/
|
||||||
|
final SpellAbility spell = new Spell(card) {
|
||||||
|
private static final long serialVersionUID = 4475834103787262421L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
String player = card.getController();
|
||||||
|
String opp = AllZone.GameAction.getOpponent(player);
|
||||||
|
int numSwamps = AllZoneUtil.getPlayerTypeInPlay(player, "Swamp").size();
|
||||||
|
int numMountains = AllZoneUtil.getPlayerTypeInPlay(player, "Mountain").size();
|
||||||
|
int numForests = AllZoneUtil.getPlayerTypeInPlay(player, "Forest").size();
|
||||||
|
int numPlains = AllZoneUtil.getPlayerTypeInPlay(player, "Plains").size();
|
||||||
|
int numIslands = AllZoneUtil.getPlayerTypeInPlay(player, "Island").size();
|
||||||
|
|
||||||
|
//swamps
|
||||||
|
AllZone.GameAction.loseLife(opp, 2*numSwamps);
|
||||||
|
|
||||||
|
//mountain
|
||||||
|
AllZone.GameAction.addDamage(getTargetCard(), card, numMountains);
|
||||||
|
|
||||||
|
//forest
|
||||||
|
for(int i = 0; i < numForests; i++)
|
||||||
|
CardFactoryUtil.makeToken("Saproling", "G 1 1 Saproling", player, "G",
|
||||||
|
new String[] {"Creature", "Saproling"}, 1, 1, new String[] {""});
|
||||||
|
|
||||||
|
//plains
|
||||||
|
AllZone.GameAction.gainLife(player, 2*numPlains);
|
||||||
|
|
||||||
|
//islands
|
||||||
|
int max = Math.min(numIslands, AllZoneUtil.getPlayerCardsInLibrary(player).size());
|
||||||
|
if(max > 0) {
|
||||||
|
AllZone.GameAction.drawCards(player, max);
|
||||||
|
if(player.equals(Constant.Player.Human)) {
|
||||||
|
AllZone.InputControl.setInput(CardFactoryUtil.input_discard(max, this));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
AllZone.GameAction.discardRandom(Constant.Player.Computer, max, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}//resolve()
|
||||||
|
};//SpellAbility
|
||||||
|
|
||||||
|
card.clearSpellAbility();
|
||||||
|
card.addSpellAbility(spell);
|
||||||
|
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
// -1 means keyword "Cycling" not found
|
// -1 means keyword "Cycling" not found
|
||||||
if(hasKeyword(card, "Cycling") != -1) {
|
if(hasKeyword(card, "Cycling") != -1) {
|
||||||
int n = hasKeyword(card, "Cycling");
|
int n = hasKeyword(card, "Cycling");
|
||||||
|
|||||||
Reference in New Issue
Block a user