diff --git a/.gitattributes b/.gitattributes index dfe99874db9..c92db2d13de 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16606,6 +16606,7 @@ forge-gui/res/cardsfolder/upcoming/lifecraft_cavalry.txt -text forge-gui/res/cardsfolder/upcoming/lifecrafters_bestiary.txt -text forge-gui/res/cardsfolder/upcoming/lifecrafters_gift.txt -text forge-gui/res/cardsfolder/upcoming/lightning_runner.txt -text +forge-gui/res/cardsfolder/upcoming/maulfist_revolutionary.txt -text forge-gui/res/cardsfolder/upcoming/mechanized_production.txt -text forge-gui/res/cardsfolder/upcoming/merchants_dockhand.txt -text forge-gui/res/cardsfolder/upcoming/metallic_mimic.txt -text @@ -16652,6 +16653,7 @@ forge-gui/res/cardsfolder/upcoming/shielded_aether_thief.txt -text forge-gui/res/cardsfolder/upcoming/shipwreck_moray.txt -text forge-gui/res/cardsfolder/upcoming/siege_modification.txt -text forge-gui/res/cardsfolder/upcoming/silkweaver_elite.txt -text +forge-gui/res/cardsfolder/upcoming/skyship_plunderer.txt -text forge-gui/res/cardsfolder/upcoming/solemn_recruit.txt -text forge-gui/res/cardsfolder/upcoming/spire_of_industry.txt -text forge-gui/res/cardsfolder/upcoming/spire_patrol.txt -text diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index 74105f3f351..7bf3b646e46 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -90,6 +90,8 @@ public class CountersPutEffect extends SpellAbilityEffect { String strTyp = sa.getParam("CounterType"); CounterType counterType = null; boolean existingCounter = strTyp.equals("ExistingCounter"); + boolean eachExistingCounter = sa.hasParam("EachExistingCounter"); + String amount = sa.getParamOrDefault("CounterNum", "1"); if (!existingCounter) { try { @@ -103,7 +105,7 @@ public class CountersPutEffect extends SpellAbilityEffect { final boolean etbcounter = sa.hasParam("ETB"); final boolean remember = sa.hasParam("RememberCounters"); final boolean rememberCards = sa.hasParam("RememberCards"); - int counterAmount = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("CounterNum"), sa); + int counterAmount = AbilityUtils.calculateAmount(sa.getHostCard(), amount, sa); final int max = sa.hasParam("MaxFromEffect") ? Integer.parseInt(sa.getParam("MaxFromEffect")) : -1; if (sa.hasParam("UpTo")) { @@ -142,7 +144,21 @@ public class CountersPutEffect extends SpellAbilityEffect { if (choices.isEmpty()) { continue; } - counterType = choices.size() == 1 ? choices.get(0) : activator.getController().chooseCounterType(choices, sa, "Select counter type to add"); + + if (eachExistingCounter) { + for(CounterType ct : choices) { + if (obj instanceof Player) { + ((Player) obj).addCounter(ct, counterAmount, true); + + } + if (obj instanceof Card) { + ((Card) obj).addCounter(ct, counterAmount, true); + } + } + continue; + } else { + counterType = choices.size() == 1 ? choices.get(0) : activator.getController().chooseCounterType(choices, sa, "Select counter type to add"); + } } diff --git a/forge-gui/res/cardsfolder/upcoming/maulfist_revolutionary.txt b/forge-gui/res/cardsfolder/upcoming/maulfist_revolutionary.txt new file mode 100644 index 00000000000..2331651c0ca --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/maulfist_revolutionary.txt @@ -0,0 +1,11 @@ +Name:Maulfist Revolutionary +ManaCost:1 G G +Types:Creature Human Warrior +PT:3/3 +K:Trample +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigIncrementCounters | TriggerDescription$ When CARDNAME enters the battlefield or dies, for each kind of counter on target permanent or player, give that permanent or player another counter of that kind. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigIncrementCounters | TriggerController$ TriggeredCardController | Secondary$ True | TriggerDescription$ When CARDNAME enters the battlefield or dies, for each kind of counter on target permanent or player, give that permanent or player another counter of that kind. +SVar:TrigIncrementCounters:DB$ PutCounter | ValidTgts$ Permanent,Player | CounterType$ ExistingCounter | EachExistingCounter$ True | CounterNum$ 1 +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/maulfist_revolutionary.jpg +Oracle:Trample\nWhen Maulfist Revolutionary enters the battlefield or dies, for each kind of counter on target permanent or player, give that permanent or player another counter of that kind. diff --git a/forge-gui/res/cardsfolder/upcoming/skyship_plunderer.txt b/forge-gui/res/cardsfolder/upcoming/skyship_plunderer.txt new file mode 100644 index 00000000000..13213fcf12d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/skyship_plunderer.txt @@ -0,0 +1,10 @@ +Name:Skyship Plunderer +ManaCost:1 U +Types:Creature Human Rogue +PT:2/1 +K:Flying +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigIncrementCounters | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, for each kind of counter on target permanent or player, give permanent or player another counter of that kind. +SVar:TrigIncrementCounters:DB$ PutCounter | ValidTgts$ Permanent,Player | CounterType$ ExistingCounter | EachExistingCounter$ True | CounterNum$ 1 +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/skyship_plunderer.jpg +Oracle:Flying\nWhenever Skyship Plunderer deals combat damage to a player, for each kind of counter on target permanent or player, give permanent or player another counter of that kind. \ No newline at end of file