friarsol wrote:Agetian wrote:Hanmac wrote:Hm I will look at it what went wrong, because
Memory Jar does not use target, so i wonder where the error comes from.
By the look of things the issue is in ChangeZoneAllAi.java:137-140 which implies that from the AI standpoint the ChangeZoneAll effect must have a target (the AI will try setting a target even if ChangeZoneAllAi does not use targeting). If we add an additional condition to the "if" line there (sa.usesTargeting()), then the AI stops using
Memory Jar altogether since there is no logic coded for that ("return false"). Should we make it that way for now to avoid the said error in the log?
Yea that's fine. The card is already marked for the AI not to play it. Saying "I don't want to play this" in correlation with that makes more sense than just forcing it through the steps incorrectly.
kk, committed the relevant change.
I went through all the cards that have AB/SP ChangeZoneAll in them with "Origin = Hand" or "Origin = Library" and most of them are marked as RemAIDeck, but there is one that wasn't marked so (
Paradigm Shift). I tried it (in the AI's hands) and it has the same issue as other similar cards, so I marked it RemAIDeck for now.
EDIT: Ok, I committed what I think is a better idea for now. Now, the AI will simply play the non-targeted ChangeZoneAll ability if it's encountered without trying to target it (thus, not falling into an erroneous misplay). This allows
Paradigm Shift to stay RemRandomDeck only (without the necessity to add RemAIDeck), as well as opens up the potential for having future ChangeZoneAll cards that the AI can play without having to worry about targets, while all the other currently RemAIDeck cards (
Memory Jar,
Timetwister, etc.) will at least be properly played (go on stack and resolve) if ever attempted by the AI (I know that there are some specially tweaked quest decks that utilize some RemAIDeck cards), and the RemAIDeck warning is still there to warn those people who want to place those cards in the AI's virtual hands.
- Agetian