From 6ac832b31056fcc93e6e89677c478a051c8aa26b Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 7 Apr 2023 14:47:54 -0400 Subject: [PATCH] improve conclave_sledge_captain.txt keyword implementation --- .../java/forge/game/card/CardFactoryUtil.java | 29 +++++++++---------- .../upcoming/conclave_sledge_captain.txt | 4 ++- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 7f0fe6c9647..e7e616b3f21 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -842,31 +842,28 @@ public class CardFactoryUtil { } else if (keyword.startsWith("Backup")) { final String[] k = keyword.split(":"); String magnitude = k[1]; - int times = k.length >= 4 ? Integer.parseInt(k[3]) : 1; final String backupVar = card.getSVar(k[2]); String descStr = "Backup " + magnitude; - for (int i = 0; i < times; i++) { - final String trigStr = "Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | " + - "Secondary$ True | TriggerDescription$ " + descStr; + final String trigStr = "Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | " + + "Secondary$ True | TriggerDescription$ " + descStr; - final String putCounter = "DB$ PutCounter | ValidTgts$ Creature | CounterNum$ " + magnitude - + " | CounterType$ P1P1 | Backup$ True"; + final String putCounter = "DB$ PutCounter | ValidTgts$ Creature | CounterNum$ " + magnitude + + " | CounterType$ P1P1 | Backup$ True"; - final String addAbility = backupVar + " | ConditionDefined$ Targeted | " + - "ConditionPresent$ Card.Other | Defined$ Targeted"; + final String addAbility = backupVar + " | ConditionDefined$ Targeted | ConditionPresent$ Card.Other | " + + "Defined$ Targeted"; - SpellAbility sa = AbilityFactory.getAbility(putCounter, card); - AbilitySub backupSub = (AbilitySub) AbilityFactory.getAbility(addAbility, card); - sa.setSubAbility(backupSub); + SpellAbility sa = AbilityFactory.getAbility(putCounter, card); + AbilitySub backupSub = (AbilitySub) AbilityFactory.getAbility(addAbility, card); + sa.setSubAbility(backupSub); - final Trigger trigger = TriggerHandler.parseTrigger(trigStr, card, intrinsic); - sa.setIntrinsic(intrinsic); - trigger.setOverridingAbility(sa); + final Trigger trigger = TriggerHandler.parseTrigger(trigStr, card, intrinsic); + sa.setIntrinsic(intrinsic); + trigger.setOverridingAbility(sa); - inst.addTrigger(trigger); - } + inst.addTrigger(trigger); } else if (keyword.equals("Battle cry")) { final String trig = "Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Secondary$ True " + " | TriggerDescription$ " + keyword + " (" + inst.getReminderText() + ")"; diff --git a/forge-gui/res/cardsfolder/upcoming/conclave_sledge_captain.txt b/forge-gui/res/cardsfolder/upcoming/conclave_sledge_captain.txt index 63c7739727c..d957f7e9f24 100644 --- a/forge-gui/res/cardsfolder/upcoming/conclave_sledge_captain.txt +++ b/forge-gui/res/cardsfolder/upcoming/conclave_sledge_captain.txt @@ -2,7 +2,9 @@ Name:Conclave Sledge-Captain ManaCost:5 G Types:Creature Elephant Soldier PT:4/4 -K:Backup:1:BackupAbilities:3 +K:Backup:1:BackupAbilities +K:Backup:1:BackupAbilities +K:Backup:1:BackupAbilities SVar:BackupAbilities:DB$ Animate | Keywords$ Trample | Triggers$ DamageTrig SVar:DamageTrig:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | CombatDamage$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever this creature deals combat damage to a player, put that many +1/+1 counters on it. SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredSourceLKICopy | CounterType$ P1P1 | CounterNum$ X