Working stuff
This commit is contained in:
@@ -6,27 +6,27 @@ end
|
|||||||
|
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
-- MP HANDLING CHECKS
|
-- MP HANDLING CHECKS
|
||||||
function CheckIfCanBeCut(part_name, part_data)
|
function CheckIfCanBeCut(part_name, limbs_data)
|
||||||
|
|
||||||
if part_data == nil then
|
if limbs_data == nil then
|
||||||
part_data = getPlayer():getModData().TOC.Limbs
|
limbs_data = getPlayer():getModData().TOC.Limbs
|
||||||
|
|
||||||
end
|
end
|
||||||
local check = (not part_data[part_name].is_cut) and
|
local check = (not limbs_data[part_name].is_cut) and
|
||||||
(not CheckIfProsthesisAlreadyInstalled(part_data, part_name))
|
(not CheckIfProsthesisAlreadyInstalled(limbs_data, part_name))
|
||||||
|
|
||||||
return check
|
return check
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function CheckIfCanBeOperated(part_name, part_data)
|
function CheckIfCanBeOperated(part_name, limbs_data)
|
||||||
|
|
||||||
if part_data == nil then
|
if limbs_data == nil then
|
||||||
part_data = getPlayer():getModData().TOC.Limbs
|
limbs_data = getPlayer():getModData().TOC.Limbs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
return part_data[part_name].is_operated == false and part_data[part_name].is_amputation_shown
|
return limbs_data[part_name].is_operated == false and limbs_data[part_name].is_amputation_shown
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -54,17 +54,17 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function CheckIfProsthesisAlreadyInstalled(part_data, part_name)
|
function CheckIfProsthesisAlreadyInstalled(limbs_data, part_name)
|
||||||
|
|
||||||
local r = "Right"
|
local r = "Right"
|
||||||
local l = "Left"
|
local l = "Left"
|
||||||
|
|
||||||
|
|
||||||
if string.find(part_name, r) then
|
if string.find(part_name, r) then
|
||||||
return (part_data[r .. "_Hand"].is_prosthesis_equipped or part_data[r .. "_LowerArm"].is_prosthesis_equipped)
|
return (limbs_data[r .. "_Hand"].is_prosthesis_equipped or limbs_data[r .. "_LowerArm"].is_prosthesis_equipped)
|
||||||
|
|
||||||
elseif string.find(part_name, l) then
|
elseif string.find(part_name, l) then
|
||||||
return (part_data[l .. "_Hand"].is_prosthesis_equipped or part_data[l .. "_LowerArm"].is_prosthesis_equipped)
|
return (limbs_data[l .. "_Hand"].is_prosthesis_equipped or limbs_data[l .. "_LowerArm"].is_prosthesis_equipped)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -118,10 +118,8 @@ end
|
|||||||
TocContextMenus.FillCutAndOperateMenus = function(local_player, clicked_player, world_objects, cut_menu, operate_menu)
|
TocContextMenus.FillCutAndOperateMenus = function(local_player, clicked_player, world_objects, cut_menu, operate_menu)
|
||||||
|
|
||||||
local local_part_data = local_player:getModData().TOC.Limbs
|
local local_part_data = local_player:getModData().TOC.Limbs
|
||||||
|
|
||||||
for _, v in ipairs(GetBodyParts()) do
|
for _, v in ipairs(GetBodyParts()) do
|
||||||
|
|
||||||
|
|
||||||
if local_player == clicked_player then -- Local player
|
if local_player == clicked_player then -- Local player
|
||||||
if CheckIfCanBeCut(v) and TocGetSawInInventory(local_player) ~= nil then
|
if CheckIfCanBeCut(v) and TocGetSawInInventory(local_player) ~= nil then
|
||||||
|
|
||||||
@@ -145,21 +143,9 @@ TocContextMenus.FillCutAndOperateMenus = function(local_player, clicked_player,
|
|||||||
operate_menu:addOption(getText('UI_ContextMenu_' .. v), world_objects, TryTocAction, v, "Operate",
|
operate_menu:addOption(getText('UI_ContextMenu_' .. v), world_objects, TryTocAction, v, "Operate",
|
||||||
local_player, clicked_player)
|
local_player, clicked_player)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,9 +31,11 @@ end
|
|||||||
|
|
||||||
------------------------------
|
------------------------------
|
||||||
-- UI Visible stuff functions
|
-- UI Visible stuff functions
|
||||||
local function GetImageName(part_name, part_data)
|
local function GetImageName(part_name, limbs_data)
|
||||||
local name = ""
|
local name = ""
|
||||||
|
|
||||||
|
local part_data = limbs_data[part_name]
|
||||||
|
|
||||||
if part_data.is_cut and part_data.is_cicatrized and part_data.is_prosthesis_equipped then -- Cut and equip
|
if part_data.is_cut and part_data.is_cicatrized and part_data.is_prosthesis_equipped then -- Cut and equip
|
||||||
if part_name == "Right_Hand" or part_name == "Left_Hand" then
|
if part_name == "Right_Hand" or part_name == "Left_Hand" then
|
||||||
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
||||||
@@ -58,9 +60,9 @@ local function GetImageName(part_name, part_data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- If foreaerm equip, change hand
|
-- If foreaerm equip, change hand
|
||||||
if part_name == "Right_Hand" and part_data["Right_LowerArm"].is_prosthesis_equipped then
|
if part_name == "Right_Hand" and limbs_data["Right_LowerArm"].is_prosthesis_equipped then
|
||||||
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
||||||
elseif part_name == "Left_Hand" and part_data["Left_LowerArm"].is_prosthesis_equipped then
|
elseif part_name == "Left_Hand" and limbs_data["Left_LowerArm"].is_prosthesis_equipped then
|
||||||
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
|
||||||
end
|
end
|
||||||
return name
|
return name
|
||||||
@@ -136,7 +138,7 @@ local function OnClickTocMainUI(button, args)
|
|||||||
|
|
||||||
desc_ui:open()
|
desc_ui:open()
|
||||||
desc_ui:setPositionPixel(main_ui:getRight(), main_ui:getY())
|
desc_ui:setPositionPixel(main_ui:getRight(), main_ui:getY())
|
||||||
SetupTocDescUI(main_ui.surgeon, main_ui.patient, args.part_data, args.part_name) -- surgeon is generic.
|
SetupTocDescUI(main_ui.surgeon, main_ui.patient, args.limbs_data, args.part_name) -- surgeon is generic.
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -350,41 +352,43 @@ end
|
|||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
-- Setup stuff with variables and shit
|
-- Setup stuff with variables and shit
|
||||||
|
|
||||||
function SetupTocMainUI(surgeon, patient, part_data)
|
function SetupTocMainUI(surgeon, patient, limbs_data)
|
||||||
|
|
||||||
-- TODO add a ontick to update it regularly
|
-- TODO add a ontick to update it regularly
|
||||||
|
|
||||||
main_ui.surgeon = surgeon -- we shouldn't need an arg for this
|
main_ui.surgeon = surgeon -- we shouldn't need an arg for this
|
||||||
main_ui.patient = patient
|
main_ui.patient = patient
|
||||||
|
|
||||||
if part_data then
|
if limbs_data then
|
||||||
main_ui["b11"]:addArg("part_data", part_data)
|
main_ui["b11"]:addArg("limbs_data", limbs_data)
|
||||||
main_ui["b12"]:addArg("part_data", part_data)
|
main_ui["b12"]:addArg("limbs_data", limbs_data)
|
||||||
main_ui["b21"]:addArg("part_data", part_data)
|
main_ui["b21"]:addArg("limbs_data", limbs_data)
|
||||||
main_ui["b22"]:addArg("part_data", part_data)
|
main_ui["b22"]:addArg("limbs_data", limbs_data)
|
||||||
main_ui["b31"]:addArg("part_data", part_data)
|
main_ui["b31"]:addArg("limbs_data", limbs_data)
|
||||||
main_ui["b32"]:addArg("part_data", part_data)
|
main_ui["b32"]:addArg("limbs_data", limbs_data)
|
||||||
|
|
||||||
main_ui["b11"]:setPath(GetImageName("Right_UpperArm", part_data))
|
main_ui["b11"]:setPath(GetImageName("Right_UpperArm", limbs_data))
|
||||||
main_ui["b12"]:setPath(GetImageName("Left_UpperArm", part_data))
|
main_ui["b12"]:setPath(GetImageName("Left_UpperArm", limbs_data))
|
||||||
|
|
||||||
main_ui["b21"]:setPath(GetImageName("Right_LowerArm", part_data))
|
main_ui["b21"]:setPath(GetImageName("Right_LowerArm", limbs_data))
|
||||||
main_ui["b22"]:setPath(GetImageName("Left_LowerArm", part_data))
|
main_ui["b22"]:setPath(GetImageName("Left_LowerArm", limbs_data))
|
||||||
|
|
||||||
main_ui["b31"]:setPath(GetImageName("Right_Hand", part_data))
|
main_ui["b31"]:setPath(GetImageName("Right_Hand", limbs_data))
|
||||||
main_ui["b32"]:setPath(GetImageName("Left_Hand", part_data))
|
main_ui["b32"]:setPath(GetImageName("Left_Hand", limbs_data))
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function SetupTocDescUI(surgeon, patient, part_data, part_name)
|
function SetupTocDescUI(surgeon, patient, limbs_data, part_name)
|
||||||
desc_ui["textTitle"]:setText(getText("UI_ContextMenu_" .. part_name))
|
desc_ui["textTitle"]:setText(getText("UI_ContextMenu_" .. part_name))
|
||||||
desc_ui.part_name = part_name
|
desc_ui.part_name = part_name
|
||||||
desc_ui.surgeon = surgeon
|
desc_ui.surgeon = surgeon
|
||||||
desc_ui.patient = patient
|
desc_ui.patient = patient
|
||||||
|
|
||||||
|
local part_data = limbs_data[part_name]
|
||||||
|
|
||||||
if IsProsthesisInstalled(part_data) then
|
if IsProsthesisInstalled(part_data) then
|
||||||
-- Limb cut with prosthesis
|
-- Limb cut with prosthesis
|
||||||
desc_ui["status"]:setText("Prosthesis equipped")
|
desc_ui["status"]:setText("Prosthesis equipped")
|
||||||
@@ -447,16 +451,16 @@ function SetupTocDescUI(surgeon, patient, part_data, part_name)
|
|||||||
desc_ui["status"]:setText("Nothing here")
|
desc_ui["status"]:setText("Nothing here")
|
||||||
desc_ui["status"]:setColor(1, 1, 1, 1)
|
desc_ui["status"]:setColor(1, 1, 1, 1)
|
||||||
desc_ui["b1"]:setVisible(false)
|
desc_ui["b1"]:setVisible(false)
|
||||||
elseif CheckIfCanBeCut(part_name) then
|
elseif CheckIfCanBeCut(part_name, limbs_data) then
|
||||||
-- Everything else
|
-- Everything else
|
||||||
-- TODO add check for cuts and scratches
|
-- TODO add check for cuts and scratches
|
||||||
desc_ui["status"]:setText("Not cut")
|
desc_ui["status"]:setText("Not cut")
|
||||||
desc_ui["status"]:setColor(1, 1, 1, 1)
|
desc_ui["status"]:setColor(1, 1, 1, 1)
|
||||||
if TocGetSawInInventory(surgeon) and not CheckIfProsthesisAlreadyInstalled(part_data, part_name) then
|
if TocGetSawInInventory(surgeon) and not CheckIfProsthesisAlreadyInstalled(limbs_data, part_name) then
|
||||||
desc_ui["b1"]:setVisible(true)
|
desc_ui["b1"]:setVisible(true)
|
||||||
desc_ui["b1"]:setText("Cut")
|
desc_ui["b1"]:setText("Cut")
|
||||||
desc_ui["b1"]:addArg("option", "Cut")
|
desc_ui["b1"]:addArg("option", "Cut")
|
||||||
elseif TocGetSawInInventory(surgeon) and CheckIfProsthesisAlreadyInstalled(part_data, part_name) then
|
elseif TocGetSawInInventory(surgeon) and CheckIfProsthesisAlreadyInstalled(limbs_data, part_name) then
|
||||||
desc_ui["b1"]:setVisible(true)
|
desc_ui["b1"]:setVisible(true)
|
||||||
desc_ui["b1"]:setText("Remove prosthesis before")
|
desc_ui["b1"]:setText("Remove prosthesis before")
|
||||||
desc_ui["b1"]:addArg("option", "Nothing")
|
desc_ui["b1"]:addArg("option", "Nothing")
|
||||||
@@ -548,6 +552,7 @@ function ISNewHealthPanel.onClick_TOC(button)
|
|||||||
SetupTocMainUI(surgeon, surgeon, surgeon:getModData().TOC.Limbs)
|
SetupTocMainUI(surgeon, surgeon, surgeon:getModData().TOC.Limbs)
|
||||||
else
|
else
|
||||||
-- MP stuff, try to get the other player data and display it on the surgeon display
|
-- MP stuff, try to get the other player data and display it on the surgeon display
|
||||||
|
print("TOC: Checking part_data for " .. patient:getUsername())
|
||||||
if ModData.get("TOC_PLAYER_DATA")[patient:getUsername()] ~= nil then
|
if ModData.get("TOC_PLAYER_DATA")[patient:getUsername()] ~= nil then
|
||||||
local other_player_part_data = ModData.get("TOC_PLAYER_DATA")[patient:getUsername()]
|
local other_player_part_data = ModData.get("TOC_PLAYER_DATA")[patient:getUsername()]
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
--if isClient() then return end
|
--if isClient() then return end
|
||||||
|
|
||||||
---Server side
|
---Server side
|
||||||
local Commands = {}
|
local TOC_Commands = {}
|
||||||
|
|
||||||
|
|
||||||
--TODO how does this work
|
--TODO how does this work
|
||||||
Commands["SendServer"] = function(player, arg)
|
TOC_Commands["SendServer"] = function(player, arg)
|
||||||
local otherPlayer = getPlayerByOnlineID(arg["To"])
|
local otherPlayer = getPlayerByOnlineID(arg["To"])
|
||||||
print("The Only Cure Command: ", arg['command'])
|
print("The Only Cure Command: ", arg['command'])
|
||||||
sendServerCommand(otherPlayer, "TOC", arg["command"], arg)
|
sendServerCommand(otherPlayer, "TOC", arg["command"], arg)
|
||||||
@@ -14,14 +14,14 @@ end
|
|||||||
|
|
||||||
|
|
||||||
-- To make the UI Work
|
-- To make the UI Work
|
||||||
Commands["GetPlayerData"] = function(_, arg)
|
TOC_Commands["GetPlayerData"] = function(_, arg)
|
||||||
local surgeon_id = arg[1]
|
local surgeon_id = arg[1]
|
||||||
local patient_id = arg[2]
|
local patient_id = arg[2]
|
||||||
local patient = getPlayerByOnlineID(arg[2])
|
local patient = getPlayerByOnlineID(arg[2])
|
||||||
sendServerCommand(patient, "TOC", "GivePlayerData", { surgeon_id, patient_id })
|
sendServerCommand(patient, "TOC", "GivePlayerData", { surgeon_id, patient_id })
|
||||||
end
|
end
|
||||||
|
|
||||||
Commands["SendPlayerData"] = function(_, arg)
|
TOC_Commands["SendPlayerData"] = function(_, arg)
|
||||||
local surgeon = getPlayerByOnlineID(arg[1])
|
local surgeon = getPlayerByOnlineID(arg[1])
|
||||||
local surgeon_id = arg[1]
|
local surgeon_id = arg[1]
|
||||||
local toc_data = arg[2]
|
local toc_data = arg[2]
|
||||||
@@ -31,7 +31,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
-- CHEATING STUFF
|
-- CHEATING STUFF
|
||||||
Commands["AskToResetEverything"] = function(_, arg)
|
TOC_Commands["AskToResetEverything"] = function(_, arg)
|
||||||
local clicked_player = getPlayerByOnlineID(arg[1])
|
local clicked_player = getPlayerByOnlineID(arg[1])
|
||||||
local clicked_player_id = arg[1]
|
local clicked_player_id = arg[1]
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ end
|
|||||||
|
|
||||||
-------------------------------- TEST ------------------------
|
-------------------------------- TEST ------------------------
|
||||||
|
|
||||||
TOC_Commands = {}
|
|
||||||
|
|
||||||
function TOC_OnInitGlobalModData()
|
function TOC_OnInitGlobalModData()
|
||||||
ModData.getOrCreate("TOC_PLAYER_DATA")
|
ModData.getOrCreate("TOC_PLAYER_DATA")
|
||||||
|
|||||||
Reference in New Issue
Block a user