Improved riot, INR, MH3, macros. Bug fixes. New cards

Windbrisk Heights
Orchard Strider
Shefet Monitor
Merfolk Sovereign
Alibou, Ancient Witness
Flesh Allergy
Regal Sliver
name=Pilot token, condition to check if there's a vehicle in your battlefield
Painful Quandary needed a condition to check if the affected player has at least one card in hand
Serpentine Curve shouldn't count itself. Serpentine Curve itself is not yet in your graveyard when you determine the value of X.
Rowen was drawing with nonbasics
Thopter Spy Network
Teferi, Temporal Archmage -10 ability, create an emblem
Exert Influence
Dawnglade Regent effect persisted after dying
Molten Echoes
Undergrowth
Haze of Pollen
Oketra's Avenger
Heliod's Intervention
Aura Barbs
Gravestorm
Inspired Sphinx
Retrofitted Transmogrant
Echoing Assault
Citywide Bust
This commit is contained in:
Eduardo MG
2025-03-28 17:12:41 -06:00
parent 02a4726cbf
commit 671b3bae61
13 changed files with 768 additions and 430 deletions

View File

@@ -1292,6 +1292,7 @@ void GameObserver::Affinity()
card->has(Constants::AFFINITYCONTROLLERCREATURES) ||
card->has(Constants::AFFINITYOPPONENTCREATURES) ||
card->has(Constants::AFFINITYALLDEADCREATURES) ||
card->has(Constants::AFFINITYTWOALLDEADCREATURES) ||
card->has(Constants::AFFINITYPARTY) ||
card->has(Constants::AFFINITYBASICLANDTYPES) ||
card->has(Constants::AFFINITYTWOBASICLANDTYPES) ||

View File

@@ -1340,6 +1340,7 @@ ManaCost * MTGCardInstance::computeNewCost(MTGCardInstance * card,ManaCost * Cos
card->has(Constants::AFFINITYCONTROLLERCREATURES) ||
card->has(Constants::AFFINITYOPPONENTCREATURES) ||
card->has(Constants::AFFINITYALLDEADCREATURES) ||
card->has(Constants::AFFINITYTWOALLDEADCREATURES) ||
card->has(Constants::AFFINITYPARTY) ||
card->has(Constants::AFFINITYBASICLANDTYPES) ||
card->has(Constants::AFFINITYTWOBASICLANDTYPES) ||
@@ -1381,7 +1382,7 @@ ManaCost * MTGCardInstance::computeNewCost(MTGCardInstance * card,ManaCost * Cos
color = 1;
type = "creature";
}
else if (card->has(Constants::AFFINITYALLCREATURES) || card->has(Constants::AFFINITYCONTROLLERCREATURES) || card->has(Constants::AFFINITYOPPONENTCREATURES) || card->has(Constants::AFFINITYALLDEADCREATURES))
else if (card->has(Constants::AFFINITYALLCREATURES) || card->has(Constants::AFFINITYCONTROLLERCREATURES) || card->has(Constants::AFFINITYOPPONENTCREATURES) || card->has(Constants::AFFINITYALLDEADCREATURES) || card->has(Constants::AFFINITYTWOALLDEADCREATURES))
{
type = "creature";
}
@@ -1456,6 +1457,13 @@ ManaCost * MTGCardInstance::computeNewCost(MTGCardInstance * card,ManaCost * Cos
reduce = value->getValue();
SAFE_DELETE(value);
}
else if (card->has(Constants::AFFINITYTWOALLDEADCREATURES))
{
WParsedInt* value = NEW WParsedInt("bothalldeadcreature", NULL, card);
if(value)
reduce = value->getValue() * 2;
SAFE_DELETE(value);
}
else if (card->has(Constants::AFFINITYPARTY))
{
WParsedInt* value = NEW WParsedInt("calculateparty", NULL, card);

View File

@@ -252,7 +252,7 @@ const char* Constants::MTGBasicAbilities[] = {
"affinityallcreatures", //Cost 1 less for each creature in all battlefields.
"affinitycontrollercreatures", //Cost 1 less for each creature in controller battlefield.
"affinityopponentcreatures", //Cost 1 less for each creature in opponent battlefield.
"affinityalldeadcreatures", //Cost 1 less for each died creature in this turn.
"affinityalldeadcreatures", //Costs {1} less to cast for each creature that died this turn
"affinityparty", //Cost 1 less for each creature in your party.
"affinityenchantments", //Cost 1 less for each enchantment in your battlefield.
"affinitybasiclandtypes", //Cost 1 less for each basic land type in your battlefield.
@@ -268,7 +268,8 @@ const char* Constants::MTGBasicAbilities[] = {
"poisontentoxic", // Card has toxic 10
"eqpasinst", // Can equip as instant
"canloyaltyasinst", // Can activate loyalty abilities as instant (e.g. "The Wandering Emperor").
"canplayenchantmentlibrarytop" // May play enchantments from top
"canplayenchantmentlibrarytop", // May play enchantments from top
"affinitytwoalldeadcreatures" // Costs {2} less to cast for each creature that died this turn
};
map<string,int> Constants::MTGBasicAbilitiesMap;

View File

@@ -2109,6 +2109,7 @@ void WGuiFilterItem::updateValue()
mParent->addArg("Instant", "t:Instant;");
mParent->addArg("Land", "t:Land;");
mParent->addArg("Legendary", "t:Legendary;");
mParent->addArg("Legendary Creature", "t:Legendary;&t:Creature;");
mParent->addArg("Sorcery", "t:Sorcery;");
mParent->addArg("Snow", "t:Snow;");
mParent->addArg("Tribal", "t:Tribal;");