From 519d02528b57c75280584ffcba8f56e34bd68d7d Mon Sep 17 00:00:00 2001 From: jeffwadsworth Date: Fri, 10 Feb 2012 19:32:37 +0000 Subject: [PATCH] - Added Pyromancer Ascension. Stole moomarc's script and added some code to make it shine. --- .gitattributes | 1 + res/cardsfolder/p/pyromancer_ascension.txt | 14 ++++++++++++++ src/main/java/forge/Card.java | 17 +++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 res/cardsfolder/p/pyromancer_ascension.txt diff --git a/.gitattributes b/.gitattributes index 650a663e804..a1d2d427bbc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6720,6 +6720,7 @@ res/cardsfolder/p/pyroclasm.txt svneol=native#text/plain res/cardsfolder/p/pyroclast_consul.txt svneol=native#text/plain res/cardsfolder/p/pyrohemia.txt svneol=native#text/plain res/cardsfolder/p/pyrokinesis.txt svneol=native#text/plain +res/cardsfolder/p/pyromancer_ascension.txt -text svneol=unset#text/plain res/cardsfolder/p/pyromancers_swath.txt svneol=native#text/plain res/cardsfolder/p/pyromancy.txt svneol=native#text/plain res/cardsfolder/p/pyromania.txt svneol=native#text/plain diff --git a/res/cardsfolder/p/pyromancer_ascension.txt b/res/cardsfolder/p/pyromancer_ascension.txt new file mode 100644 index 00000000000..b8a489367c0 --- /dev/null +++ b/res/cardsfolder/p/pyromancer_ascension.txt @@ -0,0 +1,14 @@ +Name:Pyromancer Ascension +ManaCost:1 R +Types:Enchantment +Text:no text +T:Mode$ SpellCast | ValidCard$ Card.Instant,Card.Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on CARDNAME. +T:Mode$ SpellCast | ValidCard$ Card.Instant,Card.Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE2_QUEST | Execute$ TrigCopySpell | OptionalDecider$ You | TriggerDescription$ Whenever you cast an instant or sorcery spell while CARDNAME has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy. +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 | ConditionDefined$ TriggeredCard | ConditionPresent$ Card.sharesNameWith YourGraveyard | ConditionCompare$ GE1 +SVar:TrigCopySpell:AB$CopySpell | Cost$ 0 | Defined$ TriggeredSpellAbility +SVar:RemRandomDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/pyromancer_ascension.jpg +SetInfo:ZEN|Rare|http://magiccards.info/scans/en/zen/143.jpg +Oracle:Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension.\nWhenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy. +End \ No newline at end of file diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 89227e7cb0b..f84ffeef0a5 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6838,6 +6838,23 @@ public class Card extends GameEntity implements Comparable { } } } + } else if (property.startsWith("sharesNameWith")) { + final String restriction = property.split("sharesNameWith ")[1]; + if (restriction.equals("YourGraveyard")) { + final CardList list = sourceController.getCardsIn(Zone.Graveyard); + if (list.isEmpty()) { + return false; + } + boolean shares = false; + for (final Card card : sourceController.getCardsIn(Constant.Zone.Graveyard)) { + if (this.getName().equals(card.getName())) { + shares = true; + } + } + if (!shares) { + return false; + } + } } else if (property.startsWith("sharesTypeWith")) { if (!this.sharesTypeWith(source)) { return false;