I'll take a look at
Survival of the Fittest, that's a weird problem
EDIT: Fixed it, I accidentally coded it in such a way that the AI started grabbing discard targets from the library instead of from the hand, lol.
About other things - nope, the AI doesn't hold mana for spells or hold out on attacking with creatures for the sake of using the ability - like I said before, the AI model we're using is, for the most part, deciding on a step-by-step basis, each decision being separate (unfortunately, but it is what it is). It's not even a bug, it's just a quirk of how the AI is coded until we have a better one, if ever (I'm not talking about a better AI logic for a card in this case, I'm actually talking about a better AI with some kind of a coordinated strategy controller for it, or one of those minmax/Monte Carlo things that some other games use that can actually truly predict stuff by playing out scenarios). I tried implementing a simple "conserve mana for Main 2" system a while ago, but that didn't work reliably and crashed more often than not, so it's disabled for the time being. There are some hacks here and there in the code that emulate simple "coordination" for things, such as the recent "hold a combat trick pump until declare blockers" I implemented, but those things, being hacks and all, are not universally applicable to everything and are trickier to code in some places compared to other places. Not saying that it's completely impossible, just that I don't really have a very good idea how to do that without introducing big bugs and/or tangling the code beyond recognition, so... could use some help from someone who maybe has a better idea
Speaking of which, since you have a really long list of things you'd like to see improved, you're welcome to help along too, you know
Storm Seeker - will see if the AI doesn't specifically play it for some odd reason, but the most likely reason is that it just didn't have the mana at the right [new] timing, since it doesn't save for it (but maybe not). Its implementation appears to mirror that of the
Sudden Impact on the superficial side of things though, so it'd be a surprise if these two cards worked differently from each other for the AI (then again, with Forge, you never know
).
EDIT: It was missing a References declaration in the script, which made the AI unable to find the relevant variable that was used to count the damage dealt to player, so it always thought that it'd deal 0 damage (and spammed the console with a missing reference warning).
Might take a look at why
Evacuation was used in that specific spot (seems too suboptimal to be valid for what the original code was meant to do; most likely the AI was just unaware for some reason that
Nekrataal was temporarily controlled or something).
EDIT: Looked at the code and tested this a bit; basically, in the general (not threatened) case, the AI decides to bounce if the opponent's creatures are worth more than the AI's creatures by the evaluation threshold of about 200, which may be too low (it's about the equivalent of maybe a 3/3 creature or so). I guess that maybe this threshold should be raised to at least 450 or so, which would be equivalent to a 4/4 flyer of
Serra Angel caliber. Not sure though, it's difficult to say - this kind of AI is too generic to universally say what is a bad play and what isn't, since it's too situational (and, like you said, requires better bounce priorities in general, which would be somewhat tricky to code and might, thus, take time).
- Agetian