Some progress made, it needs clean up before GitHub but made state_machine extension for NPC to go into attack, check player and added aim on player itself for magic_bullet, NPC currently check Raycast if something is in way of player, distance, and calculate travel_time with distance(staff on NPC - Marker3D to Player Marker3D / fireball_speed - const 20 ) .
Quite lots of manual code, some ideas how to make it easier?
Some attack_system for melee, it still based with same models but trying to figure out transitions between animations in animation_tree to make look dash more interesting.