Added/fixed primitives, updated the "missing_cards_by_sets" folder, improved all cards with replicate (now they use a special version of multikicker but they don't count as kicked spell), improved all cards with "fizzle" and "fizzleto" ability and improved engine for "fizzle" and "nofizzle" ability (e.g. now it's possible to grant a card the nofizzle ability on stack), added new keyword "mycolnum" to count the number colors of a card.

This commit is contained in:
Vittorio Alfieri
2021-08-31 20:06:33 +02:00
parent 45de20c8d3
commit 54d0c32035
28 changed files with 455 additions and 616 deletions

View File

@@ -165,7 +165,7 @@ MTGCardInstance * CardDescriptor::match_or(MTGCardInstance * card)
// Quantified restrictions are always AND-ed:
if (foretoldComparisonMode && !valueInRange(foretoldComparisonMode, card->foretellTurn, foretellTurn))
return NULL;
if (kickedComparisonMode && !valueInRange(kickedComparisonMode, card->kicked, kicked))
if (kickedComparisonMode && (!valueInRange(kickedComparisonMode, card->kicked, kicked) || card->has(Constants::HASREPLICATE)))
return NULL;
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
return NULL;
@@ -213,7 +213,7 @@ MTGCardInstance * CardDescriptor::match_and(MTGCardInstance * card)
if (foretoldComparisonMode && !valueInRange(foretoldComparisonMode, card->foretellTurn, foretellTurn))
match = NULL;
if (kickedComparisonMode && !valueInRange(kickedComparisonMode, card->kicked, kicked))
if (kickedComparisonMode && (!valueInRange(kickedComparisonMode, card->kicked, kicked) || card->has(Constants::HASREPLICATE)))
match = NULL;
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
match = NULL;