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
@@ -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"; cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/5/4/54a1c6a9-3531-4432-9157-e4400dbc89fd.jpg?1611206522";
else if(id.equals("503841t")) else if(id.equals("503841t"))
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/d/f/df826c7d-5508-4e21-848c-91bc3e3f447a.jpg?1611206331"; 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; return cardurl;
} }
+6 -1
View File
@@ -3,7 +3,7 @@ author=Wagic Team
name=Throne of Eldraine name=Throne of Eldraine
orderindex=EXP-ZZD.ELD orderindex=EXP-ZZD.ELD
year=2019-10-04 year=2019-10-04
total=325 total=326
[/meta] [/meta]
[card] [card]
primitive=Warrior primitive=Warrior
@@ -91,6 +91,11 @@ id=-473141
rarity=T rarity=T
[/card] [/card]
[card] [card]
primitive=Human
id=-473127
rarity=T
[/card]
[card]
primitive=Giant primitive=Giant
id=-473121 id=-473121
rarity=T rarity=T
@@ -39077,10 +39077,13 @@ type=Land
[/card] [/card]
[card] [card]
name=Primal Command name=Primal Command
target=player 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(Choose 1 and 2) life:7 targetedplayer && target(player) moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard) 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(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(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(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(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. 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} mana={3}{G}{G}
type=Sorcery type=Sorcery
@@ -41434,7 +41437,7 @@ type=Sorcery
[card] [card]
name=Remorseful Cleric name=Remorseful Cleric
abilities=flying 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. text=Flying -- Sacrifice Remorseful Cleric: Exile all cards from target player's graveyard.
mana={1}{W} mana={1}{W}
type=Creature type=Creature
@@ -48847,7 +48850,7 @@ toughness=6
[card] [card]
name=Soulherder name=Soulherder
auto=@movedto(creature|exile) from(battlefield):counter(1/1) all(this) 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. 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} mana={1}{W}{U}
type=Creature type=Creature
+1 -1
View File
@@ -3648,7 +3648,7 @@ toughness=5
[card] [card]
name=Angel of Finality name=Angel of Finality
abilities=flying 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. text=Flying -- When Angel of Finality enters the battlefield, exile all cards from target player's graveyard.
mana={3}{W} mana={3}{W}
type=Creature type=Creature
+1 -1
View File
@@ -3423,7 +3423,7 @@ MTGCardInstance * AIPlayerBaka::activateCombo()
} }
SAFE_DELETE(hintTc); 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()) if(comboCards.size())
{ {
+1 -1
View File
@@ -452,7 +452,7 @@
<ClCompile Include="src\WFilter.cpp" /> <ClCompile Include="src\WFilter.cpp" />
<ClCompile Include="src\WFont.cpp" /> <ClCompile Include="src\WFont.cpp" />
<ClCompile Include="src\WGui.cpp" /> <ClCompile Include="src\WGui.cpp" />
<ClInclude Include="src\WParsedInt.cpp" /> <ClCompile Include="src\WParsedInt.cpp" />
<ClCompile Include="src\WResourceManager.cpp" /> <ClCompile Include="src\WResourceManager.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>