Added 2XM set, fixed card and planeswalkers primitives, fixed a crash on token creation, fixed prowess and mentor abilities, added new restrictions, improved Android downloader.

This commit is contained in:
valfieri
2020-08-08 19:46:07 +02:00
parent 52e3177ef2
commit 727d4579a0
11 changed files with 5147 additions and 2316 deletions
+1 -1
View File
@@ -4639,7 +4639,7 @@ int AACloner::resolve()
}
if(options.find("notrigger") == string::npos){ // check if the @tokencreated trigger has to be activated or not
WEvent * e = NEW WEventTokenCreated(spell->source);
source->getObserver()->receiveEvent(e); // triggers the @tokencreated event for any other listener.
spell->getObserver()->receiveEvent(e); // triggers the @tokencreated event for any other listener.
}
delete spell;
}
+22
View File
@@ -803,6 +803,28 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
{
restriction.push_back("lastturn(*[-token]|opponentstack,opponentbattlefield)~lessthan~1");
}
check = restriction[i].find("control three or more lands with same name");
if(check != string::npos)
{
if(player != observer->currentPlayer)
return 0;
bool found = false;
for(unsigned int i = 0; i < observer->currentPlayer->game->inPlay->cards.size() && !found; i++){
if(observer->currentPlayer->game->inPlay->cards[i]->hasType("land")){
for(unsigned int j = i+1; j < observer->currentPlayer->game->inPlay->cards.size() && !found; j++){
if(observer->currentPlayer->game->inPlay->cards[j]->hasType("land") && observer->currentPlayer->game->inPlay->cards[j]->name == observer->currentPlayer->game->inPlay->cards[i]->name){
for(unsigned int k = j+1; k < observer->currentPlayer->game->inPlay->cards.size() && !found; k++){
if(observer->currentPlayer->game->inPlay->cards[k]->hasType("land") && observer->currentPlayer->game->inPlay->cards[k]->name == observer->currentPlayer->game->inPlay->cards[i]->name){
found = true;
}
}
}
}
}
}
if(!found)
return 0;
}
check = restriction[i].find("paid(");
if(check != string::npos)
{
+3 -1
View File
@@ -190,7 +190,9 @@ const char* Constants::MTGBasicAbilities[] = {
"discardtoplaybyopponent",
"modular",
"mutate", //it can mutate
"adventure" //it can be adventure
"adventure", //it can be adventure
"mentor",
"prowess"
};
map<string,int> Constants::MTGBasicAbilitiesMap;