[Work in Progress] Make more data available for more accurate simulation #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The main idea of this PR is to introduce a few more functionality to Communication Mod to make it more possible to fully recreate the game state from the JSON game state it sends to the child process.
The changes are:
a. always send intents even with runic dome - honestly this might be a bad change. I personally was having trouble figuring out what to do in recreating the game state without intents so I wanted to allow AI agent to just know them anyways and potentially discard any runs containing runic dome as invalid afterwards from any analysis. But I can understand objection to this change.
b. isEscaping boolean on monsters
c. a bunch of misc int and bool fields for monsters - very similar to how there are some misc fields that need to be provided to fully describe powers on the player/monsters, some monsters have additional data about themself that is needed to describe their behavior. this is all information that the player would have access to so it's not providing extra information (except for maybe nipDmg and biteDmp since the player only knows about those the first time the louse/darkling uses those move intents). these are quite important for some fights like time eater where it's important to know whether his heal to half-hp has been used or how many times the book of stabbing has used its multiattack so far (since that dictates how many multihits it does).