diff --git a/.gitattributes b/.gitattributes index 0e3c4618ba8..65c7f99f42c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1538,6 +1538,7 @@ res/cardsfolder/c/carrion_thrash.txt svneol=native#text/plain res/cardsfolder/c/carrion_wall.txt svneol=native#text/plain res/cardsfolder/c/carrion_wurm.txt -text res/cardsfolder/c/carrionette.txt -text +res/cardsfolder/c/carry_away.txt -text res/cardsfolder/c/cartel_aristocrat.txt -text res/cardsfolder/c/cartographer.txt svneol=native#text/plain res/cardsfolder/c/carven_caryatid.txt svneol=native#text/plain diff --git a/res/cardsfolder/c/carry_away.txt b/res/cardsfolder/c/carry_away.txt new file mode 100644 index 00000000000..c9f2de7bcd6 --- /dev/null +++ b/res/cardsfolder/c/carry_away.txt @@ -0,0 +1,11 @@ +Name:Carry Away +ManaCost:U U +Types:Enchantment Aura +K:Enchant Equipment +A:SP$ Attach | Cost$ U U | ValidTgts$ Equipment | AILogic$ GainControl +S:Mode$ Continuous | Affected$ Equipment.EnchantedBy | GainControl$ You | Description$ You control enchanted Equipment. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigUnattach | TriggerDescription$ When CARDNAME enters the battlefield, unattach enchanted Equipment. +SVar:TrigUnattach:AB$ UnattachAll | Cost$ 0 | Defined$ Valid Card.EquippedByEnchanted | UnattachValid$ Equipment.EnchantedBy +SVar:Picture:http://www.wizards.com/global/images/magic/general/carry_away.jpg +Oracle:Enchant Equipment\nWhen Carry Away enters the battlefield, unattach enchanted Equipment.\nYou control enchanted Equipment. +SetInfo:DST Uncommon \ No newline at end of file diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index e61618711c3..4ed77b7583e 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -5535,6 +5535,12 @@ public class Card extends GameEntity implements Comparable { } } } + } else if (property.substring(10).equals("Enchanted")) { + for (final Card card : source.getEnchantedBy()) { + if (!this.equippedBy.contains(card)) { + return false; + } + } } else { if (!this.equippedBy.contains(source)) { return false; @@ -5908,8 +5914,18 @@ public class Card extends GameEntity implements Comparable { } return false; } else if (property.startsWith("sharesTypeWith")) { - if (!this.sharesTypeWith(source)) { - return false; + if (property.equals("sharesTypeWith")) { + if (!this.sharesTypeWith(source)) { + return false; + } + } else { + final String restriction = property.split("sharesTypeWith ")[1]; + if (restriction.equals("FirstImprinted")) { + if (source.getImprinted().isEmpty() || + !this.sharesTypeWith(source.getImprinted().get(0))) { + return false; + } + } } } else if (property.startsWith("withFlashback")) { boolean fb = false;