Throwing this on a talk page because I can't really confirm anything, just experimenting with the game's AI and seeing the results. I think I have a pretty solid grasp on how it functions for the most part, so I'm just going to describe it here. For the sake of simplicity, these are the terms I'll use throughout since describing them all the time is too tedious:
- Boss Unit: Any unit that is 3* or higher/found in the Companion Catalog.
- Mob Unit: Any unit that is 1 or 2*/found in the Mob Catalog.
For an enemy's turn, like the player, they can choose to move a unit or keep it where it is. Here's all my notes on enemy movement:
- In terms of deciding which enemy can move, there's a priority for a boss unit to move before a Mob unit. So if there is one boss unit on the map, it will always be the unit that moves, even if a basic unit can move into a position where it would deal more damage.
- The only exception to the above I've noticed is if all boss units have some sort of move/attack debuff on them. Such as charm. If the Boss unit can't attack you, then priority can shift to Mob units.
- Ranged (Bow) and Magic (Rod) units will always attempt to move so there is at least 1 space between a player-controlled unit and itself, in order to prevent short-range player-controlled units (Slash/Strike) from hitting them. This tends to have the effect of moving a short range unit behind it into the front row, so be wary of this. Pierce (Spear) units might also do this, but I haven't tested enough with them yet.
- If there are 2 boss units on the map, there is a priority for boss units with movement skills to be picked to move first.
- Guess: Enemies with aggro are prioritized to move before enemies without aggro.
- Guess: If no enemy units have aggro, then the enemy with the biggest range will move (I.e. if the game is deciding between moving a Strike enemy and a Slash enemy, it will move the Slash enemy.)
When deciding movement, enemies will pick a player-controlled unit and position itself to attack it over potentially more advantageous situations. Exploiting enemy aggro lets you put yourself in completely safe situations where you can attack the enemy, but the enemy can't attack you whatsoever. Basic notes about enemy aggro:
- An enemy becomes aggro'd onto a unit that attacks it. In the case of multiple units attacking the enemy, the enemy will do some sort of prioritization to pick a target. Enemy prioritization seems to be based off of weapon type, with short-ranged units (Strike/Slash) having higher priority over long-ranged units (Pierce/Ranged/Magic).
- Aggro lasts for some amount of time. An enemy unit will target the same unit that attacks it for some amount of turns, perhaps indefinitely until the unit dies. However, it can also be overridden by a higher prioritized unit attacking the enemy.
- Once a player-controlled unit that has aggro is killed, the enemy unit will return to attacking the last unit that it had aggro on, if it exists.
- If an enemy unit does not have aggro, it will move in such a way that tries to let it attack any player unit. What this means can vary, so I need to do more research of all enemy types.
If I don't move a unit at all this turn (Or in other words, move a unit to the same spot it was in at the start of the turn) it is very easy to predict the outcome. There is a boss unit on this map (Fenrir) so he will be the unit that moves. Fenrir is attacked only by Youl, so Fenrir will aggro onto him and do whatever he can to attack Youl. Since he's a Strike unit and Youl is a Pierce unit, this is obviously not possible. As a result, no enemies will move. And in practice...
That's exactly what happens! Though I lose my Moritaka cause he's too fragile with berserk. Sad. In any event, even though Fenrir could have moved to attack Shinya (The slime was dead by that point), he doesn't, because he's too busy trying to attack Youl. So now let's try an experiment. What if we switch places of my player unit (Slaix) and Shinya, so Slaix can attack Fenrir at the same time as Youl? Because Slaix is a Slash unit and Youl is a Pierce unit, this means that even though Fenrir was aggro'd onto Youl, he will switch aggro over to Slaix and move to attack him. Let's see the outcome...
Fenrir moves to the right to try to attack Youl, effectively letting me stall this fight out until Fenrir dies. Fenrir can't attack Youl, but Youl can attack Fenrir. And so long as Fenrir is alive, the mob unit in the back can't move. Shinya could potentially charm Fenrir to force it to move, but that'd make this somewhat risky. Either way, the fight will continue until Fenrir dies, at which point the mob unit will move to attack any unit it can. In this case, that would be Shinya, by moving down and to the left. Once Fenrir dies...
Sure enough, the mob unit moves to attack Shinya. But it's also a lot weaker than Fenrir, so taking care of it is easy. Phase 2 of this fight is where enemy AI can be shown to be exploited more easily. After resetting the fight so I can bring Moritaka along...
Here's the starting layout of phase 2. Because of how aggro works, I want to put everyone in a position where Youl and Shinya attack both the boss units, but Moritaka doesn't. Thankfully, this can be done by moving Moritaka left, down, then right. Then, only Youl and Shinya will attack the bosses, giving them the boss unit aggro, so even though Managarmr is within range of both of them, he won't be attacked. Sure enough...
Managarmr is fine, and so long as I keep all my units positioned like this, no one can get hit until both of the boss units die.
If anyone has any additional info about this/can confirm any additional info, it'd help out a lot! Thanks!