anchor.diff:    if IsDeadOrDying then
       Exit;
   
  +  //Don't kill immortal unit (with unlmited HP)
  +  if HitPointsUnlimited then
  +    Exit;
  +
     //From this moment onwards the unit is guaranteed to die (no way to avoid it even with KillASAP), so
     //signal to our owner that we have died (doesn't have to be assigned since f.e. animals don't use it)
     //This must be called before actually killing the unit because gScriptEvets needs to access it
  
positive.code: begin
    fHitPoints := EnsureRange(fHitPoints + aAmount, 0, GetHitPointsMax);
    if (fHitPoints = 0)
    and (not IsDeadOrDying)
    and (not HitPointsUnlimited) then
      KillUnit(PLAYER_NONE, True, False);
  end;
  
  
negative.code:   if fHitPoints = HitPointsMax then
      fHitPointCounter := 1;
  
    fHitPoints := Max(fHitPoints - aAmount, 0);
  
    gScriptEvents.ProcUnitWounded(Self, aAttacker);
  
  