Fixed all primitives with damage modifier, improved "damaged" trigger for Planeswalkers.

This commit is contained in:
Vittorio Alfieri
2021-10-15 13:36:31 +02:00
parent eb35e3589b
commit 984aac51f4
4 changed files with 84 additions and 106 deletions

View File

@@ -2,8 +2,11 @@
## [master] (https://github.com/WagicProject/wagic/tree/master)
### 15/10/21
- *Committed:* Fixed all primitives with damage modifier, improved "damaged" trigger for Planeswalkers. ([Vitty85](https://github.com/Vitty85))
### 14/10/21
- *Committed:* Fixed primitives, improved Aftermath casting rule: now the casted card becomes instant or sorcery in the stack according to the casted half, fixed a bug with the previous zone of cards casted using the "putinplay" option of "castcard" keyword. ([Vitty85](https://github.com/Vitty85))
- *Committed:* Fixed primitives, improved Aftermath casting rule: now the casted card becomes instant or sorcery in the stack according to the casted half, fixed a bug with the previous zone of cards casted using the "putinplay" option of "castcard" keyword. https://github.com/WagicProject/wagic/commit/eb35e3589bae52d9fa35f1bcefbede9763f13289 ([Vitty85](https://github.com/Vitty85))
### 13/10/21
- *Committed:* Fixed primitives, added new ability "hasaftermath" to implement Aftermath cost with Flashback and refactored all cards with Aftermath cost (now they use a special version of Flashback but they don't count as flashback spell), added a new ability "spellmover" to implement all cards that have to target a spell on stack to move to some other zone (they are not real counters so they don't care about "nofizzle" or "nofizzlealternative" abilites of their target), fixed all primitives with "spellmover" ability, added a new keyword "storedname" to target card with a specifc previously stored name, improved "fizzleto" ability in order to allow to move the fizzled card on second place from the top or to exile and imprint the target name. https://github.com/WagicProject/wagic/commit/9c2eee7d7e74f0f494339b10f4f1c3279076bd50 ([Vitty85](https://github.com/Vitty85))

View File

@@ -1955,15 +1955,15 @@ type=Sorcery
[/card]
[card]
name=Angrath's Marauders
auto=@damaged(creature) from(*[instant;sorcery]|mystack,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(creature[-Angrath's Marauders]|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(creature[Angrath's Marauders]|mybattlefield,myGraveyard):thisforeach(variable{thatmuch}) all(trigger[to]) transform((,newability[0/-1])) oneshot
auto=@damaged(player) from(*[instant;sorcery]|mystack,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(creature[-Angrath's Marauders]|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature|myBattlefield) from(*[-Angrath's Marauders]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(creature|opponentBattlefield) from(*[-Angrath's Marauders]|*):damage:thatmuch all(trigger[to])
auto=@combatdamaged(creature|opponentBattlefield) from(this):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(*[-Angrath's Marauders]|myzones):damage:thatmuch controller
auto=@damagefoeof(player) from(*[-Angrath's Marauders]|*):damage:thatmuch opponent
auto=@combatdamagefoeof(player) from(this):damage:thatmuch all(trigger[to])
auto=@counterremoved(duplicateAll) from(planeswalker|opponentBattlefield) restriction{myTurnOnly}:donothing
auto=@damaged(planeswalker|myBattlefield) from(*[-Angrath's Marauders]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(planeswalker|opponentBattlefield) from(*[-Angrath's Marauders]|*):damage:thatmuch all(trigger[to])
auto=@combatdamaged(planeswalker|opponentBattlefield) from(this):damage:thatmuch all(trigger[to])
text=If a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.
mana={5}{R}{R}
type=Creature
@@ -2143,16 +2143,12 @@ type=Enchantment
[/card]
[card]
name=Anthem of Rakdos
auto=@damaged(creature) from(*[instant;sorcery]|mystack,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(creature[-Angrath's Marauders]|mybattlefield,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(creature[Angrath's Marauders]|mybattlefield,myGraveyard) restriction{type(*|myhand)~lessthan~1}:thisforeach(variable{thatmuch}) all(trigger[to]) transform((,newability[0/-1])) oneshot
auto=@damaged(player) from(*[instant;sorcery]|mystack,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@damaged(player) from(creature[-Angrath's Marauders]|mybattlefield,myGraveyard) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@combatdamagefoeof(player) from(this) restriction{type(*|myhand)~lessthan~1}:damage:thatmuch all(trigger[to])
auto=@counterremoved(duplicateAll) from(planeswalker|opponentBattlefield) restriction{restriction{type(*|myhand)~lessthan~1},myTurnOnly}:donothing
auto=lord(creature[attacking]|myBattlefield) 2/0 ueot && damage:1 controller
auto=@damaged(creature|myBattlefield) from(*[-Anthem of Rakdos]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(creature|opponentBattlefield) from(*[-Anthem of Rakdos]|*):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(*[-Anthem of Rakdos]|myzones):damage:thatmuch controller
auto=@damagefoeof(player) from(*[-Anthem of Rakdos]|*):damage:thatmuch opponent
auto=@combat(attacking) source(creature|myBattlefield):name(Attacking creature gets 2/0) all(trigger[to]) transforms((,newability[2/0])) ueot
auto=@combat(attacking) source(creature|myBattlefield):name(Deal 1 damage) damage:1 controller
text=Whenever a creature you control attacks, it gets +2/+0 until end of turn and Anthem of Rakdos deals 1 damage to you. -- Hellbent - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.
mana={2}{B}{R}{R}
type=Enchantment
@@ -9122,9 +9118,12 @@ toughness=3
[/card]
[card]
name=Calamity Bearer
auto=@damaged(creature) from(*[giant]|myzones):all(trigger[to]) damage:thatmuch
auto=@damagefoeof(player) from(*[giant]|myzones):damage:thatmuch opponent
auto=@damaged(creature|myBattlefield) from(*[giant]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(creature|opponentBattlefield) from(*[giant]|*):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(*[giant]|myzones):damage:thatmuch controller
auto=@damagefoeof(player) from(*[giant]|*):damage:thatmuch opponent
auto=@damaged(planeswalker|myBattlefield) from(*[giant]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(planeswalker|opponentBattlefield) from(*[giant]|*):damage:thatmuch all(trigger[to])
text=If a Giant source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.
mana={2}{R}{R}
type=Creature
@@ -14654,9 +14653,7 @@ toughness=3
[card]
name=Curse of Bloodletting
target=opponent
auto=@damaged(targetedplayer) from(*[instant;sorcery]|*):damage:thatmuch opponent
auto=@damaged(targetedplayer) from(*[creature;artifact;land;planeswalker]|*):damage:thatmuch opponent
auto=@damaged(targetedplayer) from(enchantment[-Curse of Bloodletting]|*):damage:thatmuch opponent
auto=@damaged(targetedplayer) from(*[-Curse of Bloodletting]|*):damage:thatmuch opponent
text=Enchant player -- If a source would deal damage to enchanted player, it deals double that damage to that player instead.
mana={3}{R}{R}
type=Enchantment
@@ -17307,14 +17304,9 @@ toughness=3
[card]
name=Dictate of the Twin Gods
abilities=flash
auto=@damaged(creature) from(*[instant;sorcery]|Stack,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(*[creature;artifact;land;planeswalker]|battlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(enchantment[-Dictate of the Twin Gods]|battlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[instant;sorcery]|Stack,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[creature;artifact;land;planeswalker]|battlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(enchantment[-Dictate of the Twin Gods]|battlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@counterremoved(duplicateAll) from(planeswalker|opponentBattlefield) restriction{myTurnOnly}:donothing
auto=@counterremoved(duplicateAll) from(planeswalker|myBattlefield) restriction{opponentTurnOnly}:donothing
auto=@damaged(creature) from(*[-Dictate of the Twin Gods]|*):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[-Dictate of the Twin Gods]|*):damage:thatmuch all(trigger[to])
auto=@damaged(planeswalker) from(*[-Dictate of the Twin Gods]|*):damage:thatmuch all(trigger[to])
text=Flash -- If a source would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.
mana={3}{R}{R}
type=Enchantment
@@ -20695,15 +20687,10 @@ toughness=3
[card]
name=Embermaw Hellion
abilities=trample
auto=@damaged(*|battlefield) from(*[instant;sorcery;red]|mystack,myGraveyard):all(trigger[to]) transforms((,newability[damage:1])) oneshot
auto=@damaged(*|battlefield) from(*[enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):all(trigger[to]) transforms((,newability[damage:1])) oneshot
auto=@damaged(*|battlefield) from(other creature[red]|mybattlefield,myGraveyard):all(trigger[to]) transforms((,newability[damage:1])) oneshot
auto=@damagefoeof(player) from(*[instant;sorcery;red]|mystack,myGraveyard):ability$!name(Damage opponent) damage:1 opponent!$ controller
auto=@damagefoeof(player) from(*[enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):ability$!name(Damage opponent) damage:1 opponent!$ controller
auto=@damagefoeof(player) from(other creature[red]|mybattlefield,myGraveyard):ability$!name(Damage opponent) damage:1 opponent!$ controller
auto=@damageof(player) from(*[instant;sorcery;red]|mystack,myGraveyard):ability$!name(Damage controller) damage:1 controller!$ controller
auto=@damageof(player) from(*[enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):ability$!name(Damage controller) damage:1 controller!$ controller
auto=@damageof(player) from(other creature[red]|mybattlefield,myGraveyard):ability$!name(Damage controller) damage:1 controller!$ controller
auto=@damaged(*|mybattlefield) from(other *[red]|myzones):all(trigger[to]) damage:1
auto=@damaged(*|opponentbattlefield) from(other *[red]|*):all(trigger[to]) damage:1
auto=@damageof(player) from(other *[red]|myzones):damage:1 controller
auto=@damagefoeof(player) from(other *[red]|*):damage:1 opponent
text=Trample (This creature can deal excess combat damage to defending player or planeswalker while attacking.) -- If another red source you control would deal damage to a permanent or player, it deals that much damage plus 1 to that permanent or player instead.
mana={3}{R}{R}
type=Creature
@@ -23677,10 +23664,8 @@ toughness=3
[card]
name=Fiendish Duo
abilities=First strike
auto=@damagefoeof(player) from(*[instant;sorcery]|stack,Graveyard):damage:thatmuch all(trigger[to])
auto=@damagefoeof(player) from(*[enchantment;artifact;land;planeswalker]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@damagefoeof(player) from(creature[-Fiendish Duo]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@combatdamagefoeof(player) from(this):damage:thatmuch all(trigger[to])
auto=@damagefoeof(player) from(*[-Fiendish Duo]|myzones):damage:thatmuch opponent
auto=@combatdamagefoeof(player) from(this):damage:thatmuch opponent
text=First strike -- If a source would deal damage to an opponent, it deals double that damage to that player instead.
mana={4}{R}{R}
type=Creature
@@ -24052,8 +24037,12 @@ type=Instant
[/card]
[card]
name=Fire Servant
auto=@damaged(creature) from(*[instant;sorcery;red]|myStack,mygraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[instant;sorcery;red]|myStack,mygraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature|myBattlefield) from(*[instant;sorcery;red]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(creature|opponentBattlefield) from(*[instant;sorcery;red]|*):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(*[instant;sorcery;red]|myzones):damage:thatmuch controller
auto=@damagefoeof(player) from(*[instant;sorcery;red]|*):damage:thatmuch opponent
auto=@damaged(planeswalker|myBattlefield) from(*[instant;sorcery;red]|myzones):damage:thatmuch all(trigger[to])
auto=@damaged(planeswalker|opponentBattlefield) from(*[instant;sorcery;red]|*):damage:thatmuch all(trigger[to])
text=If a red instant or sorcery spell you control would deal damage, it deals double that damage instead.
mana={3}{R}{R}
type=Creature
@@ -25947,12 +25936,8 @@ type=Enchantment
[/card]
[card]
name=Furnace of Rath
auto=@damaged(creature) from(*[instant;sorcery]|stack,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(*[creature;artifact;land;planeswalker]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(enchantment[-Furnace of Rath]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[instant;sorcery]|stack,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[creature;artifact;land;planeswalker]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(enchantment[-Furnace of Rath]|battlefield,Graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(*[-Furnace of Rath]|*):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(*[-Furnace of Rath]|*):damage:thatmuch all(trigger[to])
text=If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.
mana={1}{R}{R}{R}
type=Enchantment
@@ -28287,11 +28272,7 @@ type=Sorcery
[card]
name=Goblin Goliath
auto=token(Goblin,Creature Goblin,1/1,red)
auto={3}{R}{T}:lord(*|mybattlefield) transforms((DoubleActive)) ueot
auto=@damagefoeof(player) from(*[instant;sorcery]|mystack,myGraveyard) restriction{type(*[DoubleActive]|mybattlefield)~morethan~0}:damage:thatmuch all(trigger[to])
auto=@damagefoeof(player) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,myGraveyard) restriction{type(*[DoubleActive]|mybattlefield)~morethan~0}:damage:thatmuch all(trigger[to])
auto=@damagefoeof(player) from(creature[-Goblin Goliath]|mybattlefield,myGraveyard) restriction{type(*[DoubleActive]|mybattlefield)~morethan~0}:damage:thatmuch all(trigger[to])
auto=@combatdamagefoeof(player) from(this) restriction{type(*[DoubleActive]|mybattlefield)~morethan~0}:damage:thatmuch all(trigger[to])
auto={3}{R}{T}:name(Double damage) transforms((,newability[@damagefoeof(player) from(*[-Goblin Goliath]|*):damage:thatmuch opponent],newability[@combatdamagefoeof(player) from(this):damage:thatmuch opponent])) ueot
text=When Goblin Goliath enters the battlefield, create a number of 1/1 red Goblin creature tokens equal to the number of opponents you have. -- {3}{R}, {T}: If a source you control would deal damage to an opponent this turn, it deals double that damage to that player instead.
mana={4}{R}{R}
type=Creature
@@ -28769,13 +28750,10 @@ type=Artifact Land
[card]
name=Goldnight Castigator
abilities=flying,haste
auto=@damaged(this) from(*[instant;sorcery]|stack,graveyard):damage:thatmuch all(this)
auto=@damaged(this) from(*[enchantment;artifact;land;planeswalker]|battlefield,graveyard):damage:thatmuch all(this)
auto=@damaged(this) from(creature[-Goldnight Castigator]|battlefield,graveyard):damage:thatmuch all(this)
auto=@combatdamaged(this) from(creature[Goldnight Castigator]|battlefield,graveyard):damage:thatmuch all(this)
auto=@damageof(player) from(*[instant;sorcery]|mystack,graveyard):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(*[enchantment;artifact;land;planeswalker]|mybattlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@damageof(player) from(creature[-Goldnight Castigator]|mybattlefield,graveyard):damage:thatmuch all(trigger[to])
auto=@damaged(this) from(*[-Goldnight Castigator]|*):damage:thatmuch all(this)
auto=@combatdamaged(this) from(creature[Goldnight Castigator]|opponentBattlefield):damage:thatmuch all(this)
auto=@damageof(player) from(*[-Goldnight Castigator]|*):damage:thatmuch all(trigger[to])
auto=@combatdamageof(player) from(creature[Goldnight Castigator]|opponentBattlefield):damage:thatmuch controller
text=Flying, haste -- If a source would deal damage to you, it deals double that damage to you instead. -- If a source would deal damage to Goldnight Castigator, it deals double that damage to Goldnight Castigator instead.
mana={2}{R}{R}
type=Creature
@@ -29234,8 +29212,8 @@ toughness=1
[/card]
[card]
name=Gratuitous Violence
auto=@damaged(creature) from(creature|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(creature|mybattlefield,myGraveyard):damage:thatmuch all(trigger[to])
auto=@damaged(creature) from(creature|mybattlefield):damage:thatmuch all(trigger[to])
auto=@damaged(player) from(creature|mybattlefield):damage:thatmuch all(trigger[to])
text=If a creature you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.
mana={2}{R}{R}{R}
type=Enchantment
@@ -34739,6 +34717,7 @@ auto={2}:equip
auto=@combatdamageof(player) from(mytgt):damage:thatmuch controller
auto=@combatdamagefoeof(player) from(mytgt):damage:thatmuch opponent
auto=@combatdamaged(creature) from(mytgt):all(trigger[to]) damage:thatmuch
auto=@combatdamaged(planeswalker) from(mytgt):all(trigger[to]) damage:thatmuch
auto=teach(creature) transforms((,newability[@combatdamaged(this):damage:thatmuch all(this)]))
text=If equipped creature would deal combat damage, it deals double that damage instead. -- If another creature would deal combat damage to equipped creature, it deals double that damage to equipped creature instead. -- Equip {2}
mana={2}
@@ -34996,17 +34975,8 @@ name=Insult // Injury
abilities=hasaftermath
otherrestriction=type(creature|battlefield)~morethan~0
flashback={2}{R} name(Injury)
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(creature) from(*[creature;artifact;enchantment;land;planeswalker]|mybattlefield):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(creature) from(*[creature;artifact;enchantment;land;planeswalker]|mygraveyard):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(creature) from(*[instant;sorcery]|myStack):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(creature) from(*[instant;sorcery]|mygraveyard):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(player) from(*[instant;sorcery]|myStack):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(player) from(*[instant;sorcery]|mygraveyard):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(player) from(*[creature;artifact;enchantment;land;planeswalker]|mybattlefield):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@damaged(player) from(*[creature;artifact;enchantment;land;planeswalker]|mygraveyard):damage:thatmuch all(trigger[to])])) ueot
auto=ifnot paid(flashback) then emblem transforms((,newability[@counterremoved(duplicateAll) from(planeswalker|opponentBattlefield) restriction{myTurnOnly}:donothing])) ueot
auto=if paid(flashback) then choice name(Damage opponent and target creature) name(Damage opponent and target creature) damage:2 opponent && damage:2 target(creature)
auto=if paid(flashback) then choice name(Damage yourself and target creature) name(Damage yourself and target creature) damage:2 controller && damage:2 target(creature)
auto=ifnot paid(flashback) then token(Insult Emblem,Emblem,0/0,shroud,indestructible,notrigger,unearth) and!( transforms((,newability[@damaged(planeswalker|opponentBattlefield) from(*[-Insult Emblem]|*):damage:thatmuch all(trigger[to])],newability[@damaged(creature|opponentBattlefield) from(*[-Insult Emblem]|*):damage:thatmuch all(trigger[to])],newability[@damagefoeof(player) from(*[-Insult Emblem]|*):damage:thatmuch opponent],newability[@damaged(planeswalker|myBattlefield) from(*[-Insult Emblem]|myzones):damage:thatmuch all(trigger[to])],newability[@damaged(creature|myBattlefield) from(*[-Insult Emblem]|myzones):damage:thatmuch all(trigger[to])],newability[@damageof(player) from(*[-Insult Emblem]|myzones):damage:thatmuch controller])) ueot )!
auto=if paid(flashback) then choice name(Damage creature) name(Damage creature) damage:2 target(creature|battlefield) && ability$!name(Damage player) name(Damage player) damage:2 target(player)!$ controller
text=Damage can't be prevented this turn. If a source you control would deal damage this turn, it deals double that damage instead. -- Aftermath (Cast this spell only from your graveyard. Then exile it.) Injury deals 2 damage to target creature and 2 damage to target player.
mana={2}{R}
type=Sorcery
@@ -52277,12 +52247,18 @@ type=Enchantment
[/card]
[card]
name=Pyromancer's Gauntlet
auto=@damaged(*|opponentBattlefield) from(instant[red]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damaged(*|opponentBattlefield) from(sorcery[red]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damaged(*|opponentBattlefield) from(planeswalker[red]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damagefoeof(player) from(instant[red]|myzones):name(Damage opponent) damage:2 opponent
auto=@damagefoeof(player) from(sorcery[red]|myzones):name(Damage opponent) damage:2 opponent
auto=@damagefoeof(player) from(planeswalker[red]|myzones):name(Damage opponent) damage:2 opponent
auto=@damaged(*|myBattlefield) from(instant[red]|myzones):all(trigger[to]) damage:2
auto=@damaged(*|myBattlefield) from(sorcery[red]|myzones):all(trigger[to]) damage:2
auto=@damaged(*|myBattlefield) from(planeswalker[red]|myzones):all(trigger[to]) damage:2
auto=@damaged(*|opponentBattlefield) from(instant[red]|*):all(trigger[to]) damage:2
auto=@damaged(*|opponentBattlefield) from(sorcery[red]|*):all(trigger[to]) damage:2
auto=@damaged(*|opponentBattlefield) from(planeswalker[red]|*):all(trigger[to]) damage:2
auto=@damageof(player) from(instant[red]|myzones):damage:2 opponent
auto=@damageof(player) from(sorcery[red]|myzones):damage:2 opponent
auto=@damageof(player) from(planeswalker[red]|myzones):damage:2 opponent
auto=@damagefoeof(player) from(instant[red]|*):damage:2 opponent
auto=@damagefoeof(player) from(sorcery[red]|*):damage:2 opponent
auto=@damagefoeof(player) from(planeswalker[red]|*):damage:2 opponent
text=If a red instant or sorcery spell you control or a red planeswalker you control would deal damage to a permanent or player, it deals that much damage plus 2 to that permanent or player instead.
mana={5}
type=Artifact
@@ -52296,8 +52272,10 @@ type=Legendary Artifact
[/card]
[card]
name=Pyromancer's Swath
auto=@damaged(*|opponentBattlefield) from(*[instant;sorcery]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damagefoeof(player) from(*[instant;sorcery]|myzones):name(Damage opponent) damage:2 opponent
auto=@damaged(creature|myBattlefield) from(*[instant;sorcery]|myzones):all(trigger[to]) damage:2
auto=@damaged(creature|opponentBattlefield) from(*[instant;sorcery]|*):all(trigger[to]) damage:2
auto=@damageof(player) from(*[instant;sorcery]|myzones):damage:2 opponent
auto=@damagefoeof(player) from(*[instant;sorcery]|*):damage:2 opponent
auto=@each endofturn:name(Discard hand) all(*|myhand) reject
text=If an instant or sorcery source you control would deal damage to a creature or player, it deals that much damage plus 2 to that creature or player instead. -- At the beginning of each end step, discard your hand.
mana={2}{R}
@@ -52614,11 +52592,8 @@ type=Sorcery
[/card]
[card]
name=Quest for Pure Flame
auto=@damagefoeof(player) from(*[instant;sorcery]|stack,Graveyard):name(Put Quest counter) counter(0/0.1.quest)
auto=@damagefoeof(player) from(*[enchantment;artifact;land;planeswalker]|battlefield,Graveyard):name(Put Quest counter) counter(0/0.1.quest)
auto=@damagefoeof(player) from(creature[-Fiendish Duo]|battlefield,Graveyard):name(Put Quest counter) counter(0/0.1.quest)
auto=@combatdamagefoeof(player) from(this):damage:name(Put Quest counter) counter(0/0.1.quest)
auto={S} restriction{compare(hascntquest)~morethan~3}:name(Sacrifice and double damage) emblem transforms((,newability[@damagefoeof(player) from(*[instant;sorcery]|myzones):damage:thatmuch all(trigger[to])],newability[@damagefoeof(player) from(*[creature;artifact;land;planeswalker]|myzones):damage:thatmuch all(trigger[to])],newability[@damagefoeof(player) from(enchantment[-Quest for Pure Flame]|myzones):damage:thatmuch all(trigger[to])])) ueot dontremove
auto=@damagefoeof(player):may name(Put Quest counter) counter(0/0,1,Quest)
auto={S} restriction{compare(hascntquest)~morethan~3}:name(Sacrifice and double damage) emblem transforms((,newability[@damaged(creature|myBattlefield) from(*[-Quest for Pure Flame]|myzones):damage:thatmuch all(trigger[to])],newability[@damaged(creature|opponentBattlefield) from(*[-Quest for Pure Flame]|*):damage:thatmuch all(trigger[to])],newability[@damageof(player) from(*[-Quest for Pure Flame]|myzones):damage:thatmuch controller],newability[@damagefoeof(player) from(*[-Quest for Pure Flame]|*):damage:thatmuch opponent],newability[@damaged(planeswalker|myBattlefield) from(*[-Quest for Pure Flame]|myzones):damage:thatmuch all(trigger[to])],newability[@damaged(planeswalker|opponentBattlefield) from(*[-Quest for Pure Flame]|*):damage:thatmuch all(trigger[to])])) ueot dontremove
text=Whenever a source you control deals damage to an opponent, you may put a quest counter on Quest for Pure Flame. -- Remove four quest counters from Quest for Pure Flame and sacrifice it: If any source you control would deal damage to a creature or player this turn, it deals double that damage to that creature or player instead.
mana={R}
type=Enchantment
@@ -54555,7 +54530,7 @@ abilities=flying,haste
auto=preventalldamage to(controller) from(*|stack)
auto=preventalldamage to(*|mybattlefield) from(*|stack)
auto=@damaged(*|opponentbattlefield) from(*|stack):all(trigger[to]) damage:1
auto=@damagefoeof(player) from(*|stack):ability$!name(Damage opponent) name(Damage opponent) damage:1 opponent!$ controller
auto=@damagefoeof(player) from(*|stack):damage:1 opponent
text=Flying, haste -- If a spell would deal damage to you or another permanent you control, prevent that damage. -- If a spell would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus 1 instead.
type=Legendary Creature
subtype=Human Knight
@@ -69971,10 +69946,10 @@ auto=@each my firstmain:counter(0/0,1,Lore)
auto=all(*|myhand) reject
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) draw:2 controller
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}=) moveto(myhand) target(*[land;creature]|mygraveyard)
auto=@damaged(creature|opponentBattlefield) from(*[instant;sorcery;red]|mystack,myGraveyard):this(counter{0/0.3.Lore}=) all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damaged(creature|opponentBattlefield) from(*[creature;enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):this(counter{0/0.3.Lore}=) all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damagefoeof(player) from(*[instant;sorcery;red]|mystack,myGraveyard):this(counter{0/0.3.Lore}=) ability$!name(Damage opponent) damage:2 opponent!$ controller
auto=@damagefoeof(player) from(*[creature;enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):this(counter{0/0.3.Lore}=) ability$!name(Damage opponent) damage:2 opponent!$ controller
auto=@damaged(creature|opponentBattlefield) from(*[-The Flame of Keld;red]|*) restriction{compare(hascntlore)~equalto~3}:all(trigger[to]) damage:2
auto=@damaged(creature|myBattlefield) from(*[-The Flame of Keld;red]|myzones) restriction{compare(hascntlore)~equalto~3}:all(trigger[to]) damage:2
auto=@damageof(player) from(*[-The Flame of Keld;red]|myzones) restriction{compare(hascntlore)~equalto~3}:damage:2 controller
auto=@damagefoeof(player) from(*[-The Flame of Keld;red]|*) restriction{compare(hascntlore)~equalto~3}:damage:2 opponent
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.4.Lore}) sacrifice(this)
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Discard your hand. -- II - Draw two cards. -- III - If a red source you control would deal damage to a permanent or player this turn, it deals that much damage plus 2 to that permanent or player instead.
mana={1}{R}
@@ -71767,10 +71742,9 @@ toughness=4
[/card]
[card]
name=Torbran, Thane of Red Fell
auto=@damaged(creature|opponentBattlefield) from(*[instant;sorcery;red]|mystack,myGraveyard):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damaged(creature|opponentBattlefield) from(*[creature;enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):all(trigger[to]) transforms((,newability[damage:2])) oneshot
auto=@damagefoeof(player) from(*[instant;sorcery;red]|mystack,myGraveyard):ability$!name(Damage opponent) damage:2 opponent!$ controller
auto=@damagefoeof(player) from(*[creature;enchantment;artifact;land;planeswalker;red]|mybattlefield,myGraveyard):ability$!name(Damage opponent) damage:2 opponent!$ controller
auto=@damaged(*|opponentBattlefield) from(*[-Torbran^ Thane of Red Fell;red]|*):all(trigger[to]) damage:2
auto=@combatdamaged(creature|opponentBattlefield) from(this):all(trigger[to]) damage:2
auto=@damagefoeof(player) from(*[-Torbran^ Thane of Red Fell;red]|*):damage:2 opponent
text=If a red source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus 2 instead.
mana={1}{R}{R}{R}
type=Legendary Creature

View File

@@ -1420,8 +1420,10 @@ subtype=Jaya
[card]
name=Jaya, Venerated Firemage
auto=counter(0/0,5,Loyalty)
auto=@damaged(*|opponentBattlefield) from(*[red]|myBattlefield,myStack,myGraveyard,mySideboard):all(trigger) damage:1
auto=@damaged(opponent) from(*[red]|myBattlefield,myStack,myGraveyard,mySideboard):damage:1 opponent
auto=@damaged(*|opponentBattlefield) from(other *[red]|*):all(trigger[to]) damage:1
auto=@damaged(*|mybattlefield) from(other *[red]|myzones):all(trigger[to]) damage:1
auto=@damageof(player) from(other *[red]|myzones):damage:1 controller
auto=@damagefoeof(player) from(other *[red]|*):damage:1 opponent
auto={C(0/0,-2,Loyalty)}:name(-2: Deals 2 damage to any target) damage:2 target(player,creature,planeswalker)
text=If another red source you control would deal damage to a permanent or player, it deals that much damage plus 1 to that permanent or player instead. -- 2: Jaya, Venerated Firemage deals 2 damage to any target.
mana={2}{R}{R}{R}

View File

@@ -3963,18 +3963,17 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event)
if (d->damage > 0 && card && card->hasType(Subtypes::TYPE_PLANESWALKER))
{
int howMany = d->damage;
for(int k = 0;k < howMany;k++)
for(int k = 0; k < howMany; k++)
{
card->counters->removeCounter("loyalty",0,0);
card->counters->removeCounter("loyalty", 0, 0);
}
d->damage = 0;
return 1;
}
}
if (WEventCounters * removel = dynamic_cast<WEventCounters*>(event))
{
if(removel->removed && removel->targetCard && removel->targetCard->hasType(Subtypes::TYPE_PLANESWALKER))
if(!removel->targetCard->counters->hasCounter("loyalty",0,0))
if(!removel->targetCard->counters->hasCounter("loyalty", 0, 0))
{
removel->targetCard->toGrave(true);
return 1;