mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
1) Added Valakut, the Molten Pinnacle, and Expedition Map.
2) Tweaked the land-searching functions to reuse code for Expedition Map. 3) Initial fix for the human player for Cascade and Burst Lightning. A larger-scope fix including all Kicker cards, Buyback cards, and the AI will be added later.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
package forge;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -18121,8 +18121,6 @@ public class CardFactory implements NewConstants {
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
|
||||
PlayerZone removed = AllZone.getZone(Constant.Zone.Removed_From_Play, card.getController());
|
||||
|
||||
if(getTargetCard() != null) {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
@@ -18132,12 +18130,12 @@ public class CardFactory implements NewConstants {
|
||||
}
|
||||
} else AllZone.GameAction.getPlayerLife(getTargetPlayer()).subtractLife(damage);
|
||||
|
||||
grave.remove(card);
|
||||
removed.add(card);
|
||||
|
||||
card.setKicked(true);
|
||||
}
|
||||
};//flashback
|
||||
kicker.setManaCost("4 R");
|
||||
kicker.setManaCost("R 4");
|
||||
kicker.setAdditionalManaCost("4");
|
||||
kicker.setKickerAbility(true);
|
||||
kicker.setBeforePayMana(CardFactoryUtil.input_targetCreaturePlayer(kicker, true, false));
|
||||
kicker.setDescription("Kicker: 4");
|
||||
|
||||
@@ -19840,6 +19838,31 @@ public class CardFactory implements NewConstants {
|
||||
};//Input
|
||||
spell.setBeforePayMana(target);
|
||||
}//*************** END ************ END **************************
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Expedition Map")) {
|
||||
final Ability_Tap ability = new Ability_Tap(card, "2") {
|
||||
|
||||
private static final long serialVersionUID = -5796728507926918991L;
|
||||
|
||||
@Override
|
||||
public boolean canPlayAI() {
|
||||
return AllZoneUtil.getPlayerTypeInLibrary(Constant.Player.Computer,
|
||||
"Land").size() >= 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
AllZone.GameAction.searchLibraryLand("Land",
|
||||
card.getController(), Constant.Zone.Hand, false);
|
||||
AllZone.GameAction.sacrifice(card);
|
||||
}
|
||||
};//ability
|
||||
|
||||
ability.setDescription("2, tap, sacrifice Expedition Map: Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library.");
|
||||
ability.setStackDescription("Sacrifice Expedition Map: search your library for a land and put it into your hand.");
|
||||
ability.setManaCost("2");
|
||||
card.addSpellAbility(ability);
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Recall")) {
|
||||
|
||||
Reference in New Issue
Block a user