- Treat triggers with the same description coming from different sources as different for the purpose of auto-ordering them (do not auto order by default).
- Currently determines the outcome of all AI vs. AI matches in a 50-50 fashion. Might be upgraded later to bias the outcome towards a stronger deck judging by the total card draft rating value.
- Note that Vanguard selection is still partly broken (for desktop Forge), it's impossible to select a particular avatar for each player (the avatar always ends up being the same), fix is welcome.
Note: There's still a limitation in the simulated AI where it doesn't know what to do when multiple effects from an ability require targets. This can be addressed in the future to support things like Cryptic Command to both counter a spell and bounce a permanent.
Also fixes a bug in the main game code where if you have Clone try to copy a token with abilities, like an Eldrazi Scion, it would previously not get those abilities.
Adds a test for the game simulation/copy case.
This allows coming up with a multi-step planning and caching it, so it doesn't need to be re-computed at subsequent steps if nothing meaningful changed.
The problem would happen when executing:
newCopy.getCurrentState().copyFrom(in, in.getState(in.getCurrentStateName()));
Because the clone code was clearing the cloned state without updating currentStateName.
Also added a test for this in the context of simulated AI, although the actual bug was not in simulation code - it's just simulation code would run into it since it tries all possible targets to copy (while humans would likely not try it).
This is still experimental & behind a flag because there's some more work that needs to be done to fully support this - such as loading all cards when the deck builder UI is shown.
- Unfortunately, this means that Spinal Parasite does not have its P/T visualized in the deck editor table; but at least there won't be a lot of -1's elsewhere in the editor. Couldn't find a way to fix both of these at the same time for now.
- Revert processing default CMC as Integer.MAX_VALUE for the UI purposes.
- Fixed some visualization issues in the deck editor related to supporting negative P/T (e.g. non-creatures showing up as P/T 2 billion+ / 2 billion+).