Added/fixed primitives, implemented a new keyword to count the greatest number creatures that share same subtype (creatures with changeling counts as +1 for all creature types)
This commit is contained in:
@@ -16795,6 +16795,13 @@ mana={1}{R}
|
|||||||
type=Instant
|
type=Instant
|
||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
|
name=Fist of Suns
|
||||||
|
auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay with 5 colors mana) name(Pay with 5 colors mana) activate castcard(normal)]))
|
||||||
|
text=You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
|
||||||
|
mana={3}
|
||||||
|
type=Artifact
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
name=Five-Finger Discount
|
name=Five-Finger Discount
|
||||||
target=*[-land]|battlefield
|
target=*[-land]|battlefield
|
||||||
auto=moveto(myhand) and!( transforms((,newability[anytypeofmana])) forever)!
|
auto=moveto(myhand) and!( transforms((,newability[anytypeofmana])) forever)!
|
||||||
@@ -19347,7 +19354,7 @@ toughness=2
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Gnarlroot Trapper
|
name=Gnarlroot Trapper
|
||||||
auto={this(variable{type:elf:myrestrictedcastingzone}>0) T}{L:1}:add{G}
|
auto=this(variable{type:elf:myrestrictedcastingzone}>0) {T}{L:1}:add{G}
|
||||||
auto={T}:target(elf[attacking]|mybattlefield) transforms((,newability[deathtouch])) ueot
|
auto={T}:target(elf[attacking]|mybattlefield) transforms((,newability[deathtouch])) ueot
|
||||||
text={T}, Pay 1 life: Add {G} to your mana pool. Spend this mana only to cast an Elf creature spell. -- {T}: Target attacking Elf you control gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)
|
text={T}, Pay 1 life: Add {G} to your mana pool. Spend this mana only to cast an Elf creature spell. -- {T}: Target attacking Elf you control gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)
|
||||||
mana={B}
|
mana={B}
|
||||||
@@ -20360,6 +20367,16 @@ mana={3}{R}
|
|||||||
type=Sorcery
|
type=Sorcery
|
||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
|
name=Graxiplon
|
||||||
|
auto=this(variable{oppsametypecreatures}<3) unblockable
|
||||||
|
text=Graxiplon is unblockable unless defending player controls three or more creatures that share a creature type.
|
||||||
|
mana={5}{U}
|
||||||
|
type=Creature
|
||||||
|
subtype=Beast
|
||||||
|
power=3
|
||||||
|
toughness=4
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
name=Grazing Whiptail
|
name=Grazing Whiptail
|
||||||
abilities=reach
|
abilities=reach
|
||||||
text=Reach
|
text=Reach
|
||||||
@@ -25296,7 +25313,7 @@ toughness=3
|
|||||||
[card]
|
[card]
|
||||||
name=Jodah, Archmage Eternal
|
name=Jodah, Archmage Eternal
|
||||||
abilities=flying
|
abilities=flying
|
||||||
auto={W}{U}{B}{R}{G}:target(*|myrestrictedcastingzone) activate castcard(normal)
|
auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay with 5 colors mana) name(Pay with 5 colors mana) activate castcard(normal)]))
|
||||||
text=Flying -- You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
|
text=Flying -- You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
|
||||||
mana={1}{U}{R}{W}
|
mana={1}{U}{R}{W}
|
||||||
type=Legendary Creature
|
type=Legendary Creature
|
||||||
|
|||||||
@@ -4115,12 +4115,6 @@ mana={3}{G}
|
|||||||
type=Instant
|
type=Instant
|
||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Fist of Suns
|
|
||||||
text=You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
|
|
||||||
mana={3}
|
|
||||||
type=Artifact
|
|
||||||
[/card]
|
|
||||||
[card]
|
|
||||||
name=Fistful of Force
|
name=Fistful of Force
|
||||||
text=Target creature gets +2/+2 until end of turn. Clash with an opponent. If you win, that creature gets an additional +2/+2 and gains trample until end of turn. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.)
|
text=Target creature gets +2/+2 until end of turn. Clash with an opponent. If you win, that creature gets an additional +2/+2 and gains trample until end of turn. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.)
|
||||||
mana={1}{G}
|
mana={1}{G}
|
||||||
@@ -5062,15 +5056,6 @@ power=*
|
|||||||
toughness=*
|
toughness=*
|
||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Graxiplon
|
|
||||||
text=Graxiplon is unblockable unless defending player controls three or more creatures that share a creature type.
|
|
||||||
mana={5}{U}
|
|
||||||
type=Creature
|
|
||||||
subtype=Beast
|
|
||||||
power=3
|
|
||||||
toughness=4
|
|
||||||
[/card]
|
|
||||||
[card]
|
|
||||||
name=Greater Gargadon
|
name=Greater Gargadon
|
||||||
text=Suspend 10—{R} -- Sacrifice an artifact, creature, or land: Remove a time counter from Greater Gargadon. Activate this ability only if Greater Gargadon is suspended.
|
text=Suspend 10—{R} -- Sacrifice an artifact, creature, or land: Remove a time counter from Greater Gargadon. Activate this ability only if Greater Gargadon is suspended.
|
||||||
mana={9}{R}
|
mana={9}{R}
|
||||||
|
|||||||
@@ -853,7 +853,7 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (s.find("cardcounttype") != string::npos)//Count Total Creatures of specific type
|
else if (s.find("cardcounttype") != string::npos)//Count Total cards of specific type
|
||||||
{
|
{
|
||||||
intValue = 0;
|
intValue = 0;
|
||||||
bool different_names = (s.find("diffcardcounttype")!=string::npos)?true:false;
|
bool different_names = (s.find("diffcardcounttype")!=string::npos)?true:false;
|
||||||
@@ -878,6 +878,31 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (s.find("sametypecreatures") != string::npos)//Count the greatest number creatures that share same subtype (creatures with changeling counts as +1 for all creature types)
|
||||||
|
{
|
||||||
|
intValue = 0;
|
||||||
|
bool opponent = (s.find("oppsametypecreatures")!=string::npos)?true:false;
|
||||||
|
vector<int> list;
|
||||||
|
vector<string> values = MTGAllCards::getCreatureValuesById();
|
||||||
|
for (size_t i = 0; i < values.size(); ++i){
|
||||||
|
list.push_back(0);
|
||||||
|
if(opponent){
|
||||||
|
for (int j = card->controller()->opponent()->game->inPlay->nb_cards - 1; j >= 0; --j){
|
||||||
|
if (card->controller()->opponent()->game->inPlay->cards[j]->hasType(values[i]) || card->controller()->opponent()->game->inPlay->cards[j]->has(Constants::CHANGELING)){
|
||||||
|
list[i]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int j = card->controller()->game->inPlay->nb_cards - 1; j >= 0; --j){
|
||||||
|
if (card->controller()->game->inPlay->cards[j]->hasType(values[i]) || card->controller()->game->inPlay->cards[j]->has(Constants::CHANGELING)){
|
||||||
|
list[i]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (list[i] > intValue)
|
||||||
|
intValue = list[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (s == "cursedscrollresult")//Return 1 if the cursed scroll has to give damage (calculated randomly basing on the number of unique cards in the player hand)...
|
else if (s == "cursedscrollresult")//Return 1 if the cursed scroll has to give damage (calculated randomly basing on the number of unique cards in the player hand)...
|
||||||
{
|
{
|
||||||
intValue = 0;
|
intValue = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user