Bug reports 0.23.1

Do not post feature requests here, please.
Before posting bugs report check the Image Bug reporting help & guidelines
Forum rules
Do not post Features/Improvments request here (i.e : AI being stupid is not a bug, not being able to do a mulligan is not a bug, etc..etc..)
Before posting, please read the Bugs reporting guideline
Locked
User avatar
ph34rbot
Posts: 280
Joined: Thu Jan 07, 2010 6:33 am

Bug reports 0.23.1

Post by ph34rbot »

Report comes from the latest version published on Github, this version features Modern Horazons 2 and it's before D&D Forgotten Realms.

Thanks so much to everyone working on the project special thanks to Vitty85 for all his work and dedication.

Dire Fleet Neckbreaker affects all attacking creatures not just pirates
Visions draws five cards
Cruel Reality does nothing
Jace, Architect of Thought should not be in the game
Blinding Angel lets me attack
Nahiri, the Harbinger dies after using her +2 ability
Cards with partner that searches their partner hang the game (cards like ley weaver hangs the current game)
Puppet's Verdict does nothing
Ignorant Bliss doesn't return non creatures
Cragganwick Cremator doesn't work as intended
Necrotic Wound does nothing
Hard Cover has an incorrect effect
Gisela, the Broken Blade and Bruna, the Fading Light from FTV transforms are not showing
rites of spring does nothing
nostalgic dreams does nothing
defense grid doesn't work as intended, all cards cost 6 more
Lim-Dul the Necromancer does not work
cast out does not work
Lay Claim does not work
dimir aaqueduct, evolving wilds, gruul turn, radiant fountain from IMA are not mythic (in general rarities of lands in this set are wrong)
adanto vanguard keeps the attack bonus
panoramas are wrong
Kiora, the Crashing Wave last ability does not work
Azra Oddsmaker crashes the game
field of the dead always summons tokens
cryptic coomand only does one mode
scapeshift does nothing
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

Thanks for feedback, I will try to take a look and solve some of them ASAP.

Now I’m currently working on D&D mechanics such as Dungeons cards and multi-side Dices (from AFR and AFC sets), I hope new release will be ready before August (main part it’s almost done).

See you.
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

ph34rbot wrote: Sat Jul 10, 2021 4:56 pm Report comes from the latest version published on Github, this version features Modern Horazons 2 and it's before D&D Forgotten Realms.

Thanks so much to everyone working on the project special thanks to Vitty85 for all his work and dedication.

Dire Fleet Neckbreaker affects all attacking creatures not just pirates
Visions draws five cards
Cruel Reality does nothing
Jace, Architect of Thought should not be in the game
Blinding Angel lets me attack
Nahiri, the Harbinger dies after using her +2 ability
Cards with partner that searches their partner hang the game (cards like ley weaver hangs the current game)
Puppet's Verdict does nothing
Ignorant Bliss doesn't return non creatures
Cragganwick Cremator doesn't work as intended
Necrotic Wound does nothing
Hard Cover has an incorrect effect
Gisela, the Broken Blade and Bruna, the Fading Light from FTV transforms are not showing
rites of spring does nothing
nostalgic dreams does nothing
defense grid doesn't work as intended, all cards cost 6 more
Lim-Dul the Necromancer does not work
cast out does not work
Lay Claim does not work
dimir aaqueduct, evolving wilds, gruul turn, radiant fountain from IMA are not mythic (in general rarities of lands in this set are wrong)
adanto vanguard keeps the attack bonus
panoramas are wrong
Kiora, the Crashing Wave last ability does not work
Azra Oddsmaker crashes the game
field of the dead always summons tokens
cryptic coomand only does one mode
scapeshift does nothing
Hi,

I guess i fixed all list, maybe you can take a look to new version on GITHUB or on the links in the usual post: http://wololo.net/forum/viewtopic.php?f ... =20#p99279

Let me know it there is any problem, see you soon ;)
User avatar
ph34rbot
Posts: 280
Joined: Thu Jan 07, 2010 6:33 am

Re: Bug reports 0.23.1

Post by ph34rbot »

Thank you,

I will check the latest version in Github, the Forgoten Realms card seem to work pretty good. Will report more issues that I discover, great work.

I have a couple of things to revise related to AI behavior:

That the AI learns what Menace is so it can block properly. AI just tries to block with 1 creature most of the time so Menace creatures are pretty much unblockable. Also in general the AI blocking is very bad, it just chump blocks.

