Fixed huge bug that would break things after a player died
This commit is contained in:
@@ -380,8 +380,9 @@ function DataController.ReceiveData(key, data)
|
||||
|
||||
|
||||
TOC_DEBUG.print("ReceiveData for " .. key)
|
||||
if data == {} or data == nil then
|
||||
error("Data is nil, new character or something is wrong")
|
||||
|
||||
if data == nil or data.limbs == nil then
|
||||
TOC_DEBUG.print("Data is nil, new character or something is wrong")
|
||||
end
|
||||
|
||||
-- Get DataController instance if there was none for that user and reapply the correct ModData table as a reference
|
||||
@@ -399,7 +400,8 @@ function DataController.ReceiveData(key, data)
|
||||
if handler.isResetForced then
|
||||
TOC_DEBUG.print("Forced reset")
|
||||
handler:setup(key)
|
||||
elseif data then
|
||||
elseif data and data.limbs then
|
||||
-- Let's validate that the data structure is actually valid to prevent issues
|
||||
if data.isUpdateFromServer then
|
||||
TOC_DEBUG.print("Update from the server")
|
||||
end
|
||||
|
||||
@@ -6,7 +6,7 @@ require("TOC/Events")
|
||||
|
||||
---@class Main
|
||||
local Main = {
|
||||
_version = "2.0.6"
|
||||
_version = "2.0.7"
|
||||
}
|
||||
|
||||
function Main.Start()
|
||||
|
||||
@@ -34,6 +34,10 @@ function ServerDataHandler.AddTable(key, table)
|
||||
ModData.add(key, table) -- Add it to the server mod data
|
||||
ServerDataHandler.modData[key] = table
|
||||
|
||||
|
||||
-- Check integrity of table. if it doesn't contains toc data, it means that we received a reset
|
||||
if table.limbs == nil then return end
|
||||
|
||||
-- Since this could be triggered by a different client than the one referenced in the key, we're gonna
|
||||
-- apply the changes back to the key client again to be sure that everything is in sync
|
||||
local username = CommandsData.GetUsername(key)
|
||||
|
||||
Reference in New Issue
Block a user