diff --git a/res/cardsfolder/e/eldrazi_monument.txt b/res/cardsfolder/e/eldrazi_monument.txt index 10cc8ba232a..d7ee7ce31b7 100644 --- a/res/cardsfolder/e/eldrazi_monument.txt +++ b/res/cardsfolder/e/eldrazi_monument.txt @@ -1,10 +1,16 @@ Name:Eldrazi Monument ManaCost:5 Types:Artifact -Text:At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice Eldrazi Monument. +Text:no text +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice CARDNAME. +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature | SubAbility$ DBSacSelf | RememberSacrificed$ True +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$Amount S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Flying | AddHiddenKeyword$ HIDDEN Indestructible | Description$ Creatures you control get +1/+1, have flying, and are indestructible. SVar:PlayMain1:TRUE -SVar:RemAIDeck:True +SVar:NeedsToPlayVar:Y GE3 +SVar:Y:Count$Valid Creature.YouCtrl SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/eldrazi_monument.jpg SetInfo:ZEN|Mythic|http://magiccards.info/scans/en/zen/199.jpg diff --git a/res/cardsfolder/m/masticore.txt b/res/cardsfolder/m/masticore.txt index 089a412fd97..fc5767d5b1b 100644 --- a/res/cardsfolder/m/masticore.txt +++ b/res/cardsfolder/m/masticore.txt @@ -1,8 +1,13 @@ Name:Masticore ManaCost:4 Types:Artifact Creature Masticore -Text:At the beginning of your upkeep, sacrifice Masticore unless you discard a card. +Text:no text PT:4/4 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. +SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$Amount A:AB$ Regenerate | Cost$ 2 | SpellDescription$ Regenerate CARDNAME. A:AB$ DealDamage | Cost$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature. SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/molten_tail_masticore.txt b/res/cardsfolder/m/molten_tail_masticore.txt index d718b93b9b6..2d3206e8d5d 100644 --- a/res/cardsfolder/m/molten_tail_masticore.txt +++ b/res/cardsfolder/m/molten_tail_masticore.txt @@ -1,10 +1,16 @@ Name:Molten-Tail Masticore ManaCost:4 Types:Artifact Creature Masticore -Text:At the beginning of your upkeep, sacrifice Molten-Tail Masticore unless you discard a card. +Text:no text PT:4/4 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. +SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$Amount A:AB$DealDamage | Cost$ 4 ExileFromGrave<1/Creature> | NumDmg$ 4 | Tgt$ TgtCP | SpellDescription$ CARDNAME deals 4 damage to target creature or player. A:AB$Regenerate | Cost$ 2 | SpellDescription$ Regenerate CARDNAME. +SVar:RemAIDeck:True SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/molten_tail_masticore.jpg SetInfo:SOM|Mythic|http://magiccards.info/scans/en/som/177.jpg diff --git a/res/cardsfolder/r/razormane_masticore.txt b/res/cardsfolder/r/razormane_masticore.txt index 99f6dca6a91..4c149140cac 100644 --- a/res/cardsfolder/r/razormane_masticore.txt +++ b/res/cardsfolder/r/razormane_masticore.txt @@ -1,11 +1,17 @@ Name:Razormane Masticore ManaCost:5 Types:Artifact Creature Masticore -Text:At the beginning of your upkeep, sacrifice Razormane Masticore unless you discard a card. +Text:no text PT:5/5 K:First Strike +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. +SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$Amount T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | OptionalDecider$ You | Execute$ TrigDealDamage | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your draw step, you may have CARDNAME deal 3 damage to target creature. SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ 3 +SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/razormane_masticore.jpg SetInfo:5DN|Rare|http://magiccards.info/scans/en/5dn/146.jpg diff --git a/src/main/java/forge/Upkeep.java b/src/main/java/forge/Upkeep.java index 70bbb781e46..52cd434133c 100644 --- a/src/main/java/forge/Upkeep.java +++ b/src/main/java/forge/Upkeep.java @@ -95,8 +95,6 @@ public class Upkeep extends Phase implements java.io.Serializable { Upkeep.upkeepSuspend(); Upkeep.upkeepVanishing(); Upkeep.upkeepFading(); - Upkeep.upkeepMasticore(); - Upkeep.upkeepEldraziMonument(); Upkeep.upkeepBlazeCounters(); Upkeep.upkeepCurseOfMisfortunes(); // upkeep_Dark_Confidant(); // keep this one semi-last @@ -2421,125 +2419,6 @@ public class Upkeep extends Phase implements java.io.Serializable { } // foreach(wire) } // upkeepTangleWire() - /** - *
- * upkeepMasticore. - *
- */ - private static void upkeepMasticore() { - final Player player = AllZone.getPhaseHandler().getPlayerTurn(); - - final CardList list = player.getCardsIn(Zone.Battlefield, "Masticore"); - list.addAll(player.getCardsIn(Zone.Battlefield, "Molten-Tail Masticore")); - list.addAll(player.getCardsIn(Zone.Battlefield, "Razormane Masticore")); - - Ability ability; - for (int i = 0; i < list.size(); i++) { - final Card crd = list.get(i); - - final Input discard = new Input() { - private static final long serialVersionUID = 2252076866782738069L; - - @Override - public void showMessage() { - Singletons.getControl().getControlMatch().showMessage(crd + " - Discard a card from your hand"); - ButtonUtil.enableOnlyCancel(); - } - - @Override - public void selectCard(final Card c, final PlayerZone zone) { - if (zone.is(Constant.Zone.Hand)) { - c.getController().discard(c, null); - this.stop(); - } - } - - @Override - public void selectButtonCancel() { - Singletons.getModel().getGameAction().sacrifice(crd); - this.stop(); - } - }; // Input - - ability = new Ability(crd, "0") { - @Override - public void resolve() { - if (crd.getController().isHuman()) { - if (AllZone.getHumanPlayer().getZone(Zone.Hand).size() == 0) { - Singletons.getModel().getGameAction().sacrifice(crd); - } else { - AllZone.getInputControl().setInput(discard); - } - } else { // comp - final CardList list = AllZone.getComputerPlayer().getCardsIn(Zone.Hand); - - if (list.size() != 0) { - list.get(0).getController().discard(list.get(0), this); - } else { - Singletons.getModel().getGameAction().sacrifice(crd); - } - } // else - } // resolve() - }; // Ability - - final StringBuilder sb = new StringBuilder(); - sb.append(crd).append(" - sacrifice ").append(crd).append(" unless you discard a card."); - ability.setStackDescription(sb.toString()); - ability.setDescription(sb.toString()); - - AllZone.getStack().addSimultaneousStackEntry(ability); - - } // for - } // upkeepMasticore - - /** - *- * upkeepEldraziMonument. - *
- */ - private static void upkeepEldraziMonument() { - final Player player = AllZone.getPhaseHandler().getPlayerTurn(); - - final CardList list = player.getCardsIn(Zone.Battlefield, "Eldrazi Monument"); - - Ability ability; - for (int i = 0; i < list.size(); i++) { - final Card card = list.get(i); - ability = new Ability(list.get(i), "0") { - @Override - public void resolve() { - final CardList creats = AllZoneUtil.getCreaturesInPlay(player); - - if (creats.size() < 1) { - Singletons.getModel().getGameAction().sacrifice(card); - return; - } - - if (player.isHuman()) { - final Object o = GuiUtils.getChoiceOptional("Select creature to sacrifice", creats.toArray()); - Card sac = (Card) o; - if (sac == null) { - creats.shuffle(); - sac = creats.get(0); - } - Singletons.getModel().getGameAction().sacrifice(sac); - } else { // computer - CardListUtil.sortAttackLowFirst(creats); - Singletons.getModel().getGameAction().sacrifice(creats.get(0)); - } - } - }; // ability - - final StringBuilder sb = new StringBuilder(); - sb.append("Eldrazi Monument - ").append(player).append(" sacrifices a creature."); - ability.setStackDescription(sb.toString()); - - AllZone.getStack().addSimultaneousStackEntry(ability); - - } - - } // upkeepEldraziMonument - /** ** upkeepBlazeCounters.