mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Merge branch 'cloneNameThis' into 'master'
Clone New Name and GainThisAbility See merge request core-developers/forge!1002
This commit is contained in:
@@ -62,7 +62,7 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView {
|
||||
* Keys that should not changed
|
||||
*/
|
||||
private static final ImmutableList<String> noChangeKeys = ImmutableList.<String>builder()
|
||||
.add("TokenScript", "LegacyImage", "TokenImage").build();
|
||||
.add("TokenScript", "LegacyImage", "TokenImage", "NewName").build();
|
||||
/**
|
||||
* Sets the temporary.
|
||||
*
|
||||
|
||||
@@ -113,6 +113,7 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
final boolean keepName = sa.hasParam("KeepName");
|
||||
final String newName = sa.getParamOrDefault("NewName", null);
|
||||
final String originalName = tgtCard.getName();
|
||||
final boolean copyingSelf = (tgtCard == cardToCopy);
|
||||
final boolean isTransformed = cardToCopy.getCurrentStateName() == CardStateName.Transformed || cardToCopy.getCurrentStateName() == CardStateName.Meld;
|
||||
@@ -157,9 +158,13 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
// restore name if it should be unchanged
|
||||
// this should only be used for Sakashima the Impostor Avatar
|
||||
if (keepName) {
|
||||
tgtCard.setName(originalName);
|
||||
}
|
||||
if (newName != null) {
|
||||
tgtCard.setName(newName);
|
||||
}
|
||||
|
||||
// If target is a flip card, also set characteristics of the flipped
|
||||
// state.
|
||||
@@ -168,6 +173,9 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
if (keepName) {
|
||||
flippedState.setName(originalName);
|
||||
}
|
||||
if (newName != null) {
|
||||
tgtCard.setName(newName);
|
||||
}
|
||||
//keep the Clone card image for the cloned card
|
||||
flippedState.setImageKey(imageFileName);
|
||||
}
|
||||
@@ -350,6 +358,18 @@ public class CloneEffect extends SpellAbilityEffect {
|
||||
tgtCard.setBasePower(4);
|
||||
tgtCard.setBaseToughness(4);
|
||||
}
|
||||
|
||||
if (sa.hasParam("GainThisAbility")) {
|
||||
SpellAbility root = sa.getRootAbility();
|
||||
|
||||
if (root.isTrigger() && root.getTrigger() != null) {
|
||||
tgtCard.addTrigger(root.getTrigger().copy(tgtCard, false));
|
||||
} else if (root.isReplacementAbility()) {
|
||||
tgtCard.addReplacementEffect(root.getReplacementEffect().copy(tgtCard, false));
|
||||
} else {
|
||||
tgtCard.addSpellAbility(root.copy(tgtCard, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ public class ReplacementHandler {
|
||||
final String effectAbString = host.getSVar(effectSVar);
|
||||
// TODO: the source of replacement effect should be the source of the original effect
|
||||
effectSA = AbilityFactory.getAbility(effectAbString, host);
|
||||
effectSA.setTrigger(true);
|
||||
//effectSA.setTrigger(true);
|
||||
|
||||
SpellAbility tailend = effectSA;
|
||||
do {
|
||||
@@ -209,8 +209,9 @@ public class ReplacementHandler {
|
||||
if (replacementEffect.isIntrinsic()) {
|
||||
effectSA.setIntrinsic(true);
|
||||
effectSA.changeText();
|
||||
effectSA.setReplacementAbility(true);
|
||||
}
|
||||
effectSA.setReplacementAbility(true);
|
||||
effectSA.setReplacementEffect(replacementEffect);
|
||||
}
|
||||
|
||||
// Decider gets to choose whether or not to apply the replacement.
|
||||
|
||||
@@ -38,7 +38,9 @@ import forge.game.cost.CostRemoveCounter;
|
||||
import forge.game.keyword.Keyword;
|
||||
import forge.game.mana.Mana;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.replacement.ReplacementEffect;
|
||||
import forge.game.staticability.StaticAbility;
|
||||
import forge.game.trigger.Trigger;
|
||||
import forge.game.trigger.TriggerType;
|
||||
import forge.game.trigger.WrappedAbility;
|
||||
import forge.util.Expressions;
|
||||
@@ -87,8 +89,10 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
|
||||
private boolean basicSpell = true;
|
||||
private boolean trigger = false;
|
||||
private Trigger triggerObj = null;
|
||||
private boolean optionalTrigger = false;
|
||||
private boolean replacementAbility = false;
|
||||
private ReplacementEffect replacementEffect = null;
|
||||
private int sourceTrigger = -1;
|
||||
private List<Object> triggerRemembered = Lists.newArrayList();
|
||||
|
||||
@@ -913,6 +917,14 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
trigger = trigger0;
|
||||
}
|
||||
|
||||
public Trigger getTrigger() {
|
||||
return triggerObj;
|
||||
}
|
||||
|
||||
public void setTrigger(final Trigger t) {
|
||||
triggerObj = t;
|
||||
}
|
||||
|
||||
public boolean isOptionalTrigger() {
|
||||
return optionalTrigger;
|
||||
}
|
||||
@@ -934,6 +946,14 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
replacementAbility = replacement;
|
||||
}
|
||||
|
||||
public ReplacementEffect getReplacementEffect() {
|
||||
return replacementEffect;
|
||||
}
|
||||
|
||||
public void setReplacementEffect(final ReplacementEffect re) {
|
||||
this.replacementEffect = re;
|
||||
}
|
||||
|
||||
public boolean isMandatory() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -27,14 +27,13 @@ import com.google.common.collect.Lists;
|
||||
public class WrappedAbility extends Ability {
|
||||
|
||||
private final SpellAbility sa;
|
||||
private final Trigger regtrig;
|
||||
private final Player decider;
|
||||
|
||||
boolean mandatory = false;
|
||||
|
||||
public WrappedAbility(final Trigger regtrig0, final SpellAbility sa0, final Player decider0) {
|
||||
super(regtrig0.getHostCard(), ManaCost.ZERO, sa0.getView());
|
||||
regtrig = regtrig0;
|
||||
setTrigger(regtrig0);
|
||||
sa = sa0;
|
||||
decider = decider0;
|
||||
sa.setDescription(this.getStackDescription());
|
||||
@@ -49,10 +48,6 @@ public class WrappedAbility extends Ability {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Trigger getTrigger() {
|
||||
return regtrig;
|
||||
}
|
||||
|
||||
public Player getDecider() {
|
||||
return decider;
|
||||
}
|
||||
@@ -218,6 +213,7 @@ public class WrappedAbility extends Ability {
|
||||
|
||||
@Override
|
||||
public String getStackDescription() {
|
||||
final Trigger regtrig = getTrigger();
|
||||
final StringBuilder sb = new StringBuilder(regtrig.replaceAbilityText(regtrig.toString(true), this));
|
||||
if (usesTargeting()) {
|
||||
sb.append(" (Targeting ");
|
||||
@@ -445,6 +441,7 @@ public class WrappedAbility extends Ability {
|
||||
@Override
|
||||
public void resolve() {
|
||||
final Game game = sa.getActivatingPlayer().getGame();
|
||||
final Trigger regtrig = getTrigger();
|
||||
Map<String, String> triggerParams = regtrig.getMapParams();
|
||||
|
||||
if (!(regtrig instanceof TriggerAlways) && !triggerParams.containsKey("NoResolvingCheck")) {
|
||||
@@ -476,6 +473,9 @@ public class WrappedAbility extends Ability {
|
||||
return;
|
||||
}
|
||||
|
||||
// set Trigger
|
||||
sa.setTrigger(regtrig);
|
||||
|
||||
if (!triggerParams.containsKey("NoTimestampCheck")) {
|
||||
timestampCheck();
|
||||
}
|
||||
|
||||
@@ -3,8 +3,7 @@ ManaCost:1 U
|
||||
Types:Creature Human Wizard
|
||||
PT:1/1
|
||||
T:Mode$ SpellCast | ValidActivatingPlayer$ You | TargetsValid$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigArtisanCopy | TriggerDescription$ Heroic — Whenever you cast a spell that targets CARDNAME, you may have CARDNAME become a copy of target creature and gain this ability.
|
||||
SVar:TrigArtisanCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy | Optional$ True | AddTriggers$ ArtisanHeroicTrig | AddSVars$ TrigArtisanCopy,ArtisanHeroicTrig
|
||||
SVar:ArtisanHeroicTrig:Mode$ SpellCast | ValidActivatingPlayer$ You | TargetsValid$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigArtisanCopy | TriggerDescription$ Heroic — Whenever you cast a spell that targets CARDNAME, you may have CARDNAME become a copy of target creature and gain this ability.
|
||||
SVar:TrigArtisanCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy | Optional$ True | GainThisAbility$ True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/artisan_of_forms.jpg
|
||||
Oracle:Heroic — Whenever you cast a spell that targets Artisan of Forms, you may have Artisan of Forms become a copy of target creature and gain this ability.
|
||||
|
||||
@@ -4,8 +4,7 @@ Types:Creature Shapeshifter
|
||||
PT:1/2
|
||||
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ CemeteryPucaCopy | TriggerDescription$ Whenever a creature dies, you may pay {1}. If you do, CARDNAME becomes a copy of that creature and gains this ability.
|
||||
SVar:CemeteryPucaCopy:AB$ Clone | Cost$ 1 | Defined$ TriggeredCardLKICopy | AddTriggers$ CemeteryPucaDiesTrig | AddSVars$ CemeteryPucaCopy,CemeteryPucaDiesTrig
|
||||
SVar:CemeteryPucaDiesTrig:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ CemeteryPucaCopy | TriggerDescription$ Whenever a creature dies, you may pay {1}. If you do, CARDNAME becomes a copy of that creature and gains this ability.
|
||||
SVar:CemeteryPucaCopy:AB$ Clone | Cost$ 1 | Defined$ TriggeredCardLKICopy | GainThisAbility$ True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/cemetery_puca.jpg
|
||||
Oracle:Whenever a creature dies, you may pay {1}. If you do, Cemetery Puca becomes a copy of that creature and gains this ability.
|
||||
|
||||
@@ -4,8 +4,7 @@ Types:Creature Shapeshifter
|
||||
PT:2/2
|
||||
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ CryptoplasmCopy | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may have CARDNAME become a copy of another target creature. If you do, CARDNAME gains this ability.
|
||||
SVar:CryptoplasmCopy:DB$ Clone | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature to copy. | Optional$ True | AddTriggers$ CryptoplasmUpkeepTrig | AddSVars$ CryptoplasmCopy,CryptoplasmUpkeepTrig
|
||||
SVar:CryptoplasmUpkeepTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ CryptoplasmCopy | TriggerDescription$ At the beginning of your upkeep, you may have CARDNAME become a copy of another target creature. If you do, CARDNAME gains this ability.
|
||||
SVar:CryptoplasmCopy:DB$ Clone | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature to copy. | Optional$ True | GainThisAbility$ True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/cryptoplasm.jpg
|
||||
Oracle:At the beginning of your upkeep, you may have Cryptoplasm become a copy of another target creature. If you do, Cryptoplasm gains this ability.
|
||||
|
||||
@@ -4,8 +4,7 @@ Types:Creature Shapeshifter
|
||||
PT:0/2
|
||||
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||
A:AB$ ChangeZone | Cost$ 1 U B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Creature | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DDCopy | SpellDescription$ Exile target creature card from a graveyard. CARDNAME becomes a copy of that card and gains this ability.
|
||||
SVar:DDCopy:DB$ Clone | Defined$ Remembered | AddAbilities$ DDAbility | AddSVars$ DDAbility,DDCopy
|
||||
SVar:DDAbility:AB$ ChangeZone | Cost$ 1 U B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Creature | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DDCopy | SpellDescription$ Exile target creature card from a graveyard. CARDNAME becomes a copy of that card and gains this ability.
|
||||
SVar:DDCopy:DB$ Clone | Defined$ Remembered | GainThisAbility$ True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/dimir_doppelganger.jpg
|
||||
Oracle:{1}{U}{B}: Exile target creature card from a graveyard. Dimir Doppelganger becomes a copy of that card and gains this ability.
|
||||
|
||||
@@ -3,9 +3,8 @@ ManaCost:U U B B
|
||||
Types:Legendary Creature Shapeshifter
|
||||
PT:3/3
|
||||
K:Hexproof
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.nonToken+OppOwn | TriggerZones$ Battlefield | Execute$ LazavCopy | OptionalDecider$ You | TriggerDescription$ Whenever a creature card is put into an opponent's graveyard from anywhere, you may have CARDNAME become a copy of that card except it's name is still CARDNAME, it's legendary in addition to it's other types, and it gains hexproof and this ability.
|
||||
SVar:LazavCopy:DB$ Clone | Defined$ TriggeredCard | KeepName$ True | AddTypes$ Legendary | AddTriggers$ LazavTrig | AddKeywords$ Hexproof | AddSVars$ LazavCopy,LazavTrig
|
||||
SVar:LazavTrig:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.OppOwn | TriggerZones$ Battlefield | Execute$ LazavCopy | OptionalDecider$ You | TriggerDescription$ Whenever a creature card is put into an opponent's graveyard from anywhere, you may have CARDNAME become a copy of that card except it's name is still CARDNAME, it's legendary in addition to it's other types, and it gains hexproof and this ability.
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.nonToken+OppOwn | TriggerZones$ Battlefield | Execute$ LazavCopy | OptionalDecider$ You | TriggerDescription$ Whenever a creature card is put into an opponent’s graveyard from anywhere, you may have Lazav, Dimir Mastermind become a copy of that card, except its name is Lazav, Dimir Mastermind, it’s legendary in addition to its other types, and it has hexproof and this ability.
|
||||
SVar:LazavCopy:DB$ Clone | Defined$ TriggeredCard | NewName$ Lazav, Dimir Mastermind | AddTypes$ Legendary | AddKeywords$ Hexproof | GainThisAbility$ True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/lazav_dimir_mastermind.jpg
|
||||
Oracle:Hexproof\nWhenever a creature card is put into an opponent's graveyard from anywhere, you may have Lazav, Dimir Mastermind become a copy of that card except its name is still Lazav, Dimir Mastermind, it's legendary in addition to its other types, and it gains hexproof and this ability.
|
||||
Oracle:Hexproof\nWhenever a creature card is put into an opponent’s graveyard from anywhere, you may have Lazav, Dimir Mastermind become a copy of that card, except its name is Lazav, Dimir Mastermind, it’s legendary in addition to its other types, and it has hexproof and this ability.
|
||||
|
||||
@@ -4,7 +4,6 @@ Types:Legendary Creature Shapeshifter
|
||||
PT:1/3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSurveil | TriggerDescription$ When CARDNAME enters the battlefield, scry 1. (To scry 1, look at the top card of your library. You may put that card into your graveyard.)
|
||||
SVar:TrigSurveil:DB$ Surveil | Amount$ 1
|
||||
A:AB$ Clone | Cost$ X | ValidTgts$ Creature.YouOwn | References$ X | TgtZone$ Graveyard | TgtPrompt$ Select target creature card in your graveyard | AddTypes$ Legendary | KeepName$ True | AddSVars$ X,LazavTrig | AddAbilities$ LazavTrig | SpellDescription$ CARDNAME becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is CARDNAME, it's legendary in addition to it's other types, and it has this ability.
|
||||
SVar:LazavTrig:AB$ Clone | Cost$ X | ValidTgts$ Creature.YouOwn | References$ X | TgtZone$ Graveyard | TgtPrompt$ Select target creature card in your graveyard | AddTypes$ Legendary | KeepName$ True | AddSVars$ X,LazavTrig | AddAbilities$ LazavTrig | SpellDescription$ CARDNAME becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is CARDNAME, it's legendary in addition to it's other types, and it has this ability.
|
||||
A:AB$ Clone | Cost$ X | ValidTgts$ Creature.YouOwn | References$ X | TgtZone$ Graveyard | TgtPrompt$ Select target creature card in your graveyard | AddTypes$ Legendary | NewName$ Lazav, the Multifarious | GainThisAbility$ True | SpellDescription$ CARDNAME becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is CARDNAME, it's legendary in addition to it's other types, and it has this ability.
|
||||
SVar:X:Targeted$CardManaCost
|
||||
Oracle:When Lazav, the Multifarious enters the battlefield, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.)\n{X}: Lazav, the Multifarious becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is Lazav, the Multifarious, it's legendary in addition to its other types, and it has this ability.
|
||||
|
||||
@@ -2,8 +2,7 @@ Name:Mizzium Transreliquat
|
||||
ManaCost:3
|
||||
Types:Artifact
|
||||
A:AB$ Clone | Cost$ 3 | ValidTgts$ Artifact | TgtPrompt$ Select target artifact to copy until end of turn. | Duration$ UntilEndOfTurn | SpellDescription$ CARDNAME becomes a copy of target artifact until end of turn.
|
||||
A:AB$ Clone | Cost$ 1 U R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact to copy. | AddAbilities$ MizzCopy | AddSVars$ MizzCopy | SpellDescription$ CARDNAME becomes a copy of target artifact and gains this ability.
|
||||
SVar:MizzCopy:AB$ Clone | Cost$ 1 U R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact to copy. | AddAbilities$ MizzCopy | AddSVars$ MizzCopy | SpellDescription$ CARDNAME becomes a copy of target artifact and gains this ability.
|
||||
A:AB$ Clone | Cost$ 1 U R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact to copy. | GainThisAbility$ True | SpellDescription$ CARDNAME becomes a copy of target artifact and gains this ability.
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/mizzium_transreliquat.jpg
|
||||
Oracle:{3}: Mizzium Transreliquat becomes a copy of target artifact until end of turn.\n{1}{U}{R}: Mizzium Transreliquat becomes a copy of target artifact and gains this ability.
|
||||
|
||||
@@ -4,8 +4,8 @@ Types:Legendary Creature Human Rogue
|
||||
PT:3/1
|
||||
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||
K:ETBReplacement:Copy:DBCopy:Optional
|
||||
SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | KeepName$ True | AddTypes$ Legendary | AddAbilities$ ReturnSakashima | AddSVars$ TrigReturnSak | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except its name is still CARDNAME, it's legendary in addition to its other types, and it gains "{2}{U}{U}: Return CARDNAME to its owner's hand at the beginning of the next end step."
|
||||
SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | NewName$ Sakashima the Impostor | AddTypes$ Legendary | AddAbilities$ ReturnSakashima | AddSVars$ TrigReturnSak | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except its name is Sakashima the Impostor, it’s legendary in addition to its other types, and it has “{2}{U}{U}: Return this creature to its owner’s hand at the beginning of the next end step.”
|
||||
SVar:ReturnSakashima:AB$ DelayedTrigger | Cost$ 2 U U | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturnSak | SpellDescription$ Return CARDNAME to it's owners hand at the beginning of the next end step.
|
||||
SVar:TrigReturnSak:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Hand
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/sakashima_the_impostor.jpg
|
||||
Oracle:You may have Sakashima the Impostor enter the battlefield as a copy of any creature on the battlefield, except its name is still Sakashima the Impostor, it's legendary in addition to its other types, and it gains "{2}{U}{U}: Return Sakashima the Impostor to its owner's hand at the beginning of the next end step."
|
||||
Oracle:You may have Sakashima the Impostor enter the battlefield as a copy of any creature on the battlefield, except its name is Sakashima the Impostor, it’s legendary in addition to its other types, and it has “{2}{U}{U}: Return this creature to its owner’s hand at the beginning of the next end step.”
|
||||
|
||||
@@ -2,8 +2,7 @@ Name:Thespian's Stage
|
||||
ManaCost:no cost
|
||||
Types:Land
|
||||
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
|
||||
A:AB$ Clone | Cost$ 2 T | ValidTgts$ Land | TgtPrompt$ Select target land to copy. | AddAbilities$ ThespianCopy | AddSVars$ ThespianCopy | SpellDescription$ CARDNAME becomes a copy of target land and gains this ability.
|
||||
SVar:ThespianCopy:AB$ Clone | Cost$ 2 T | ValidTgts$ Land | TgtPrompt$ Select target land to copy. | AddAbilities$ ThespianCopy | AddSVars$ ThespianCopy | SpellDescription$ CARDNAME becomes a copy of target land and gains this ability.
|
||||
A:AB$ Clone | Cost$ 2 T | ValidTgts$ Land | TgtPrompt$ Select target land to copy. | GainThisAbility$ True | SpellDescription$ CARDNAME becomes a copy of target land and gains this ability.
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/thespians_stage.jpg
|
||||
Oracle:{T}: Add {C}.\n{2}, {T}: Thespian's Stage becomes a copy of target land and gains this ability.
|
||||
|
||||
@@ -4,7 +4,6 @@ Types:Creature Shapeshifter
|
||||
PT:0/1
|
||||
# Make SVars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ USCopy | TriggerDescription$ Whenever another creature enters the battlefield, CARDNAME becomes a copy of that creature and gains this ability.
|
||||
SVar:USCopy:DB$ Clone | Defined$ TriggeredCard | AddTriggers$ USTrig | AddSVars$ USCopy,USTrig
|
||||
SVar:USTrig:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ USCopy | TriggerDescription$ Whenever another creature enters the battlefield, CARDNAME becomes a copy of that creature and gains this ability.
|
||||
SVar:USCopy:DB$ Clone | Defined$ TriggeredCard | GainThisAbility$ True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/unstable_shapeshifter.jpg
|
||||
Oracle:Whenever another creature enters the battlefield, Unstable Shapeshifter becomes a copy of that creature and gains this ability.
|
||||
|
||||
@@ -7,7 +7,7 @@ K:ETBReplacement:Copy:ChooseCreature:Optional
|
||||
SVar:ChooseCreature:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | 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 gains "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. If you do, this creature gains this ability."
|
||||
SVar:DBCopy:DB$ Clone | Defined$ Remembered | Colors$ Blue | OverwriteColors$ True | 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. If you do, this creature gains this ability.
|
||||
SVar:VesDopCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy. | Optional$ True | Colors$ Blue | OverwriteColors$ True | AddTriggers$ VesDopUpkeepTrig | AddSVars$ VesDopCopy,VesDopUpkeepTrig | SubAbility$ DBCleanup
|
||||
SVar:VesDopCopy:DB$ Clone | ValidTgts$ Creature | TgtPrompt$ Select target creature to copy. | Optional$ True | Colors$ Blue | OverwriteColors$ True | GainThisAbility$ True | SubAbility$ DBCleanup
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/vesuvan_doppelganger.jpg
|
||||
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 gains "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. If you do, this creature gains this ability."
|
||||
|
||||
Reference in New Issue
Block a user