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
|
||||
[/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
|
||||
target=*[-land]|battlefield
|
||||
auto=moveto(myhand) and!( transforms((,newability[anytypeofmana])) forever)!
|
||||
@@ -19347,7 +19354,7 @@ toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
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
|
||||
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}
|
||||
@@ -20360,6 +20367,16 @@ mana={3}{R}
|
||||
type=Sorcery
|
||||
[/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
|
||||
abilities=reach
|
||||
text=Reach
|
||||
@@ -25296,7 +25313,7 @@ toughness=3
|
||||
[card]
|
||||
name=Jodah, Archmage Eternal
|
||||
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.
|
||||
mana={1}{U}{R}{W}
|
||||
type=Legendary Creature
|
||||
|
||||
@@ -4115,12 +4115,6 @@ mana={3}{G}
|
||||
type=Instant
|
||||
[/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
|
||||
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}
|
||||
@@ -5062,15 +5056,6 @@ power=*
|
||||
toughness=*
|
||||
[/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
|
||||
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}
|
||||
|
||||
@@ -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;
|
||||
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)...
|
||||
{
|
||||
intValue = 0;
|
||||
|
||||
Reference in New Issue
Block a user