diff --git a/.gitattributes b/.gitattributes index fc767977342..20232db5dc7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9171,6 +9171,7 @@ res/cardsfolder/t/thought_devourer.txt svneol=native#text/plain res/cardsfolder/t/thought_eater.txt svneol=native#text/plain res/cardsfolder/t/thought_hemorrhage.txt -text svneol=unset#text/plain res/cardsfolder/t/thought_nibbler.txt svneol=native#text/plain +res/cardsfolder/t/thought_prison.txt -text svneol=unset#text/plain res/cardsfolder/t/thought_reflection.txt -text res/cardsfolder/t/thought_scour.txt -text res/cardsfolder/t/thoughtbind.txt svneol=native#text/plain diff --git a/res/cardsfolder/t/thought_prison.txt b/res/cardsfolder/t/thought_prison.txt new file mode 100644 index 00000000000..2e6035d2677 --- /dev/null +++ b/res/cardsfolder/t/thought_prison.txt @@ -0,0 +1,14 @@ +Name:Thought Prison +ManaCost:5 +Types:Artifact +Text:no text +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may have target player reveal his or her hand. If you do, choose a nonland card from it and exile that card. +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Hand | Destination$ Exile | ChangeType$ Card.nonLand | ChangeNum$ 1 | ValidTgts$ Player | TgtPrompt$ Select target player | Chooser$ You | Imprint$ True | Hidden$ True +T:Mode$ SpellCast | ValidCard$ Card.cmcEQThoughtX,Card.SharesColorWith Imprinted | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts a spell that shares a color or converted mana cost with the exiled card, CARDNAME deals 2 damage to that player. +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ 2 | Defined$ TriggeredCardController +SVar:ThoughtX:Count$ImprintedCardManaCost +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/thought_prison.jpg +End \ No newline at end of file diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 0cb4c433d1e..8057d67deb1 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6925,6 +6925,12 @@ public class Card extends GameEntity implements Comparable { if (list.isEmpty() || !this.sharesColorWith(list.get(0))) { return false; } + } if (restriction.equals("Imprinted")) { + for (final Card card : source.getImprinted()) { + if (!this.sharesColorWith(card)) { + return false; + } + } } else { boolean shares = false; for (final Card card : sourceController.getCardsIn(Constant.Zone.Battlefield)) { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 64c9e735733..c6797dd06ee 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -2728,12 +2728,19 @@ public class CardFactoryUtil { return c.getImprinted().get(0).getNetAttack(); } } + if (l[0].contains("ImprintedCardToughness")) { if (c.getImprinted().size() > 0) { return c.getImprinted().get(0).getNetDefense(); } } + if (l[0].contains("ImprintedCardManaCost")) { + if (c.getImprinted().get(0).getCMC() > 0) { + return c.getImprinted().get(0).getCMC(); + } + } + if (l[0].contains("GreatestPowerYouControl")) { final CardList list = AllZoneUtil.getCreaturesInPlay(c.getController()); int highest = 0;