STEAM WORKSHOP LINK: http://steamcommunity.com/sharedfiles/f ... =523638132
GITHUB LINK: https://github.com/Charidan/Tales-of-Maj-Eyal-Player-AI
Version 1.7.0 has gone live. Credit to Doctus and jnday for contributing to and indirectly causing this release.
The Player AI is intended as a lazy way to clear easy dungeon floors, not a competent combatant who will win the game for you. I might make that AI later, or just keep improving this one until it's actually good at the game.
Have fun, and tell me what you think. I accept comments, criticisms, pull requests, and bug reports.
Current Status: This addon is not currently under development.
-------------
Adds a keybind to activate the new player AI. Set to Alt+F1 by default.
This player AI rests, auto-explores, and attacks enemies (using most talents when possible).
It will clear an entire floor or stop when it hits a configurable health threshold (default 25%) in the presence of enemies.
Configurable rank stop to cancel the AI in the presence of a sufficiently high rank enemy (such as a boss).
Check the Game Options menu: there is a Player AI tab for settings specific to this AI.
This AI has not been tested in the Sandworm Lair; use it there at your own risk.
The AI doesn't know not to use menu-opening abilities (e.g. command staff) so it's probably unhelpful to use with classes that have those abilities enabled. I've also gotten reports of gamebreaking problems with Chronomancer, which should surprise nobody.
Compatibility note: This addon superwrites Player:act(), so if your addon also touches Player:act() change the load order so that the Player AI addon loads last.
CURRENT FEATURES:
- Rests!
- Autoexplores!
- Attacks enemies!
- Uses talents randomly!
- No exceptions yet for talents like Meditation or Phase Door to use them intelligently.
- Options tab in the Game Options menu!
- It can get stuck in infinite explore loops, so I added a setting for max turns it can run in a row (default 1000) so it will eventually cede control back to you.
- The AI still has trouble understanding water. It doesn't know about waterbreathing, and it doesn't recognize "bubbles" as air. So it's going to complain about suffocation constantly while it's underwater, but paradoxically seems to always move in the intelligent direction while doing so.
- The AI sometimes falls through to its "wait a turn" case when it doesn't seem necessary. This will be awful to debug.
- Added Rank Stop! Credit to jnday.
- The AI can be configured to exit if it detects an enemy of certain rank or higher, e.g. bosses.
- Fixed a typo preventing Hunt mode from working at all. Credit to Doctus.
- Added configuration to disable the Hunt state, since it often is less smart than not having it. Default disabled.
- Added configuration for the AI runtime timeout. You can now adjust to match your patience with the AI getting stuck in loops.
- Added framework support for configurations!
- There is a new tab in the Game Options menu for "Player AI" settings.
- Configurable percentage health thresholds for disabling the AI or fleeing in "hunt" state.
- Configurable timeout on "hunt" state.
- Just three settings for now, will definitely be more later.
- Added a primitive "hunting" mode.
- If out-of-combat and attacked by an enemy it cannot see (including when it is blinded; the AI is dumb), it will check if the enemy position is known and rush them.
- If the attacker's position is unknown, the AI will randomwalk instead of standing still.
- Configurable health threshold to instead avoid the engagement and lose its pursuers so it can rest safely.
- Smarter "hunting" state.
- Assay practicality of per-talent settings to control usage.
- Improve understanding of talent types (such as which talents heal/defend you and should be used while resting/hunting).