Variants, new macros, old type changed to Kindred

Cleaned extra spaces and bugs in primitives
Macros for Crew 2
Removed old obsolete card type and changed it to Kindred
New zone mybattlefieldhand for "Behold a Dragon"
This commit is contained in:
Eduardo MG
2025-04-23 18:20:32 -06:00
parent c0c03eecc4
commit e2b9429b45
15 changed files with 1871 additions and 683 deletions

View File

@@ -685,7 +685,7 @@ void Credits::Render()
{
f2->DrawString(_("There's more!").c_str(), 10, y + 15);
f->DrawString(_("Mods, additional cards, updates and more at:").c_str(), 10, y + 30);
f2->DrawString("-> Discord: Wagic - MTG Game", 10, y + 42);
f2->DrawString("Discord and GitHub: Wagic game", 10, y + 42);
}
}

View File

@@ -605,7 +605,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++;
if (grave->hasType("kindred")) checkTypesAmount++;
if (checkTypesAmount < 4)
return 0;
}
@@ -625,7 +625,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++;
if (grave->hasType("kindred")) checkTypesAmount++;
if (checkTypesAmount > 3)
return 0;
}

View File

@@ -19,7 +19,7 @@ Subtypes::Subtypes()
find("Equipment");
find("Aura");
find("Planeswalker");
find("Tribal");
find("Kindred");
find("Plane");
find("Scheme");
find("Vanguard");
@@ -96,7 +96,7 @@ bool Subtypes::isType(unsigned int type)
type == TYPE_LAND ||
type == TYPE_ARTIFACT ||
type == TYPE_PLANESWALKER ||
type == TYPE_TRIBAL ||
type == TYPE_KINDRED ||
type == TYPE_PLANE ||
type == TYPE_SCHEME ||
type == TYPE_VANGUARD ||

View File

@@ -319,6 +319,11 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
zones[nbzones++] = MTGGameZone::MY_HAND;
zones[nbzones++] = MTGGameZone::OPPONENT_HAND;
}
else if (zoneName.compare("mybattlefieldhand") == 0)
{
zones[nbzones++] = MTGGameZone::MY_HAND;
zones[nbzones++] = MTGGameZone::MY_BATTLEFIELD;
}
else if (zoneName.compare("library") == 0)
{
zones[nbzones++] = MTGGameZone::MY_LIBRARY;
@@ -1155,7 +1160,7 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
cd->removeType("creature");
cd->removeType("planeswalker");
cd->removeType("battle");
cd->removeType("tribal");
cd->removeType("kindred");
if (!cd->types.size()){
int i = rand() % 10000 + 1;
ostringstream subt;

View File

@@ -2099,22 +2099,24 @@ void WGuiFilterItem::updateValue()
mParent->subMenu = NEW SimpleMenu(JGE::GetInstance(), WResourceManager::Instance(), -1234, this, Fonts::MAIN_FONT, 20, 20, "Filter:");
if (filterType == FILTER_TYPE)
{
mParent->addArg("Legendary Creature", "t:Legendary;&t:Creature;");
mParent->addArg("Artifact", "t:Artifact;");
mParent->addArg("Artifact Creature", "t:Artifact;&t:Creature;");
mParent->addArg("Aura", "t:Aura;");
mParent->addArg("Basic", "t:Basic;");
mParent->addArg("Battle", "t:Battle;");
mParent->addArg("Creature", "t:Creature;");
mParent->addArg("Enchantment", "t:Enchantment;");
mParent->addArg("Equipment", "t:Equipment;");
mParent->addArg("Instant", "t:Instant;");
mParent->addArg("Kindred", "t:Kindred;");
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;");
mParent->addArg("Noncreature", "{t:Creature;}");
mParent->addArg("Nonland", "{t:Land;}");
mParent->addArg("Planeswalker", "t:Planeswalker;");
mParent->addArg("Battle", "t:Battle;");
mParent->addArg("Snow", "t:Snow;");
mParent->addArg("Sorcery", "t:Sorcery;");
mParent->addArg("Dungeon", "t:Dungeon;");
mParent->addArg("Conspiracy", "t:Conspiracy;");
@@ -2150,6 +2152,7 @@ void WGuiFilterItem::updateValue()
mParent->addArg("Rare", "r:r;");
mParent->addArg("Uncommon", "r:u;");
mParent->addArg("Common", "r:c;");
mParent->addArg("Basic", "r:l;");
mParent->addArg("Special Rarity", "{r:m;|r:t;|r:r;|r:u;|r:c;|r:l;}");
}
else if (filterType == FILTER_CMC)

View File

@@ -1186,7 +1186,7 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
intValue = 0;
if(card->hasType(Subtypes::TYPE_PLANESWALKER))
intValue++;
if(card->hasType(Subtypes::TYPE_TRIBAL))
if(card->hasType(Subtypes::TYPE_KINDRED))
intValue++;
if(card->hasType(Subtypes::TYPE_SORCERY))
intValue++;
@@ -1262,7 +1262,7 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
MTGGameZone * checkZone = card->getObserver()->players[j]->game->inPlay;
if(cardHasTypeinZone("planeswalker",checkZone))
pc = 1;
if(cardHasTypeinZone("tribal",checkZone))
if(cardHasTypeinZone("kindred",checkZone))
tc = 1;
if(cardHasTypeinZone("sorcery",checkZone))
sc = 1;
@@ -1283,7 +1283,7 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
MTGGameZone * checkZone = (s.find("oppbattlefieldcardtypes")!=string::npos)?card->getObserver()->opponent()->game->inPlay:card->controller()->game->inPlay;
if(cardHasTypeinZone("planeswalker",checkZone))
pc = 1;
if(cardHasTypeinZone("tribal",checkZone))
if(cardHasTypeinZone("kindred",checkZone))
tc = 1;
if(cardHasTypeinZone("sorcery",checkZone))
sc = 1;
@@ -1311,7 +1311,7 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
MTGGameZone * checkZone = card->getObserver()->players[j]->game->graveyard;
if(cardHasTypeinZone("planeswalker",checkZone))
pc = 1;
if(cardHasTypeinZone("tribal",checkZone))
if(cardHasTypeinZone("kindred",checkZone))
tc = 1;
if(cardHasTypeinZone("sorcery",checkZone))
sc = 1;
@@ -1332,7 +1332,7 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
MTGGameZone * checkZone = (s.find("oppgravecardtypes")!=string::npos)?card->getObserver()->opponent()->game->graveyard:card->controller()->game->graveyard;
if(cardHasTypeinZone("planeswalker",checkZone))
pc = 1;
if(cardHasTypeinZone("tribal",checkZone))
if(cardHasTypeinZone("kindred",checkZone))
tc = 1;
if(cardHasTypeinZone("sorcery",checkZone))
sc = 1;