mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
- Conversion of the Masticores and Eldrazi Monument to script by squee1968.
This commit is contained in:
@@ -1,10 +1,16 @@
|
|||||||
Name:Eldrazi Monument
|
Name:Eldrazi Monument
|
||||||
ManaCost:5
|
ManaCost:5
|
||||||
Types:Artifact
|
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.
|
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:PlayMain1:TRUE
|
||||||
SVar:RemAIDeck:True
|
SVar:NeedsToPlayVar:Y GE3
|
||||||
|
SVar:Y:Count$Valid Creature.YouCtrl
|
||||||
SVar:Rarity:Mythic
|
SVar:Rarity:Mythic
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/eldrazi_monument.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/eldrazi_monument.jpg
|
||||||
SetInfo:ZEN|Mythic|http://magiccards.info/scans/en/zen/199.jpg
|
SetInfo:ZEN|Mythic|http://magiccards.info/scans/en/zen/199.jpg
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
Name:Masticore
|
Name:Masticore
|
||||||
ManaCost:4
|
ManaCost:4
|
||||||
Types:Artifact Creature Masticore
|
Types:Artifact Creature Masticore
|
||||||
Text:At the beginning of your upkeep, sacrifice Masticore unless you discard a card.
|
Text:no text
|
||||||
PT:4/4
|
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$ 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.
|
A:AB$ DealDamage | Cost$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature.
|
||||||
SVar:RemAIDeck:True
|
SVar:RemAIDeck:True
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
Name:Molten-Tail Masticore
|
Name:Molten-Tail Masticore
|
||||||
ManaCost:4
|
ManaCost:4
|
||||||
Types:Artifact Creature Masticore
|
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
|
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$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.
|
A:AB$Regenerate | Cost$ 2 | SpellDescription$ Regenerate CARDNAME.
|
||||||
|
SVar:RemAIDeck:True
|
||||||
SVar:Rarity:Mythic
|
SVar:Rarity:Mythic
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/molten_tail_masticore.jpg
|
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
|
SetInfo:SOM|Mythic|http://magiccards.info/scans/en/som/177.jpg
|
||||||
|
|||||||
@@ -1,11 +1,17 @@
|
|||||||
Name:Razormane Masticore
|
Name:Razormane Masticore
|
||||||
ManaCost:5
|
ManaCost:5
|
||||||
Types:Artifact Creature Masticore
|
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
|
PT:5/5
|
||||||
K:First Strike
|
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.
|
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:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ 3
|
||||||
|
SVar:RemAIDeck:True
|
||||||
SVar:Rarity:Rare
|
SVar:Rarity:Rare
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/razormane_masticore.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/razormane_masticore.jpg
|
||||||
SetInfo:5DN|Rare|http://magiccards.info/scans/en/5dn/146.jpg
|
SetInfo:5DN|Rare|http://magiccards.info/scans/en/5dn/146.jpg
|
||||||
|
|||||||
@@ -95,8 +95,6 @@ public class Upkeep extends Phase implements java.io.Serializable {
|
|||||||
Upkeep.upkeepSuspend();
|
Upkeep.upkeepSuspend();
|
||||||
Upkeep.upkeepVanishing();
|
Upkeep.upkeepVanishing();
|
||||||
Upkeep.upkeepFading();
|
Upkeep.upkeepFading();
|
||||||
Upkeep.upkeepMasticore();
|
|
||||||
Upkeep.upkeepEldraziMonument();
|
|
||||||
Upkeep.upkeepBlazeCounters();
|
Upkeep.upkeepBlazeCounters();
|
||||||
Upkeep.upkeepCurseOfMisfortunes();
|
Upkeep.upkeepCurseOfMisfortunes();
|
||||||
// upkeep_Dark_Confidant(); // keep this one semi-last
|
// upkeep_Dark_Confidant(); // keep this one semi-last
|
||||||
@@ -2421,125 +2419,6 @@ public class Upkeep extends Phase implements java.io.Serializable {
|
|||||||
} // foreach(wire)
|
} // foreach(wire)
|
||||||
} // upkeepTangleWire()
|
} // 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>
|
* <p>
|
||||||
* upkeepBlazeCounters.
|
* upkeepBlazeCounters.
|
||||||
|
|||||||
Reference in New Issue
Block a user