mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Merge branch 'mentor' into 'master'
Mentor See merge request core-developers/forge!894
This commit is contained in:
@@ -1626,7 +1626,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
|| keyword.equals("Exalted") || keyword.equals("Extort")|| keyword.equals("Flanking")
|
|| keyword.equals("Exalted") || keyword.equals("Extort")|| keyword.equals("Flanking")
|
||||||
|| keyword.equals("Horsemanship") || keyword.equals("Infect")|| keyword.equals("Persist")
|
|| keyword.equals("Horsemanship") || keyword.equals("Infect")|| keyword.equals("Persist")
|
||||||
|| keyword.equals("Phasing") || keyword.equals("Shadow")|| keyword.equals("Skulk")
|
|| 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) {
|
if (sb.length() != 0) {
|
||||||
sb.append("\r\n");
|
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.startsWith("Surge") || keyword.startsWith("Transmute") || keyword.startsWith("Suspend")
|
||||||
|| keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm")
|
|| keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm")
|
||||||
|| keyword.startsWith("Level up") || keyword.equals("Prowess") || keyword.startsWith("Eternalize")
|
|| 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("Amplify") || keyword.startsWith("Ninjutsu")
|
||||||
|| keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) {
|
|| keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) {
|
||||||
// keyword parsing takes care of adding a proper description
|
// 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")) {
|
} else if (keyword.startsWith("Dredge")) {
|
||||||
sbAfter.append(TextUtil.fastReplace(keyword, ":", " ") + " (" + inst.getReminderText() + ")");
|
sbAfter.append(TextUtil.fastReplace(keyword, ":", " ") + " (" + inst.getReminderText() + ")");
|
||||||
sbAfter.append("\r\n");
|
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[] k = keyword.split(":");
|
||||||
final String manacost = k[1];
|
final String manacost = k[1];
|
||||||
final Cost cost = new Cost(manacost, false);
|
final Cost cost = new Cost(manacost, false);
|
||||||
|
|||||||
@@ -2653,6 +2653,21 @@ public class CardFactoryUtil {
|
|||||||
sa.setIntrinsic(intrinsic);
|
sa.setIntrinsic(intrinsic);
|
||||||
trigger.setOverridingAbility(sa);
|
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);
|
inst.addTrigger(trigger);
|
||||||
} else if (keyword.startsWith("Miracle")) {
|
} else if (keyword.startsWith("Miracle")) {
|
||||||
final String[] k = keyword.split(":");
|
final String[] k = keyword.split(":");
|
||||||
|
|||||||
@@ -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."),
|
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."),
|
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."),
|
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."),
|
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."),
|
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."),
|
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."),
|
||||||
|
|||||||
12
forge-gui/res/cardsfolder/upcoming/legion_warboss.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/legion_warboss.txt
Normal 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.
|
||||||
Reference in New Issue
Block a user