There don't seem to be any other medical items which give negative HP, but it does seem that negative HP effects are not applied.
For one thing, potions with negative HP, even if they do exist now or are created in future, won't give negative HP. They're set up by function 'InitPotion', also included in "initItems.c", which checks for non-positive HP:
Code:
if ( health > 0 ) potionitm.potion.health = health;
Leeches are different, they're set up by 'InitApothItem', which only checks for non-zero HP:
Code:
if ( health != 0 ) itm.potion.health = health;
Use of a medical item is controlled by "PROGRAM\ITEMS\items_utilite.c", function 'DoCharacterUsedItem', which checks if the item has the "potion.health" attribute and then calls 'LAi_UseHealthBottle(chref,stf(arItm.potion.health))'. That is defined in "PROGRAM\Loc_ai\LAi_character.c":
Code:
void LAi_UseHealthBottle(aref chr, float healthInBottle)
{
if(healthInBottle <= 0) return;
if(CheckPerkForGroup(chr, "ImprovePotions")) healthInBottle = healthInBottle * 1.1;//partywide boost
if(!CheckAttribute(chr, "chr_ai.hp_bottle"))
{
chr.chr_ai.hp_bottle = "0";
}
chr.chr_ai.hp_bottle = stf(chr.chr_ai.hp_bottle) + healthInBottle;
}
And there's the final check on whether the item has negative or zero health - if it does, 'LAi_UseHealthBottle' quits without doing anything.
Copy your existing "PROGRAM\Loc_ai\LAi_character.c" to somewhere safe just in case this doesn't work or has unexpected side-effects. Then put this version in its place. Test the effects of various medical items, especially leeches, and see if they all behave properly.
Edit: re-uploaded "LAi_character.c" on 25th July to fix another check on the item's health in function 'LAi_AllCharactersUpdate'. Checked by using console to give myself some bottles,
not adding in
@MrMister's fix to prevent leeches from being used for quick-heal, then going out into the jungle to get injured in a fight. Quick-heal chose the leeches and I lost HP.