From 44304ee5b3b06afc8a5ec17cea0433b169f524a3 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 8 May 2017 11:41:00 +0800 Subject: [PATCH] minor corrections --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 40 +++++++++++++++++++ .../bin/Res/sets/primitives/unsupported.txt | 22 ---------- projects/mtg/include/AllAbilities.h | 2 +- projects/mtg/src/MTGAbility.cpp | 10 +++++ 4 files changed, 51 insertions(+), 23 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 86aab07f2..8be526fa4 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -25773,6 +25773,16 @@ power=3 toughness=1 [/card] [card] +name=Daring Sleuth +auto=@sacrificed(clue|mybattlefield):flip(Bearer of Overwhelming Truths) +text=When you sacrifice a Clue, transform Daring Sleuth. +mana={1}{U} +type=Creature +subtype=Human Rogue +power=2 +toughness=1 +[/card] +[card] name=Dark Banishing target=creature[-black] auto=bury @@ -131259,6 +131269,15 @@ power=3 toughness=1 [/card] [card] +name=Wake the Dead +target=creature|mygraveyard +auto=moveTo(mybattlefield) and!(transforms((,treason)) forever)! +restriction=during opponent turn,during battle +text=Cast Wake the Dead only during combat on an opponent's turn. -- Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step. +mana={X}{B}{B} +type=Instant +[/card] +[card] name=Wake the Reflections auto=ability$! name(populate) clone notatarget(creature[token]|mybattlefield) !$ controller text=Populate. @@ -131913,6 +131932,17 @@ power=4 toughness=1 [/card] [card] +name=Wall of Vapor +abilities=defender +auto=preventAllDamage from(creature[attacking]) to(this) +text=Defender (This creature can't attack.) -- Prevent all damage that would be dealt to Wall of Vapor by creatures it's blocking. +mana={3}{U} +type=Creature +subtype=Wall +power=0 +toughness=1 +[/card] +[card] name=Wall of Vines abilities=defender,reach text=Defender,reach @@ -132295,6 +132325,16 @@ power=2 toughness=2 [/card] [card] +name=Ward of Bones +auto=while(restriction{control less creatures}) maxCast(creature)0 opponent +auto=while(restriction{control less artifacts}) maxCast(artifact)0 opponent +auto=while(restriction{control less enchantments}) maxCast(enchantment)0 opponent +auto=while(restriction{control less lands}) maxCast(land)0 opponent +text=Each opponent who controls more creatures than you can't play creature cards. The same is true for artifacts, enchantments, and lands. +mana={6} +type=Artifact +[/card] +[card] name=Warden of Evos Isle abilities=flying auto=lord(creature[flying]|mycastingzone) altercost(colorless, -1) diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 05aa61a78..2bc9b8ad5 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -19841,12 +19841,6 @@ power=0 toughness=1 [/card] [card] -name=Wake the Dead -text=Cast Wake the Dead only during combat on an opponent's turn. -- Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step. -mana={X}{B}{B} -type=Instant -[/card] -[card] name=Wall of Caltrops abilities=defender text=Defender (This creature can't attack.) -- Whenever Wall of Caltrops blocks a creature, if no non-Wall creatures are blocking that creature, Wall of Caltrops gains banding until end of turn. (If any creatures with banding you control are blocking a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by.) @@ -19907,16 +19901,6 @@ power=0 toughness=4 [/card] [card] -name=Wall of Vapor -abilities=defender -text=Defender (This creature can't attack.) -- Prevent all damage that would be dealt to Wall of Vapor by creatures it's blocking. -mana={3}{U} -type=Creature -subtype=Wall -power=0 -toughness=1 -[/card] -[card] name=Wall of Vipers abilities=defender text=Defender (This creature can't attack.) -- {3}: Destroy Wall of Vipers and target creature it's blocking. Any player may activate this ability. @@ -19977,12 +19961,6 @@ power=5 toughness=3 [/card] [card] -name=Ward of Bones -text=Each opponent who controls more creatures than you can't play creature cards. The same is true for artifacts, enchantments, and lands. -mana={6} -type=Artifact -[/card] -[card] name=Ward of Lights text=You may cast Ward of Lights 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 -- As Ward of Lights enters the battlefield, choose a color. -- Enchanted creature has protection from the chosen color. This effect doesn't remove Ward of Lights. mana={W}{W} diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 8e6d9e21f..59ec7f9bf 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -2157,7 +2157,7 @@ public: MTGAbility * andAbility; AACloner(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target = NULL, ManaCost * _cost = NULL, int who = 0, - string abilitiesStringList = "",string typeslist = "",string manaCostList = ""); + string abilitiesStringList = "",string typeslist = ""); int resolve(); const string getMenuText(); virtual ostream& toString(ostream& out) const; diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 83a337215..a2a333d14 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -730,6 +730,16 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe { restriction.push_back("type(vampire|mybattlefield)~morethan~1"); } + check = restriction[i].find("control less artifacts"); + if(check != string::npos) + { + restriction.push_back("type(artifact|mybattlefield)~lessthan~type(artifact|opponentbattlefield)"); + } + check = restriction[i].find("control less enchantments"); + if(check != string::npos) + { + restriction.push_back("type(enchantment|mybattlefield)~lessthan~type(enchantment|opponentbattlefield)"); + } check = restriction[i].find("control less creatures"); if(check != string::npos) {