You just have to code things step by step.
If you want the ai to do things at certain times give him modes
So mode 1: move towards enemy. If im too close, set mode to 2?
Mode 2: move away from enemy.
If ai at certain distance { shoot shot function}
If at another distance { swing axe function}
And have a variable on the ai for time for attacks, so if timer1 <= 0 do special life drain attack
on life drain attack set timer to #
then just speed him up, or reduce timers.