[x] actually scan for and use the correct character when determining targets - ex: this will fix zale getting confused with sunball
[ ] make an additional battle ui that shows what it THINKS the menus are its referencing. This way it should match whats in game; this will be useful when new abilities are gained and whatnot - then instead of relying on id's i can just use them to know if i'm in a menu or not and make assumptions on selecting abilities and what not - also testing outside the tas should be really simple when building this logic
[ ] add better visibility for the combat state machine, where does the system think its at right now? is there a better way to track execution?
Controller: Controller - move factory from combat controller to here.
Enemies[]
Enemy
name
uuid
guid
stats
hp
mp
etc
location
x,y,z
nearbyTargets (calculate by location, determine what signifies chaining)
currentCast (calculate current ability)
Ability (hardcoded abilities?)
Characters[]
Character
name
uuid
dead
attack
skills:
combos
Goals:
make skills/combos determine their availability and index on their own; for example a combo will be 'usable: false' if the other combo char is dead. It will use the encounter to determine this state
build this independently from the existing system, so it can be plugged in later.
Abstract application code away from the memory code - no logic should be there.
have reasoner make better decisions by pulling logic to it instead, this make it easier to consume. (ie. dead = true, do not consider it)