So I've been working on a getting henchperson bleeding setup. What I have is loosely based on the code in MBHkit. I have this more or less working but it requires tracking the negative hitpoints of the NPC using a variable because the NPCs hitpoints go to -11 immediately after the ondeath script ends. It's correct while that script is running (-3 or whatever) but when checked in the first following PHB for the bleeding GetCurrentHitPoints reports -11.
This is usable, but means it needs to be different code from the bleeding used for PCs. And healing spells and such need to be twiddled to change this variable appropriately etc.
Then I took a look at the HABD code which does use the same code for both PC and henchman bleeding.
It uses GetCurrentHitPoints for both throughout. I have not run it so I don't know that it works but given its popularity I'd assume it does (or maybe this is a case that it used to work but doesn't now?).
The only real differences in the ondeath handling code that I can see is that my code
sets NW_ASC_MODE_DYING, unsets NW_ASC_IS_BUSY and calls removeHenchman (although I tried commenting that out and the henchperson still got removed, so something else must be at work).
The HABD code sets NW_ASC_IS_BUSY instead and does not call remove henchman or set DYING. But
otherwise is the same (SetIsDestroyable(FALSE, TRUE, TRUE) etc) .
I'm wondering if NW_ASC_MODE_DYING has some engine effects in addition to its use in scripts where it seems to be mostly about not targeting DYING henchpeople. I'll do some experiments with that when I get back to the toolset and game.
Does anyone know if HABD still works as expected with 1.69?
Anyone have any insight to share in this area?
Thanks!