From 1f29fb7bf3b71bc785699b6b76fc326e43f3c9db Mon Sep 17 00:00:00 2001 From: Tim Mocny Date: Tue, 6 Oct 2020 14:59:38 +0000 Subject: [PATCH] Lava Burst! Whippoorwill! --- .../java/forge/game/replacement/ReplaceDamage.java | 11 +++++++++-- forge-gui/res/cardsfolder/a/aegis_of_honor.txt | 3 +-- forge-gui/res/cardsfolder/b/blood_of_the_martyr.txt | 3 +-- forge-gui/res/cardsfolder/e/empyrial_archangel.txt | 3 +-- forge-gui/res/cardsfolder/g/gideons_sacrifice.txt | 2 +- forge-gui/res/cardsfolder/j/jade_monolith.txt | 3 +-- forge-gui/res/cardsfolder/l/lava_burst.txt | 7 +++++++ forge-gui/res/cardsfolder/m/martyrs_of_korlis.txt | 3 +-- forge-gui/res/cardsfolder/m/mirror_strike.txt | 3 +-- forge-gui/res/cardsfolder/n/nova_pentacle.txt | 3 +-- forge-gui/res/cardsfolder/p/palisade_giant.txt | 3 +-- forge-gui/res/cardsfolder/p/pariah.txt | 3 +-- forge-gui/res/cardsfolder/p/pariahs_shield.txt | 3 +-- .../res/cardsfolder/p/protector_of_the_crown.txt | 3 +-- forge-gui/res/cardsfolder/r/reflect_damage.txt | 3 +-- forge-gui/res/cardsfolder/r/reverberation.txt | 3 +-- forge-gui/res/cardsfolder/s/shimian_night_stalker.txt | 3 +-- forge-gui/res/cardsfolder/s/sivvis_valor.txt | 2 +- forge-gui/res/cardsfolder/t/treacherous_link.txt | 3 +-- forge-gui/res/cardsfolder/t/turn_the_tables.txt | 3 +-- forge-gui/res/cardsfolder/v/vassals_duty.txt | 3 +-- forge-gui/res/cardsfolder/w/weathered_bodyguards.txt | 3 +-- forge-gui/res/cardsfolder/w/whippoorwill.txt | 11 +++++++++++ 23 files changed, 47 insertions(+), 40 deletions(-) create mode 100644 forge-gui/res/cardsfolder/l/lava_burst.txt create mode 100644 forge-gui/res/cardsfolder/w/whippoorwill.txt diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java index f6eaa9325fe..a5ce0550ef2 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java @@ -17,6 +17,7 @@ */ package forge.game.replacement; +import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -47,6 +48,7 @@ public class ReplaceDamage extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { + if (!(runParams.containsKey(AbilityKey.Prevention) == (hasParam("PreventionEffect") || hasParam("Prevent")))) { return false; } @@ -117,10 +119,15 @@ public class ReplaceDamage extends ReplacementEffect { return false; } - // check for DamageRedirection, the Thing where the damage is redirected to must be a creature or planeswalker or a player if (hasParam("DamageTarget")) { + //Lava Burst and Whippoorwill check + SpellAbility cause = (SpellAbility) runParams.get(AbilityKey.Cause); + GameEntity affected = (GameEntity) runParams.get(AbilityKey.Affected); + if (((cause != null) && (cause.hasParam("NoRedirection")) || (affected.hasKeyword("Damage that would be dealt to CARDNAME can't be redirected.")))) { + return false; + } + // check for DamageRedirection, the Thing where the damage is redirected to must be a creature or planeswalker or a player String def = getParam("DamageTarget"); - for (Player p : AbilityUtils.getDefinedPlayers(hostCard, def, null)) { if (!p.getGame().getPlayers().contains(p)) { return false; diff --git a/forge-gui/res/cardsfolder/a/aegis_of_honor.txt b/forge-gui/res/cardsfolder/a/aegis_of_honor.txt index a2f719e5910..a8cb6cdc25b 100644 --- a/forge-gui/res/cardsfolder/a/aegis_of_honor.txt +++ b/forge-gui/res/cardsfolder/a/aegis_of_honor.txt @@ -2,9 +2,8 @@ Name:Aegis of Honor ManaCost:W Types:Enchantment A:AB$ Effect | Cost$ 1 | ReplacementEffects$ SelflessDamage | SVars$ SelflessDmg,ExileEffect | References$ SelflessDamage,SelflessDmg,ExileEffect | AILogic$ RedirectSpellDamageFromPlayer | Stackable$ False | SpellDescription$ The next time an instant or sorcery spell would deal damage to you this turn, that spell deals that damage to its controller instead. -SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ You | ValidSource$ Instant,Sorcery | ReplaceWith$ SelflessDmg | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. +SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ You | ValidSource$ Instant,Sorcery | ReplaceWith$ SelflessDmg | DamageTarget$ ReplacedSourceController | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ ReplacedSourceController | VarType$ Player | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:NonStackingEffect:True -SVar:Picture:http://www.wizards.com/global/images/magic/general/aegis_of_honor.jpg Oracle:{1}: The next time an instant or sorcery spell would deal damage to you this turn, that spell deals that damage to its controller instead. diff --git a/forge-gui/res/cardsfolder/b/blood_of_the_martyr.txt b/forge-gui/res/cardsfolder/b/blood_of_the_martyr.txt index 6d6aca31e4e..3ea90e4b116 100644 --- a/forge-gui/res/cardsfolder/b/blood_of_the_martyr.txt +++ b/forge-gui/res/cardsfolder/b/blood_of_the_martyr.txt @@ -2,8 +2,7 @@ Name:Blood of the Martyr ManaCost:W W W Types:Instant A:SP$ Effect | Cost$ W W W | Name$ Blood of the Martyr Effect | ReplacementEffects$ MartyrDamage | SVars$ DmgYou | SpellDescription$ Until end of turn, if damage would be dealt to any creature, you may have that damage dealt to you instead. -SVar:Damage:Event$ DamageDone | ValidTarget$ Creature | Optional$ True | OptionalDecider$ You | ReplaceWith$ DmgYou | Description$ Until end of turn, if damage would be dealt to any creature, you may have that damage dealt to you instead. +SVar:Damage:Event$ DamageDone | ValidTarget$ Creature | Optional$ True | OptionalDecider$ You | DamageTarget$ You | ReplaceWith$ DmgYou | Description$ Until end of turn, if damage would be dealt to any creature, you may have that damage dealt to you instead. SVar:DmgYou:DB$ ReplaceEffect | VarName$ Affected | VarValue$ You | VarType$ Player AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/blood_of_the_martyr.jpg Oracle:Until end of turn, if damage would be dealt to any creature, you may have that damage dealt to you instead. diff --git a/forge-gui/res/cardsfolder/e/empyrial_archangel.txt b/forge-gui/res/cardsfolder/e/empyrial_archangel.txt index 819363c9de1..614ddbe80b9 100644 --- a/forge-gui/res/cardsfolder/e/empyrial_archangel.txt +++ b/forge-gui/res/cardsfolder/e/empyrial_archangel.txt @@ -4,7 +4,6 @@ Types:Creature Angel PT:5/8 K:Flying K:Shroud -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgSelf | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgSelf | DamageTarget$ Self | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. SVar:DmgSelf:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Self | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/empyrial_archangel.jpg Oracle:Flying\nShroud (This creature can't be the target of spells or abilities.)\nAll damage that would be dealt to you is dealt to Empyrial Archangel instead. diff --git a/forge-gui/res/cardsfolder/g/gideons_sacrifice.txt b/forge-gui/res/cardsfolder/g/gideons_sacrifice.txt index d76910c2231..b26c4afb055 100644 --- a/forge-gui/res/cardsfolder/g/gideons_sacrifice.txt +++ b/forge-gui/res/cardsfolder/g/gideons_sacrifice.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Instant A:SP$ ChooseCard | Cost$ W | Choices$ Creature.YouCtrl,Planeswalker.YouCtrl | SubAbility$ DBEffect | SpellDescription$ Choose a creature or planeswalker you control. All damage that would be dealt this turn to you and permanents you control is dealt to the chosen permanent instead (if it's still on the battlefield). SVar:DBEffect:DB$ Effect | ReplacementEffects$ DamageEvent | SVars$ GideonSac | References$ DamageEvent,GideonSac | ExileOnMoved$ True | RememberObjects$ ChosenCard -SVar:DamageEvent:Event$ DamageDone | ActiveZones$ Command | ValidTarget$ You,Permanent.YouCtrl | ReplaceWith$ GideonSac | Description$ All damage that would be dealt this turn to you and permanents you control is dealt to the chosen permanent instead (if it's still on the battlefield). +SVar:DamageEvent:Event$ DamageDone | ActiveZones$ Command | ValidTarget$ You,Permanent.YouCtrl | ReplaceWith$ GideonSac | DamageTarget$ Remembered | Description$ All damage that would be dealt this turn to you and permanents you control is dealt to the chosen permanent instead (if it's still on the battlefield). SVar:GideonSac:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Remembered | VarType$ Card SVar:NeedsToPlayVar:Z GE1 SVar:Z:SVar$Z1/Plus.Z2 diff --git a/forge-gui/res/cardsfolder/j/jade_monolith.txt b/forge-gui/res/cardsfolder/j/jade_monolith.txt index 699614bd74f..694ae7992ae 100644 --- a/forge-gui/res/cardsfolder/j/jade_monolith.txt +++ b/forge-gui/res/cardsfolder/j/jade_monolith.txt @@ -3,12 +3,11 @@ ManaCost:4 Types:Artifact A:AB$ ChooseSource | Cost$ 1 | Choices$ Card,Emblem | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SpellDescription$ The next time a source of your choice would deal damage to target creature this turn, that damage is dealt to you instead. SVar:DBEffect:DB$ Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect the damage from | ReplacementEffects$ SelflessDamage | Triggers$ OutOfSight | SVars$ SelflessDamage,OutOfSight,SelflessDmg,ExileEffect | Duration$ HostLeavesOrEOT | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | SubAbility$ DBCleanup | ConditionDefined$ ChosenCard | ConditionPresent$ Card,Emblem | ConditionCompare$ GE1 -SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | Description$ The next time a source of your choice would deal damage to target creature this turn, that damage is dealt to you instead. +SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | DamageTarget$ You | Description$ The next time a source of your choice would deal damage to target creature this turn, that damage is dealt to you instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ You | VarType$ Player | SubAbility$ ExileEffect #Zone Change for the source of your choice SVar:OutOfSight:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Defined$ ChosenCard | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/jade_monolith.jpg Oracle:{1}: The next time a source of your choice would deal damage to target creature this turn, that source deals that damage to you instead. diff --git a/forge-gui/res/cardsfolder/l/lava_burst.txt b/forge-gui/res/cardsfolder/l/lava_burst.txt new file mode 100644 index 00000000000..7c743e849e4 --- /dev/null +++ b/forge-gui/res/cardsfolder/l/lava_burst.txt @@ -0,0 +1,7 @@ +Name:Lava Burst +ManaCost:X R +Types:Sorcery +A:SP$ DealDamage | Cost$ X R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | References$ X | SubAbility$ CreatureDmg | SpellDescription$ CARDNAME deals X damage to any target. If CARDNAME would deal damage to a creature, that damage can’t be prevented or dealt instead to another permanent or player. +SVar:CreatureDmg:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | NoPrevention$ True | NoRedirection$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ1 | References$ X | StackDescription$ If CARDNAME would deal damage to a creature, that damage can’t be prevented or dealt instead to another permanent or player. +SVar:X:Count$xPaid +Oracle:Lava Burst deals X damage to any target. If Lava Burst would deal damage to a creature, that damage can’t be prevented or dealt instead to another permanent or player. diff --git a/forge-gui/res/cardsfolder/m/martyrs_of_korlis.txt b/forge-gui/res/cardsfolder/m/martyrs_of_korlis.txt index d25ce4f61d8..ad806e5088f 100644 --- a/forge-gui/res/cardsfolder/m/martyrs_of_korlis.txt +++ b/forge-gui/res/cardsfolder/m/martyrs_of_korlis.txt @@ -2,7 +2,6 @@ Name:Martyrs of Korlis ManaCost:3 W W Types:Creature Human PT:1/6 -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Artifact | ValidTarget$ You | ReplaceWith$ DmgMe | IsPresent$ Card.Self+untapped | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by artifacts is dealt to CARDNAME instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Artifact | ValidTarget$ You | ReplaceWith$ DmgMe | IsPresent$ Card.Self+untapped | DamageTarget$ Self | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by artifacts is dealt to CARDNAME instead. SVar:DmgMe:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Self | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/martyrs_of_korlis.jpg Oracle:As long as Martyrs of Korlis is untapped, all damage that would be dealt to you by artifacts is dealt to Martyrs of Korlis instead. diff --git a/forge-gui/res/cardsfolder/m/mirror_strike.txt b/forge-gui/res/cardsfolder/m/mirror_strike.txt index b9029d0b991..81671624b4a 100644 --- a/forge-gui/res/cardsfolder/m/mirror_strike.txt +++ b/forge-gui/res/cardsfolder/m/mirror_strike.txt @@ -2,8 +2,7 @@ Name:Mirror Strike ManaCost:3 W Types:Instant A:SP$ Effect | Cost$ 3 W | Name$ Mirror Strike Effect | ReplacementEffects$ DamageEvent | SVars$ MirrorStrikeDmg | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | ValidTgts$ Creature.attacking+unblocked | TgtPrompt$ Select target unblocked creature | IsCurse$ True | SpellDescription$ All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. -SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.IsRemembered | ValidTarget$ You | ReplaceWith$ MirrorStrikeDmg | IsCombat$ True | Description$ All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. +SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.IsRemembered | ValidTarget$ You | ReplaceWith$ MirrorStrikeDmg | IsCombat$ True | DamageTarget$ ReplacedSourceController | Description$ All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. SVar:MirrorStrikeDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ ReplacedSourceController | VarType$ Player AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/mirror_strike.jpg Oracle:All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. diff --git a/forge-gui/res/cardsfolder/n/nova_pentacle.txt b/forge-gui/res/cardsfolder/n/nova_pentacle.txt index 2e5c6e88787..306cd4257c3 100644 --- a/forge-gui/res/cardsfolder/n/nova_pentacle.txt +++ b/forge-gui/res/cardsfolder/n/nova_pentacle.txt @@ -3,7 +3,7 @@ ManaCost: 4 Types:Artifact A:AB$ ChooseSource | Cost$ 3 T | Choices$ Card,Emblem | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SpellDescription$ The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead. SVar:DBEffect:DB$ Effect | TargetingPlayer$ Player.Opponent | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect the damage to | ReplacementEffects$ SelflessDamage | Triggers$ OutOfSight | SVars$ SelflessDamage,SelflessDmg,ExileEffect | References$ SelflessDamage,OutOfSight,SelflessDmg,ExileEffect | Duration$ HostLeavesOrEOT | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | SubAbility$ DBCleanup | ConditionDefined$ ChosenCard | ConditionPresent$ Card,Emblem | ConditionCompare$ GE1 | AILogic$ RedirectFromOppToCreature -SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ You | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | Description$ The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead. +SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ You | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | DamageTarget$ Remembered | Description$ The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Remembered | VarType$ Card | SubAbility$ ExileEffect #Zone Change for the source of your choice SVar:OutOfSight:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Defined$ ChosenCard | Execute$ ExileEffect | Static$ True @@ -11,5 +11,4 @@ SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True AI:RemoveDeck:All AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/nova_pentacle.jpg Oracle:{3}, {T}: The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead. diff --git a/forge-gui/res/cardsfolder/p/palisade_giant.txt b/forge-gui/res/cardsfolder/p/palisade_giant.txt index aa5524e7448..40ca99fd820 100644 --- a/forge-gui/res/cardsfolder/p/palisade_giant.txt +++ b/forge-gui/res/cardsfolder/p/palisade_giant.txt @@ -2,7 +2,6 @@ Name:Palisade Giant ManaCost:4 W W Types:Creature Giant Soldier PT:2/7 -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You,Permanent.Other+YouCtrl | ReplaceWith$ DmgMe | Description$ All damage that would be dealt to you and other permanents you control is dealt to CARDNAME instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You,Permanent.Other+YouCtrl | DamageTarget$ Self | ReplaceWith$ DmgMe | Description$ All damage that would be dealt to you and other permanents you control is dealt to CARDNAME instead. SVar:DmgMe:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Self | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/palisade_giant.jpg Oracle:All damage that would be dealt to you and other permanents you control is dealt to Palisade Giant instead. diff --git a/forge-gui/res/cardsfolder/p/pariah.txt b/forge-gui/res/cardsfolder/p/pariah.txt index 605c5523775..74b0ae4d255 100644 --- a/forge-gui/res/cardsfolder/p/pariah.txt +++ b/forge-gui/res/cardsfolder/p/pariah.txt @@ -3,8 +3,7 @@ ManaCost:2 W Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 2 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Curse -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgEnchanted | Description$ All damage that would be dealt to you is dealt to enchanted creature instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgEnchanted | DamageTarget$ Enchanted | Description$ All damage that would be dealt to you is dealt to enchanted creature instead. SVar:DmgEnchanted:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Enchanted | VarType$ Card SVar:NonStackingAttachEffect:True -SVar:Picture:http://www.wizards.com/global/images/magic/general/pariah.jpg Oracle:Enchant creature\nAll damage that would be dealt to you is dealt to enchanted creature instead. diff --git a/forge-gui/res/cardsfolder/p/pariahs_shield.txt b/forge-gui/res/cardsfolder/p/pariahs_shield.txt index 0fc9ff4697b..1166af2a770 100644 --- a/forge-gui/res/cardsfolder/p/pariahs_shield.txt +++ b/forge-gui/res/cardsfolder/p/pariahs_shield.txt @@ -2,7 +2,6 @@ Name:Pariah's Shield ManaCost:5 Types:Artifact Equipment K:Equip:3 -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgEquipped | IsEquipping$ True | Description$ All damage that would be dealt to you is dealt to equipped creature instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgEquipped | IsEquipping$ True | DamageTarget$ Equipped | Description$ All damage that would be dealt to you is dealt to equipped creature instead. SVar:DmgEquipped:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Equipped | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/pariahs_shield.jpg Oracle:All damage that would be dealt to you is dealt to equipped creature instead.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/p/protector_of_the_crown.txt b/forge-gui/res/cardsfolder/p/protector_of_the_crown.txt index 9c0c4648e05..44b9a2875ab 100644 --- a/forge-gui/res/cardsfolder/p/protector_of_the_crown.txt +++ b/forge-gui/res/cardsfolder/p/protector_of_the_crown.txt @@ -4,7 +4,6 @@ Types:Creature Giant Soldier PT:2/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMonarch | TriggerDescription$ When CARDNAME enters the battlefield, you become the monarch. SVar:TrigMonarch:DB$ BecomeMonarch | Defined$ You -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgSelf | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | ReplaceWith$ DmgSelf | DamageTarget$ Self | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. SVar:DmgSelf:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Self | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/protector_of_the_crown.jpg Oracle:When Protector of the Crown enters the battlefield, you become the monarch.\nAll damage that would be dealt to you is dealt to Protector of the Crown instead. diff --git a/forge-gui/res/cardsfolder/r/reflect_damage.txt b/forge-gui/res/cardsfolder/r/reflect_damage.txt index c6c59f31d15..f1d5196889c 100644 --- a/forge-gui/res/cardsfolder/r/reflect_damage.txt +++ b/forge-gui/res/cardsfolder/r/reflect_damage.txt @@ -3,10 +3,9 @@ ManaCost:3 R W Types:Instant A:SP$ ChooseSource | Cost$ 3 W R | Choices$ Card,Emblem | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. SVar:DBEffect:DB$ Effect | ReplacementEffects$ SelflessDamage | SVars$ SelflessDmg,ExileEffect | References$ SelflessDamage,SelflessDmg,ExileEffect | SubAbility$ DBCleanup -SVar:SelflessDamage:Event$ DamageDone | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. +SVar:SelflessDamage:Event$ DamageDone | ValidSource$ Card.ChosenCard,Emblem.ChosenCard | ReplaceWith$ SelflessDmg | DamageTarget$ ReplacedSourceController | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ ReplacedSourceController | VarType$ Player | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/reflect_damage.jpg Oracle:The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. diff --git a/forge-gui/res/cardsfolder/r/reverberation.txt b/forge-gui/res/cardsfolder/r/reverberation.txt index 0347b4755fb..a6bc39d1436 100644 --- a/forge-gui/res/cardsfolder/r/reverberation.txt +++ b/forge-gui/res/cardsfolder/r/reverberation.txt @@ -3,8 +3,7 @@ ManaCost:2 U U Types:Instant # The target lists a second zone to a Card is returned instead of a SA A:SP$ Effect | Cost$ 2 U U | ValidTgts$ Sorcery | AILogic$ Prevent | TgtZone$ Stack,Battlefield | TgtPrompt$ Select target sorcery spell to redirect damage from | RememberObjects$ Targeted | ExileOnMoved$ Stack | ReplacementEffects$ SelflessDamage | SVars$ SelflessDmg | References$ SelflessDamage,SelflessDmg | StackDescription$ SpellDescription | SpellDescription$ All damage that would be dealt this turn by target sorcery spell is dealt to that spell's controller instead. -SVar:SelflessDamage:Event$ DamageDone | ValidSource$ Card.IsRemembered | ReplaceWith$ SelflessDmg | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. +SVar:SelflessDamage:Event$ DamageDone | ValidSource$ Card.IsRemembered | ReplaceWith$ SelflessDmg | DamageTarget$ ReplacedSourceController | Description$ The next time a source of your choice would deal damage this turn, that damage is dealt to that source's controller instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ ReplacedSourceController | VarType$ Player AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/reverberation.jpg Oracle:All damage that would be dealt this turn by target sorcery spell is dealt to that spell's controller instead. diff --git a/forge-gui/res/cardsfolder/s/shimian_night_stalker.txt b/forge-gui/res/cardsfolder/s/shimian_night_stalker.txt index 6b8d399dfd4..4cce10a7faf 100644 --- a/forge-gui/res/cardsfolder/s/shimian_night_stalker.txt +++ b/forge-gui/res/cardsfolder/s/shimian_night_stalker.txt @@ -3,7 +3,6 @@ ManaCost:3 B B Types:Creature Nightstalker PT:4/4 A:AB$ Effect | Cost$ B T | Name$ Shimian Night Stalker Effect | ReplacementEffects$ DamageEvent | SVars$ MirrorStrikeDmg | References$ MirrorStrikeDmg | ImprintCards$ Targeted | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | AILogic$ Fog | SpellDescription$ All damage that would be dealt to you this turn by target attacking creature is dealt to CARDNAME instead. -SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.IsImprinted | ValidTarget$ You | ReplaceWith$ MirrorStrikeDmg | Description$ All damage that would be dealt to you this turn by the attacking creature is dealt to Shimian Night Stalker instead. +SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.IsImprinted | ValidTarget$ You | ReplaceWith$ MirrorStrikeDmg | DamageTarget$ EffectSource | Description$ All damage that would be dealt to you this turn by the attacking creature is dealt to EFFECTSOURCE instead. SVar:MirrorStrikeDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ EffectSource | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/shimian_night_stalker.jpg Oracle:{B}, {T}: All damage that would be dealt to you this turn by target attacking creature is dealt to Shimian Night Stalker instead. diff --git a/forge-gui/res/cardsfolder/s/sivvis_valor.txt b/forge-gui/res/cardsfolder/s/sivvis_valor.txt index 12f153c1ce6..c7799ceaa3d 100644 --- a/forge-gui/res/cardsfolder/s/sivvis_valor.txt +++ b/forge-gui/res/cardsfolder/s/sivvis_valor.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Instant SVar:AltCost:Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ Effect | Cost$ 2 W | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect damage from | ReplacementEffects$ SelflessDamage | Triggers$ OutOfSight | SVars$ SelflessDmg,ExileEffect | References$ SelflessDamage,OutOfSight,SelflessDmg,ExileEffect | RememberObjects$ Targeted | StackDescription$ All damage that would be dealt to {c:Targeted} this turn is dealt to {p:You} instead. | SpellDescription$ All damage that would be dealt to target creature this turn is dealt to you instead. -SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ Card.IsRemembered | ReplaceWith$ SelflessDmg | Description$ All damage that would be dealt to target creature this turn is dealt to you instead. +SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ Card.IsRemembered | ReplaceWith$ SelflessDmg | DamageTarget$ You | Description$ All damage that would be dealt to target creature this turn is dealt to you instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ You | VarType$ Player SVar:OutOfSight:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.IsRemembered | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True diff --git a/forge-gui/res/cardsfolder/t/treacherous_link.txt b/forge-gui/res/cardsfolder/t/treacherous_link.txt index c5e8829163a..059c896bbfd 100644 --- a/forge-gui/res/cardsfolder/t/treacherous_link.txt +++ b/forge-gui/res/cardsfolder/t/treacherous_link.txt @@ -3,8 +3,7 @@ ManaCost:1 B Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ Card.EnchantedBy | ReplaceWith$ DmgEnchanted | Description$ All damage that would be dealt to enchanted creature is dealt to its controller instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ Card.EnchantedBy | ReplaceWith$ DmgEnchanted | DamageTarget$ ReplacedTargetController | Description$ All damage that would be dealt to enchanted creature is dealt to its controller instead. SVar:DmgEnchanted:DB$ ReplaceEffect | VarName$ Affected | VarValue$ ReplacedTargetController | VarType$ Player AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/treacherous_link.jpg Oracle:Enchant creature\nAll damage that would be dealt to enchanted creature is dealt to its controller instead. diff --git a/forge-gui/res/cardsfolder/t/turn_the_tables.txt b/forge-gui/res/cardsfolder/t/turn_the_tables.txt index 35f4baf5ddf..2f870aa3778 100644 --- a/forge-gui/res/cardsfolder/t/turn_the_tables.txt +++ b/forge-gui/res/cardsfolder/t/turn_the_tables.txt @@ -2,7 +2,6 @@ Name:Turn the Tables ManaCost:3 W W Types:Instant A:SP$ Effect | Cost$ 3 W W | Name$ Turn the Tables Effect | ReplacementEffects$ DamageEvent | SVars$ TurnTheTables | References$ TurnTheTables | RememberObjects$ Targeted | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | IsCurse$ True | AILogic$ Fog | SpellDescription$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. -SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature | ValidTarget$ You | ReplaceWith$ TurnTheTables | IsCombat$ True | Description$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. +SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature | ValidTarget$ You | ReplaceWith$ TurnTheTables | IsCombat$ True | DamageTarget$ Remembered | Description$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. SVar:TurnTheTables:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Remembered | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/turn_the_tables.jpg Oracle:All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. diff --git a/forge-gui/res/cardsfolder/v/vassals_duty.txt b/forge-gui/res/cardsfolder/v/vassals_duty.txt index c147e695547..acf5afdc63e 100644 --- a/forge-gui/res/cardsfolder/v/vassals_duty.txt +++ b/forge-gui/res/cardsfolder/v/vassals_duty.txt @@ -2,8 +2,7 @@ Name:Vassal's Duty ManaCost:3 W Types:Enchantment A:AB$ Effect | Cost$ 1 | ValidTgts$ Creature.Legendary+YouCtrl | TgtPrompt$ Select target legendary creature to redirect damage from | ReplacementEffects$ DamageEvent | SVars$ DamageEventDmg | References$ DamageEvent,DamageEventDmg | Duration$ HostLeavesOrEOT | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | SpellDescription$ The next 1 damage that would be dealt to target legendary creature you control is dealt to you instead. -SVar:DamageEvent:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | ReplaceWith$ DamageEventDmg | Description$ The next 1 damage that would be dealt to target legendary creature you control is dealt to you instead. +SVar:DamageEvent:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | ReplaceWith$ DamageEventDmg | DamageTarget$ You | Description$ The next 1 damage that would be dealt to target legendary creature you control is dealt to you instead. SVar:DamageEventDmg:DB$ ReplaceSplitDamage | DamageTarget$ You AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/vassals_duty.jpg Oracle:{1}: The next 1 damage that would be dealt to target legendary creature you control this turn is dealt to you instead. diff --git a/forge-gui/res/cardsfolder/w/weathered_bodyguards.txt b/forge-gui/res/cardsfolder/w/weathered_bodyguards.txt index 09a7330d06f..b7f53d31fed 100644 --- a/forge-gui/res/cardsfolder/w/weathered_bodyguards.txt +++ b/forge-gui/res/cardsfolder/w/weathered_bodyguards.txt @@ -3,7 +3,6 @@ ManaCost:5 W Types:Creature Human Soldier PT:2/5 K:Morph:3 W -R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ DmgSelf | IsCombat$ True | IsPresent$ Card.Self+untapped | DamageTarget$ Remembered | Description$ As long as CARDNAME is untapped, all combat damage that would be dealt to you by unblocked creatures is dealt to CARDNAME instead. +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ DmgSelf | IsCombat$ True | IsPresent$ Card.Self+untapped | DamageTarget$ Self | Description$ As long as CARDNAME is untapped, all combat damage that would be dealt to you by unblocked creatures is dealt to CARDNAME instead. SVar:DmgSelf:DB$ ReplaceEffect | VarName$ Affected | VarValue$ Self | VarType$ Card -SVar:Picture:http://www.wizards.com/global/images/magic/general/weathered_bodyguards.jpg Oracle:As long as Weathered Bodyguards is untapped, all combat damage that would be dealt to you by unblocked creatures is dealt to Weathered Bodyguards instead.\nMorph {3}{W} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) diff --git a/forge-gui/res/cardsfolder/w/whippoorwill.txt b/forge-gui/res/cardsfolder/w/whippoorwill.txt new file mode 100644 index 00000000000..91a344338de --- /dev/null +++ b/forge-gui/res/cardsfolder/w/whippoorwill.txt @@ -0,0 +1,11 @@ +Name:Whippoorwill +ManaCost:G +Types:Creature Bird +PT:1/1 +A:AB$ Pump | Cost$ G G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Curse | KW$ HIDDEN CARDNAME can't be regenerated. & HIDDEN Damage that would be dealt to CARDNAME can't be redirected. | SubAbility$ DBEffect | StackDescription$ {c:Targeted} can’t be regenerated this turn. Damage that would be dealt to {c:Targeted} this turn can’t be prevented or dealt instead to another permanent or player. When {c:Targeted} dies this turn, exile {c:Targeted}. | SpellDescription$ Target creature can’t be regenerated this turn. Damage that would be dealt to that creature this turn can’t be prevented or dealt instead to another permanent or player. When the creature dies this turn, exile the creature. +SVar:DBEffect:DB$ Effect | Name$ Whippoorwill Effect | EffectOwner$ TargetedOwner | RememberObjects$ Targeted | StaticAbilities$ NoPrevent | ReplacementEffects$ ReplaceGraveyard | SVars$ MoveExile,ExileEffect +SVar:NoPrevent:Mode$ CantPreventDamage | Affected$ Creature.IsRemembered | EffectZone$ Command | Description$ Damage that would be dealt to that creature this turn can’t be prevented. +SVar:ReplaceGraveyard:Event$ Moved | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Graveyard | ReplaceWith$ MoveExile | Description$ When the creature dies this turn, exile the creature. +SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ Exile | SubAbility$ ExileEffect +SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +Oracle:{G}{G}, {T}: Target creature can’t be regenerated this turn. Damage that would be dealt to that creature this turn can’t be prevented or dealt instead to another permanent or player. When the creature dies this turn, exile the creature.