From 96d61b724b260a46688fe7784ef7ea0bf21fb505 Mon Sep 17 00:00:00 2001 From: Sloth Date: Sun, 25 Nov 2012 11:37:19 +0000 Subject: [PATCH] - Converted the property "SameNameAsImprinted" to the "SharesNameWith" group. --- res/cardsfolder/e/exclusion_ritual.txt | 2 +- res/cardsfolder/e/extraplanar_lens.txt | 2 +- res/cardsfolder/i/invader_parasite.txt | 2 +- res/cardsfolder/s/spellweaver_helix.txt | 2 +- res/cardsfolder/s/strata_scythe.txt | 2 +- src/main/java/forge/Card.java | 57 +++++++------------------ 6 files changed, 21 insertions(+), 46 deletions(-) diff --git a/res/cardsfolder/e/exclusion_ritual.txt b/res/cardsfolder/e/exclusion_ritual.txt index 49147444a28..9f56cad5157 100644 --- a/res/cardsfolder/e/exclusion_ritual.txt +++ b/res/cardsfolder/e/exclusion_ritual.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, exile target nonland permanent. SVar:TrigExile:DB$ ChangeZone | Cost$ 0 | Imprint$ True | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile -S:Mode$ CantBeCast | ValidCard$ Card.SameNameAsImprinted | Description$ Players can't cast spells with the same name as the exiled card. +S:Mode$ CantBeCast | ValidCard$ Card.sharesNameWith Imprinted | Description$ Players can't cast spells with the same name as the exiled card. SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/exclusion_ritual.jpg SetInfo:NPH|Uncommon|http://magiccards.info/scans/en/nph/10.jpg diff --git a/res/cardsfolder/e/extraplanar_lens.txt b/res/cardsfolder/e/extraplanar_lens.txt index 4e3dadd4ced..a38298f21f2 100644 --- a/res/cardsfolder/e/extraplanar_lens.txt +++ b/res/cardsfolder/e/extraplanar_lens.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may exile target land you control. Whenever a land with the same name as the exiled card is tapped for mana, its controller adds one mana to his or her mana pool of any type that land produced. SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select a target land you control -T:Mode$ TapsForMana | ValidCard$ Land.SameNameAsImprinted | Execute$ TrigMana | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever a land with the same name as the exiled card is tapped for mana, its controller adds one mana to his or her mana pool of any type that land produced. +T:Mode$ TapsForMana | ValidCard$ Land.sharesNameWith Imprinted | Execute$ TrigMana | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever a land with the same name as the exiled card is tapped for mana, its controller adds one mana to his or her mana pool of any type that land produced. SVar:TrigMana:AB$ ManaReflected | Cost$ 0 | Valid$ Defined.Triggered | ColorOrType$ Type | ReflectProperty$ Produced | Defined$ TriggeredPlayer SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/invader_parasite.txt b/res/cardsfolder/i/invader_parasite.txt index af5b5eb08d3..895fcd812ee 100644 --- a/res/cardsfolder/i/invader_parasite.txt +++ b/res/cardsfolder/i/invader_parasite.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, exile target land. SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Imprint$ True | ValidTgts$ Land | TgtPrompt$ Select target land | Origin$ Battlefield | Destination$ Exile -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.SameNameAsImprinted+YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a land with the same name as the exiled card enters the battlefield under an opponent's control, CARDNAME deals 2 damage to that player. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.sharesNameWith Imprinted+YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a land with the same name as the exiled card enters the battlefield under an opponent's control, CARDNAME deals 2 damage to that player. SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredCardController | NumDmg$ 2 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/invader_parasite.jpg diff --git a/res/cardsfolder/s/spellweaver_helix.txt b/res/cardsfolder/s/spellweaver_helix.txt index 0df1810b1dd..89fe51ad1d5 100644 --- a/res/cardsfolder/s/spellweaver_helix.txt +++ b/res/cardsfolder/s/spellweaver_helix.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigSpellweaverExile | OptionalDecider$ You | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may exile two target sorcery cards from a single graveyard. SVar:TrigSpellweaverExile:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | TargetsFromSingleZone$ True | ValidTgts$ Card.Sorcery | TargetMin$ 2 | TargetMax$ 2 | TgtPrompt$ Select two target sorcery cards from a single graveyard | Imprint$ True | SpellDescription$ Exile two sorcery cards from a single graveyard. -T:Mode$ SpellCast | ValidCard$ Card.SameNameAsImprinted | Execute$ TrigSpellweaverCopy | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts a card, if it has the same name as one of the cards exiled with CARDNAME, you may copy the other. If you do, you may cast the copy without paying its mana cost. +T:Mode$ SpellCast | ValidCard$ Card.sharesNameWith Imprinted | Execute$ TrigSpellweaverCopy | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts a card, if it has the same name as one of the cards exiled with CARDNAME, you may copy the other. If you do, you may cast the copy without paying its mana cost. SVar:TrigSpellweaverCopy:AB$ Play | Cost$ 0 | Defined$ Imprinted.doesNotShareNameWith+TriggeredCard+Exiled | WithoutManaCost$ True | Optional$ True | CopyCard$ True SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/strata_scythe.txt b/res/cardsfolder/s/strata_scythe.txt index eb8c08b8537..e571c3307ea 100644 --- a/res/cardsfolder/s/strata_scythe.txt +++ b/res/cardsfolder/s/strata_scythe.txt @@ -6,7 +6,7 @@ K:Equip 3 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, search your library for a land card, exile it, then shuffle your library. SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ 1 S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each land on the battlefield with the same name as the exiled card. -SVar:X:Count$Valid Land.SameNameAsImprinted +SVar:X:Count$Valid Land.sharesNameWith Imprinted SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/strata_scythe.jpg diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 986c5a897d9..d67a84b3168 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6633,58 +6633,43 @@ public class Card extends GameEntity implements Comparable { } else { final String restriction = property.split("sharesNameWith ")[1]; if (restriction.equals("YourGraveyard")) { - final List list = sourceController.getCardsIn(ZoneType.Graveyard); - boolean shares = false; - for (final Card card : list) { + for (final Card card : sourceController.getCardsIn(ZoneType.Graveyard)) { if (this.getName().equals(card.getName())) { - shares = true; + return true; } } - if (!shares) { - return false; - } + return false; } else if (restriction.equals(ZoneType.Battlefield.toString())) { - final List list = Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield); - if (list.isEmpty()) { - return false; - } - boolean shares = false; for (final Card card : Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield)) { if (this.getName().equals(card.getName())) { - shares = true; + return true; } } - if (!shares) { - return false; - } + return false; } else if (restriction.equals("ThisTurnCast")) { - final List list = CardUtil.getThisTurnCast("Card", source); - if (list.isEmpty()) { - return false; - } - boolean shares = false; - for (final Card card : list) { + for (final Card card : CardUtil.getThisTurnCast("Card", source)) { if (this.getName().equals(card.getName())) { - shares = true; + return true; } } - if (!shares) { - return false; - } - + return false; } else if (restriction.equals("Remembered")) { - boolean shares = false; for (final Object rem : source.getRemembered()) { if (rem instanceof Card) { final Card card = (Card) rem; if (this.getName().equals(card.getName())) { - shares = true; + return true; } } } - if (!shares) { - return false; + return false; + } else if (property.equals("Imprinted")) { + for (final Card card : source.getImprinted()) { + if (this.getName().equals(card.getName())) { + return true; + } } + return false; } } @@ -7089,16 +7074,6 @@ public class Card extends GameEntity implements Comparable { if (!this.hasCounters()) { return false; } - } else if (property.equals("SameNameAsImprinted")) { - boolean b = false; - for (final Card card : source.getImprinted()) { - if (this.getName().equals(card.getName())) { - b = true; - } - } - if (!b) { - return false; - } } else if (property.startsWith("wasCastFrom")) { final String strZone = property.substring(11); final ZoneType realZone = ZoneType.smartValueOf(strZone);