mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Finish nonToken cleanup (#7063)
This commit is contained in:
@@ -261,7 +261,6 @@ public class Game {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void addPlayer(int id, Player player) {
|
||||
playerCache.put(id, player);
|
||||
}
|
||||
|
||||
@@ -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 player’s 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 player’s 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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.)
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user