Fixed AFR, STA, STX and J21 sets, fixed "_PROLIFERATE_" macro and fixed primitives with "proliferate" ability, fixed all primitives with "mutate" ability, improved "proliferate" and "duplicatecounters" keywords, added a new target "permanent" to target togheter a player and permanents on battlefield (e.g. cards with "proliferate").

This commit is contained in:
Vittorio Alfieri
2021-09-13 18:56:16 +02:00
parent 04a6a4bfe2
commit 2af470e42b
10 changed files with 80 additions and 36 deletions

View File

@@ -2866,7 +2866,7 @@ int AADuplicateCounters::resolve()
a->oneShot = true;
pcounters.push_back(a);
}
else if(pTarget && pTarget->energyCount)
if(pTarget && pTarget->energyCount)
{
MTGAbility * a = NULL;
if(single)
@@ -2876,7 +2876,7 @@ int AADuplicateCounters::resolve()
a->oneShot = true;
pcounters.push_back(a);
}
else if(pTarget && pTarget->experienceCount)
if(pTarget && pTarget->experienceCount)
{
MTGAbility * a = NULL;
if(single)
@@ -2886,7 +2886,7 @@ int AADuplicateCounters::resolve()
a->oneShot = true;
pcounters.push_back(a);
}
else if (cTarget && cTarget->counters)
if (cTarget && cTarget->counters)
{
Counters * counters = cTarget->counters;
for(size_t i = 0; i < counters->counters.size(); ++i)
@@ -2954,25 +2954,25 @@ int AAProliferate::resolve()
Player * pTarget = dynamic_cast<Player *>(target);
MTGCardInstance * cTarget = dynamic_cast<MTGCardInstance *>(target);
if(pTarget && pTarget->poisonCount && pTarget != source->controller())
if(pTarget && pTarget->poisonCount)
{
MTGAbility * a = NEW AAAlterPoison(game, game->mLayers->actionLayer()->getMaxId(), source, target, 1, NULL);
a->oneShot = true;
pcounters.push_back(a);
}
else if(pTarget && pTarget->energyCount && pTarget == source->controller())
if(pTarget && pTarget->energyCount)
{
MTGAbility * a = NEW AAAlterEnergy(game, game->mLayers->actionLayer()->getMaxId(), source, target, 1, NULL);
a->oneShot = true;
pcounters.push_back(a);
}
else if(pTarget && pTarget->experienceCount && pTarget == source->controller())
if(pTarget && pTarget->experienceCount)
{
MTGAbility * a = NEW AAAlterExperience(game, game->mLayers->actionLayer()->getMaxId(), source, target, 1, NULL);
a->oneShot = true;
pcounters.push_back(a);
}
else if (cTarget && cTarget->counters)
if (cTarget && cTarget->counters)
{
Counters * counters = cTarget->counters;
for(size_t i = 0; i < counters->counters.size(); ++i)