Adding stuff to accomodate prostheses
This commit is contained in:
@@ -48,11 +48,8 @@ function ModDataHandler:setup(key)
|
|||||||
-- Generic stuff that does not belong anywhere else
|
-- Generic stuff that does not belong anywhere else
|
||||||
isIgnoredPartInfected = false,
|
isIgnoredPartInfected = false,
|
||||||
isAnyLimbCut = false,
|
isAnyLimbCut = false,
|
||||||
|
limbs = {},
|
||||||
prosthesis = {
|
prostheses = {}
|
||||||
top = {},
|
|
||||||
bottom = {}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
---@type partData
|
---@type partData
|
||||||
@@ -62,16 +59,24 @@ function ModDataHandler:setup(key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- TODO Set this up for legs crap
|
|
||||||
-- Initialize limbs
|
-- Initialize limbs
|
||||||
--self.tocData.limbs = {}
|
|
||||||
|
|
||||||
for i=1, #StaticData.LIMBS_STRINGS do
|
for i=1, #StaticData.LIMBS_STRINGS do
|
||||||
local limbName = StaticData.LIMBS_STRINGS[i]
|
local limbName = StaticData.LIMBS_STRINGS[i]
|
||||||
self.tocData[limbName] = {}
|
self.tocData.limbs[limbName] = {}
|
||||||
self:setLimbParams(StaticData.LIMBS_STRINGS[i], defaultParams, 0)
|
self:setLimbParams(StaticData.LIMBS_STRINGS[i], defaultParams, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local prosthesesGroups = {"top", "bottom"}
|
||||||
|
for i=1, #prosthesesGroups do
|
||||||
|
local group = prosthesesGroups[i]
|
||||||
|
self.tocData.prostheses[group] = {
|
||||||
|
isEquipped = false,
|
||||||
|
prostFactor = 0
|
||||||
|
}
|
||||||
|
-- TODO Make this more modular instead of this crap
|
||||||
|
end
|
||||||
|
|
||||||
-- Add it to global mod data
|
-- Add it to global mod data
|
||||||
ModData.add(key, self.tocData)
|
ModData.add(key, self.tocData)
|
||||||
|
|
||||||
@@ -98,28 +103,28 @@ end
|
|||||||
---@param limbName string
|
---@param limbName string
|
||||||
---@param isCut boolean
|
---@param isCut boolean
|
||||||
function ModDataHandler:setIsCut(limbName, isCut)
|
function ModDataHandler:setIsCut(limbName, isCut)
|
||||||
self.tocData[limbName].isCut = isCut
|
self.tocData.limbs[limbName].isCut = isCut
|
||||||
end
|
end
|
||||||
|
|
||||||
---Set isInfected
|
---Set isInfected
|
||||||
---@param limbName string
|
---@param limbName string
|
||||||
---@param isInfected boolean
|
---@param isInfected boolean
|
||||||
function ModDataHandler:setIsInfected(limbName, isInfected)
|
function ModDataHandler:setIsInfected(limbName, isInfected)
|
||||||
self.tocData[limbName].isInfected = isInfected
|
self.tocData.limbs[limbName].isInfected = isInfected
|
||||||
end
|
end
|
||||||
|
|
||||||
---Set isProstEquipped
|
---Set isProstEquipped
|
||||||
---@param limbName string
|
---@param group string
|
||||||
---@param isProstEquipped boolean
|
---@param isProstEquipped boolean
|
||||||
function ModDataHandler:setIsProstEquipped(limbName, isProstEquipped)
|
function ModDataHandler:setIsProstEquipped(group, isProstEquipped)
|
||||||
self.tocData[limbName].isProstEquipped = isProstEquipped
|
self.tocData.prostheses[group].isProstEquipped = isProstEquipped
|
||||||
end
|
end
|
||||||
|
|
||||||
---Set prostFactor
|
---Set prostFactor
|
||||||
---@param limbName string
|
---@param group string
|
||||||
---@param prostFactor number
|
---@param prostFactor number
|
||||||
function ModDataHandler:setProstFactor(limbName, prostFactor)
|
function ModDataHandler:setProstFactor(group, prostFactor)
|
||||||
self.tocData[limbName].prostFactor = prostFactor
|
self.tocData.prostheses[group].prostFactor = prostFactor
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------
|
-----------------
|
||||||
@@ -141,28 +146,28 @@ end
|
|||||||
---@param limbName string
|
---@param limbName string
|
||||||
---@return boolean
|
---@return boolean
|
||||||
function ModDataHandler:getIsCut(limbName)
|
function ModDataHandler:getIsCut(limbName)
|
||||||
return self.tocData[limbName].isCut
|
return self.tocData.limbs[limbName].isCut
|
||||||
end
|
end
|
||||||
|
|
||||||
---Get isVisible
|
---Get isVisible
|
||||||
---@param limbName string
|
---@param limbName string
|
||||||
---@return boolean
|
---@return boolean
|
||||||
function ModDataHandler:getIsVisible(limbName)
|
function ModDataHandler:getIsVisible(limbName)
|
||||||
return self.tocData[limbName].isVisible
|
return self.tocData.limbs[limbName].isVisible
|
||||||
end
|
end
|
||||||
|
|
||||||
---Get isProstEquipped
|
---Get isProstEquipped
|
||||||
---@param limbName string
|
---@param group string
|
||||||
---@return boolean
|
---@return boolean
|
||||||
function ModDataHandler:getIsProstEquipped(limbName)
|
function ModDataHandler:getIsProstEquipped(group)
|
||||||
return self.tocData[limbName].isProstEquipped
|
return self.tocData.prostheses[group].isProstEquipped
|
||||||
end
|
end
|
||||||
|
|
||||||
---Get prostFactor
|
---Get prostFactor
|
||||||
---@param limbName string
|
---@param group string
|
||||||
---@return number
|
---@return number
|
||||||
function ModDataHandler:getProstFactor(limbName)
|
function ModDataHandler:getProstFactor(group)
|
||||||
return self.tocData[limbName].getProstFactor
|
return self.tocData.prostheses[group].getProstFactor
|
||||||
end
|
end
|
||||||
|
|
||||||
--* Limbs data handling *--
|
--* Limbs data handling *--
|
||||||
@@ -201,7 +206,7 @@ end
|
|||||||
---@param ampStatus partData {isCut, isInfected, isOperated, isCicatrized, isCauterized, isVisible}
|
---@param ampStatus partData {isCut, isInfected, isOperated, isCicatrized, isCauterized, isVisible}
|
||||||
---@param cicatrizationTime integer?
|
---@param cicatrizationTime integer?
|
||||||
function ModDataHandler:setLimbParams(limbName, ampStatus, cicatrizationTime)
|
function ModDataHandler:setLimbParams(limbName, ampStatus, cicatrizationTime)
|
||||||
local limbData = self.tocData[limbName]
|
local limbData = self.tocData.limbs[limbName]
|
||||||
if ampStatus.isCut ~= nil then limbData.isCut = ampStatus.isCut end
|
if ampStatus.isCut ~= nil then limbData.isCut = ampStatus.isCut end
|
||||||
if ampStatus.isInfected ~= nil then limbData.isInfected = ampStatus.isInfected end
|
if ampStatus.isInfected ~= nil then limbData.isInfected = ampStatus.isInfected end
|
||||||
if ampStatus.isOperated ~= nil then limbData.isOperated = ampStatus.isOperated end
|
if ampStatus.isOperated ~= nil then limbData.isOperated = ampStatus.isOperated end
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
---@alias partData { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, cicatrizationTime : number, isProstEquipped : boolean, prostFactor : number}
|
---@alias partData { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, cicatrizationTime : number, isProstEquipped : boolean, prostFactor : number}
|
||||||
---@alias tocModData {Hand_L : partData, ForeArm_L : partData, UpperArm_L : partData, Hand_R : partData, ForeArm_R : partData, UpperArm_R : partData, isIgnoredPartInfected : boolean, isAnyLimbCut : boolean}
|
---@alias limbsTable {Hand_L : partData, ForeArm_L : partData, UpperArm_L : partData, Hand_R : partData, ForeArm_R : partData, UpperArm_R : partData,}
|
||||||
|
---@alias prosthesisData {isEquipped : boolean, prostFactor : number}
|
||||||
|
---@alias prosthesesTable {top : table, bottom : table}
|
||||||
|
---@alias tocModData { limbs : limbsTable, prostheses : prosthesesTable, isIgnoredPartInfected : boolean, isAnyLimbCut : boolean}
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
local StaticData = {}
|
local StaticData = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user