After playing with the new lsl functions with my pathfinding bot I found a use case in which I could have for example a combat npc and a medic npc.
Objects can be given a default health primitive param value of 0.0-100.0
at the moment this only works for agents but I see no reason for it not to work on objects.
llGetHealth(llGetKey());
Health management could be param based and easlily called and modified as needed.
Object health regen could be scripted on a timer or a loop of some sort.
llSetLinkPrimitiveParamsFast(0,[PRIM_HEALTH, float healh_value]);
list info = llGetLinkPrimitiveParams(0,[PRIM_HEALTH]);
Allowing objects to detect the health values of another object:
list info = llGetObjectDetails(object_id, [OBJECT_HEALTH, link_num]);
With this my medic npc can detect if a nearby npc needs health and attempt to go over and render aid. Or could be used to set the health of various components of a vehicle like tank treads etc.
This would also cut down on the amount of llRegionSay() and listen events required for such a system to exist.