Files
The-Only-Cure/media/lua/shared/TOC/Debug.lua
2023-11-15 11:07:15 +01:00

71 lines
1.9 KiB
Lua

TOC_DEBUG = {}
TOC_DEBUG.disablePaneMod = false
function TOC_DEBUG.togglePaneMod()
TOC_DEBUG.disablePaneMod = not TOC_DEBUG.disablePaneMod
end
---Print debug
---@param string string
function TOC_DEBUG.print(string)
if isDebugEnabled() then
print("TOC: " .. string)
end
end
function TOC_DEBUG.printTable(table, indent)
if not table then return end
indent = indent or ""
for key, value in pairs(table) do
if type(value) == "table" then
print(indent .. key .. " (table):")
TOC_DEBUG.printTable(value, indent .. " ")
else
print(indent .. key .. ":", value)
end
end
end
---------------------------------
--* Random debug commands *--
function TOC_DEBUG.TestBodyDamage(id)
local StaticData = require("TOC/StaticData")
local pl = getPlayerByOnlineID(id)
local bd = pl:getBodyDamage()
TOC_DEBUG.print(tostring(bd))
if bd then
TOC_DEBUG.print("bd for " .. pl:getUsername() .. " exists")
local bptEnum = StaticData.BODYLOCS_IND_BPT["Hand_L"]
local bodyPart = bd:getBodyPart(bptEnum)
bodyPart:setBleeding(true)
bodyPart:setCut(true)
TOC_DEBUG.print(tostring(bodyPart))
end
end
---------------------------------
--* Debug server commands *--
local CommandsData = require("TOC/CommandsData")
function TOC_DEBUG.printPlayerServerModData(username)
sendClientCommand(CommandsData.modules.TOC_DEBUG, CommandsData.server.Debug.PrintTocData, {username = username})
end
function TOC_DEBUG.printAllServerModData()
sendClientCommand(CommandsData.modules.TOC_DEBUG, CommandsData.server.Debug.PrintAllTocData, {})
end
function TOC_DEBUG.testRelayDamage()
---@type relayDamageDuringAmputationParams
local params = {limbName = "Hand_R", patientNum = getPlayer():getOnlineID()}
sendClientCommand(CommandsData.modules.TOC_RELAY, CommandsData.server.Relay.RelayDamageDuringAmputation, params)
end