You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current AI logic can't choose between alternative or normal cost -- it uses random. If it choose a wrong option (e.g. impossible to pay) then whole activate/cast will fail and lead to bugs like "AI do nothing":
It's a regression bug from newly added alternative cost choose dialog from #12420. Old code with canPay and yes/no choices was a more friendly for AI games:
Possible fixes:
canPay check before make a choice (for AI and human). Faster solution, but not covered some use cases;
Available mana check before make a choice (for AI only) ;
Available mana check before make a choice (for AI and human);
Full game simulations for each possible alternative option. Better and harder solution;
Also human's UX can be improved to show non-selectable options or additional info for better misclicks (example: if only alternative cast possible then user must see it before real cast).
[[Nulldrifter]] can be a good starting point, see disabled AI tests in NulldrifterTest from 4bce1e0
The text was updated successfully, but these errors were encountered:
{7}
Creature — Eldrazi Elemental
4/4
When you cast this spell, draw two cards.
Flying
Annihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent of their choice.)
Evoke {2}{U} (You may cast this spell for its evoke cost. If you do, it's sacrificed when it enters.)
Current AI logic can't choose between alternative or normal cost -- it uses random. If it choose a wrong option (e.g. impossible to pay) then whole activate/cast will fail and lead to bugs like "AI do nothing":
![shot_241214_220954](https://private-user-images.githubusercontent.com/8344157/395809560-808be5c2-f014-49b7-96b7-f0030d32e084.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzQzOTc3OTcsIm5iZiI6MTczNDM5NzQ5NywicGF0aCI6Ii84MzQ0MTU3LzM5NTgwOTU2MC04MDhiZTVjMi1mMDE0LTQ5YjctOTZiNy1mMDAzMGQzMmUwODQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMTdUMDEwNDU3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzFmMTBhYzcyY2YzZTZiNzQzNGNkN2UwMDg3YTRkYThlNDM4ODRiODc2MmZmZThhMmM5MWQ0NGVhYjQ4MThhZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.pN7Lvs142JDseNxdeyWNXYcrP5NLVmW4yBZSwUrVvzQ)
It's a regression bug from newly added alternative cost choose dialog from #12420. Old code with canPay and yes/no choices was a more friendly for AI games:
![shot_241214_221715](https://private-user-images.githubusercontent.com/8344157/395810072-f731b36e-d5d4-4641-a054-a445d41d198a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzQzOTc3OTcsIm5iZiI6MTczNDM5NzQ5NywicGF0aCI6Ii84MzQ0MTU3LzM5NTgxMDA3Mi1mNzMxYjM2ZS1kNWQ0LTQ2NDEtYTA1NC1hNDQ1ZDQxZDE5OGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMTdUMDEwNDU3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjI4YzM1MWJkZTZjNjgwYjMzM2IzMDRjNzEwZWMyYzg3ODY2YTBiYzZkODQ0Y2U1MjUzMDg3MWYyMjhjZGQyZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.69IhYFIX42jghSKTxshD6bvbtxck0oYGqSBh9mSAM7Q)
Possible fixes:
canPay
check before make a choice (for AI and human). Faster solution, but not covered some use cases;Also human's UX can be improved to show non-selectable options or additional info for better misclicks (example: if only alternative cast possible then user must see it before real cast).
[[Nulldrifter]] can be a good starting point, see disabled AI tests in
NulldrifterTest
from 4bce1e0The text was updated successfully, but these errors were encountered: