diff --git a/media/lua/client/TOC/Handlers/ProsthesisHandler.lua b/media/lua/client/TOC/Handlers/ProsthesisHandler.lua index 9f7f4be..cfb4943 100644 --- a/media/lua/client/TOC/Handlers/ProsthesisHandler.lua +++ b/media/lua/client/TOC/Handlers/ProsthesisHandler.lua @@ -145,8 +145,8 @@ end local og_ISClothingExtraAction_perform = ISClothingExtraAction.perform function ISClothingExtraAction:perform() - local extraItem = InventoryItemFactory.CreateItem(self.extra) - local isProst = ProsthesisHandler.SearchAndSetupProsthesis(extraItem, true) + --local extraItem = InventoryItemFactory.CreateItem(self.extra) + local isProst = ProsthesisHandler.SearchAndSetupProsthesis(self.item, true) local group if isProst then group = BodyLocations.getGroup("Human") diff --git a/media/lua/client/TOC/Tests.lua b/media/lua/client/TOC/Tests.lua index 170ef6c..27a1e4d 100644 --- a/media/lua/client/TOC/Tests.lua +++ b/media/lua/client/TOC/Tests.lua @@ -156,30 +156,28 @@ end) TestFramework.registerTestModule("Various", "Visuals", function() local Tests = {} - function Tests.AddBloodLeftForearm() + function Tests.AddBloodRightForearm() local playerObj = getPlayer() - local limbName = "ForeArm_L" - local fullType = StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName - - - local item = playerObj:getInventory():FindAndReturn(fullType) - if instanceof(item, "Clothing") then - - ---@cast item Clothing - - print("Found limb to add blood onto") - item:setBloodLevel(100) - local coveredParts = BloodClothingType.getCoveredParts(item:getBloodClothingType()) - if coveredParts then - for j=0,coveredParts:size()-1 do - item:setBlood(coveredParts:get(j), 100) - item:setDirt(coveredParts:get(j), 100) - end - end - - end - - playerObj:resetModelNextFrame() + -- local wornItems = playerObj:getWornItems() + -- local limbName = "ForeArm_R" + -- local fullType = StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName + + -- for i = 1, wornItems:size() do + -- local it = wornItems:get(i - 1) + -- if it then + -- local wornItem = wornItems:get(i - 1):getItem() + -- TOC_DEBUG.print(wornItem:getFullType()) + -- if wornItem:getFullType() == fullType then + -- TOC_DEBUG.print("Found amputation item for " .. limbName) + + -- -- change it here + -- wornItem:setBloodLevel + -- wornItem:getVisual():setTextureChoice(texId) + -- playerObj:resetModelNextFrame() -- necessary to update the model + -- return + -- end + -- end + -- end end return Tests diff --git a/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua b/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua index 547c56b..471d65d 100644 --- a/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua +++ b/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua @@ -3,7 +3,6 @@ local StaticData = require("TOC/StaticData") -- Since amputations are actually clothing items, we need to override ISWashYourself to account for that --- TODO Clean this up local og_ISWashYourself_perform = ISWashYourself.perform function ISWashYourself:perform() @@ -30,11 +29,6 @@ function ISWashYourself:perform() foundItem:setBloodLevel(0) foundItem:setDirtyness(0) -- TODO Integrate with other dirtyness - local coveredParts = BloodClothingType.getCoveredParts(foundItem:getBloodClothingType()) - for j=0, coveredParts:size() - 1 do - foundItem:setBlood(coveredParts:get(j), 0) - foundItem:setDirt(coveredParts:get(j), 0) - end end end @@ -43,38 +37,4 @@ function ISWashYourself:perform() og_ISWashYourself_perform(self) -end - - -local og_ISWashYourself_GetRequiredWater = ISWashYourself.GetRequiredWater - - ----@param character IsoPlayer ----@return integer -function ISWashYourself.GetRequiredWater(character) - - local units = og_ISWashYourself_GetRequiredWater(character) - local amputatedLimbs = CachedDataHandler.GetAmputatedLimbs(character:getUsername()) - local plInv = character:getInventory() - for limbName, _ in pairs(amputatedLimbs) do - - TOC_DEBUG.print("Checking if " .. limbName .. " is in inventory and washing it") - - -- get clothing item - local item = plInv:FindAndReturn(StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName) - if item and instanceof(item, "Clothing") then - local coveredParts = BloodClothingType.getCoveredParts(item:getBloodClothingType()) - if coveredParts then - for i=1,coveredParts:size() do - local part = coveredParts:get(i-1) - if item:getBlood(part) > 0 then - units = units + 1 - end - end - end - end - - end - - return units end \ No newline at end of file