Readded tourniquet

This commit is contained in:
ZioPao
2024-01-09 14:42:56 +01:00
parent aeb1bca94d
commit a41f976949
13 changed files with 100 additions and 15 deletions

View File

@@ -57,7 +57,7 @@ function DataController:setup(key)
prostheses = {}
}
---@type partData
---@type partDataType
local defaultParams = {
isCut = false, isInfected = false, isOperated = false, isCicatrized = false, isCauterized = false,
woundDirtyness = -1, cicatrizationTime = -1,
@@ -269,9 +269,7 @@ function DataController:setCutLimb(limbName, isOperated, isCicatrized, isCauteri
cicatrizationTime = StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM[limbName] - surgeonFactor
end
-- TODO Set WoundDirtyness here! For now it's just 0
---@type partData
---@type partDataType
local params = {isCut = true, isInfected = false, isOperated = isOperated, isCicatrized = isCicatrized, isCauterized = isCauterized, woundDirtyness = 0, isVisible = true}
self:setLimbParams(limbName, params, cicatrizationTime)
@@ -292,7 +290,7 @@ end
---Set a limb data
---@param limbName string
---@param ampStatus partData {isCut, isInfected, isOperated, isCicatrized, isCauterized, isVisible}
---@param ampStatus partDataType {isCut, isInfected, isOperated, isCicatrized, isCauterized, isVisible}
---@param cicatrizationTime integer?
function DataController:setLimbParams(limbName, ampStatus, cicatrizationTime)
local limbData = self.tocData.limbs[limbName]

View File

@@ -117,7 +117,6 @@ function LocalPlayerController.TryRandomBleed(character, limbName)
-- Chance should be determined by the cicatrization time
local cicTime = DataController.GetInstance():getCicatrizationTime(limbName)
if cicTime == 0 then return end
-- TODO Sometimes we get cicTime = 0... Shouldn't really do it
-- TODO This is just a placeholder, we need to figure out a better way to calculate this chance
local normCicTime = CommonMethods.Normalize(cicTime, 0, StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM[limbName])/2

View File

@@ -1,7 +1,6 @@
require "TimedActions/ISBaseTimedAction"
local AmputationHandler = require("TOC/Handlers/AmputationHandler")
local CommandsData = require("TOC/CommandsData")
local CommonMethods = require("TOC/CommonMethods")
-----------------------------
@@ -46,8 +45,7 @@ function CutLimbAction:new(surgeon, patient, limbName, item, stitchesItem, banda
end
function CutLimbAction:isValid()
-- TODO Surgeon should be close to patient
return true
return not ISHealthPanel.DidPatientMove(self.patient, self.character, self.patient:getX(), self.patient:getY())
end
function CutLimbAction:start()

View File

@@ -1,5 +1,5 @@
---@alias partData { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, woundDirtyness : number, cicatrizationTime : number }
---@alias limbsTable {Hand_L : partData, ForeArm_L : partData, UpperArm_L : partData, Hand_R : partData, ForeArm_R : partData, UpperArm_R : partData }
---@alias partDataType { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, woundDirtyness : number, cicatrizationTime : number }
---@alias limbsTable {Hand_L : partDataType, ForeArm_L : partDataType, UpperArm_L : partDataType, Hand_R : partDataType, ForeArm_R : partDataType, UpperArm_R : partDataType }
---@alias prosthesisData {isProstEquipped : boolean, prostFactor : number }
---@alias prosthesesTable {Top_L : prosthesisData, Top_R : prosthesisData } -- TODO add Bottom_L and Bottom_R
---@alias tocModDataType { limbs : limbsTable, prostheses : prosthesesTable, isIgnoredPartInfected : boolean, isAnyLimbCut : boolean }

View File

@@ -12,13 +12,17 @@ ContextMenu_EN = {
ContextMenu_Limb_UpperArm_L = "Left UpperArm"
ContextMenu_Limb_Hand_R = "Right Hand",
ContextMenu_Limb_ForeArm_R = "Right Forearm",
ContextMenu_Limb_UpperArm_R = "Right UpperArm"
ContextMenu_Limb_UpperArm_R = "Right UpperArm",
ContextMenu_InstallProstRight = "Install prosthesis on right arm",
ContextMenu_InstallProstLeft = "Install prosthesis on left arm",
ContextMenu_PutTourniquetArmLeft = "Put tourniquet on left arm",
ContextMenu_PutTourniquetLegL = "Put tourniquet on left leg",
ContextMenu_PutTourniquetArmRight = "Put tourniquet on right arm",
ContextMenu_PutTourniquetLegR = "Put tourniquet on right leg",
ContextMenu_CleanWound = "Clean Wound",
}
}

View File

@@ -1,4 +1,8 @@
ItemName_EN = {
ItemName_TOC.Surg_Arm_Tourniquet_L = "Tourniquet",
ItemName_TOC.Surg_Arm_Tourniquet_R = "Tourniquet",
ItemName_TOC.Prost_NormalArm_L = "Prosthetic Arm",
ItemName_TOC.Prost_NormalArm_R = "Prosthetic Arm",