Fixed a crash when AI try to activate a combo (caused by new ANYTYPEOFMANA management), fixed the Visual C++ project file descriptor, fixed ELD set DAT file, improved Andorid downloader, fixed primitives.

This commit is contained in:
Vittorio Alfieri
2021-02-19 18:50:25 +01:00
parent 89cdeead88
commit d3379c9c08
6 changed files with 22 additions and 10 deletions

View File

@@ -1742,6 +1742,10 @@ public class ImgDownloader {
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/5/4/54a1c6a9-3531-4432-9157-e4400dbc89fd.jpg?1611206522";
else if(id.equals("503841t"))
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/d/f/df826c7d-5508-4e21-848c-91bc3e3f447a.jpg?1611206331";
else if(id.equals("473148"))
cardurl = "https://img.scryfall.com/cards/large/front/5/d/5dca90ef-1c17-4dcc-9fef-dab9ee92f590.jpg?1572490726";
else if(id.equals("473127t"))
cardurl = "https://img.scryfall.com/cards/large/front/9/4/94057dc6-e589-4a29-9bda-90f5bece96c4.jpg?1572489125";
return cardurl;
}

View File

@@ -3,7 +3,7 @@ author=Wagic Team
name=Throne of Eldraine
orderindex=EXP-ZZD.ELD
year=2019-10-04
total=325
total=326
[/meta]
[card]
primitive=Warrior
@@ -91,6 +91,11 @@ id=-473141
rarity=T
[/card]
[card]
primitive=Human
id=-473127
rarity=T
[/card]
[card]
primitive=Giant
id=-473121
rarity=T

View File

@@ -39077,10 +39077,13 @@ type=Land
[/card]
[card]
name=Primal Command
target=player
auto=choice name(Choose 1 and 2) life:7 targetedplayer && target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)
auto=choice name(Choose 1 and 3) life:7 targetedplayer && Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend
auto=choice name(Choose 2 and 3) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard) && Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend
auto=choice name(Gain life and return non-creature) transforms((,newability[choice name(You gain life) life:7 controller && name(Return non-creature) target(*[-creature]|battlefield) moveTo(ownerlibrary)],newability[choice name(Opponent gains life) life:7 opponent && name(Return non-creature) target(*[-creature]|battlefield) moveTo(ownerlibrary)])) oneshot
auto=choice name(Gain life and return graveyard) transforms((,newability[choice name(You gain life) life:7 controller && target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)],newability[choice name(Opponent gains life) life:7 opponent && target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)])) oneshot
auto=choice name(Gain life and search creature) transforms((,newability[choice name(You gain life) life:7 controller && name(Search creature) target(creature|mylibrary) moveTo(myhand) and!( shuffle )!],newability[choice name(Opponent gains life) life:7 opponent && name(Search creature) target(creature|mylibrary) moveTo(myhand) and!( shuffle )!])) oneshot
auto=choice name(Return non-creature and return graveyard) ability$!name(Player shuffles graveyard) name(Player shuffles graveyard) target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)!$ controller && ability$!name(Put non-creature on top) name(Put non-creature on top) target(*[-creature]|battlefield) transforms((,newability[moveTo(ownerlibrary)])) oneshot!$ controller
auto=if type(creature|mylibrary)~equalto~0 then choice choice name(Return non-creature and search creature) name(Return non-creature and search creature) target(*[-creature]|battlefield) moveTo(ownerlibrary)
auto=if type(creature|mylibrary)~morethan~0 then choice name(Search creature and return non-creature) name(Search creature and return non-creature) target(creature|mylibrary) moveTo(myhand) and!( transforms((,newability[name(Put non-creature on top) target(*[-creature]|battlefield) moveTo(ownerlibrary)])) oneshot )!
auto=choice name(Return graveyard and search creature) ability$!name(Search creature) name(Search creature) target(creature|mylibrary) moveTo(myhand) and!( shuffle )! !$ controller && ability$!name(Player shuffles graveyard) name(Player shuffles graveyard) target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)!$ controller
text=Choose two — Target player gains 7 life; or put target noncreature permanent on top of its owner's library; or target player shuffles his or her graveyard into his or her library; or search your library for a creature card, reveal it, put it into your hand, then shuffle your library.
mana={3}{G}{G}
type=Sorcery
@@ -41434,7 +41437,7 @@ type=Sorcery
[card]
name=Remorseful Cleric
abilities=flying
auto={S}:auto=moveTo(exile) all(*|targetedpersonsgraveyard) target(player)
auto={S}:choice name(Exile cards in graveyard) moveTo(exile) all(*|targetedpersonsgraveyard) target(player)
text=Flying -- Sacrifice Remorseful Cleric: Exile all cards from target player's graveyard.
mana={1}{W}
type=Creature
@@ -48847,7 +48850,7 @@ toughness=6
[card]
name=Soulherder
auto=@movedto(creature|exile) from(battlefield):counter(1/1) all(this)
auto=@each my end:may name(Move to exile) target(creature|mybattlefield) moveto(exile) and!(moveto(mybattlefield))!
auto=@each my end:may name(Move to exile) target(other *[creature]|mybattlefield) moveto(exile) and!(moveto(mybattlefield))!
text=Whenever a creature is exiled from the battlefield, put a +1/+1 counter on Soulherder. -- At the beginning of your end step, you may exile another target creature you control, then return that card to the battlefield under its owner's control.
mana={1}{W}{U}
type=Creature

View File

@@ -3648,7 +3648,7 @@ toughness=5
[card]
name=Angel of Finality
abilities=flying
auto=target(player) moveto(exile) all(*|targetedpersonsgraveyard)
auto=choice name(Exile cards in graveyard) target(player) moveto(exile) all(*|targetedpersonsgraveyard)
text=Flying -- When Angel of Finality enters the battlefield, exile all cards from target player's graveyard.
mana={3}{W}
type=Creature

View File

@@ -3423,7 +3423,7 @@ MTGCardInstance * AIPlayerBaka::activateCombo()
}
SAFE_DELETE(hintTc);
}
if(payTheManaCost(totalCost,nextCardToPlay->has(Constants::ANYTYPEOFMANA),nextCardToPlay,gotPayments))
if(payTheManaCost(totalCost,(nextCardToPlay?nextCardToPlay->has(Constants::ANYTYPEOFMANA):0),nextCardToPlay,gotPayments)) //Fix crash when nextCardToPlay is null.
{
if(comboCards.size())
{

View File

@@ -452,7 +452,7 @@
<ClCompile Include="src\WFilter.cpp" />
<ClCompile Include="src\WFont.cpp" />
<ClCompile Include="src\WGui.cpp" />
<ClInclude Include="src\WParsedInt.cpp" />
<ClCompile Include="src\WParsedInt.cpp" />
<ClCompile Include="src\WResourceManager.cpp" />
</ItemGroup>
<ItemGroup>