mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-12 16:58:57 +00:00
Support for Zygon Infiltrator (#3937)
* Support for Zygon Infiltrator * 614.13a * Fix filename * Clean up * Account for Chains of Mephistopheles --------- Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.60>
This commit is contained in:
@@ -198,13 +198,13 @@ public abstract class SpellAbilityEffect {
|
|||||||
protected final static CardCollection getDefinedCardsOrTargeted(final SpellAbility sa, final String definedParam) { return getCards(true, definedParam, sa); }
|
protected final static CardCollection getDefinedCardsOrTargeted(final SpellAbility sa, final String definedParam) { return getCards(true, definedParam, sa); }
|
||||||
|
|
||||||
private static CardCollection getCards(final boolean definedFirst, final String definedParam, final SpellAbility sa) {
|
private static CardCollection getCards(final boolean definedFirst, final String definedParam, final SpellAbility sa) {
|
||||||
final boolean useTargets = sa.usesTargeting() && (!definedFirst || !sa.hasParam(definedParam));
|
|
||||||
if (sa.hasParam("ThisDefinedAndTgts")) {
|
if (sa.hasParam("ThisDefinedAndTgts")) {
|
||||||
CardCollection cards =
|
CardCollection cards =
|
||||||
AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam("ThisDefinedAndTgts"), sa);
|
AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam("ThisDefinedAndTgts"), sa);
|
||||||
cards.addAll(sa.getTargets().getTargetCards());
|
cards.addAll(sa.getTargets().getTargetCards());
|
||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
|
final boolean useTargets = sa.usesTargeting() && (!definedFirst || !sa.hasParam(definedParam));
|
||||||
return useTargets ? new CardCollection(sa.getTargets().getTargetCards())
|
return useTargets ? new CardCollection(sa.getTargets().getTargetCards())
|
||||||
: AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam(definedParam), sa);
|
: AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam(definedParam), sa);
|
||||||
}
|
}
|
||||||
@@ -855,6 +855,10 @@ public abstract class SpellAbilityEffect {
|
|||||||
} else if ("UntilUntaps".equals(duration)) {
|
} else if ("UntilUntaps".equals(duration)) {
|
||||||
host.addLeavesPlayCommand(until);
|
host.addLeavesPlayCommand(until);
|
||||||
host.addUntapCommand(until);
|
host.addUntapCommand(until);
|
||||||
|
} else if ("UntilTargetedUntaps".equals(duration)) {
|
||||||
|
Card tgt = sa.getSATargetingCard().getTargetCard();
|
||||||
|
tgt.addLeavesPlayCommand(until);
|
||||||
|
tgt.addUntapCommand(until);
|
||||||
} else if ("UntilUnattached".equals(duration)) {
|
} else if ("UntilUnattached".equals(duration)) {
|
||||||
host.addLeavesPlayCommand(until); //if it leaves play, it's unattached
|
host.addLeavesPlayCommand(until); //if it leaves play, it's unattached
|
||||||
host.addUnattachCommand(until);
|
host.addUnattachCommand(until);
|
||||||
|
|||||||
@@ -136,6 +136,10 @@ public class CloneEffect extends SpellAbilityEffect {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ("UntilTargetedUntaps".equals(sa.getParam("Duration")) && !cardToCopy.isTapped()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final Long ts = game.getNextTimestamp();
|
final Long ts = game.getNextTimestamp();
|
||||||
tgtCard.addCloneState(CardFactory.getCloneStates(cardToCopy, tgtCard, sa), ts);
|
tgtCard.addCloneState(CardFactory.getCloneStates(cardToCopy, tgtCard, sa), ts);
|
||||||
|
|
||||||
|
|||||||
@@ -1652,11 +1652,16 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CardCollection milled = getTopXCardsFromLibrary(n);
|
CardCollectionView milledView = getCardsIn(ZoneType.Library);
|
||||||
CardCollectionView milledView = milled;
|
// 614.13c
|
||||||
|
if (sa.getRootAbility().getReplacingObject(AbilityKey.SimultaneousETB) != null) {
|
||||||
|
Iterables.removeAll(milledView, (CardCollection) sa.getRootAbility().getReplacingObject(AbilityKey.SimultaneousETB));
|
||||||
|
}
|
||||||
|
CardCollection milled = new CardCollection(Iterables.limit(milledView, n));
|
||||||
|
milledView = milled;
|
||||||
|
|
||||||
if (destination == ZoneType.Graveyard) {
|
if (destination == ZoneType.Graveyard) {
|
||||||
milledView = GameActionUtil.orderCardsByTheirOwners(game, milled, ZoneType.Graveyard, sa);
|
milledView = GameActionUtil.orderCardsByTheirOwners(game, milledView, ZoneType.Graveyard, sa);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Card m : milledView) {
|
for (Card m : milledView) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:2
|
|||||||
Types:Artifact Vehicle
|
Types:Artifact Vehicle
|
||||||
PT:0/0
|
PT:0/0
|
||||||
K:ETBReplacement:Other:Imprint
|
K:ETBReplacement:Other:Imprint
|
||||||
SVar:Imprint:DB$ ChangeZone | Imprint$ True | ChangeType$ Creature | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Exile | Mandatory$ True | Hidden$ True | Chooser$ You | SpellDescription$ Imprint - As CARDNAME enters the battlefield, exile a creature card from a graveyard.
|
SVar:Imprint:DB$ ChangeZone | Imprint$ True | ChangeType$ Creature.NotDefinedReplacedSimultaneousETB | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Exile | Mandatory$ True | Hidden$ True | Chooser$ You | SpellDescription$ Imprint - As CARDNAME enters the battlefield, exile a creature card from a graveyard.
|
||||||
A:AB$ Clone | Cost$ tapXType<2/Creature> | Defined$ Imprinted | Duration$ UntilEndOfTurn | ImprintRememberedNoCleanup$ True | AddTypes$ Vehicle & Artifact | StackDescription$ Until end of turn, CARDNAME becomes a copy of {c:Imprinted}, except it's a Vehicle artifact in addition to its other types. | SpellDescription$ Until end of turn, CARDNAME becomes a copy of the exiled card, except it's a Vehicle artifact in addition to its other types.
|
A:AB$ Clone | Cost$ tapXType<2/Creature> | Defined$ Imprinted | Duration$ UntilEndOfTurn | ImprintRememberedNoCleanup$ True | AddTypes$ Vehicle & Artifact | StackDescription$ Until end of turn, CARDNAME becomes a copy of {c:Imprinted}, except it's a Vehicle artifact in addition to its other types. | SpellDescription$ Until end of turn, CARDNAME becomes a copy of the exiled card, except it's a Vehicle artifact in addition to its other types.
|
||||||
SVar:NeedsToPlayVar:Check GE1
|
SVar:NeedsToPlayVar:Check GE1
|
||||||
SVar:Check:Count$ValidGraveyard Creature
|
SVar:Check:Count$ValidGraveyard Creature
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:X B B
|
|||||||
Types:Creature Zombie
|
Types:Creature Zombie
|
||||||
PT:0/1
|
PT:0/1
|
||||||
R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ ExileCreature | Description$ As CARDNAME enters the battlefield, exile X creature cards from your graveyard. If you can't, put CARDNAME into its owner's graveyard instead of onto the battlefield. For each creature card exiled this way, CARDNAME enters the battlefield with a +2/+0, +1/+1, or +0/+2 counter on it.
|
R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ ExileCreature | Description$ As CARDNAME enters the battlefield, exile X creature cards from your graveyard. If you can't, put CARDNAME into its owner's graveyard instead of onto the battlefield. For each creature card exiled this way, CARDNAME enters the battlefield with a +2/+0, +1/+1, or +0/+2 counter on it.
|
||||||
SVar:ExileCreature:DB$ ChooseCard | ETB$ True | Choices$ Creature.YouOwn | ChoiceZone$ Graveyard | Amount$ X | Mandatory$ True | ConditionCheckSVar$ CheckYard | ConditionSVarCompare$ GEX | SubAbility$ DBExile
|
SVar:ExileCreature:DB$ ChooseCard | ETB$ True | Choices$ Creature.YouOwn+NotDefinedReplacedSimultaneousETB | ChoiceZone$ Graveyard | Amount$ X | Mandatory$ True | ConditionCheckSVar$ CheckYard | ConditionSVarCompare$ GEX | SubAbility$ DBExile
|
||||||
SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ Movetoyard
|
SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ Movetoyard
|
||||||
SVar:Movetoyard:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Graveyard | Defined$ Self | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ LTX | Imprint$ True | ETB$ True | SubAbility$ ChooseCounters
|
SVar:Movetoyard:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Graveyard | Defined$ Self | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ LTX | Imprint$ True | ETB$ True | SubAbility$ ChooseCounters
|
||||||
SVar:ChooseCounters:DB$ Repeat | MaxRepeat$ X | ETB$ True | RepeatSubAbility$ DBChooseCounter | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ EQX | SubAbility$ MovetoPlay
|
SVar:ChooseCounters:DB$ Repeat | MaxRepeat$ X | ETB$ True | RepeatSubAbility$ DBChooseCounter | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ EQX | SubAbility$ MovetoPlay
|
||||||
@@ -15,7 +15,7 @@ SVar:MovetoPlay:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Battl
|
|||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
|
||||||
SVar:X:Count$xPaid
|
SVar:X:Count$xPaid
|
||||||
SVar:CheckExiled:Count$ValidExile Card.IsRemembered
|
SVar:CheckExiled:Count$ValidExile Card.IsRemembered
|
||||||
SVar:CheckYard:Count$ValidGraveyard Creature.YouOwn
|
SVar:CheckYard:Count$ValidGraveyard Creature.YouOwn+NotDefinedReplacedSimultaneousETB
|
||||||
SVar:NeedsToPlayVar:CheckYard GE1
|
SVar:NeedsToPlayVar:CheckYard GE1
|
||||||
DeckHints:Ability$Mill|Graveyard
|
DeckHints:Ability$Mill|Graveyard
|
||||||
DeckHas:Ability$Gravyard|Counters
|
DeckHas:Ability$Gravyard|Counters
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ Name:Giant Trap Door Spider
|
|||||||
ManaCost:1 R G
|
ManaCost:1 R G
|
||||||
Types:Creature Spider
|
Types:Creature Spider
|
||||||
PT:2/3
|
PT:2/3
|
||||||
A:AB$ ChangeZone | Cost$ 1 R G T | ValidTgts$ Creature.attackingYou+withoutFlying | TgtPrompt$ Select target creature without flying that's attacking you | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME and target creature without flying that's attacking you. | SubAbility$ ExileME
|
A:AB$ ChangeZone | Cost$ 1 R G T | ValidTgts$ Creature.attackingYou+withoutFlying | ThisDefinedAndTgts$ Self | TgtPrompt$ Select target creature without flying that's attacking you | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME and target creature without flying that's attacking you.
|
||||||
SVar:ExileME:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ Self
|
|
||||||
AI:RemoveDeck:All
|
AI:RemoveDeck:All
|
||||||
Oracle:{1}{R}{G}, {T}: Exile Giant Trap Door Spider and target creature without flying that's attacking you.
|
Oracle:{1}{R}{G}, {T}: Exile Giant Trap Door Spider and target creature without flying that's attacking you.
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ SVar:TrigCounter:DB$ PutCounterAll | ValidCards$ Creature.nonGideon+YouCtrl+atta
|
|||||||
A:AB$ Animate | Cost$ AddCounter<2/LOYALTY> | Defined$ Self | Power$ 5 | Toughness$ 5 | Types$ Creature,Soldier | SubAbility$ GideonPrevent | Planeswalker$ True | SpellDescription$ Until end of turn, CARDNAME becomes a 5/5 white Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
A:AB$ Animate | Cost$ AddCounter<2/LOYALTY> | Defined$ Self | Power$ 5 | Toughness$ 5 | Types$ Creature,Soldier | SubAbility$ GideonPrevent | Planeswalker$ True | SpellDescription$ Until end of turn, CARDNAME becomes a 5/5 white Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
||||||
SVar:GideonPrevent:DB$ Effect | ReplacementEffects$ RPrevent | Duration$ UntilHostLeavesPlayOrEOT
|
SVar:GideonPrevent:DB$ Effect | ReplacementEffects$ RPrevent | Duration$ UntilHostLeavesPlayOrEOT
|
||||||
SVar:RPrevent:Event$ DamageDone | Prevent$ True | ActiveZones$ Command | ValidTarget$ Card.EffectSource | Description$ Prevent all damage that would be dealt to EFFECTSOURCE.
|
SVar:RPrevent:Event$ DamageDone | Prevent$ True | ActiveZones$ Command | ValidTarget$ Card.EffectSource | Description$ Prevent all damage that would be dealt to EFFECTSOURCE.
|
||||||
A:AB$ ChangeZone | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ Self | Origin$ Battlefield | Destination$ Exile | SubAbility$ ExileOppCreatures | SpellDescription$ Exile CARDNAME and each creature your opponents control.
|
A:AB$ ChangeZoneAll | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | ChangeType$ Card.Self,Creature.OppCtrl | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME and each creature your opponents control.
|
||||||
SVar:ExileOppCreatures:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Creature.OppCtrl
|
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
Oracle:Whenever you attack with two or more non-Gideon creatures, put a +1/+1 counter on each of those creatures.\n[+2]: Until end of turn, Gideon, the Oathsworn becomes a 5/5 white Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn. (He can't attack if he was cast this turn.)\n[-9]: Exile Gideon, the Oathsworn and each creature your opponents control.
|
Oracle:Whenever you attack with two or more non-Gideon creatures, put a +1/+1 counter on each of those creatures.\n[+2]: Until end of turn, Gideon, the Oathsworn becomes a 5/5 white Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn. (He can't attack if he was cast this turn.)\n[-9]: Exile Gideon, the Oathsworn and each creature your opponents control.
|
||||||
|
|||||||
@@ -4,10 +4,5 @@ Types:Creature Jellyfish
|
|||||||
PT:0/3
|
PT:0/3
|
||||||
K:Defender
|
K:Defender
|
||||||
K:Flying
|
K:Flying
|
||||||
A:AB$ ChangeZoneAll | Cost$ T | ChangeType$ Creature.blockedBySource | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ JellyBounceSelf | SpellDescription$ Put CARDNAME and each creature it's blocking on top of their owners' libraries, then those players shuffle.
|
A:AB$ ChangeZoneAll | Cost$ T | ChangeType$ Card.Self,Creature.blockedBySource | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | Shuffle$ True | SpellDescription$ Put CARDNAME and each creature it's blocking on top of their owners' libraries, then those players shuffle.
|
||||||
SVar:JellyBounceSelf:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SubAbility$ WobbleOppJelly
|
|
||||||
SVar:WobbleOppJelly:DB$ Shuffle | Defined$ RememberedOwner | SubAbility$ WobbleYourJelly | ConditionCheckSVar$ X
|
|
||||||
SVar:WobbleYourJelly:DB$ Shuffle | Defined$ You | SubAbility$ DBCleanup
|
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
SVar:X:Remembered$Amount
|
|
||||||
Oracle:Defender, flying\n{T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle.
|
Oracle:Defender, flying\n{T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle.
|
||||||
|
|||||||
@@ -2,6 +2,5 @@ Name:Hunting Kavu
|
|||||||
ManaCost:1 R G
|
ManaCost:1 R G
|
||||||
Types:Creature Kavu
|
Types:Creature Kavu
|
||||||
PT:2/3
|
PT:2/3
|
||||||
A:AB$ ChangeZone | Cost$ 1 R G T | ValidTgts$ Creature.withoutFlying+attackingYou | TgtPrompt$ Select target creature without flying that's attacking you | Origin$ Battlefield | Destination$ Exile | SubAbility$ ExileSelf | SpellDescription$ Exile CARDNAME and target creature without flying that's attacking you.
|
A:AB$ ChangeZone | Cost$ 1 R G T | ValidTgts$ Creature.withoutFlying+attackingYou | ThisDefinedAndTgts$ Self | TgtPrompt$ Select target creature without flying that's attacking you | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME and target creature without flying that's attacking you.
|
||||||
SVar:ExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile
|
|
||||||
Oracle:{1}{R}{G}, {T}: Exile Hunting Kavu and target creature without flying that's attacking you.
|
Oracle:{1}{R}{G}, {T}: Exile Hunting Kavu and target creature without flying that's attacking you.
|
||||||
|
|||||||
@@ -2,6 +2,5 @@ Name:Mangara of Corondor
|
|||||||
ManaCost:1 W W
|
ManaCost:1 W W
|
||||||
Types:Legendary Creature Human Wizard
|
Types:Legendary Creature Human Wizard
|
||||||
PT:1/1
|
PT:1/1
|
||||||
A:AB$ ChangeZone | Cost$ T | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent | SubAbility$ DBChange | SpellDescription$ Exile CARDNAME and target permanent.
|
A:AB$ ChangeZone | Cost$ T | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent | ThisDefinedAndTgts$ Self | SpellDescription$ Exile CARDNAME and target permanent.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile
|
|
||||||
Oracle:{T}: Exile Mangara of Corondor and target permanent.
|
Oracle:{T}: Exile Mangara of Corondor and target permanent.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Name:Quickening Licid
|
|||||||
ManaCost:1 W
|
ManaCost:1 W
|
||||||
Types:Creature Licid
|
Types:Creature Licid
|
||||||
PT:1/1
|
PT:1/1
|
||||||
A:AB$ Animate | Cost$ W T | Defined$ Self | RemoveThisAbility$ True | Duration$ Permanent | RevertCost$ W | Keywords$ Enchant creature | Abilities$ SPAttach | Types$ Enchantment,Aura | RemoveCardTypes$ True | RemoveEnchantmentTypes$ True | SubAbility$ DBAttach | SpellDescription$ CARDNAME loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {W} to end this effect.
|
A:AB$ Animate | Cost$ 1 W T | Defined$ Self | RemoveThisAbility$ True | Duration$ Permanent | RevertCost$ W | Keywords$ Enchant creature | Abilities$ SPAttach | Types$ Enchantment,Aura | RemoveCardTypes$ True | RemoveEnchantmentTypes$ True | SubAbility$ DBAttach | SpellDescription$ CARDNAME loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {W} to end this effect.
|
||||||
SVar:DBAttach:DB$ Attach | ValidTgts$ Creature | AILogic$ Pump
|
SVar:DBAttach:DB$ Attach | ValidTgts$ Creature | AILogic$ Pump
|
||||||
SVar:SPAttach:SP$ Attach | Cost$ 0 | ValidTgts$ Creature
|
SVar:SPAttach:SP$ Attach | Cost$ 0 | ValidTgts$ Creature
|
||||||
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ First Strike | Description$ Enchanted creature has first strike.
|
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ First Strike | Description$ Enchanted creature has first strike.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ PT:*/*
|
|||||||
K:Trample
|
K:Trample
|
||||||
K:ETBReplacement:Other:ETBPrep
|
K:ETBReplacement:Other:ETBPrep
|
||||||
SVar:ETBPrep:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBChoose
|
SVar:ETBPrep:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBChoose
|
||||||
SVar:DBChoose:DB$ ChooseCard | Defined$ You | MinAmount$ 0 | Amount$ X | Choices$ Creature.YouOwn+Other | ChoiceTitle$ Exile any number of creature cards from your graveyard | ChoiceZone$ Graveyard | RememberChosen$ True | SubAbility$ ExileCreatures | SpellDescription$ As CARDNAME enters the battlefield, exile any number of creature cards from your graveyard. CARDNAME's power is equal to the total power of the exiled cards and its toughness is equal to their total toughness.
|
SVar:DBChoose:DB$ ChooseCard | Defined$ You | MinAmount$ 0 | Amount$ X | Choices$ Creature.YouOwn+Other+NotDefinedReplacedSimultaneousETB | ChoiceTitle$ Exile any number of creature cards from your graveyard | ChoiceZone$ Graveyard | RememberChosen$ True | SubAbility$ ExileCreatures | SpellDescription$ As CARDNAME enters the battlefield, exile any number of creature cards from your graveyard. CARDNAME's power is equal to the total power of the exiled cards and its toughness is equal to their total toughness.
|
||||||
SVar:ExileCreatures:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBCleanup
|
SVar:ExileCreatures:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBCleanup
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||||
S:Mode$ Continuous | EffectZone$ Battlefield | Affected$ Card.Self | SetPower$ TotalPower | SetToughness$ TotalToughness | Description$ CARDNAME's power is equal to the total power of the exiled cards and its toughness is equal to their total toughness.
|
S:Mode$ Continuous | EffectZone$ Battlefield | Affected$ Card.Self | SetPower$ TotalPower | SetToughness$ TotalToughness | Description$ CARDNAME's power is equal to the total power of the exiled cards and its toughness is equal to their total toughness.
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ ManaCost:3 U U
|
|||||||
Types:Creature Shapeshifter
|
Types:Creature Shapeshifter
|
||||||
PT:0/0
|
PT:0/0
|
||||||
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||||
K:ETBReplacement:Copy:ChooseCreature:Optional
|
K:ETBReplacement:Copy:DBCopy:Optional
|
||||||
SVar:ChooseCreature:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it doesn't copy that creature's color and it has "At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability."
|
SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | SetColor$ Blue | AddTriggers$ VesDopUpkeepTrig | AddSVars$ VesDopCopy,VesDopUpkeepTrig | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it doesn't copy that creature's color and it has "At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability."
|
||||||
SVar:DBCopy:DB$ Clone | Defined$ ChosenCard | SetColor$ Blue | AddTriggers$ VesDopUpkeepTrig | AddSVars$ VesDopCopy,VesDopUpkeepTrig
|
|
||||||
SVar:VesDopUpkeepTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ VesDopCopy | TriggerDescription$ At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability.
|
SVar:VesDopUpkeepTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ VesDopCopy | TriggerDescription$ At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability.
|
||||||
SVar:VesDopCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy. | Optional$ True | SetColor$ Blue | GainThisAbility$ True | AddSVars$ VesDopCopy | AILogic$ CloneBestCreature
|
SVar:VesDopCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy. | Optional$ True | SetColor$ Blue | GainThisAbility$ True | AddSVars$ VesDopCopy | AILogic$ CloneBestCreature
|
||||||
Oracle:You may have Vesuvan Doppelganger enter the battlefield as a copy of any creature on the battlefield, except it doesn't copy that creature's color and it has "At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability."
|
Oracle:You may have Vesuvan Doppelganger enter the battlefield as a copy of any creature on the battlefield, except it doesn't copy that creature's color and it has "At the beginning of your upkeep, you may have this creature become a copy of target creature, except it doesn't copy that creature's color and it has this ability."
|
||||||
|
|||||||
@@ -2,6 +2,5 @@ Name:Void Stalker
|
|||||||
ManaCost:1 U
|
ManaCost:1 U
|
||||||
Types:Creature Elemental
|
Types:Creature Elemental
|
||||||
PT:2/1
|
PT:2/1
|
||||||
A:AB$ ChangeZone | Cost$ 2 U T | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | Shuffle$ True | SubAbility$ SelfBounce | SpellDescription$ Put CARDNAME and target creature on top of their owner's libraries, then those players shuffle their libraries.
|
A:AB$ ChangeZone | Cost$ 2 U T | ValidTgts$ Creature | ThisDefinedAndTgts$ Self | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | Shuffle$ True | SpellDescription$ Put CARDNAME and target creature on top of their owner's libraries, then those players shuffle their libraries.
|
||||||
SVar:SelfBounce:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | Shuffle$ True
|
|
||||||
Oracle:{2}{U}, {T}: Put Void Stalker and target creature on top of their owners' libraries, then those players shuffle their libraries.
|
Oracle:{2}{U}, {T}: Put Void Stalker and target creature on top of their owners' libraries, then those players shuffle their libraries.
|
||||||
|
|||||||
Reference in New Issue
Block a user