mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Cleanup
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
Name:Berserk
|
||||
ManaCost:G
|
||||
Types:Instant
|
||||
A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the next end step, destroy CARDNAME if it attacked this turn. | ActivationPhases$ Upkeep,Draw,Main1,BeginCombat,Declare Attackers,Declare Blockers | References$ X | SpellDescription$ Cast CARDNAME only before the combat damage step. Target creature gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn.
|
||||
A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the next end step, destroy CARDNAME if it attacked this turn. | ActivationPhases$ Upkeep->Declare Blockers | References$ X | SpellDescription$ Cast CARDNAME only before the combat damage step. Target creature gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn.
|
||||
SVar:X:Targeted$CardPower
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/berserk.jpg
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Waylay
|
||||
ManaCost:2 W
|
||||
Types:Instant
|
||||
A:SP$ Token | Cost$ 2 W | TokenAmount$ 3 | TokenName$ Knight | TokenTypes$ Creature,Knight | TokenOwner$ You | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ At the beginning of the end step, exile CARDNAME. | SpellDescription$ Put three 2/2 white Knight creature tokens onto the battlefield. Exile them at the beginning of the next cleanup step.
|
||||
A:SP$ Token | Cost$ 2 W | TokenAmount$ 3 | TokenName$ Knight | TokenTypes$ Creature,Knight | TokenOwner$ You | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | TokenHiddenKeywords$ At the beginning of the end step, exile CARDNAME. | SpellDescription$ Put three 2/2 white Knight creature tokens onto the battlefield. Exile them at the beginning of the next cleanup step.
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/waylay.jpg
|
||||
Oracle:Put three 2/2 white Knight creature tokens onto the battlefield. Exile them at the beginning of the next cleanup step.
|
||||
@@ -72,115 +72,6 @@ import forge.util.TextUtil;
|
||||
*/
|
||||
public final class GameActionUtil {
|
||||
|
||||
// public static final class CascadeAbility extends Ability {
|
||||
// private final Player controller;
|
||||
// private final Card cascCard;
|
||||
//
|
||||
// /**
|
||||
// * TODO: Write javadoc for Constructor.
|
||||
// * @param sourceCard
|
||||
// * @param manaCost
|
||||
// * @param controller
|
||||
// * @param cascCard
|
||||
// */
|
||||
// private CascadeAbility(Card sourceCard, ManaCost manaCost, Player controller, Card cascCard) {
|
||||
// super(sourceCard, manaCost);
|
||||
// this.controller = controller;
|
||||
// this.cascCard = cascCard;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void resolve() {
|
||||
// final Game game =controller.getGame();
|
||||
// final List<Card> topOfLibrary = controller.getCardsIn(ZoneType.Library);
|
||||
// final List<Card> revealed = new ArrayList<Card>();
|
||||
//
|
||||
// if (topOfLibrary.size() == 0) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// Card cascadedCard = null;
|
||||
// Card crd;
|
||||
// int count = 0;
|
||||
// while (cascadedCard == null) {
|
||||
// crd = topOfLibrary.get(count++);
|
||||
// revealed.add(crd);
|
||||
// if ((!crd.isLand() && (crd.getManaCost().getCMC() < cascCard.getManaCost().getCMC()))) {
|
||||
// cascadedCard = crd;
|
||||
// }
|
||||
//
|
||||
// if (count == topOfLibrary.size()) {
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// } // while
|
||||
//
|
||||
// game.getAction().reveal("Revealed Cascade Cards:", revealed, ZoneType.Library, controller, false);
|
||||
//
|
||||
// if (cascadedCard != null) {
|
||||
// Player p = cascadedCard.getController();
|
||||
// // returns boolean, but spell resolution stays inside the method anyway (for now)
|
||||
// if ( p.getController().playCascade(cascadedCard, cascCard) )
|
||||
// revealed.remove(cascadedCard);
|
||||
// }
|
||||
// CardLists.shuffle(revealed);
|
||||
// for (final Card bottom : revealed) {
|
||||
// game.getAction().moveToBottomOfLibrary(bottom);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// public static final class CascadeExecutor implements Command {
|
||||
// private final Card c;
|
||||
// private final Game game;
|
||||
// private final Player controller;
|
||||
//
|
||||
// private static final long serialVersionUID = -845154812215847505L;
|
||||
//
|
||||
// /**
|
||||
// * TODO: Write javadoc for Constructor.
|
||||
// * @param controller
|
||||
// * @param c
|
||||
// */
|
||||
// public CascadeExecutor(Player controller, Card c, final Game game) {
|
||||
// this.controller = controller;
|
||||
// this.c = c;
|
||||
// this.game = game;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void run() {
|
||||
// if (!c.isCopiedSpell()) {
|
||||
// final List<Card> maelstromNexii = CardLists.filter(controller.getGame().getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Maelstrom Nexus"));
|
||||
//
|
||||
// for (final Card nexus : maelstromNexii) {
|
||||
// if (CardUtil.getThisTurnCast("Card.YouCtrl", nexus).size() == 1) {
|
||||
// this.doCascade(c, controller);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (String keyword : c.getKeyword()) {
|
||||
// if (keyword.equals("Cascade")) {
|
||||
// this.doCascade(c, controller);
|
||||
// }
|
||||
// }
|
||||
// } // execute()
|
||||
//
|
||||
// void doCascade(final Card c, final Player controller) {
|
||||
// final Card cascCard = c;
|
||||
//
|
||||
// final Ability ability = new CascadeAbility(c, ManaCost.ZERO, controller, cascCard);
|
||||
// final StringBuilder sb = new StringBuilder();
|
||||
// sb.append(c).append(" - Cascade.");
|
||||
// ability.setStackDescription(sb.toString());
|
||||
// ability.setActivatingPlayer(controller);
|
||||
//
|
||||
// game.getStack().addSimultaneousStackEntry(ability);
|
||||
//
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
|
||||
@@ -59,7 +59,7 @@ public class EndOfTurn extends Phase {
|
||||
for (final Card c : game.getCardsIn(ZoneType.Battlefield)) {
|
||||
if (!c.isFaceDown() && c.hasKeyword("At the beginning of the end step, sacrifice CARDNAME.")) {
|
||||
final Card card = c;
|
||||
String sb = "At the beginning of the end step, sacrifice CARDNAME.";
|
||||
String sb = "Sacrifice CARDNAME.";
|
||||
String effect = "AB$ Sacrifice | Cost$ 0 | SacValid$ Self";
|
||||
|
||||
SpellAbility ability = AbilityFactory.getAbility(effect, card);
|
||||
|
||||
@@ -95,7 +95,6 @@ public abstract class PlayerController {
|
||||
* @param c
|
||||
*/
|
||||
//public abstract void playFromSuspend(Card c);
|
||||
//public abstract boolean playCascade(Card cascadedCard, Card sourceCard);
|
||||
public abstract void playSpellAbilityForFree(SpellAbility copySA, boolean mayChoseNewTargets);
|
||||
public abstract void playSpellAbilityNoStack(SpellAbility effectSA, boolean mayChoseNewTargets);
|
||||
|
||||
|
||||
@@ -80,15 +80,6 @@ public class PlayerControllerAi extends PlayerController {
|
||||
getAi().chooseAndPlaySa(choices, true, true);
|
||||
}**/
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.game.player.PlayerController#playCascade(java.util.List, forge.Card)
|
||||
*/
|
||||
/*@Override
|
||||
public boolean playCascade(Card cascadedCard, Card source) {
|
||||
final List<SpellAbility> choices = cascadedCard.getBasicSpells();
|
||||
return null != getAi().chooseAndPlaySa(choices, false, true);
|
||||
}*/
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this method.
|
||||
* @return
|
||||
|
||||
@@ -97,24 +97,6 @@ public class PlayerControllerHuman extends PlayerController {
|
||||
HumanPlay.playCardWithoutPayingManaCost(player, c);
|
||||
}**/
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.game.player.PlayerController#playCascade(java.util.List, forge.Card)
|
||||
*/
|
||||
/*@Override
|
||||
public boolean playCascade(Card cascadedCard, Card sourceCard) {
|
||||
|
||||
final StringBuilder title = new StringBuilder();
|
||||
title.append(sourceCard.getName()).append(" - Cascade Ability");
|
||||
final StringBuilder question = new StringBuilder();
|
||||
question.append("Cast ").append(cascadedCard.getName());
|
||||
question.append(" without paying its mana cost?");
|
||||
|
||||
|
||||
boolean result = GuiDialog.confirm(cascadedCard, question.toString());
|
||||
if ( result )
|
||||
HumanPlay.playCardWithoutPayingManaCost(player, cascadedCard);
|
||||
return result;
|
||||
}*/
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.game.player.PlayerController#mayPlaySpellAbilityForFree(forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -483,9 +483,6 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
|
||||
if (sp.isSpell() && !sp.isCopied()) {
|
||||
this.thisTurnCast.add(sp.getSourceCard());
|
||||
|
||||
/*final Game game = sp.getActivatingPlayer().getGame();
|
||||
final Command cascade = new CascadeExecutor(sp.getActivatingPlayer(), sp.getSourceCard(), game);
|
||||
cascade.run();*/
|
||||
final Command ripple = new RippleExecutor(sp.getActivatingPlayer(), sp.getSourceCard());
|
||||
ripple.run();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user