From 5099978ee055250d18f9b7ce73e93797892390e1 Mon Sep 17 00:00:00 2001 From: Wendell Wilkerson Date: Sun, 18 Jul 2021 17:49:37 -0500 Subject: [PATCH 1/5] added Fiendlash for review --- forge-gui/res/cardsfolder/f/fiendlash.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 forge-gui/res/cardsfolder/f/fiendlash.txt diff --git a/forge-gui/res/cardsfolder/f/fiendlash.txt b/forge-gui/res/cardsfolder/f/fiendlash.txt new file mode 100644 index 00000000000..1cf404dce40 --- /dev/null +++ b/forge-gui/res/cardsfolder/f/fiendlash.txt @@ -0,0 +1,11 @@ +Name:Fiendlash +ManaCost:1 R +Types:Artifact Equipment +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddKeyword$ Reach| AddPower$ 2 | Description$ Equipped creature gets +2/+0 and has reach. +T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. +SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ TrigDamage +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ X| SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:RememberedLKI$CardPower +K:Equip:2 R +Oracle:Equipped creature gets +2/+0 and has reach.\nWhenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker.\nEquip {2}{R} \ No newline at end of file From 6f1fe2d0eebe8be7492e15a50631f6aafdf1bb2a Mon Sep 17 00:00:00 2001 From: Wendell Wilkerson Date: Sun, 18 Jul 2021 20:54:05 -0500 Subject: [PATCH 2/5] work around for LKI bug --- forge-gui/res/cardsfolder/f/fiendlash.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/f/fiendlash.txt b/forge-gui/res/cardsfolder/f/fiendlash.txt index 1cf404dce40..a18157f3e02 100644 --- a/forge-gui/res/cardsfolder/f/fiendlash.txt +++ b/forge-gui/res/cardsfolder/f/fiendlash.txt @@ -2,10 +2,14 @@ Name:Fiendlash ManaCost:1 R Types:Artifact Equipment S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddKeyword$ Reach| AddPower$ 2 | Description$ Equipped creature gets +2/+0 and has reach. -T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. -SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ TrigDamage -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ X| SubAbility$ DBCleanup +T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | Static$ True +SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ CalcPowerLKI +SVar:CalcPowerLKI:DB$ StoreSVar | SVar$ Y | Type$ Calculate | Expression$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:RememberedLKI$CardPower +T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ Y +#Y Will get overwritten by static trigger +SVar:Y:Number$0 K:Equip:2 R Oracle:Equipped creature gets +2/+0 and has reach.\nWhenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker.\nEquip {2}{R} \ No newline at end of file From d396af5e2fb24124a01981b409221f28a4a27ca6 Mon Sep 17 00:00:00 2001 From: Wendell Wilkerson Date: Mon, 19 Jul 2021 21:22:24 -0500 Subject: [PATCH 3/5] Revert "work around for LKI bug" This reverts commit 6f1fe2d0eebe8be7492e15a50631f6aafdf1bb2a. --- forge-gui/res/cardsfolder/f/fiendlash.txt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/forge-gui/res/cardsfolder/f/fiendlash.txt b/forge-gui/res/cardsfolder/f/fiendlash.txt index a18157f3e02..1cf404dce40 100644 --- a/forge-gui/res/cardsfolder/f/fiendlash.txt +++ b/forge-gui/res/cardsfolder/f/fiendlash.txt @@ -2,14 +2,10 @@ Name:Fiendlash ManaCost:1 R Types:Artifact Equipment S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddKeyword$ Reach| AddPower$ 2 | Description$ Equipped creature gets +2/+0 and has reach. -T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | Static$ True -SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ CalcPowerLKI -SVar:CalcPowerLKI:DB$ StoreSVar | SVar$ Y | Type$ Calculate | Expression$ X | SubAbility$ DBCleanup +T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. +SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ TrigDamage +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ X| SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:RememberedLKI$CardPower -T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ Y -#Y Will get overwritten by static trigger -SVar:Y:Number$0 K:Equip:2 R Oracle:Equipped creature gets +2/+0 and has reach.\nWhenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker.\nEquip {2}{R} \ No newline at end of file From 9c38466c3337337e93b423d58b61a5c137fd9d79 Mon Sep 17 00:00:00 2001 From: Wendell Wilkerson Date: Thu, 22 Jul 2021 20:51:53 -0500 Subject: [PATCH 4/5] fixed formating --- forge-gui/res/cardsfolder/f/fiendlash.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/f/fiendlash.txt b/forge-gui/res/cardsfolder/f/fiendlash.txt index 1cf404dce40..f7431ceadfc 100644 --- a/forge-gui/res/cardsfolder/f/fiendlash.txt +++ b/forge-gui/res/cardsfolder/f/fiendlash.txt @@ -1,11 +1,11 @@ Name:Fiendlash ManaCost:1 R Types:Artifact Equipment -S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddKeyword$ Reach| AddPower$ 2 | Description$ Equipped creature gets +2/+0 and has reach. +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddKeyword$ Reach | AddPower$ 2 | Description$ Equipped creature gets +2/+0 and has reach. T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Creature.EquippedBy | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker. SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredTargetLKICopy | SubAbility$ TrigDamage -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ X| SubAbility$ DBCleanup +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | DamageSource$ TriggeredTargetLKICopy | NumDmg$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:RememberedLKI$CardPower K:Equip:2 R -Oracle:Equipped creature gets +2/+0 and has reach.\nWhenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker.\nEquip {2}{R} \ No newline at end of file +Oracle:Equipped creature gets +2/+0 and has reach.\nWhenever equipped creature is dealt damage, it deals damage equal to its power to target player or planeswalker.\nEquip {2}{R} From c70ab7b7225228421242395e11b46402b9187ad7 Mon Sep 17 00:00:00 2001 From: Wendell Wilkerson Date: Sat, 24 Jul 2021 00:22:48 -0500 Subject: [PATCH 5/5] fix for LKI on DamageDoneOnce trigger --- .../main/java/forge/game/trigger/TriggerDamageDoneOnce.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java index 2239977f8df..9e07ed4790d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java @@ -7,6 +7,7 @@ import com.google.common.collect.Sets; import forge.game.ability.AbilityKey; import forge.game.card.Card; +import forge.game.card.CardUtil; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -53,7 +54,7 @@ public class TriggerDamageDoneOnce extends Trigger { @SuppressWarnings("unchecked") final Map damageMap = (Map) runParams.get(AbilityKey.DamageMap); - sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.DamageTarget)); + sa.setTriggeringObject(AbilityKey.Target, CardUtil.getLKICopy((Card)runParams.get(AbilityKey.DamageTarget))); sa.setTriggeringObject(AbilityKey.Sources, getDamageSources(damageMap)); sa.setTriggeringObject(AbilityKey.DamageAmount, getDamageAmount(damageMap)); }