From 1f9010dc62f5d74ecf615ba41f776c0a9d8490da Mon Sep 17 00:00:00 2001 From: Emagi Date: Fri, 22 Nov 2024 07:34:53 -0500 Subject: [PATCH] current power and hp cannot be set negative via lua --- source/WorldServer/Spawn.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/WorldServer/Spawn.cpp b/source/WorldServer/Spawn.cpp index 67f1ae0..5c2a0ad 100644 --- a/source/WorldServer/Spawn.cpp +++ b/source/WorldServer/Spawn.cpp @@ -1413,6 +1413,9 @@ void Spawn::SetZone(ZoneServer* in_zone, int32 version){ /*** HIT POINT ***/ void Spawn::SetHP(sint32 new_val, bool setUpdateFlags){ + if(new_val < 0) + new_val = 0; + if(new_val == 0){ ClearRunningLocations(); CalculateRunningLocation(true); @@ -1518,6 +1521,9 @@ sint32 Spawn::GetTotalPowerBaseInstance() /*** POWER ***/ void Spawn::SetPower(sint32 power, bool setUpdateFlags){ + if(power < 0) + power = 0; + if(power > basic_info.max_power) SetInfo(&basic_info.max_power, power, setUpdateFlags); SetInfo(&basic_info.cur_power, power, setUpdateFlags);