Finish nonToken cleanup (#7063)

This commit is contained in:
tool4ever
2025-02-22 20:26:48 +01:00
committed by GitHub
parent bb3413c1e5
commit 6b299693ca
30 changed files with 34 additions and 38 deletions

View File

@@ -261,7 +261,6 @@ public class Game {
return null;
}
public void addPlayer(int id, Player player) {
playerCache.put(id, player);
}

View File

@@ -1535,7 +1535,7 @@ public class GameAction {
}
}
// 704.5z If a player controls a permanent with start your engines! and that player has no speed, that players speed becomes 1. See rule 702.179, “Start Your Engines!”
// 704.5z If a player controls a permanent with start your engines! and that player has no speed, that players speed becomes 1.
if (p.getSpeed() == 0 && p.getCardsIn(ZoneType.Battlefield).anyMatch(c -> c.hasKeyword(Keyword.START_YOUR_ENGINES))) {
p.increaseSpeed();
checkAgain = true;
@@ -1550,6 +1550,7 @@ public class GameAction {
}
// 704.5m World rule
checkAgain |= handleWorldRule(noRegCreats);
// only check static abilities once after destroying all the creatures
// (e.g. helpful for Erebos's Titan and another creature dealing lethal damage to each other simultaneously)
setHoldCheckingStaticAbilities(true);

View File

@@ -122,7 +122,7 @@ public class ChooseTypeEffect extends SpellAbilityEffect {
}
}
if (validTypes.isEmpty() && sa.hasParam("Note")) {
if (validTypes.isEmpty() && sa.hasParam("TypesFromDefined")) {
// OK to end up with no choices/have nothing new to note
} else if (!validTypes.isEmpty()) {
for (final Player p : tgtPlayers) {

View File

@@ -1692,12 +1692,12 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars, ITr
@Override
public void addCounterInternal(final CounterType counterType, final int n, final Player source, final boolean fireEvents, GameEntityCounterTable table, Map<AbilityKey, Object> params) {
int addAmount = n;
// Rules say it is only a SBA, but is it checked there too?
if (counterType.is(CounterEnumType.DREAM) && hasKeyword("CARDNAME can't have more than seven dream counters on it.")) {
addAmount = Math.min(addAmount, 7 - getCounters(CounterEnumType.DREAM));
}
if (addAmount <= 0 || !canReceiveCounters(counterType)) {
// As per rule 107.1b
// CR 107.1b
return;
}

View File

@@ -1050,7 +1050,7 @@ public class CardFactoryUtil {
inst.addTrigger(dethroneTrigger);
} else if (keyword.equals("Double team")) {
final String trigString = "Mode$ Attacks | ValidCard$ Card.Self+nonToken | TriggerZones$ Battlefield" +
final String trigString = "Mode$ Attacks | ValidCard$ Card.Self+!token | TriggerZones$ Battlefield" +
" | Secondary$ True | TriggerDescription$ Double team (" + inst.getReminderText() + ")";
final String maSt = "DB$ MakeCard | DefinedName$ Self | Zone$ Hand | RememberMade$ True | Conjure$ True";
final String puSt = "DB$ Pump | RememberObjects$ Self";
@@ -4129,7 +4129,7 @@ public class CardFactoryUtil {
SpellAbility saExile = AbilityFactory.getAbility(abExile, card);
String abEffect = "DB$ Effect | RememberObjects$ Self | StaticAbilities$ Play | ForgetOnMoved$ Exile | Duration$ Permanent | ConditionDefined$ Self | ConditionPresent$ Card.!copiedSpell+nonToken";
String abEffect = "DB$ Effect | RememberObjects$ Self | StaticAbilities$ Play | ForgetOnMoved$ Exile | Duration$ Permanent | ConditionDefined$ Self | ConditionPresent$ Card.!copiedSpell+!token";
AbilitySub saEffect = (AbilitySub)AbilityFactory.getAbility(abEffect, card);
StringBuilder sbPlay = new StringBuilder();

View File

@@ -1163,7 +1163,7 @@ public class CardProperty {
}
else if (prop.isEmpty() && dmgSource.equalsWithGameTimestamp(source)) {
found = true;
} else if (dmgSource.isValid(prop.split(","), sourceController, source, spellAbility)) {
} else if (dmgSource.isValid(prop.split(";"), sourceController, source, spellAbility)) {
found = true;
}
if (found) {
@@ -1410,10 +1410,6 @@ public class CardProperty {
if (property.contains("Created") && card.getCastSA() != null) {
return false;
}
} else if (property.startsWith("nonToken")) {
if (card.isToken() || card.isTokenCard()) {
return false;
}
} else if (property.startsWith("copiedSpell")) {
if (!card.isCopiedSpell()) {
return false;

View File

@@ -2,7 +2,7 @@ Name:Chef's Boss Effect
ManaCost:no cost
Colors:blue,green,white
Types:Enchantment
S:Mode$ Continuous | AddAbility$ FoodSac | AddType$ Food & Artifact | Affected$ Creature.nonToken | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Nontoken creature are Food artifacts in addition to their other types and gain "{2}, {T}, Sacrifice this creature: You gain 3 life."
S:Mode$ Continuous | AddAbility$ FoodSac | AddType$ Food & Artifact | Affected$ Creature.!token | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Nontoken creature are Food artifacts in addition to their other types and gain "{2}, {T}, Sacrifice this creature: You gain 3 life."
SVar:FoodSac:AB$ GainLife | Cost$ 2 T Sac<1/CARDNAME/this creature> | Defined$ You | LifeAmount$ 3 | SpellDescription$ You gain 3 life.
T:Mode$ Sacrificed | ValidCard$ Food | Origin$ Any | Destination$ Battlefield | Execute$ TrigPutCounter | TriggerZones$ Command | TriggerDescription$ Whenever a player sacrifices a Food, put a flavor counter on Chef's Boss Effect.
SVar:TrigPutCounter:DB$ PutCounter | CounterType$ FLAVOR

View File

@@ -8,6 +8,6 @@ SVar:ABMana:AB$Mana | Cost$ T | Produced$ G | SpellDescription$ Add {G}.
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Command | CheckSVar$ X | SVarCompare$ GE2 | Execute$ TrigConjure | TriggerDescription$ At the beginning of each end step, if two or more creatures died this turn, conjure a random Fungus onto the battlefield.
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | AtRandom$ True | Spellbook$ Cankerbloom,Corpsejack Menace,Undercellar Myconid,Utopia Mycon,Sporemound,Deathspore Thallid,Sporoloth Ancient,Thallid Shell-Dweller,Psychotrope Thallid,Sporecrown Thallid,Sporesower Thallid,Thallid | Zone$ Battlefield
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl
T:Mode$ ChangesZoneAll | ValidCards$ Creature.nonToken+YouCtrl | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Command | ActivationLimit$ 1 | Execute$ TrigToken | TriggerDescription$ Whenever one or more nontoken creatures you control die, create a 1/1 green Saproling creature token. This ability triggers only once each turn.
T:Mode$ ChangesZoneAll | ValidCards$ Creature.!token+YouCtrl | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Command | ActivationLimit$ 1 | Execute$ TrigToken | TriggerDescription$ Whenever one or more nontoken creatures you control die, create a 1/1 green Saproling creature token. This ability triggers only once each turn.
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_1_1_saproling
Oracle:Saprolings you control are Forest lands in addition to their other types.\nAt the beginning of each end step, if two or more creatures died this turn, conjure a random Fungus onto the battlefield. \nWhenever one or more nontoken creatures you control die, create a 1/1 green Saproling creature token. This ability triggers only once each turn.

View File

@@ -3,7 +3,7 @@ ManaCost:no cost
Colors:black,green,blue
Types:Enchantment
S:Mode$ Continuous | Affected$ Enchantment.nonAura+Other,Artifact | EffectZone$ Command | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | Description$ Artifacts and enchantments are creatures in addition to their other types and has base power and base toughness each equal to its mana value.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.nonToken+OppCtrl | TriggerZones$ Command | Execute$ TrigDualCopy | TriggerDescription$ Whenever a nontoken creature an opponent controls enters, create a token that's a copy of that creature except it's a 1/1 green Frog.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.!token+OppCtrl | TriggerZones$ Command | Execute$ TrigDualCopy | TriggerDescription$ Whenever a nontoken creature an opponent controls enters, create a token that's a copy of that creature except it's a 1/1 green Frog.
SVar:TrigDualCopy:DB$ CopyPermanent | Defined$ TriggeredCardLKICopy | SetPower$ 1 | SetToughness$ 1 | SetColor$ Green | SetCreatureTypes$ Frog
SVar:AffectedX:Count$CardManaCost
Oracle:Artifacts and enchantments are creatures in addition to their other types and has base power and base toughness each equal to its mana value.\nWhenever a nontoken creature an opponent controls enters, create a token that's a copy of that creature except it's a 1/1 green Frog.

View File

@@ -6,7 +6,7 @@ A:AB$ Token | Cost$ 4 | TokenAmount$ 1 | TokenScript$ c_1_1_sliver | ActivationZ
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigCharm | TriggerDescription$ At the beginning of your upkeep, ABILITY.
SVar:TrigCharm:DB$ Charm | Random$ True | Choices$ DBToken,DBChoose,DBSeek
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_1_1_sliver | SpellDescription$ Create a 1/1 colorless Sliver creature token.
SVar:DBChoose:DB$ ChooseCard | AtRandom$ True | Choices$ Creature.nonToken+OppCtrl | SubAbility$ DBCopy | SpellDescription$ Create a token of a random nontoken creature your opponent controls. That creature becomes a Sliver in addition to its other types.
SVar:DBChoose:DB$ ChooseCard | AtRandom$ True | Choices$ Creature.!token+OppCtrl | SubAbility$ DBCopy | SpellDescription$ Create a token of a random nontoken creature your opponent controls. That creature becomes a Sliver in addition to its other types.
SVar:DBCopy:DB$ CopyPermanent | Defined$ ChosenCard | AddTypes$ Sliver | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
SVar:DBSeek:DB$ Seek | Type$ Card.Sliver | SpellDescription$ Seek a Sliver card.

View File

@@ -2,7 +2,7 @@ Name:Slobad's Iron Boots
ManaCost:no cost
Types:Artifact
S:Mode$ Continuous | Affected$ Creature.YouCtrl+Artifact | AddToughness$ 1 | AddPower$ 1 | EffectZone$ Command | Description$ Artifact Creatures you control get +1/+1
T:Mode$ ChangesZone | ValidCard$ Artifact.nonToken+YouCtrl | ActivationLimit$ 1 | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigToken | TriggerZones$ Command | TriggerDescription$ Whenever a nontoken artifact you control is put into a graveyard from the battlefield, create a colorless artifact token named Scrap. This ability triggers only once each turn.
T:Mode$ ChangesZone | ValidCard$ Artifact.!token+YouCtrl | ActivationLimit$ 1 | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigToken | TriggerZones$ Command | TriggerDescription$ Whenever a nontoken artifact you control is put into a graveyard from the battlefield, create a colorless artifact token named Scrap. This ability triggers only once each turn.
SVar:TrigToken:DB$ Token | TokenScript$ scrap
A:AB$ Token | Cost$ 4 PayShards<2> Sac<3/Artifact> | ActivationLimit$ 1 | ActivationZone$ Command | TokenScript$ c_0_0_a_construct_total_artifacts | TokenOwner$ You | SubAbility$ DBExileSelf | SpellDescription$ Create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." Exile Slobad's Iron Boots.
SVar:DBExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile

View File

@@ -2,9 +2,9 @@ Name:Xira's Boss Effect
ManaCost:no cost
Colors:black,green,red
Types:Enchantment
S:Mode$ Continuous | Affected$ Insect.YouCtrl+nonToken | EffectZone$ Command | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Double team | Description$ Nontoken Insects you control have +1/+1 and double team.
S:Mode$ Continuous | Affected$ Insect.YouCtrl+!token | EffectZone$ Command | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Double team | Description$ Nontoken Insects you control have +1/+1 and double team.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | Execute$ PutCounterAll | TriggerDescription$ At the beginning of your upkeep, put an egg counter on each nontoken creature.
SVar:PutCounterAll:DB$ PutCounterAll | ValidCards$ Creature.nonToken | CounterType$ EGG | CounterNum$ 1
SVar:PutCounterAll:DB$ PutCounterAll | ValidCards$ Creature.!token | CounterType$ EGG | CounterNum$ 1
T:Mode$ ChangesZone | Origin$ Battlefield | TriggerZones$ Command | Destination$ Graveyard | ValidCard$ Creature.counters_GE1_EGG | Execute$ TrigDraw | TriggerDescription$ Whenever a creature with an egg counter on it dies, draw a card and create X 1/1 black Insect creature token with flying where X is the amount of egg counters on that creature.
SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenScript$ b_1_1_insect_flying | TokenAmount$ X

View File

@@ -5,7 +5,7 @@ Types:Creature Insect
PT:0/2
K:Defender
K:Reach
S:Mode$ Continuous | Affected$ Insect.YouCtrl+nonToken | EffectZone$ Battlefield | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Double team | Description$ Nontoken Insects you control have +1/+1 and double team.
S:Mode$ Continuous | Affected$ Insect.YouCtrl+!token | EffectZone$ Battlefield | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Double team | Description$ Nontoken Insects you control have +1/+1 and double team.
T:Mode$ DamageDone | ActivationLimit$ 1 | ValidSource$ Card.OppCtrl,Emblem.OppCtrl | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigCounter | TriggerDescription$ When a source an opponent controls deals damage to you for the first time each turn, put an egg counter on CARDNAME.
SVar:TrigCounter:DB$ PutCounter | CounterType$ EGG | CounterNum$ 1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create X 1/1 black Insect tokens for each egg counter on CARDNAME.

View File

@@ -2,6 +2,6 @@ Name:Aegar, the Freezing Flame
ManaCost:1 U R
Types:Legendary Creature Giant Wizard
PT:3/3
T:Mode$ ExcessDamage | ValidTarget$ Creature.OppCtrl+DamagedByGiant.YouCtrl,Creature.OppCtrl+DamagedByWizard.YouCtrl,Creature.OppCtrl+DamagedBySpell.YouCtrl,Planeswalker.OppCtrl+DamagedByGiant.YouCtrl,Planeswalker.OppCtrl+DamagedByWizard.YouCtrl,Planeswalker.OppCtrl+DamagedBySpell.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a creature or planeswalker an opponent controls is dealt excess damage, if a Giant, Wizard, or spell you controlled dealt damage to it this turn, draw a card.
T:Mode$ ExcessDamage | ValidTarget$ Creature.OppCtrl+DamagedByGiant.YouCtrl;Wizard.YouCtrl;Spell.YouCtrl,Planeswalker.OppCtrl+DamagedByGiant.YouCtrl;Wizard.YouCtrl;Spell.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a creature or planeswalker an opponent controls is dealt excess damage, if a Giant, Wizard, or spell you controlled dealt damage to it this turn, draw a card.
SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1
Oracle:Whenever a creature or planeswalker an opponent controls is dealt excess damage, if a Giant, Wizard, or spell you controlled dealt damage to it this turn, draw a card.

View File

@@ -2,7 +2,7 @@ Name:Bloodsoaked Altar
ManaCost:4 B B
Types:Artifact
A:AB$ Token | Cost$ T PayLife<2> Discard<1/Card> Sac<1/Creature> | TokenAmount$ 1 | TokenScript$ b_5_5_demon_flying | TokenOwner$ You | SorcerySpeed$ True | SpellDescription$ Create a 5/5 black Demon creature token with flying. Activate only as a sorcery.
SVar:AIPreference:DiscardCost$Card | SacCost$Creature.Token,Creature.cmcLE3
SVar:AIPreference:DiscardCost$Card | SacCost$Creature.token,Creature.cmcLE3
AI:RemoveDeck:Random
DeckHas:Ability$Token
Oracle:{T}, Pay 2 life, Discard a card, Sacrifice a creature: Create a 5/5 black Demon creature token with flying. Activate only as a sorcery.

View File

@@ -5,6 +5,6 @@ PT:2/4
A:AB$ GainLife | Cost$ 1 T Sac<1/Creature.Other/another creature> | Defined$ You | LifeAmount$ X | SubAbility$ DBDraw | SpellDescription$ You gain life equal to the sacrificed creature's toughness. Draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:X:Sacrificed$CardToughness
SVar:AIPreference:SacCost$Creature.Token,Creature.cmcLE3
SVar:AIPreference:SacCost$Creature.token,Creature.cmcLE3
DeckHas:Ability$LifeGain
Oracle:{1}, {T}, Sacrifice another creature: You gain life equal to the sacrificed creature's toughness. Draw a card.

View File

@@ -3,6 +3,6 @@ ManaCost:3 R R
Types:Creature Cyclops
PT:5/4
A:AB$ DealDamage | Cost$ 1 Sac<1/Creature.Other/another creature> | ValidTgts$ Any | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target.
SVar:AIPreference:SacCost$Creature.Token,Creature.cmcLE2
SVar:AIPreference:SacCost$Creature.token,Creature.cmcLE2
AI:RemoveDeck:Random
Oracle:{1}, Sacrifice another creature: Hurler Cyclops deals 1 damage to any target.

View File

@@ -5,7 +5,7 @@ PT:3/3
K:Haste
A:AB$ Token | Cost$ T Sac<1/Creature.Artifact/artifact creature> | TokenAmount$ 2 | TokenScript$ c_a_treasure_sac | SpellDescription$ Create two Treasure tokens.
A:AB$ Token | Cost$ T Sac<1/Artifact.nonCreature/noncreature artifact> | TokenAmount$ 2 | TokenScript$ c_1_1_a_construct | SpellDescription$ Create two 1/1 colorless Construct artifact creature tokens.
SVar:AIPreference:SacCost$Artifact.nonCreature+Token+powerLE1+toughnessEQ1
SVar:AIPreference:SacCost$Artifact.nonCreature+token+powerLE1+toughnessEQ1
DeckHas:Ability$Token|Sacrifice & Type$Treasure|Construct|Artifact
DeckNeeds:Type$Artifact
Oracle:Haste\n{T}, Sacrifice an artifact creature: Create two Treasure tokens.\n{T}, Sacrifice a noncreature artifact: Create two 1/1 colorless Construct artifact creature tokens.

View File

@@ -6,7 +6,7 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S
SVar:TrigToken:DB$ Token | TokenTapped$ True | TokenScript$ c_a_powerstone
A:AB$ PumpAll | Cost$ 1 B R Sac<1/Creature.Other;Artifact.Other/another creature or artifact> | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ 1 | KW$ Menace & Haste | SpellDescription$ Until end of turn, other creatures you control get +1/+0 and gain menace and haste.
SVar:PlayMain1:TRUE
SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2,Artifact.cmcEQ1
SVar:AIPreference:SacCost$Artifact.token,Creature.Other+cmcLE2,Artifact.cmcEQ1
DeckHas:Ability$Token|Sacrifice & Type$Artifact
DeckHints:Type$Artifact
Oracle:When Junkyard Genius enters, create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")\n{1}{B}{R}, Sacrifice another creature or artifact: Until end of turn, other creatures you control get +1/+0 and gain menace and haste.

View File

@@ -6,7 +6,7 @@ K:Menace
K:Lifelink
K:Indestructible
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME can't attack or block. | IsPresent$ Card | PresentZone$ Exile | PresentCompare$ LT7 | Description$ NICKNAME can't attack or block unless there are seven or more cards in exile.
T:Mode$ ChangesZoneAll | ValidCards$ Card.nonToken | Origin$ Battlefield,Graveyard | Destination$ Exile | TriggerZones$ Battlefield | PlayerTurn$ True | Execute$ TrigDraw | TriggerDescription$ Whenever one or more cards are put into exile from graveyards and/or the battlefield during your turn, you draw a card and lose 1 life.
T:Mode$ ChangesZoneAll | ValidCards$ Card.!token | Origin$ Battlefield,Graveyard | Destination$ Exile | TriggerZones$ Battlefield | PlayerTurn$ True | Execute$ TrigDraw | TriggerDescription$ Whenever one or more cards are put into exile from graveyards and/or the battlefield during your turn, you draw a card and lose 1 life.
SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SubAbility$ DBLoseLife
SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 1
Oracle:Menace, lifelink, indestructible\nKetramose can't attack or block unless there are seven or more cards in exile.\nWhenever one or more cards are put into exile from graveyards and/or the battlefield during your turn, you draw a card and lose 1 life.

View File

@@ -5,7 +5,7 @@ PT:3/2
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, you may sacrifice another creature or artifact. If you do, CARDNAME gains flying until end of turn.
SVar:TrigPump:AB$ Pump | Cost$ Sac<1/Creature.Other;Artifact.Other/another creature or artifact> | Defined$ Self | KW$ Flying
SVar:PlayMain1:TRUE
SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2+withoutFlying,Artifact.cmcEQ1
SVar:AIPreference:SacCost$Artifact.token,Creature.Other+cmcLE2+withoutFlying,Artifact.cmcEQ1
SVar:HasAttackEffect:TRUE
DeckHas:Ability$Sacrifice
DeckHints:Type$Artifact

View File

@@ -24,6 +24,6 @@ Colors:red
Types:Enchantment Creature Human Shaman
PT:2/2
K:Haste
R:Event$ Moved | ValidLKI$ Creature.DamagedByCard.YouCtrl,Creature.DamagedByEmblem.YouCtrl | Destination$ Graveyard | ReplaceWith$ DBExile | ActiveZones$ Battlefield | Description$ If a creature dealt damage this turn by a source you controlled would die, exile it instead.
R:Event$ Moved | ValidLKI$ Creature.DamagedByCard.YouCtrl;Emblem.YouCtrl | Destination$ Graveyard | ReplaceWith$ DBExile | ActiveZones$ Battlefield | Description$ If a creature dealt damage this turn by a source you controlled would die, exile it instead.
SVar:DBExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ Exile
Oracle:Haste\nIf a creature dealt damage this turn by a source you controlled would die, exile it instead.

View File

@@ -3,6 +3,6 @@ ManaCost:1 B
Types:Creature Human Noble
PT:2/2
A:AB$ PutCounter | Cost$ 2 Sac<1/Artifact;Creature.Other/artifact or another creature> | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME.
SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2,Artifact.cmcEQ1
SVar:AIPreference:SacCost$Artifact.token,Creature.Other+cmcLE2,Artifact.cmcEQ1
DeckHas:Ability$Counters
Oracle:{2}, Sacrifice an artifact or another creature: Put a +1/+1 counter on Malevolent Noble.

View File

@@ -7,7 +7,7 @@ SVar:OnlyOnePoison:DB$ ReplaceCounter | ValidCounterType$ POISON | Amount$ 1 | S
SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Static$ True | Execute$ TrigEffect | AfterReplacement$ True
SVar:TrigEffect:DB$ Effect | StaticAbilities$ NoMorePoison
SVar:NoMorePoison:Mode$ CantPutCounter | ValidPlayer$ You | CounterType$ POISON | Description$ You can't get additional poison counters this turn.
A:AB$ DelayedTrigger | Cost$ Exile<1/CARDNAME> | ValidTgts$ Creature.Other,Artifact.Other | TgtPrompt$ Select another target creature or artifact | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigReturn | StackDescription$ When {c:Targeted} is put into a graveyard this turn, return it to the battlefield under its owner's control. | SpellDescription$ Choose another target creature or artifact. When it's put into a graveyard this turn, return that card to the battlefield under its owner's control.
A:AB$ DelayedTrigger | Cost$ Exile<1/NICKNAME> | ValidTgts$ Creature.Other,Artifact.Other | TgtPrompt$ Select another target creature or artifact | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigReturn | StackDescription$ When {c:Targeted} is put into a graveyard this turn, return it to the battlefield under its owner's control. | SpellDescription$ Choose another target creature or artifact. When it's put into a graveyard this turn, return that card to the battlefield under its owner's control.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard
DeckHints:Ability$Graveyard|Sacrifice
Oracle:If you would get one or more poison counters, instead you get one poison counter and you can't get additional poison counters this turn.\nExile Melira, the Living Cure: Choose another target creature or artifact. When it's put into a graveyard this turn, return that card to the battlefield under its owner's control.
Oracle:If you would get one or more poison counters, instead you get one poison counter and you can't get additional poison counters this turn.\nExile Melira: Choose another target creature or artifact. When it's put into a graveyard this turn, return that card to the battlefield under its owner's control.

View File

@@ -4,7 +4,7 @@ Types:Creature Fungus Warrior
PT:1/1
K:Lifelink
A:AB$ PutCounter | Cost$ 1 Sac<1/Creature.Other;Artifact/another creature or an artifact> | CounterType$ P1P1 | CounterNum$ 1 | PrecostDesc$ Mold Harvest — | SpellDescription$ Put a +1/+1 counter on CARDNAME.
SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2,Artifact.cmcEQ1
SVar:AIPreference:SacCost$Artifact.token,Creature.Other+cmcLE2,Artifact.cmcEQ1
DeckHints:Type$Artifact
DeckHas:Ability$Counters|Sacrifice
Oracle:Lifelink\nMold Harvest — {1}, Sacrifice another creature or an artifact: Put a +1/+1 counter on Mold Folk.

View File

@@ -3,5 +3,5 @@ ManaCost:B
Types:Sorcery
S:Mode$ Continuous | CharacteristicDefining$ True | AddKeyword$ Flash | IsPresent$ Permanent.YouCtrl+hasKeywordFlash | Description$ CARDNAME has flash as long as you control a permanent with flash.
A:SP$ Destroy | Cost$ B Sac<1/Creature> | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Destroy target creature.
SVar:AIPreference:SacCost$Creature.Token,Creature.cmcLE2
SVar:AIPreference:SacCost$Creature.token,Creature.cmcLE2
Oracle:This spell has flash as long as you control a permanent with flash.\nAs an additional cost to cast this spell, sacrifice a creature.\nDestroy target creature.

View File

@@ -23,6 +23,6 @@ ManaCost:no cost
Colors:red
Types:Enchantment Creature Human Shaman
PT:2/2
R:Event$ Moved | ValidLKI$ Creature.DamagedByCard.YouCtrl,Creature.DamagedByEmblem.YouCtrl | Destination$ Graveyard | ReplaceWith$ DBExile | ActiveZones$ Battlefield | Description$ If a creature dealt damage this turn by a source you controlled would die, exile it instead.
R:Event$ Moved | ValidLKI$ Creature.DamagedByCard.YouCtrl;Emblem.YouCtrl | Destination$ Graveyard | ReplaceWith$ DBExile | ActiveZones$ Battlefield | Description$ If a creature dealt damage this turn by a source you controlled would die, exile it instead.
SVar:DBExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ Exile
Oracle:If a creature dealt damage this turn by a source you controlled would die, exile it instead.

View File

@@ -6,7 +6,7 @@ K:Partner:Trynn, Champion of Freedom:Trynn
K:Menace
A:AB$ PutCounter | Cost$ Sac<1/Human> | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump | SpellDescription$ Put a +1/+1 counter on CARDNAME. It gains indestructible until end of turn.
SVar:DBPump:DB$ Pump | Defined$ Self | KW$ Indestructible
SVar:AIPreference:SacCost$Creature.Token+Human,Creature.Human+cmcLE2
SVar:AIPreference:SacCost$Creature.token+Human,Creature.Human+cmcLE2
DeckHas:Ability$Counters
DeckHints:Name$Trynn, Champion of Freedom & Type$Human
Oracle:Partner with Trynn, Champion of Freedom (When this creature enters, target player may put Trynn into their hand from their library, then shuffle.)\nMenace\nSacrifice a Human: Put a +1/+1 counter on Silvar, Devourer of the Free. It gains indestructible until end of turn.

View File

@@ -7,7 +7,7 @@ SVar:DBMill:DB$ Mill | Imprint$ True | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZone | Defined$ Imprinted | Origin$ Graveyard | Destination$ Hand | UnlessCost$ PayLife<3> | UnlessPayer$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True
K:Choose a Background
SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2,Artifact.cmcLE1
SVar:AIPreference:SacCost$Artifact.token,Creature.Other+cmcLE2,Artifact.cmcLE1
DeckHints:Type$Artifact
DeckHas:Ability$Sacrifice|Mill|Graveyard
Oracle:{T}, Sacrifice another creature or an artifact: For each opponent, you mill a card, then return that card from your graveyard to your hand unless that player pays 3 life. (To mill a card, put the top card of your library into your graveyard.)\nChoose a Background (You can have a Background as a second commander.)

View File

@@ -5,7 +5,7 @@ PT:3/2
K:Start your engines
A:AB$ Surveil | Cost$ Sac<1/Creature.Other/another creature> | ActivationLimit$ 1 | SpellDescription$ Surveil 1. Activate only once each turn.
S:Mode$ Continuous | Affected$ Card.Self | Condition$ MaxSpeed | AddTrigger$ TrigDies | Description$ Max speed — Whenever a nontoken creature you control dies, create a tapped 2/2 black Zombie creature token.
SVar:TrigDies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+nonToken | TriggerZones$ Battlefield | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Max speed — Whenever a nontoken creature you control dies, create a tapped 2/2 black Zombie creature token.
SVar:TrigDies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+!token | TriggerZones$ Battlefield | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Max speed — Whenever a nontoken creature you control dies, create a tapped 2/2 black Zombie creature token.
SVar:TrigToken:DB$ Token | TokenScript$ b_2_2_zombie | TokenTapped$ True
DeckHas:Ability$Sacrifice|Token
Oracle:Start your engines! (If you have no speed, it starts at 1. It increases once on each of your turns when an opponent loses life. Max speed is 4.)\nSacrifice another creature: Surveil 1. Activate only once each turn.\nMax speed — Whenever a nontoken creature you control dies, create a tapped 2/2 black Zombie creature token.