cleaned naming for StaticData
This commit is contained in:
@@ -1,43 +1,112 @@
|
||||
---@alias partData { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, cicatrizationTime : number, isProstEquipped : boolean, prostFactor : number}
|
||||
---@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}
|
||||
---@alias partData { isCut : boolean?, isInfected : boolean?, isOperated : boolean?, isCicatrized : boolean?, isCauterized : boolean?, isVisible : boolean?, cicatrizationTime : number }
|
||||
---@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 }
|
||||
---------------------------
|
||||
|
||||
|
||||
-- _STR = Only strings, no index
|
||||
-- _IND_STR = indexed Strings
|
||||
-- _IND_BPT = Indexed BodyPartType
|
||||
|
||||
-- PART = Single part, could be hand, forearm, etc
|
||||
-- LIMB = Part + side
|
||||
-- BODYLOCS = Body Locations
|
||||
|
||||
|
||||
|
||||
local StaticData = {}
|
||||
|
||||
---Mod name, used to setup Global Mod Data and various stuff
|
||||
StaticData.MOD_NAME = "TOC"
|
||||
|
||||
-------------------------
|
||||
--* Base
|
||||
|
||||
StaticData.PARTS_STRINGS = {
|
||||
StaticData.SIDES_IND_STR = {
|
||||
R = "R",
|
||||
L = "L"
|
||||
}
|
||||
StaticData.PARTS_IND_STR = {
|
||||
Hand = "Hand",
|
||||
ForeArm = "ForeArm",
|
||||
UpperArm = "UpperArm"
|
||||
}
|
||||
|
||||
StaticData.BODYLOCATIONS_BASE_STRINGS = {
|
||||
StaticData.MOD_BODYLOCS_BASE_IND_STR = {
|
||||
TOC_ArmProst = "TOC_ArmProst",
|
||||
TOC_Arm = "TOC_Arm",
|
||||
}
|
||||
|
||||
-- No "MAX" here.
|
||||
StaticData.IGNORED_PARTS_STRINGS = { "Foot_L", "Foot_R", "Groin", "Head", "LowerLeg_L", "LowerLeg_R", "Neck", "Torso_Lower", "Torso_Upper", "UpperLeg_L", "UpperLeg_R" }
|
||||
|
||||
StaticData.SIDES_STRINGS = {
|
||||
R = "R",
|
||||
L = "L"
|
||||
StaticData.IGNORED_BODYLOCS_IND_BPT = {
|
||||
BodyPartType.Foot_L, BodyPartType.Foot_R, BodyPartType.Groin, BodyPartType.Head,
|
||||
BodyPartType.LowerLeg_L, BodyPartType.LowerLeg_R, BodyPartType.Neck, BodyPartType.Torso_Lower,
|
||||
BodyPartType.Torso_Upper, BodyPartType.UpperLeg_L, BodyPartType.UpperLeg_R
|
||||
}
|
||||
-- Assembled BodyParts string
|
||||
---@enum
|
||||
StaticData.LIMBS_STRINGS = {}
|
||||
StaticData.BODYPARTSTYPES_ENUM = {}
|
||||
StaticData.LIMBS_DEPENDENCIES = {}
|
||||
StaticData.LIMBS_CICATRIZATION_TIME = {}
|
||||
StaticData.LIMBS_BASE_DAMAGE = {}
|
||||
StaticData.LIMBS_TIME_MULTIPLIER = {}
|
||||
|
||||
|
||||
-- Assembled BodyParts string
|
||||
StaticData.LIMBS_STR = {}
|
||||
StaticData.LIMBS_DEPENDENCIES_IND_STR = {}
|
||||
StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM = {}
|
||||
StaticData.LIMBS_BASE_DAMAGE_IND_NUM = {}
|
||||
StaticData.LIMBS_TIME_MULTIPLIER_IND_NUM = {}
|
||||
StaticData.BODYLOCS_IND_BPT = {}
|
||||
|
||||
local function AssembleHandData(assembledName)
|
||||
StaticData.LIMBS_BASE_DAMAGE_IND_NUM[assembledName] = 60
|
||||
StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM[assembledName] = 1700
|
||||
StaticData.LIMBS_TIME_MULTIPLIER_IND_NUM[assembledName] = 2
|
||||
StaticData.LIMBS_DEPENDENCIES_IND_STR[assembledName] = {}
|
||||
end
|
||||
|
||||
local function AssembleForearmData(assembledName, side)
|
||||
StaticData.LIMBS_BASE_DAMAGE_IND_NUM[assembledName] = 80
|
||||
StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM[assembledName] = 1800
|
||||
StaticData.LIMBS_TIME_MULTIPLIER_IND_NUM[assembledName] = 3
|
||||
StaticData.LIMBS_DEPENDENCIES_IND_STR[assembledName] = { StaticData.PARTS_IND_STR.Hand .. "_" .. side }
|
||||
end
|
||||
|
||||
local function AssembleUpperarmData(assembledName, side)
|
||||
StaticData.LIMBS_BASE_DAMAGE_IND_NUM[assembledName] = 100
|
||||
StaticData.LIMBS_CICATRIZATION_TIME_IND_NUM[assembledName] = 2000
|
||||
StaticData.LIMBS_TIME_MULTIPLIER_IND_NUM[assembledName] = 4
|
||||
StaticData.LIMBS_DEPENDENCIES_IND_STR[assembledName] = { StaticData.PARTS_IND_STR.Hand .. "_" .. side,
|
||||
StaticData.PARTS_IND_STR.ForeArm .. "_" .. side }
|
||||
end
|
||||
|
||||
for side, _ in pairs(StaticData.SIDES_IND_STR) do
|
||||
for part, _ in pairs(StaticData.PARTS_IND_STR) do
|
||||
local assembledName = part .. "_" .. side
|
||||
|
||||
-- Assembled strings
|
||||
table.insert(StaticData.LIMBS_STR, assembledName) -- We need a table like this to cycle through it easily
|
||||
StaticData.BODYLOCS_IND_BPT[assembledName] = BodyPartType[assembledName]
|
||||
|
||||
-- Dependencies and cicatrization time
|
||||
if part == StaticData.PARTS_IND_STR.Hand then
|
||||
AssembleHandData(assembledName)
|
||||
elseif part == StaticData.PARTS_IND_STR.ForeArm then
|
||||
AssembleForearmData(assembledName, side)
|
||||
elseif part == StaticData.PARTS_IND_STR.UpperArm then
|
||||
AssembleUpperarmData(assembledName, side)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-----------------
|
||||
--* Prostheses
|
||||
|
||||
StaticData.PROSTHESES_GROUPS = {
|
||||
top = "top",
|
||||
bottom = "bottom"
|
||||
}
|
||||
|
||||
|
||||
-----------------
|
||||
--* Traits
|
||||
|
||||
-- Link a trait to a specific body part
|
||||
StaticData.TRAITS_BP = {
|
||||
AmputeeHand = "Hand_L",
|
||||
@@ -45,50 +114,8 @@ StaticData.TRAITS_BP = {
|
||||
AmputeeUpeerArm = "UpperArm_L"
|
||||
}
|
||||
|
||||
|
||||
local function AssembleHandData(assembledName)
|
||||
StaticData.LIMBS_BASE_DAMAGE[assembledName] = 60
|
||||
StaticData.LIMBS_CICATRIZATION_TIME[assembledName] = 1700
|
||||
StaticData.LIMBS_TIME_MULTIPLIER[assembledName] = 2
|
||||
StaticData.LIMBS_DEPENDENCIES[assembledName] = {}
|
||||
end
|
||||
|
||||
local function AssembleForearmData(assembledName, side)
|
||||
StaticData.LIMBS_BASE_DAMAGE[assembledName] = 80
|
||||
StaticData.LIMBS_CICATRIZATION_TIME[assembledName] = 1800
|
||||
StaticData.LIMBS_TIME_MULTIPLIER[assembledName] = 3
|
||||
StaticData.LIMBS_DEPENDENCIES[assembledName] = { StaticData.PARTS_STRINGS.Hand .. "_" .. side }
|
||||
end
|
||||
|
||||
local function AssembleUpperarmData(assembledName, side)
|
||||
StaticData.LIMBS_BASE_DAMAGE[assembledName] = 100
|
||||
StaticData.LIMBS_CICATRIZATION_TIME[assembledName] = 2000
|
||||
StaticData.LIMBS_TIME_MULTIPLIER[assembledName] = 4
|
||||
StaticData.LIMBS_DEPENDENCIES[assembledName] = { StaticData.PARTS_STRINGS.Hand .. "_" .. side,
|
||||
StaticData.PARTS_STRINGS.ForeArm .. "_" .. side }
|
||||
end
|
||||
|
||||
for side, _ in pairs(StaticData.SIDES_STRINGS) do
|
||||
for part, _ in pairs(StaticData.PARTS_STRINGS) do
|
||||
local assembledName = part .. "_" .. side
|
||||
|
||||
-- Assembled strings
|
||||
table.insert(StaticData.LIMBS_STRINGS, assembledName) -- We need a table like this to cycle through it easily
|
||||
StaticData.BODYPARTSTYPES_ENUM[assembledName] = BodyPartType[assembledName]
|
||||
|
||||
-- Dependencies and cicatrization time
|
||||
if part == StaticData.PARTS_STRINGS.Hand then
|
||||
AssembleHandData(assembledName)
|
||||
elseif part == StaticData.PARTS_STRINGS.ForeArm then
|
||||
AssembleForearmData(assembledName, side)
|
||||
elseif part == StaticData.PARTS_STRINGS.UpperArm then
|
||||
AssembleUpperarmData(assembledName, side)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-----------------
|
||||
-- Visuals and clothing
|
||||
--* Visuals and clothing
|
||||
|
||||
--- Textures
|
||||
-- TODO We need male variations
|
||||
|
||||
Reference in New Issue
Block a user