additional fixes

This commit is contained in:
Anthony Calosa
2017-01-21 04:29:16 +08:00
parent 0b9468da1b
commit 37b3f28065
2 changed files with 39 additions and 64 deletions
+31 -64
View File
@@ -7015,8 +7015,7 @@ toughness=3
name=Avatar of Fury name=Avatar of Fury
abilities=flying abilities=flying
auto={R}:1/0 auto={R}:1/0
otherrestriction=type(land|opponentbattlefield)~morethan~7 anyzone=this(variable{type:land:opponentbattlefield}>6) changecost(colorless:-6) forcedalive
other={R}{R}
text=If an opponent controls seven or more lands, Avatar of Fury costs {6} less to cast. -- Flying -- {R}: Avatar of Fury gets +1/+0 until end of turn. text=If an opponent controls seven or more lands, Avatar of Fury costs {6} less to cast. -- Flying -- {R}: Avatar of Fury gets +1/+0 until end of turn.
mana={6}{R}{R} mana={6}{R}{R}
type=Creature type=Creature
@@ -7027,8 +7026,7 @@ toughness=6
[card] [card]
name=Avatar of Might name=Avatar of Might
abilities=trample abilities=trample
otherrestriction=type(creature|mybattlefield)~lessthan~type(creature|opponentbattlefield)-3 anyzone=while(restriction{outnumbered}) changecost(colorless:-6) forcedalive
other={G}{G}
text=If an opponent controls at least four more creatures than you, Avatar of Might costs {6} less to cast. -- Trample (If this creature would deal enough damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player or planeswalker.) text=If an opponent controls at least four more creatures than you, Avatar of Might costs {6} less to cast. -- Trample (If this creature would deal enough damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player or planeswalker.)
mana={6}{G}{G} mana={6}{G}{G}
type=Creature type=Creature
@@ -7061,8 +7059,7 @@ toughness=2
[card] [card]
name=Avatar of Will name=Avatar of Will
abilities=flying abilities=flying
otherrestriction=type(*|opponenthand)~equalto~0 anyzone=this(variable{type:*:opponenthand}<1) changecost(colorless:-6) forcedalive
other={U}{U}
text=If an opponent has no cards in hand, Avatar of Will costs {6} less to cast. -- Flying text=If an opponent has no cards in hand, Avatar of Will costs {6} less to cast. -- Flying
mana={6}{U}{U} mana={6}{U}{U}
type=Creature type=Creature
@@ -7074,8 +7071,7 @@ toughness=6
name=Avatar of Woe name=Avatar of Woe
abilities=fear abilities=fear
auto={T}:bury target(creature) auto={T}:bury target(creature)
otherrestriction=type(creature|graveyard)~morethan~9 anyzone=this(variable{type:creature:graveyard}>9) changecost(colorless:-6) forcedalive
other={B}{B}
text=If there are ten or more creature cards total in all graveyards, Avatar of Woe costs {6} less to cast. -- Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- {T}: Destroy target creature. It can't be regenerated. text=If there are ten or more creature cards total in all graveyards, Avatar of Woe costs {6} less to cast. -- Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- {T}: Destroy target creature. It can't be regenerated.
mana={6}{B}{B} mana={6}{B}{B}
type=Creature type=Creature
@@ -19956,16 +19952,11 @@ toughness=3
[/card] [/card]
[card] [card]
name=Cloud Key name=Cloud Key
auto=choice name(Artifact) counter(0/0,1,CloudKeyA) all(this) auto=choice name(Artifact) transforms((,newability[lord(Artifact|mycastingzone) changecost(colorless:-1)])) forever
auto=choice name(Creature) counter(0/0,1,CloudKeyC) all(this) auto=choice name(Creature) transforms((,newability[lord(Creature|mycastingzone) changecost(colorless:-1)])) forever
auto=choice name(Enchantment) counter(0/0,1,CloudKeyE) all(this) auto=choice name(Enchantment) transforms((,newability[lord(Enchantment|mycastingzone) changecost(colorless:-1)])) forever
auto=choice name(Instant) counter(0/0,1,CloudKeyI) all(this) auto=choice name(Instant) transforms((,newability[lord(Instant|mycastingzone) changecost(colorless:-1)])) forever
auto=choice name(Sorcery) counter(0/0,1,CloudKeyS) all(this) auto=choice name(Sorcery) transforms((,newability[lord(Sorcery|mycastingzone) changecost(colorless:-1)])) forever
auto=this(counter{0/0.1.CloudKeyA}) lord(Artifact|mycastingzone) altercost(colorless,-1)
auto=this(counter{0/0.1.CloudKeyC}) lord(Creature|mycastingzone) altercost(colorless,-1)
auto=this(counter{0/0.1.CloudKeyE}) lord(Enchantment|mycastingzone) altercost(colorless,-1)
auto=this(counter{0/0.1.CloudKeyI}) lord(Instant|mycastingzone) altercost(colorless,-1)
auto=this(counter{0/0.1.CloudKeyS}) lord(Sorcery|mycastingzone) altercost(colorless,-1)
text=As Cloud Key enters the battlefield, choose artifact, creature, enchantment, instant, or sorcery. -- Spells you cast of the chosen type cost {1} less to cast. text=As Cloud Key enters the battlefield, choose artifact, creature, enchantment, instant, or sorcery. -- Spells you cast of the chosen type cost {1} less to cast.
mana={3} mana={3}
type=Artifact type=Artifact
@@ -31585,7 +31576,7 @@ toughness=3
[card] [card]
name=Dusk Feaster name=Dusk Feaster
abilities=flying abilities=flying
autohand=while(restriction{delirium}) altercost(colorless,-2) anyzone=while(restriction{delirium}) changecost(colorless:-2) forcedalive
text=Delirium — Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Flying text=Delirium — Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Flying
mana={5}{B}{B} mana={5}{B}{B}
type=Creature type=Creature
@@ -96278,7 +96269,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Scour the Laboratory name=Scour the Laboratory
autohand=while(restriction{delirium}) altercost(colorless,-2) anyzone=while(restriction{delirium}) changecost(colorless:-2) forcedalive
auto=draw:3 auto=draw:3
text=Delirium — Scour the Laboratory costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Draw three cards. text=Delirium — Scour the Laboratory costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Draw three cards.
mana={4}{U}{U} mana={4}{U}{U}
@@ -98104,29 +98095,16 @@ toughness=2
[/card] [/card]
[card] [card]
name=Semblance Anvil name=Semblance Anvil
auto=choice name(Artifact) moveTo(myexile) notatarget(artifact|myhand) && counter(0/0,1,Artifact) all(this) auto=choice name(Artifact) moveTo(myexile) notatarget(artifact|myhand) and!( all(this) transforms((,newability[lord(artifact|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Artifact Creature) moveTo(myexile) notatarget(creature[artifact]|myhand) && counter(0/0,1,ArtifactCreature) all(this) auto=choice name(Artifact Creature) moveTo(myexile) notatarget(creature[artifact]|myhand) and!( all(this) transforms((,newability[lord(*[creature;artifact]|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Creature) moveTo(myexile) notatarget(creature|myhand) && counter(0/0,1,Creature) all(this) auto=choice name(Creature) moveTo(myexile) notatarget(creature|myhand) and!( all(this) transforms((,newability[lord(creature|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Enchantment) moveTo(myexile) notatarget(enchantment|myhand) && counter(0/0,1,Enchantment) all(this) auto=choice name(Enchantment) moveTo(myexile) notatarget(enchantment|myhand) and!( all(this) transforms((,newability[lord(enchantment|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Instant) moveTo(myexile) notatarget(instant|myhand) && counter(0/0,1,Instant) all(this) auto=choice name(Instant) moveTo(myexile) notatarget(instant|myhand) and!( all(this) transforms((,newability[lord(instant|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Sorcery) moveTo(myexile) notatarget(sorcery|myhand) && counter(0/0,1,Sorcery) all(this) auto=choice name(Sorcery) moveTo(myexile) notatarget(sorcery|myhand) and!( all(this) transforms((,newability[lord(sorcery|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Tribal Instant) moveTo(myexile) notatarget(instant[tribal]|myhand) && counter(0/0,1,TribalInstant) all(this) auto=choice name(Tribal Instant) moveTo(myexile) notatarget(instant[tribal]|myhand) and!( all(this) transforms((,newability[lord(*[instant;tribal]|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Tribal Sorcery) moveTo(myexile) notatarget(sorcery[tribal]|myhand) && counter(0/0,1,TribalSorcery) all(this) auto=choice name(Tribal Sorcery) moveTo(myexile) notatarget(sorcery[tribal]|myhand) and!( all(this) transforms((,newability[lord(*[sorcery;tribal]|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(Planeswalker) moveTo(myexile) notatarget(planeswalker|myhand) and!( all(this) transforms((,newability[lord(planeswalker|mycastingzone) changecost(colorless:-2)])) forever )!
auto=choice name(cancel) donothing auto=choice name(cancel) donothing
auto=this(counter{0/0.1.Artifact}) lord(artifact|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.ArtifactCreature}) lord(artifact[-creature]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.ArtifactCreature}) lord(creature[-artifact]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.ArtifactCreature}) lord(creature[artifact]|mycastingzone) altercost(colorless,-2 )
auto=this(counter{0/0.1.Creature}) lord(creature|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.Enchantment}) lord(enchantment|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.Instant}) lord(instant|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.Sorcery}) lord(sorcery|mycastingzone) altercost( colorless, -2 )
auto=this(counter{0/0.1.TribalInstant}) lord(tribal[-instant]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.TribalInstant}) lord(instant[-tribal]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.TribalInstant}) lord(instant[tribal]|mycastingzone) altercost(colorless,-2 )
auto=this(counter{0/0.1.TribalSorcery}) lord(tribal[-sorcery]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.TribalSorcery}) lord(sorcery[-tribal]|mycastingzone) altercost(colorless,-2)
auto=this(counter{0/0.1.TribalSorcery}) lord(sorcery[tribal]|mycastingzone) altercost(colorless,-2)
text=Imprint - When Semblance Anvil enters the battlefield, you may exile a nonland card from your hand. -- Spells you cast that share a card type with the exiled card cost {2} less to cast. text=Imprint - When Semblance Anvil enters the battlefield, you may exile a nonland card from your hand. -- Spells you cast that share a card type with the exiled card cost {2} less to cast.
mana={3} mana={3}
type=Artifact type=Artifact
@@ -99907,28 +99885,17 @@ toughness=2
[/card] [/card]
[card] [card]
name=Shimmer name=Shimmer
auto=choice name(plains gets phasing) counter(0/0,1,Plains) auto=choice name(plains gets phasing) transforms((,newability[lord(plains) phasing])) forever
auto=choice name(island gets phasing) counter(0/0,1,Island) auto=choice name(island gets phasing) transforms((,newability[lord(island) phasing])) forever
auto=choice name(swamp gets phasing) counter(0/0,1,Swamp) auto=choice name(swamp gets phasing) transforms((,newability[lord(swamp) phasing])) forever
auto=choice name(mountain gets phasing) counter(0/0,1,Mountain) auto=choice name(mountain gets phasing) transforms((,newability[lord(mountain) phasing])) forever
auto=choice name(forest gets phasing) counter(0/0,1,Forest) auto=choice name(forest gets phasing) transforms((,newability[lord(forest) phasing])) forever
auto=choice name(lair gets phasing) counter(0/0,1,Lair) auto=choice name(lair gets phasing) transforms((,newability[lord(lair) phasing])) forever
auto=choice name(locus gets phasing) counter(0/0,1,Locus) auto=choice name(locus gets phasing) transforms((,newability[lord(locus) phasing])) forever
auto=choice name(desert gets phasing) counter(0/0,1,Desert) auto=choice name(desert gets phasing) transforms((,newability[lord(desert) phasing])) forever
auto=choice name(urza's mine gets phasing) counter(0/0,1,Urza's Mine) auto=choice name(urza's mine gets phasing) transforms((,newability[lord(urza's mine) phasing])) forever
auto=choice name(urza's power-plant gets phasing) counter(0/0,1,Urza's Power-Plant) auto=choice name(urza's power-plant gets phasing) transforms((,newability[lord(urza's power-plant) phasing])) forever
auto=choice name(urza's tower gets phasing) counter(0/0,1,Urza's Tower) auto=choice name(urza's tower gets phasing) transforms((,newability[lord(urza's tower) phasing])) forever
auto=this(counter{0/0.1.Plains}) lord(plains) phasing
auto=this(counter{0/0.1.Island}) lord(island) phasing
auto=this(counter{0/0.1.Swamp}) lord(swamp) phasing
auto=this(counter{0/0.1.Mountain}) lord(mountain) phasing
auto=this(counter{0/0.1.Forest}) lord(forest) phasing
auto=this(counter{0/0.1.Lair}) lord(lair) phasing
auto=this(counter{0/0.1.Locus}) lord(locus) phasing
auto=this(counter{0/0.1.Desert}) lord(desert) phasing
auto=this(counter{0/0.1.Urza's Mine}) lord(urza's mine) phasing
auto=this(counter{0/0.1.Urza's Power-Plant}) lord(urza's power-plant) phasing
auto=this(counter{0/0.1.Urza's Tower}) lord(urza's tower) phasing
text=As Shimmer enters the battlefield, choose a land type. -- Each land of the chosen type has phasing. (It phases in or out before its controller untaps during each of his or her untap steps. While it's phased out, it's treated as though it doesn't exist.) text=As Shimmer enters the battlefield, choose a land type. -- Each land of the chosen type has phasing. (It phases in or out before its controller untaps during each of his or her untap steps. While it's phased out, it's treated as though it doesn't exist.)
mana={2}{U}{U} mana={2}{U}{U}
type=Enchantment type=Enchantment
+8
View File
@@ -541,6 +541,14 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
return 0; return 0;
} }
check = restriction[i].find("outnumbered");//opponent controls atleast 4 or more creatures than you
if(check != string::npos)
{
bool isoutnumbered = (card->controller()->opponent()->inPlay()->countByType("creature") - card->controller()->inPlay()->countByType("creature"))>3;
if(!isoutnumbered)
return 0;
}
check = restriction[i].find("hasdefender"); check = restriction[i].find("hasdefender");
if(check != string::npos) if(check != string::npos)
{ {