diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index b4f55af60..a1577fab4 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -20917,6 +20917,15 @@ power=0 toughness=1 [/card] [card] +name=Cloudform +auto=withenchant manifest all(*[zpos=1]|mylibrary) +auto=teach(creature) flying +auto=teach(creature) opponentshroud +text=When Cloudform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and hexproof. +mana={1}{U}{U} +type=Enchantment +[/card] +[card] name=Cloudgoat Ranger auto=token(Kithkin Soldier,Creature Kithkin Soldier,1/1,white)*3 auto={T(kithkin|myBattlefield)}{T(kithkin|myBattlefield)}{T(kithkin|myBattlefield)}:2/0 && flying @@ -67018,6 +67027,15 @@ power=2 toughness=2 [/card] [card] +name=Lightform +auto=withenchant manifest all(*[zpos=1]|mylibrary) +auto=teach(creature) flying +auto=teach(creature) lifelink +text=When Lightform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and lifelink. +mana={1}{W}{W} +type=Enchantment +[/card] +[card] name=Lighthouse Chronologist auto={U}:counter(0/0,1,Level) asSorcery auto=this(counter{0/0.4.Level}) 1/1 @@ -91112,6 +91130,14 @@ power=2 toughness=3 [/card] [card] +name=Rageform +auto=withenchant manifest all(*[zpos=1]|mylibrary) +auto=teach(creature) double strike +text=When Rageform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has double strike. (It deals both first-strike and regular combat damage.) +mana={2}{R}{R} +type=Enchantment +[/card] +[card] name=Ragemonger auto=lord(minotaur|mycastingzone) altercost(black,-1) auto=lord(minotaur|mycastingzone) altercost(red,-1) diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 79f2415c4..80163d7c7 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -2425,12 +2425,6 @@ power=2 toughness=2 [/card] [card] -name=Cloudform -text=When Cloudform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and hexproof. -mana={1}{U}{U} -type=Enchantment -[/card] -[card] name=Coalition Flag text=Enchant creature you control -- Enchanted creature is a Flagbearer. -- While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. mana={W} @@ -8623,12 +8617,6 @@ mana={2}{W}{W} type=Enchantment [/card] [card] -name=Lightform -text=When Lightform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and lifelink. -mana={1}{W}{W} -type=Enchantment -[/card] -[card] name=Lightning Reflexes text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. mana={1}{R} @@ -12109,12 +12097,6 @@ mana={4}{PR} type=Artifact [/card] [card] -name=Rageform -text=When Rageform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has double strike. (It deals both first-strike and regular combat damage.) -mana={2}{R}{R} -type=Enchantment -[/card] -[card] name=Raging River text=Whenever one or more creatures you control attack, each defending player divides all creatures without flying he or she controls into a "left" pile and a "right" pile. Then, for each attacking creature you control, choose "left" or "right." That creature can't be blocked this combat except by creatures with flying and creatures in a pile with the chosen label. mana={R}{R} diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 5ecb0240b..3e700223e 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -7074,12 +7074,14 @@ public: class AManifest: public InstantAbility { public: + bool withenchant; MTGAbility * andAbility; AManifest(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target) : InstantAbility(observer, _id, _source) { target = _target; andAbility = NULL; + withenchant = false; } int resolve() @@ -7150,6 +7152,15 @@ public: andAbilityClone->addToGame(); } } + if(withenchant) + { + if(source->hasType(Subtypes::TYPE_ENCHANTMENT)) + { + source->target = copy; + source->spellTargetType = "creature"; + source->addType("aura"); + } + } } return 1; } diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 746de1d19..997edf751 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -2898,7 +2898,8 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG //manifest found = s.find("manifest"); if (found != string::npos) - { + {//for cloudform, rageform and lightform + bool withenchant = s.find("withenchant") != string::npos; MTGAbility * a = NEW AManifest(observer, id, card, target); a->oneShot = 1; if(storedAndAbility.size()) @@ -2907,6 +2908,8 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG storedAndAbility.clear(); ((AManifest*)a)->andAbility = parseMagicLine(stored, id, spell, card); } + if(withenchant) + ((AManifest*)a)->withenchant = true; return a; }