The AI hangs and the message "choose a creature to offer" appears. Probably trying to cast cards with Offering like Patron of the Akk or cards with Emerge like Abundant Maw

Teach AI that Graft should not benefit human player. The AI gives me counters from creatures with Graft it controls.
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

Ok I guess i solved all of them, I can release a fix quite soon. Btw offering cost can hang also with human player (i solved it too).

See you soon.
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

ph34rbot wrote: Mon Jul 19, 2021 3:02 pm Thank you,

I will check the latest version in Github, the Forgoten Realms card seem to work pretty good. Will report more issues that I discover, great work.

I have a couple of things to revise related to AI behavior:

That the AI learns what Menace is so it can block properly. AI just tries to block with 1 creature most of the time so Menace creatures are pretty much unblockable. Also in general the AI blocking is very bad, it just chump blocks.

The AI hangs and the message "choose a creature to offer" appears. Probably trying to cast cards with Offering like Patron of the Akk or cards with Emerge like Abundant Maw

Teach AI that Graft should not benefit human player. The AI gives me counters from creatures with Graft it controls.
Hi

I guess i solved all:

1) AI is more efficient when blocking a "Menace" creature.
2) I solved the hang with Offering costs (AI will not use it and Human will not hang).
3) Graft has different management for AI and Human.

Maybe you can take a look to new version on GITHUB or on the links in the usual post:
http://wololo.net/forum/viewtopic.php?f ... =20#p99279

Let me know it there is any other problem, see you soon ;)
User avatar
ph34rbot
Posts: 280
Joined: Thu Jan 07, 2010 6:33 am

Re: Bug reports 0.23.1

Post by ph34rbot »

Glad to se the evolution of the project, great work, some things to report.

Taj-Nar Swordsmith top priority since it crashes the game.

Next are some "keywords" that are not working as expected or doing nothing at all:

A player does not cease to be the monarch after taking damage.
transforms((allsubtypes)) doesn't seem to work.
Reciprocate destroyed my land, controllerdamager seems to not work as a restricition, it just gets ignored.
Emerge alternative cost not working.
kinshipmeets the condition with only being a creature not even of the same type.
alterexperience not working (only like 5 cards exists that use experience counters).
Abilitiy counters from Ikoria don't seem to work.
Cards like Omnath, Locus of Mana loses mana at cleanup, mypoolsave shouldn't end at your turn.
You should be able to cast Gravepurge with zero targets. If you do, you'll draw a card as the spell resolves. Also with Daretti, Scrap Savant, you may choose to discard zero cards as the first ability resolves. In that case, you won’t draw any cards. In general <anyamount> should be able to be zero but it seems to Wagic require at least one.

Thank you.
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

Hi,

About Taj-Nar Swordsmith, this should work:

Code: Select all

