Merge branch 'mentor' into 'master'

Mentor

See merge request core-developers/forge!894
This commit is contained in:
Michael Kamensky
2018-09-03 03:48:38 +00:00
4 changed files with 33 additions and 3 deletions

View File

@@ -1626,7 +1626,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|| 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<Card> {
|| 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<Card> {
} 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);

View File

@@ -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(":");

View File

@@ -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."),

View File

@@ -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.