Working new model

This commit is contained in:
Pao
2023-03-20 01:02:16 +01:00
parent 436d668096
commit 20883a1c38
24 changed files with 23 additions and 21 deletions

View File

@@ -36,8 +36,9 @@ function TOC_LocalActions.EquipProsthesis(_, player, partName)
local surgeonInv = player:getInventory()
-- TODO Find a better way to filter objects. Disabled for now and only gets LeatherBase
local prosthesisToEquip = surgeonInv:getItemFromType('TOC.ProstNormal_LeatherBase_MetalHook')
local prosthesisToEquip = surgeonInv:getItemFromType('TOC.LeatherBase_MetalHook')
if prosthesisToEquip then
ISTimedActionQueue.add(TOC_InstallProsthesisAction:new(player, player, prosthesisToEquip, partName))
else

View File

@@ -58,12 +58,13 @@ function TOC.OperateLimb(partName, surgeonFactor, useOven)
if limbsData[partName].isOperated == false and limbsData[partName].isCut == true then
limbsData[partName].isOperated = true
limbsData[partName].cicatrizationTime = limbsData[partName].cicatrizationTime - (surgeonFactor * 200)
if useOven then limbsData[partName].is_cauterized = true end
for _, depended_v in pairs(limbParameters[partName].depends_on) do
limbsData[depended_v].isOperated = true
limbsData[depended_v].cicatrizationTime = limbsData[depended_v].cicatrizationTime -
(surgeonFactor * 200)
if useOven then limbsData[depended_v].isCauterized = true end
if useOven then limbsData[partName].isCauterized = true end
for _, dependedPart in pairs(limbParameters[partName].dependsOn) do
limbsData[dependedPart].isOperated = true
-- TODO We should not have cicatrization time for depended parts.
-- limbsData[dependedPart].cicatrizationTime = limbsData[dependedPart].cicatrizationTime -
-- (surgeonFactor * 200)
if useOven then limbsData[dependedPart].isCauterized = true end
end
end

View File

@@ -16,7 +16,7 @@ function TOC.EquipProsthesis(partName, prosthesisItem, prosthesisBaseName)
local player = getPlayer()
local TOCModData = player:getModData().TOC
local equippedProsthesis = GenerateEquippedProsthesis(prosthesisItem, player:getInventory(), "Hand")
local equippedProsthesis = GenerateEquippedProsthesis(prosthesisItem, player:getInventory(), partName)
--print("TOC: Test durability new item " .. added_prosthesis_mod_data.TOC.durability)
@@ -34,7 +34,7 @@ function TOC.EquipProsthesis(partName, prosthesisItem, prosthesisBaseName)
-- TODO Change the value passed, it's wrong
--TOCModData.limbs[partName].equippedProsthesis = TOCModData.Prosthesis[prosthesisBaseName][partName]
if player:isFemale() then
equippedProsthesis:getVisual():setTextureChoice(1)
else

View File

@@ -50,9 +50,9 @@ end
---comment
---@param prosthesisItem any Normal item
---@param inventory any player inventory
---@param limb any
---@param partName any
---@return any equipped_prosthesis clothing item equipped prosthesis
function GenerateEquippedProsthesis(prosthesisItem, inventory, limb)
function GenerateEquippedProsthesis(prosthesisItem, inventory, partName)
-- TODO Durability should be decided from the clothing item xml. Same thing for disassembling stuff
-- TODO some stuff should be defined by the limb, like -10 if forearm in speed
-- when we equip a prosthesis, we're gonna pass these parameters to the newly generated clothing item
@@ -78,11 +78,11 @@ function GenerateEquippedProsthesis(prosthesisItem, inventory, limb)
-- durability_top, speed_top = GetProsthesisStats(top_table, prosthesis_name)
end
local equippedProsthesisName = TocFindCorrectClothingProsthesis()
local baseName = prosthesisItem:getType()
local equippedProsthesisName = TocFindCorrectClothingProsthesis(baseName, partName)
local equippedProsthesis = inventory:AddItem(prosthesisName)
local equippedProsthesis = inventory:AddItem(equippedProsthesisName)
equippedProsthesis:setCondition(prosthesisItem:getCondition())
equippedProsthesis:getModData().TOC = {