[card]
name=Taj-Nar Swordsmith
auto=choice name(Don't pay) donothing
auto=choice name(X = 0) transforms((,newability[name(Search equipment) target(equipment[manacost=0]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 1) transforms((,newability[pay[[{1}]] name(Pay and search equipment) target(equipment[manacost<=1]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 2) transforms((,newability[pay[[{2}]] name(Pay and search equipment) target(equipment[manacost<=2]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 3) transforms((,newability[pay[[{3}]] name(Pay and search equipment) target(equipment[manacost<=3]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 4) transforms((,newability[pay[[{4}]] name(Pay and search equipment) target(equipment[manacost<=4]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 5) transforms((,newability[pay[[{5}]] name(Pay and search equipment) target(equipment[manacost<=5]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 6) transforms((,newability[pay[[{6}]] name(Pay and search equipment) target(equipment[manacost<=6]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 7) transforms((,newability[pay[[{7}]] name(Pay and search equipment) target(equipment[manacost<=7]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 8) transforms((,newability[pay[[{8}]] name(Pay and search equipment) target(equipment[manacost<=8]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 9) transforms((,newability[pay[[{9}]] name(Pay and search equipment) target(equipment[manacost<=9]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 10) transforms((,newability[pay[[{10}]] name(Pay and search equipment) target(equipment[manacost<=10]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 11) transforms((,newability[pay[[{11}]] name(Pay and search equipment) target(equipment[manacost<=11]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 12) transforms((,newability[pay[[{12}]] name(Pay and search equipment) target(equipment[manacost<=12]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 13) transforms((,newability[pay[[{13}]] name(Pay and search equipment) target(equipment[manacost<=13]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 14) transforms((,newability[pay[[{14}]] name(Pay and search equipment) target(equipment[manacost<=14]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 15) transforms((,newability[pay[[{15}]] name(Pay and search equipment) target(equipment[manacost<=15]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 16) transforms((,newability[pay[[{16}]] name(Pay and search equipment) target(equipment[manacost<=16]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 17) transforms((,newability[pay[[{17}]] name(Pay and search equipment) target(equipment[manacost<=17]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 18) transforms((,newability[pay[[{18}]] name(Pay and search equipment) target(equipment[manacost<=18]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 19) transforms((,newability[pay[[{19}]] name(Pay and search equipment) target(equipment[manacost<=19]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
auto=choice name(X = 20) transforms((,newability[pay[[{20}]] name(Pay and search equipment) target(equipment[manacost<=20]|mylibrary) moveTo(mybattlefield) and!( shuffle )!])) oneshot
text=When Taj-Nar Swordsmith enters the battlefield, you may pay {X}. If you do, search your library for an Equipment card with converted mana cost X or less and put that card onto the battlefield. Then shuffle your library.
mana={3}{W}
type=Creature
subtype=Cat Soldier
power=2
toughness=3
[/card]
About Monarch it's enough to add the following line (in the Monarch rule section) in mtg.txt and Commander.txt in rules folder:

Code: Select all

auto=@combatdamageof(player) restriction{compare(pmonarch)~morethan~0}:becomesmonarch opponent
About Kinship it's enough to replace:
creature[share!types!] with *[creature;share!types!]

About allsubtypes there is need to modify source code and recompile new exe, but i guess i solved.

About anyamount it's not possible to target 0 since the keyword "target()" requires at least 1 target by itself. It's better to modify the cards you said in order to allow to don't target anything in this way:

Code: Select all

[card]
name=Gravepurge
auto=may name(Return creature to library) target(<anyamount>creature|mygraveyard) moveTo(mylibrary)
auto=draw:1 controller
text=Put any number of target creature cards from your graveyard on top of your library. -- Draw a card.
mana={2}{B}
type=Instant
[/card]

[card]
name=Daretti, Scrap Savant
abilities=canbecommander
auto=counter(0/0,3,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Don't discard) donothing
auto={C(0/0,2,Loyalty)}:name(+2: Discard and Draw) reject notatarget(<upto:2>*|myhand) and!( draw:1 controller )!
auto={C(0/0,-2,Loyalty)}:name(-2: Sacrifice an Artifact) sacrifice notatarget(artifact|mybattlefield) and!( moveto(mybattlefield) target(artifact|mygraveyard) )!
auto={C(0/0,-10,Loyalty)}:name(-10: Emblem: "Reanimate artifacts") emblem transforms((,newability[@movedTo(artifact|mygraveyard) from(battlefield):all(trigger[to]) phaseaction[endofturn once] moveTo(mybattlefield)])) forever dontremove
text=+2: Discard up to two cards, then draw that many cards. -- -2: Sacrifice an artifact. If you do, return target artifact card from your graveyard to the battlefield. -- -10: You get an emblem with "Whenever an artifact is put into your graveyard from the battlefield, return that card to the battlefield at the beginning of the next end step." -- Daretti, Scrap Savant can be your commander.
mana={3}{R}
type=Legendary Planeswalker
subtype=Daretti
[/card]
About mypoolsave there is need to modify source code and recompile a new exe, but i guess i solved.

About controllerdamager and opponentdamager there is need to modify both primitives and source code and recompile a new exe, but i guess i solved.

About Emerge it's enough to replace:
otherrestriction=compare(ishumannt)~morethan~0 with otherrestriction=compare(ishuman)~morethan~0

About alterexperience there is need to modify both primitives and source code and recompile a new exe, but i guess i solved.

About Ability counters from Ikoria i had to correct several primitives but the keywords are working at least, just primitives were wrong.

See you.
User avatar
ph34rbot
Posts: 280
Joined: Thu Jan 07, 2010 6:33 am

Re: Bug reports 0.23.1

Post by ph34rbot »

About Emerge the trouble seems to be the line:

otherrestriction=compare(ishumannt)~morethan~0

seems like it's not returning true, without it emerges work.
Vitty85
Posts: 432
Joined: Mon Jul 29, 2019 5:58 pm

Re: Bug reports 0.23.1

Post by Vitty85 »

Hi,

sure it has to be otherrestriction=compare(ishuman)~morethan~0

my fault.
Locked