From b2fc1cc1f2673b3495b6664a5979ba34f25c5645 Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 11 Aug 2017 14:14:57 +0000 Subject: [PATCH] - [C17] Added Path of Ancestry. - Fixed Command Tower and Path of Ancestry generating 2 colorless mana in non-EDH matches. --- .gitattributes | 1 + .../main/java/forge/game/ability/effects/ManaEffect.java | 8 +++++++- forge-game/src/main/java/forge/game/card/Card.java | 8 ++++++++ forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt | 9 +++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt diff --git a/.gitattributes b/.gitattributes index 6e24e4d1818..636936c7ac1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17175,6 +17175,7 @@ forge-gui/res/cardsfolder/upcoming/mathas_fiend_seeker.txt -text forge-gui/res/cardsfolder/upcoming/mirror_of_the_forebears.txt -text forge-gui/res/cardsfolder/upcoming/nazahn_revered_bladesmith.txt -text forge-gui/res/cardsfolder/upcoming/new_blood.txt -text +forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt -text forge-gui/res/cardsfolder/upcoming/patron_of_the_vein.txt -text forge-gui/res/cardsfolder/upcoming/qasali_slingers.txt -text forge-gui/res/cardsfolder/upcoming/ramos_dragon_engine.txt -text diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java index 8318b08b2b4..2a64c6028ef 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java @@ -62,7 +62,7 @@ public class ManaEffect extends SpellAbilityEffect { Player activator = sa.getActivatingPlayer(); String express = abMana.getExpressChoice(); String[] colorsProduced = abMana.getComboColors().split(" "); - + final StringBuilder choiceString = new StringBuilder(); ColorSet colorOptions = null; String[] colorsNeeded = express.isEmpty() ? null : express.split(" "); @@ -94,6 +94,12 @@ public class ManaEffect extends SpellAbilityEffect { } choiceString.append(choice); } + + if ("".equals(choiceString.toString()) && "Combo ColorIdentity".equals(abMana.getOrigProduced())) { + // No mana could be produced here (non-EDH match?), so cut short + return; + } + game.action.nofityOfValue(sa, card, activator + " picked " + choiceString, activator); abMana.setExpressChoice(choiceString.toString()); } 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 f032d9df487..46181d6598b 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -4565,6 +4565,14 @@ public class Card extends GameEntity implements Comparable { return false; } break; + case "Commander": + final List cmdrs = sourceController.getCommanders(); + for (Card cmdr : cmdrs) { + if (sharesCreatureTypeWith(cmdr)) { + return true; + } + } + return false; case "Enchanted": for (final SpellAbility sa : source.currentState.getNonManaAbilities()) { final SpellAbility root = sa.getRootAbility(); diff --git a/forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt b/forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt new file mode 100644 index 00000000000..c11a3ed2f57 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/path_of_ancestry.txt @@ -0,0 +1,9 @@ +Name:Path of Ancestry +ManaCost:no cost +Types:Land +K:CARDNAME enters the battlefield tapped. +A:AB$ Mana | Cost$ T | Produced$ Combo ColorIdentity | TriggersWhenSpent$ TrigScry | SpellDescription$ Add to your mana pool one mana of any color in your commander's color identity. +SVar:TrigScry:Mode$ SpellCast | ValidCard$ Creature.sharesCreatureTypeWith Commander | ValidActivatingPlayer$ You | OneOff$ True | Execute$ DBScry | TriggerDescription$ When that mana is spent to cast a creature spell that shares a creature type with your commander, scry 1. +SVar:DBScry:DB$ Scry | ScryNum$ 1 +SVar:Picture:http://www.wizards.com/global/images/magic/general/command_tower.jpg +Oracle:Path of Ancestry enters the battlefield tapped.\n{T}: Add to your mana pool one mana of any color in your commander's color identity. When that mana is spent to cast a creature spell that shares a creature type with your commander, scry 1.