diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index fafd8b7fa05..32d61833834 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -1626,7 +1626,8 @@ public class Card extends GameEntity implements Comparable { || keyword.equals("Exalted") || keyword.equals("Extort")|| keyword.equals("Flanking") || keyword.equals("Horsemanship") || keyword.equals("Infect")|| keyword.equals("Persist") || keyword.equals("Phasing") || keyword.equals("Shadow")|| keyword.equals("Skulk") - || keyword.equals("Undying") || keyword.equals("Wither") || keyword.equals("Cascade")) { + || keyword.equals("Undying") || keyword.equals("Wither") || keyword.equals("Cascade") + || keyword.equals("Mentor")) { if (sb.length() != 0) { sb.append("\r\n"); } @@ -1644,7 +1645,7 @@ public class Card extends GameEntity implements Comparable { || keyword.startsWith("Surge") || keyword.startsWith("Transmute") || keyword.startsWith("Suspend") || keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm") || keyword.startsWith("Level up") || keyword.equals("Prowess") || keyword.startsWith("Eternalize") - || keyword.startsWith("Reinforce") || keyword.startsWith("Champion") + || keyword.startsWith("Reinforce") || keyword.startsWith("Champion") || keyword.startsWith("Prowl") || keyword.startsWith("Amplify") || keyword.startsWith("Ninjutsu") || keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) { // keyword parsing takes care of adding a proper description @@ -1968,7 +1969,8 @@ public class Card extends GameEntity implements Comparable { } else if (keyword.startsWith("Dredge")) { sbAfter.append(TextUtil.fastReplace(keyword, ":", " ") + " (" + inst.getReminderText() + ")"); sbAfter.append("\r\n"); - } else if (keyword.startsWith("Escalate") || keyword.startsWith("Buyback")) { + } else if (keyword.startsWith("Escalate") || keyword.startsWith("Buyback") + || keyword.startsWith("Prowl")) { final String[] k = keyword.split(":"); final String manacost = k[1]; final Cost cost = new Cost(manacost, false); 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 c13144e4253..cbae0b7ff75 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2653,6 +2653,21 @@ public class CardFactoryUtil { sa.setIntrinsic(intrinsic); trigger.setOverridingAbility(sa); + inst.addTrigger(trigger); + } else if (keyword.equals("Mentor")) { + final String trigStr = "Mode$ Attacks | ValidCard$ Card.Self | Secondary$ True " + + " | TriggerDescription$ Mentor (" + inst.getReminderText() + ")"; + + final String effect = "DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1" + + " | ValidTgts$ Creature.attacking+powerLTX" + + " | TgtPrompt$ Select target attacking creature with less power"; + final Trigger trigger = TriggerHandler.parseTrigger(trigStr.toString(), card, intrinsic); + + SpellAbility sa = AbilityFactory.getAbility(effect, card); + sa.setSVar("X", "Count$CardPower"); + sa.setIntrinsic(intrinsic); + trigger.setOverridingAbility(sa); + inst.addTrigger(trigger); } else if (keyword.startsWith("Miracle")) { final String[] k = keyword.split(":"); diff --git a/forge-game/src/main/java/forge/game/keyword/Keyword.java b/forge-game/src/main/java/forge/game/keyword/Keyword.java index 899469e7dae..0796271ac78 100644 --- a/forge-game/src/main/java/forge/game/keyword/Keyword.java +++ b/forge-game/src/main/java/forge/game/keyword/Keyword.java @@ -90,6 +90,7 @@ public enum Keyword { LIVING_WEAPON(SimpleKeyword.class, true, "When this Equipment enters the battlefield, create a 0/0 black Germ creature token, then attach this to it."), MADNESS(KeywordWithCost.class, true, "If you discard this card, discard it into exile. When you do, cast it for %s or put it into your graveyard."), MELEE(SimpleKeyword.class, false, "Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked with a creature this combat."), + MENTOR(SimpleKeyword.class, false, "Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power."), MENACE(SimpleKeyword.class, true, "This creature can't be blocked except by two or more creatures."), MEGAMORPH(KeywordWithCost.class, false, "You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it."), MIRACLE(KeywordWithCost.class, false, "You may cast this card for its miracle cost when you draw it if it's the first card you drew this turn."), diff --git a/forge-gui/res/cardsfolder/upcoming/legion_warboss.txt b/forge-gui/res/cardsfolder/upcoming/legion_warboss.txt new file mode 100644 index 00000000000..59a73486cdc --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/legion_warboss.txt @@ -0,0 +1,12 @@ +Name:Legion Warboss +ManaCost:2 R +Types:Creature Goblin Soldier +PT:2/2 +K:Mentor +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of combat on your turn, create a 1/1 red Goblin creature token. That token gains haste until end of turn and attacks this combat if able. +SVar:TrigToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Red | TokenName$ Goblin | TokenTypes$ Goblin,Creature | TokenImage$ r 1 1 goblin grn | RememberTokens$ True | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ Haste & HIDDEN CARDNAME attacks each combat if able. | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters & Ability$Token +SVar:Picture:http://www.wizards.com/global/images/magic/general/legion_warboss.jpg +Oracle:Mentor (Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.)\nAt the beginning of combat on your turn, create a 1/1 red Goblin creature token. That token gains haste until end of turn and attacks this combat if able.