I think in some cases we need and in others will make easier to do thing if we had Agressive and Defensive Movement generators. How should them work?
Agressive movemet generator:
* Mob will walk/run from his the position he has when movement generator is applied (spawns or movement generator change) to another given position but will react attacking any threatening creature on line of sight.
* Mob will NOT continue or start persuin threatening targets when he reaches a certain distance from the path he has to follow to get to the given position or reaches the finish position.
* When mob reaches the given final position he turns to defensive movement generator.
Defensive movement generator:
* Mob will be given a position to defend, if he is not within a given distance from the defending position he will drop any aggro and run within the given distance from the defending position if there is not another target within defending distance.
* If mob is within a given distance from the defending position he will optionally patrol or stay in his position and will attack any threathening creature in line of sight as long as the targets are within his defending distance.
* If target goes out of the defending distance but there is another creature within it mob will drop aggro over the running one and fight the second target.
Where can this be applied?..... lots of places where creatures are suppose to defend a position and do NOT reset while there is some threatening target within his defending position. And some other more where creatures need to make an aggressive walk (like the behavior of creatures in strategy games when you command them to attack a given position in the map)