case POINT_MAX_HP: { SetPoint(type, GetPoint(type) + amount); int curMaxHP = GetMaxHP(); int hp = GetRealPoint(POINT_MAX_HP); int add_hp = MIN(3500, hp * GetPoint(POINT_MAX_HP_PCT) / 100); add_hp += GetPoint(POINT_MAX_HP); add_hp += GetPoint(POINT_PARTY_TANKER_BONUS); // BONUSY ZA PUNKTY RANGI int ali = GetAlignment()/10; if (ali >= 1000) add_hp += (((ali / 1000)*0.2f)/100)*hp; else if (ali <= -1000) add_hp -= (((ali / 1000)*0.2f)/100)*hp; // BONUSY ZA PUNKTY RANGI END SetMaxHP(hp + add_hp); float fRatio = (float)GetMaxHP() / (float)curMaxHP; PointChange(POINT_HP, GetHP() * fRatio - GetHP()); val = GetMaxHP(); } break;