Psyker feat Kinetic Overload doesn't stack soulblaze on nearby targets sometimes

Issue Description:

There are certain conditions under which a psyker with the feat Kinetic Overload active does not get soulblaze stacks applied to a nearby enemy when at maximum warp charges and killing with Brain Burst. This seems to be a bug in psyker_biomancer_buff_templates.lua, in the add_soul_function. The code that traverses the list of enemy units around the player does not do any checking for whether the target unit is alive or dead, thus applying soulblaze to an enemy that has just died. Because the list of enemies is generated by broadphase:query(), elite enemies are sorted to the beginning of the list, making the code early out on first elite hit, and in the situation where that elite is the one that was killed (triggering the event processing leading to warp charge gain), results in the bug observed.

Steps to Reproduce:

  1. Play as a Psyker with Kinetic Overload active and go into the Meat Grinder
  2. Position yourself between the Scab Flamer and the Reaper
  3. BB enemies until you have maximum warp charges, and then BB the Reaper until it dies
  4. Observe no enemies around you gaining soulblaze dots.

Steam (but I imagine all have the same bug)

Reproduction Rate:
Constant (100%)