- Conversion of the Masticores and Eldrazi Monument to script by squee1968.

This commit is contained in:
Sloth
2012-02-20 19:05:13 +00:00
parent 779dedbb99
commit cd2fca49c9
5 changed files with 28 additions and 126 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()
/**
* <p>
* upkeepMasticore.
* </p>
*/
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
/**
* <p>
* upkeepEldraziMonument.
* </p>
*/
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
/**
* <p>
* upkeepBlazeCounters.