Changed body location name and implemented fix for compat
This commit is contained in:
19
CheckList.txt
Normal file
19
CheckList.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
1) Can cut every limb in SP
|
||||
2) Does cutting a limb cure infection
|
||||
3) If I get bit in the hand, will cutting the forearm cure the infection?
|
||||
4) Both forearm bit, cut everyone, infection cured?
|
||||
5) Can I operate myself?
|
||||
6) Can I equip a prost?
|
||||
7) Can i unequip a prost?
|
||||
|
||||
|
||||
|
||||
MP TEST
|
||||
1) Everything up there but in mp env
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------
|
||||
- traits are kinda broken, cant reset them
|
||||
@@ -38,6 +38,7 @@ function TocCheckCompatibilityWithOlderVersions(mod_data)
|
||||
end
|
||||
end
|
||||
|
||||
TocReapplyBodyLocation()
|
||||
|
||||
|
||||
|
||||
@@ -155,3 +156,88 @@ function TocMapOldDataToNew(mod_data)
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
-- Modified functions for compat reason, used only in one instance
|
||||
--------------------
|
||||
local function TocPartNameToOldBodyLocationProsthesis(name)
|
||||
if name == "Right_Hand" then return "ArmRight_Prot" end
|
||||
if name == "Right_LowerArm" then return "ArmRight_Prot" end
|
||||
if name == "Right_UpperArm" then return "ArmRight_Prot" end
|
||||
if name == "Left_Hand" then return "ArmLeft_Prot" end
|
||||
if name == "Left_LowerArm" then return "ArmLeft_Prot" end
|
||||
if name == "Left_UpperArm" then return "ArmLeft_Prot" end
|
||||
end
|
||||
|
||||
local function TocPartNameToOldBodyLocationAmputation(name)
|
||||
if name == "Right_Hand" then return "ArmRight" end
|
||||
if name == "Right_LowerArm" then return "ArmRight" end
|
||||
if name == "Right_UpperArm" then return "ArmRight" end
|
||||
if name == "Left_Hand" then return "ArmLeft" end
|
||||
if name == "Left_LowerArm" then return "ArmLeft" end
|
||||
if name == "Left_UpperArm" then return "ArmLeft" end
|
||||
end
|
||||
|
||||
|
||||
|
||||
function TocFindAmputationInInventory(player, side, limb)
|
||||
local player_inventory = player:getInventory()
|
||||
local item_name = "TOC.Amputation_" .. side .. "_" .. limb
|
||||
local found_item = player_inventory:FindAndReturn(item_name)
|
||||
if found_item then
|
||||
return found_item:getFullType()
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function TocFindEquippedProsthesisInInventory(player, side, limb)
|
||||
local player_inventory = player:getInventory()
|
||||
for _, prost in ipairs(GetProsthesisList()) do
|
||||
local item_name = "TOC.Prost_" .. side .. "_" .. limb .. "_" .. prost
|
||||
local found_item = player_inventory:FindAndReturn(item_name)
|
||||
|
||||
if found_item then
|
||||
return found_item:getFullType()
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
function TocOldFindAmputationOrProsthesisName(part_name, player, choice)
|
||||
|
||||
local player_inventory = player:getInventory()
|
||||
|
||||
for _, side in ipairs(TOC_sides) do
|
||||
for _, limb in ipairs(TOC_limbs) do
|
||||
local item_name
|
||||
local found_item
|
||||
if choice == "Amputation" then
|
||||
item_name = "TOC.Amputation_" .. side .. "_" .. limb
|
||||
end
|
||||
|
||||
if choice == "Prosthesis" then
|
||||
item_name = "TOC.Prost" .. side .. "_" .. limb .. "_MetalHook" -- TODO finish this
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
found_item = player_inventory:FindAndReturn(item_name)
|
||||
|
||||
if found_item then
|
||||
return found_item:getFullType()
|
||||
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -36,6 +36,98 @@ function TocResetEverything()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function TocReapplyBodyLocation()
|
||||
-- get amputated limbs
|
||||
local player = getPlayer()
|
||||
local player_inventory = player:getInventory()
|
||||
|
||||
for _, side in ipairs(TOC_sides) do
|
||||
for _, limb in ipairs(TOC_limbs) do
|
||||
local amputation_item_name = TocFindAmputationInInventory(player, side, limb)
|
||||
local equipped_prosthesis_item_name = TocFindEquippedProsthesisInInventory(player, side, limb)
|
||||
print(amputation_item_name)
|
||||
print(equipped_prosthesis_item_name)
|
||||
if amputation_item_name ~= nil then
|
||||
|
||||
local amputation_item = player_inventory:FindAndReturn(amputation_item_name)
|
||||
if amputation_item ~= nil then
|
||||
player:removeWornItem(amputation_item)
|
||||
player:getInventory():Remove(amputation_item)
|
||||
amputation_item = player_inventory:AddItem(amputation_item_name)
|
||||
TocSetCorrectTextureForAmputation(amputation_item, player)
|
||||
|
||||
player:setWornItem(amputation_item:getBodyLocation(), amputation_item)
|
||||
end
|
||||
amputation_item = nil -- reset it
|
||||
end
|
||||
|
||||
if equipped_prosthesis_item_name ~= nil then
|
||||
local prosthesis_item = player_inventory:FindAndReturn(equipped_prosthesis_item_name)
|
||||
if prosthesis_item ~= nil then
|
||||
print("Resetting " .. prosthesis_item:getName())
|
||||
player:removeWornItem(prosthesis_item)
|
||||
player:getInventory():Remove(prosthesis_item)
|
||||
prosthesis_item = player_inventory:AddItem(equipped_prosthesis_item_name)
|
||||
player:setWornItem(prosthesis_item:getBodyLocation(), prosthesis_item)
|
||||
|
||||
end
|
||||
prosthesis_item = nil -- reset it
|
||||
end
|
||||
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
-- for _, v in ipairs(GetBodyParts()) do
|
||||
|
||||
-- local amputation_item_name = TocOldFindAmputationOrProsthesisName(v, player, "Amputation")
|
||||
-- local prosthesis_item_name = TocOldFindAmputationOrProsthesisName(v, player, "Prosthesis")
|
||||
|
||||
-- print(amputation_item_name)
|
||||
-- print(prosthesis_item_name)
|
||||
-- if amputation_item_name ~= nil then
|
||||
|
||||
-- local amputation_item = player_inventory:FindAndReturn(amputation_item_name)
|
||||
-- if amputation_item ~= nil then
|
||||
-- player:removeWornItem(amputation_item)
|
||||
-- player:getInventory():Remove(amputation_item)
|
||||
-- amputation_item = player_inventory:AddItem(amputation_item_name)
|
||||
-- player:setWornItem(amputation_item:getBodyLocation(), amputation_item)
|
||||
-- end
|
||||
-- amputation_item = nil -- reset it
|
||||
-- end
|
||||
-- if prosthesis_item_name ~= nil then
|
||||
-- local prosthesis_item = player_inventory:FindAndReturn(prosthesis_item_name)
|
||||
-- if prosthesis_item ~= nil then
|
||||
-- print("Resetting " .. prosthesis_item:getName())
|
||||
-- player:removeWornItem(prosthesis_item)
|
||||
-- player:getInventory():Remove(prosthesis_item)
|
||||
-- prosthesis_item = player_inventory:AddItem(prosthesis_item_name)
|
||||
-- player:setWornItem(prosthesis_item:getBodyLocation(), prosthesis_item)
|
||||
|
||||
-- end
|
||||
-- prosthesis_item = nil -- reset it
|
||||
-- end
|
||||
|
||||
|
||||
-- end
|
||||
|
||||
-- -- get prosthe
|
||||
|
||||
|
||||
-- -- fix them
|
||||
|
||||
|
||||
-- -- reapply them
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -146,23 +146,21 @@ end
|
||||
-- Unequip Prosthesis
|
||||
|
||||
local function PartNameToBodyLocationProsthesis(name)
|
||||
-- This is still correct but naming sucks
|
||||
if name == "Right_Hand" then return "ArmRight_Prot" end
|
||||
if name == "Right_LowerArm" then return "ArmRight_Prot" end
|
||||
if name == "Right_UpperArm" then return "ArmRight_Prot" end
|
||||
if name == "Left_Hand" then return "ArmLeft_Prot" end
|
||||
if name == "Left_LowerArm" then return "ArmLeft_Prot" end
|
||||
if name == "Left_UpperArm" then return "ArmLeft_Prot" end
|
||||
if name == "Right_Hand" then return "TOC_ArmRightProsthesis" end
|
||||
if name == "Right_LowerArm" then return "TOC_ArmRightProsthesis" end
|
||||
if name == "Right_UpperArm" then return "TOC_ArmRightProsthesis" end
|
||||
if name == "Left_Hand" then return "TOC_ArmLeftProsthesis" end
|
||||
if name == "Left_LowerArm" then return "TOC_ArmLeftProsthesis" end
|
||||
if name == "Left_UpperArm" then return "TOC_ArmLeftProsthesis" end
|
||||
end
|
||||
|
||||
local function PartNameToBodyLocationAmputation(name)
|
||||
-- This is still correct but naming sucks
|
||||
if name == "Right_Hand" then return "ArmRight" end
|
||||
if name == "Right_LowerArm" then return "ArmRight" end
|
||||
if name == "Right_UpperArm" then return "ArmRight" end
|
||||
if name == "Left_Hand" then return "ArmLeft" end
|
||||
if name == "Left_LowerArm" then return "ArmLeft" end
|
||||
if name == "Left_UpperArm" then return "ArmLeft" end
|
||||
if name == "Right_Hand" then return "TOC_ArmRight" end
|
||||
if name == "Right_LowerArm" then return "TOC_ArmRight" end
|
||||
if name == "Right_UpperArm" then return "TOC_ArmRight" end
|
||||
if name == "Left_Hand" then return "TOC_ArmLeft" end
|
||||
if name == "Left_LowerArm" then return "TOC_ArmLeft" end
|
||||
if name == "Left_UpperArm" then return "TOC_ArmLeft" end
|
||||
end
|
||||
|
||||
function TocFindItemInProstBodyLocation(part_name, patient)
|
||||
@@ -189,10 +187,7 @@ function TocFindAmputationOrProsthesisName(part_name, player, choice)
|
||||
|
||||
if item:getBodyLocation() == PartNameToBodyLocationAmputation(part_name) then
|
||||
return item:getFullType()
|
||||
|
||||
end
|
||||
|
||||
|
||||
elseif choice == "Prosthesis" then
|
||||
|
||||
if item:getBodyLocation() == PartNameToBodyLocationProsthesis(part_name) then
|
||||
@@ -203,9 +198,6 @@ function TocFindAmputationOrProsthesisName(part_name, player, choice)
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
-------------------------------------
|
||||
|
||||
@@ -68,14 +68,14 @@ local group = BodyLocations.getGroup("Human")
|
||||
|
||||
|
||||
|
||||
addBodyLocationBefore("ArmRight", "Shoes")
|
||||
addBodyLocationBefore("ArmLeft", "Shoes")
|
||||
addBodyLocationBefore("ArmRight_Prot", "Shoes")
|
||||
addBodyLocationBefore("ArmLeft_Prot", "Shoes")
|
||||
addBodyLocationBefore("TOC_ArmRight", "Shoes")
|
||||
addBodyLocationBefore("TOC_ArmLeft", "Shoes")
|
||||
addBodyLocationBefore("TOC_ArmRightProsthesis", "Shoes")
|
||||
addBodyLocationBefore("TOC_ArmLeftProsthesis", "Shoes")
|
||||
|
||||
|
||||
|
||||
-- group:getOrCreateLocation("ArmRight")
|
||||
-- group:getOrCreateLocation("TOC_ArmRight")
|
||||
-- group:getOrCreateLocation("ArmLeft")
|
||||
-- group:getOrCreateLocation("ArmRight_Prot")
|
||||
-- group:getOrCreateLocation("ArmLeft_Prot")
|
||||
Binary file not shown.
@@ -11,7 +11,7 @@ imports
|
||||
DisplayName = Amputated right hand,
|
||||
|
||||
ClothingItem = Amputation_Right_Hand,
|
||||
BodyLocation = ArmRight,
|
||||
BodyLocation = TOC_ArmRight,
|
||||
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.9,
|
||||
@@ -30,7 +30,7 @@ imports
|
||||
DisplayName = Amputated right forearm,
|
||||
|
||||
ClothingItem = Amputation_Right_LowerArm,
|
||||
BodyLocation = ArmRight,
|
||||
BodyLocation = TOC_ArmRight,
|
||||
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.8,
|
||||
@@ -48,7 +48,7 @@ imports
|
||||
DisplayName = Amputated entire right arm,
|
||||
|
||||
ClothingItem = Amputation_Right_UpperArm,
|
||||
BodyLocation = ArmRight,
|
||||
BodyLocation = TOC_ArmRight,
|
||||
BloodLocation = UpperArms;UpperBody,
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.7,
|
||||
@@ -65,7 +65,7 @@ imports
|
||||
DisplayName = Amputated left hand,
|
||||
|
||||
ClothingItem = Amputation_Left_Hand,
|
||||
BodyLocation = ArmLeft,
|
||||
BodyLocation = TOC_ArmLeft,
|
||||
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.9,
|
||||
@@ -84,7 +84,7 @@ imports
|
||||
DisplayCategory = Amputation,
|
||||
DisplayName = Amputated left forearm,
|
||||
ClothingItem = Amputation_Left_LowerArm,
|
||||
BodyLocation = ArmLeft,
|
||||
BodyLocation = TOC_ArmLeft,
|
||||
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.8,
|
||||
@@ -102,7 +102,7 @@ imports
|
||||
Type = Clothing,
|
||||
DisplayName = Amputated entire left arm,
|
||||
ClothingItem = Amputation_Left_UpperArm,
|
||||
BodyLocation = ArmLeft,
|
||||
BodyLocation = TOC_ArmLeft,
|
||||
|
||||
Weight = 0,
|
||||
CombatSpeedModifier = 0.7,
|
||||
@@ -157,7 +157,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Hand - Wooden Hook,
|
||||
ClothingItem = Prost_Right_Hand_WoodenHook,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = woodenHook,
|
||||
Tooltip = Tooltip_equip_prothesis_hand,
|
||||
@@ -173,7 +173,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Hand - Wooden Hook,
|
||||
ClothingItem = Prost_Left_Hand_WoodenHook,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = woodenHook,
|
||||
Tooltip = Tooltip_equip_prothesis_hand,
|
||||
@@ -189,7 +189,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Hand - Metal Hook,
|
||||
ClothingItem = Prost_Right_Hand_MetalHook,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = metalHook,
|
||||
Tooltip = Tooltip_equip_prothesis_hand,
|
||||
@@ -204,7 +204,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Hand - Metal Hook,
|
||||
ClothingItem = Prost_Left_Hand_MetalHook,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = metalHook,
|
||||
Tooltip = Tooltip_equip_prothesis_hand,
|
||||
@@ -219,7 +219,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Hand - Metal Hand,
|
||||
ClothingItem = Prost_Right_Hand_MetalHand,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = metalHand,
|
||||
Tooltip = Tooltip_equip_prothesis_hand,
|
||||
@@ -234,7 +234,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Hand - Metal Hand,
|
||||
ClothingItem = Prost_Left_Hand_MetalHand,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = Hands,
|
||||
Icon = metalHand,
|
||||
Tooltip = Tooltip_equip_prothesis_hand",
|
||||
@@ -249,7 +249,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Forearm - Wooden Hook,
|
||||
ClothingItem = Prost_Right_LowerArm_WoodenHook,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
Icon = woodenHook,
|
||||
Tooltip = Tooltip_equip_prothesis_fore,
|
||||
@@ -264,7 +264,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Forearm - Wooden Hook,
|
||||
ClothingItem = Prost_Left_LowerArm_WoodenHook,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
|
||||
Icon = woodenHook,
|
||||
@@ -280,7 +280,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Forearm - Metal Hook,
|
||||
ClothingItem = Prost_Right_LowerArm_MetalHook,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
Icon = metalHook,
|
||||
Tooltip = Tooltip_equip_prothesis_fore,
|
||||
@@ -295,7 +295,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Forearm - Metal Hook,
|
||||
ClothingItem = Prost_Left_LowerArm_MetalHook,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
|
||||
Icon = metalHook,
|
||||
@@ -311,7 +311,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Right Forearm - Metal Hand,
|
||||
ClothingItem = Prost_Right_LowerArm_MetalHand,
|
||||
BodyLocation = ArmRight_Prot,
|
||||
BodyLocation = TOC_ArmRightProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
Icon = metalHand,
|
||||
Tooltip = Tooltip_equip_prothesis_fore,
|
||||
@@ -326,7 +326,7 @@ imports
|
||||
DisplayCategory = Prosthesis,
|
||||
DisplayName = Left Forearm - Metal Hand,
|
||||
ClothingItem = Prost_Left_LowerArm_MetalHand,
|
||||
BodyLocation = ArmLeft_Prot,
|
||||
BodyLocation = TOC_ArmLeftProsthesis,
|
||||
BloodLocation = LowerArms;Hands,
|
||||
Icon = metalHand,
|
||||
Tooltip = Tooltip_equip_prothesis_fore,
|
||||
|
||||
Reference in New Issue
Block a user