Added bleeding, stuff, fixes, dunno

This commit is contained in:
Pao
2023-01-14 01:29:16 +01:00
parent 59d834c91e
commit d9fcee526c
5 changed files with 42 additions and 22 deletions

View File

@@ -18,20 +18,27 @@ This is the beta of my first mod, it means that the main features are there, but
[h1]The Only Cure but better[\h1]
[h1]The Only Cure but better[/h1]
A working version for SP and MP.
I'm not gonna bother "adding" stuff, for now.
If Mr Bounty returns, I'm probably not gonna continue this.
[b][u]DO NOT LOAD THIS WITH THE ONLY CURE BETA!!! CHOOSE ONE![/u][/b]
[h1]FIXED[/h1]
- The Only Cure UI not showing in MP
- Operating with oven completely broken
- Invisible prosthesis on female models (still WIP, forearms especially)
[list]
[*]The Only Cure UI in the Medical Check menu not working when checking other players
[*]The Only Cure context menu on right click
[*]Operating with oven completely broken
[*]Invisible prosthesis on female models (still WIP, forearms especially)
[*]More stuff
[/list]
[h1]ADDED[/h1]
- Debug cheats (MP Compatible) to reset amputations
- More stuff
[list]
[*]Debug cheats (MP Compatible) to reset amputations
[/list]
Workshop ID: 2915572347
Mod ID: Amputation2

View File

@@ -2,7 +2,7 @@
-- TODO rewrite this mess
local function CutLocal(_, patient, surgeon, part_name)
if IsSawInInventory(surgeon) ~= nil then
if GetSawInInventory(surgeon) ~= nil then
ISTimedActionQueue.add(ISCutLimb:new(patient, surgeon, part_name));
else
surgeon:Say("I don't have a saw on me")
@@ -229,7 +229,7 @@ end
TocContextMenus.DoCut = function(_, patient, surgeon, part_name)
if IsSawInInventory(surgeon) then
if GetSawInInventory(surgeon) then
ISTimedActionQueue.add(ISCutLimb:new(patient, surgeon, part_name));
else
surgeon:Say("I don't have a saw on me")

View File

@@ -7,8 +7,10 @@ function GetKitInInventory(surgeon)
end
function IsSawInInventory(surgeon)
local playerInv = surgeon:getInventory()
local item = playerInv:getItemFromType('Saw') or playerInv:getItemFromType('GardenSaw') or playerInv:getItemFromType('Chainsaw')
function GetSawInInventory(surgeon)
local player_inv = surgeon:getInventory()
local item = player_inv:getItemFromType("Saw") or player_inv:getItemFromType("GardenSaw") or player_inv:getItemFromType("Chainsaw")
return item
end

View File

@@ -22,14 +22,23 @@ function ISCutLimb:update()
end
function ISCutLimb:start()
if self.patient == self.surgeon then
self:setActionAnim("SawLog") -- TODO Change it to a better animation
--self:setAnimVariable("WearClothingLocation", "Jacket")
else
self:setActionAnim("SawLog")
-- TODO Point at patient
--self.patient:SetVariable("LootPosition", "Mid")
local saw_item = GetSawInInventory(self.surgeon)
if saw_item then
self:setOverrideHandModels(saw_item:getStaticModel(), nil)
end
local body_part_type = TheOnlyCure.GetBodyPartTypeFromBodyPart(self.part_name)
local body_damage = self.patient:getBodyDamage()
local body_damage_part = body_damage:getBodyPart(body_part_type)
body_damage_part:setBleeding(true)
body_damage_part:setBleedingTime(ZombRand(10,20))
end
@@ -92,9 +101,12 @@ function ISCutLimb:perform()
else
TheOnlyCure.CutLimb(self.part_name, surgeon_factor, bandage_table, painkiller_table)
end
self.surgeon:getXp():AddXP(Perks.Doctor, 400);
ISBaseTimedAction.perform(self);
end
@@ -103,7 +115,6 @@ function ISCutLimb:new(patient, surgeon, part_name)
setmetatable(o, self)
self.__index = self
o.part_name = part_name
o.bodyPart = TheOnlyCure.GetBodyPartTypeFromBodyPart(part_name) -- TODO I don't think I need this
o.character = surgeon -- For anim
o.surgeon = surgeon; -- Surgeon or player that make the operation

View File

@@ -119,7 +119,7 @@ imports
/************************ Prothese cloth ************************/
/* TODO make these not clothing so we cant equip them but only install them via the menu or context menu
/* TODO make these not clothing so we cant equip them but only install them via the menu or context menu*/
item WoodenHook_right_noHand
{
Weight = 1,