Compare commits
4 Commits
dev
...
dev-fix-se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
839ce002a3 | ||
|
|
49eee7ce84 | ||
|
|
1c72647d40 | ||
|
|
a9a7063287 |
226
.vscode/tasks.json
vendored
@@ -1,113 +1,115 @@
|
|||||||
{
|
{
|
||||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||||
// for the documentation about the tasks.json format
|
// for the documentation about the tasks.json format
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"tasks": [
|
"tasks": [
|
||||||
{
|
{
|
||||||
"label": "Create Workshop folder",
|
"label": "Create Workshop folder",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"options": {"statusbar": {"label": "$(combine) Assemble Mod - B42"}},
|
"options": {"statusbar": {"label": "$(combine) Assemble Mod - B42"}},
|
||||||
"command": "python ${config:zomboid_user_folder}/PaosCrap/make_workshop_pack.py \"42\" \"picch\" \"${workspaceFolderBasename}\" \"\"",
|
"command": "python ${config:zomboid_user_folder}/PaosCrap/make_workshop_pack.py \"42\" \"picch\" \"${workspaceFolderBasename}\" \"\"",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
{
|
"label": "Create Workshop folder",
|
||||||
"label": "Create Workshop folder",
|
"type": "shell",
|
||||||
"type": "shell",
|
"options": {"statusbar": {"label": "$(combine) Assemble Mod - B41"}},
|
||||||
"options": {"statusbar": {"label": "$(combine) Assemble Mod (Test)"}},
|
"command": "python ${config:zomboid_user_folder}/PaosCrap/make_workshop_pack.py \"41\" \"picch\" \"${workspaceFolderBasename}\" \"\"",
|
||||||
"command": "python ${config:zomboid_user_folder}/PaosCrap/make_workshop_pack.py \"picch\" \"${workspaceFolderBasename}\" \"test\"",
|
},
|
||||||
},
|
{
|
||||||
{
|
"label": "Create Workshop folder",
|
||||||
"label": "Bump Mod Version",
|
"type": "shell",
|
||||||
"type": "shell",
|
"options": {"statusbar": {"label": "$(combine) Assemble Mod (Test)"}},
|
||||||
"options": {"statusbar": {"label": "$(arrow-up) Bump Mod Version"}},
|
"command": "python ${config:zomboid_user_folder}/PaosCrap/make_workshop_pack.py \"picch\" \"${workspaceFolderBasename}\" \"test\"",
|
||||||
"command": "python ${config:zomboid_user_folder}/PaosCrap/bump_version.py common/media/lua/client/TOC/Main.lua",
|
},
|
||||||
},
|
{
|
||||||
{
|
"label": "Bump Mod Version",
|
||||||
"label": "Run Zomboid Debug No Steam (42)",
|
"type": "shell",
|
||||||
"type": "shell",
|
"options": {"statusbar": {"label": "$(arrow-up) Bump Mod Version"}},
|
||||||
"presentation": {
|
"command": "python ${config:zomboid_user_folder}/PaosCrap/bump_version.py common/media/lua/client/TOC/Main.lua",
|
||||||
"group": "groupZomboid"
|
},
|
||||||
},
|
{
|
||||||
"command": "\"${config:zomboid_folder_b42}\\ProjectZomboid64_Debug_NoSteam.bat\"",
|
"label": "Run Zomboid Debug No Steam (42)",
|
||||||
"options": {"statusbar": {"label": "$(run) Zomboid client (42)"}},
|
"type": "shell",
|
||||||
"problemMatcher": [
|
"presentation": {
|
||||||
"$eslint-stylish"
|
"group": "groupZomboid"
|
||||||
]
|
},
|
||||||
|
"command": "\"${config:zomboid_folder_b42}\\ProjectZomboid64 - nosteam-debug 42.bat\"",
|
||||||
},
|
"options": {"statusbar": {"label": "$(run) Zomboid client (42)"}},
|
||||||
{
|
"problemMatcher": [
|
||||||
"label": "Run Zomboid Debug No Steam (42) - 2nd Instance",
|
"$eslint-stylish"
|
||||||
"type": "shell",
|
]
|
||||||
"presentation": {
|
},
|
||||||
"group": "groupZomboid"
|
{
|
||||||
},
|
"label": "Run Zomboid Debug No Steam (41)",
|
||||||
"command": "\"${config:zomboid_folder_b42}\\ProjectZomboid64_Debug_NoSteam.bat\"",
|
"type": "shell",
|
||||||
"options": {"statusbar": {"label": "$(run) Zomboid client (42) - 2nd Instance"}},
|
"presentation": {
|
||||||
"problemMatcher": [
|
"group": "groupZomboid"
|
||||||
"$eslint-stylish"
|
},
|
||||||
]
|
"command": "\"${config:zomboid_folder_b41}\\ProjectZomboid64 - nosteam-debug.bat\"",
|
||||||
|
"options": {"statusbar": {"label": "$(run) Zomboid client (41)"}},
|
||||||
},
|
"problemMatcher": [
|
||||||
|
"$eslint-stylish"
|
||||||
// {
|
]
|
||||||
// "label": "Run Zomboid Debug No Steam",
|
},
|
||||||
// "type": "shell",
|
// {
|
||||||
// "presentation": {
|
// "label": "Run Zomboid Debug No Steam",
|
||||||
// "group": "groupZomboid"
|
// "type": "shell",
|
||||||
// },
|
// "presentation": {
|
||||||
// "command": "\"${config:zomboid_folder}\\ProjectZomboid64 - nosteam-debug.bat\"",
|
// "group": "groupZomboid"
|
||||||
// "options": {"statusbar": {"label": "$(run) Zomboid client"}},
|
// },
|
||||||
// "problemMatcher": [
|
// "command": "\"${config:zomboid_folder}\\ProjectZomboid64 - nosteam-debug.bat\"",
|
||||||
// "$eslint-stylish"
|
// "options": {"statusbar": {"label": "$(run) Zomboid client"}},
|
||||||
// ]
|
// "problemMatcher": [
|
||||||
// },
|
// "$eslint-stylish"
|
||||||
// {
|
// ]
|
||||||
// "label": "Run Zomboid Debug No Steam 2",
|
// },
|
||||||
// "type": "shell",
|
// {
|
||||||
// "command": "\"${config:zomboid_folder}\\ProjectZomboid64 - nosteam-debug.bat\"",
|
// "label": "Run Zomboid Debug No Steam 2",
|
||||||
// "options": {"statusbar": {"hide": true}},
|
// "type": "shell",
|
||||||
|
// "command": "\"${config:zomboid_folder}\\ProjectZomboid64 - nosteam-debug.bat\"",
|
||||||
// "problemMatcher": [
|
// "options": {"statusbar": {"hide": true}},
|
||||||
// "$eslint-stylish"
|
|
||||||
// ]
|
// "problemMatcher": [
|
||||||
// },
|
// "$eslint-stylish"
|
||||||
// {
|
// ]
|
||||||
// "label": "Run two instances of Zomboid Debug No Steam",
|
// },
|
||||||
// "options": {"statusbar": {"label": "$(run-all) Two Zomboid Clients"}},
|
// {
|
||||||
// "presentation": {
|
// "label": "Run two instances of Zomboid Debug No Steam",
|
||||||
// "reveal": "always",
|
// "options": {"statusbar": {"label": "$(run-all) Two Zomboid Clients"}},
|
||||||
// "panel": "new"
|
// "presentation": {
|
||||||
// },
|
// "reveal": "always",
|
||||||
// "dependsOn": [
|
// "panel": "new"
|
||||||
// "Run Zomboid Debug No Steam", "Run Zomboid Debug No Steam 2"],
|
// },
|
||||||
// "problemMatcher": []
|
// "dependsOn": [
|
||||||
// },
|
// "Run Zomboid Debug No Steam", "Run Zomboid Debug No Steam 2"],
|
||||||
{
|
// "problemMatcher": []
|
||||||
"label": "Run Zomboid Test Server",
|
// },
|
||||||
"options": {"statusbar": {"label": "$(run) Zomboid Server (TOC)"}},
|
// {
|
||||||
"type": "shell",
|
// "label": "Run Zomboid Test Server",
|
||||||
"command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC",
|
// "options": {"statusbar": {"label": "$(run) Zomboid Server (TOC)"}},
|
||||||
"problemMatcher": [
|
// "type": "shell",
|
||||||
"$eslint-stylish"
|
// "command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC",
|
||||||
]
|
// "problemMatcher": [
|
||||||
},
|
// "$eslint-stylish"
|
||||||
// {
|
// ]
|
||||||
// "label": "Run Zomboid Test Server 2",
|
// },
|
||||||
// "options": {"statusbar": {"label": "$(run) Zomboid Server (TOC+FH+BH)"}},
|
// {
|
||||||
// "type": "shell",
|
// "label": "Run Zomboid Test Server 2",
|
||||||
// "command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC_FH_BH",
|
// "options": {"statusbar": {"label": "$(run) Zomboid Server (TOC+FH+BH)"}},
|
||||||
// "problemMatcher": [
|
// "type": "shell",
|
||||||
// "$eslint-stylish"
|
// "command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC_FH_BH",
|
||||||
// ]
|
// "problemMatcher": [
|
||||||
// },
|
// "$eslint-stylish"
|
||||||
// {
|
// ]
|
||||||
// "label": "Run Zomboid Test Server 3",
|
// },
|
||||||
// "options": {"statusbar": {"label": "$(run) Zomboid Server (TOC+FH+BH+iMedsFixed)"}},
|
// {
|
||||||
// "type": "shell",
|
// "label": "Run Zomboid Test Server 3",
|
||||||
// "command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC_FH_BH_imeds",
|
// "options": {"statusbar": {"label": "$(run) Zomboid Server (TOC+FH+BH+iMedsFixed)"}},
|
||||||
// "problemMatcher": [
|
// "type": "shell",
|
||||||
// "$eslint-stylish"
|
// "command":"\"${config:zomboid_server_folder}\\StartServer64_nosteam_custom.bat\" TOC_FH_BH_imeds",
|
||||||
// ]
|
// "problemMatcher": [
|
||||||
// }
|
// "$eslint-stylish"
|
||||||
]
|
// ]
|
||||||
|
// }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<clothingItem>
|
|
||||||
<m_MaleModel>Amputation\Amputation_Left_Hand_Male</m_MaleModel>
|
|
||||||
<m_FemaleModel>Amputation\Amputation_Left_Hand_Female</m_FemaleModel>
|
|
||||||
<m_GUID>2de93af2-b7a8-4c04-84d1-28d92cce8a0f</m_GUID>
|
|
||||||
<m_Static>false</m_Static>
|
|
||||||
<m_AllowRandomHue>false</m_AllowRandomHue>
|
|
||||||
<m_AllowRandomTint>false</m_AllowRandomTint>
|
|
||||||
<m_Masks>4</m_Masks>
|
|
||||||
<!-- <m_MasksFolder>none</m_MasksFolder> -->
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin01_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin02_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin03_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin04_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin05_b</textureChoices>
|
|
||||||
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin01_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin02_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin03_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin04_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin05_hairy_b</textureChoices>
|
|
||||||
|
|
||||||
<!-- HUMAN AFTER CICATRIZATION -->
|
|
||||||
|
|
||||||
<textureChoices>Body\MaleBody01</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody02</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody03</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody04</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody05</textureChoices>
|
|
||||||
|
|
||||||
<textureChoices>Body\MaleBody01a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody02a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody03a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody04</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody05a</textureChoices>
|
|
||||||
|
|
||||||
</clothingItem>
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
<clothingItem>
|
|
||||||
<m_MaleModel>Amputation\Amputation_Right_Hand_Male</m_MaleModel>
|
|
||||||
<m_FemaleModel>Amputation\Amputation_Right_Hand_Female</m_FemaleModel>
|
|
||||||
<m_GUID>f114e53a-b92e-4639-8d8c-2b43ab981885</m_GUID>
|
|
||||||
<m_Static>false</m_Static>
|
|
||||||
<m_AllowRandomHue>false</m_AllowRandomHue>
|
|
||||||
<m_AllowRandomTint>false</m_AllowRandomTint>
|
|
||||||
<m_Masks>6</m_Masks>
|
|
||||||
<!-- <m_MasksFolder>none</m_MasksFolder> -->
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin01_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin02_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin03_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin04_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin05_b</textureChoices>
|
|
||||||
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin01_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin02_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin03_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin04_hairy_b</textureChoices>
|
|
||||||
<textureChoices>Amputations\Human\Hand\skin05_hairy_b</textureChoices>
|
|
||||||
|
|
||||||
<!-- HUMAN AFTER CICATRIZATION -->
|
|
||||||
|
|
||||||
<textureChoices>Body\MaleBody01</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody02</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody03</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody04</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody05</textureChoices>
|
|
||||||
|
|
||||||
<textureChoices>Body\MaleBody01a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody02a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody03a</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody04</textureChoices>
|
|
||||||
<textureChoices>Body\MaleBody05a</textureChoices>
|
|
||||||
</clothingItem>
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
local LimitActionsController = require("TOC/Controllers/LimitActionsController") -- declared in common
|
||||||
|
local OverridenMethodsArchive = require("TOC/OverridenMethodsArchive")
|
||||||
|
|
||||||
|
local og_ISClothingExtraAction_isValid = OverridenMethodsArchive.Get("ISClothingExtraAction_isValid")
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
|
function ISClothingExtraAction:isValid()
|
||||||
|
-- TOC_DEBUG.print("Inside ISClothingExtraAction:isValid 42")
|
||||||
|
-- TOC_DEBUG.print(OverridenMethodsArchive.Get("ISClothingExtraAction_isValid"))
|
||||||
|
return LimitActionsController.WrapClothingAction(self, og_ISClothingExtraAction_isValid, instanceItem(self.extra))
|
||||||
|
end
|
||||||
40
42/media/lua/client/TOC-42/Handlers/ProsthesisHandler.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
local ProsthesisHandler = require("TOC/Handlers/ProsthesisHandler") -- declared in common
|
||||||
|
local OverridenMethodsArchive = require("TOC/OverridenMethodsArchive")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local og_ISClothingExtraAction_isValid = OverridenMethodsArchive.Get("ISClothingExtraAction_isValid")
|
||||||
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
|
function ISClothingExtraAction:isValid()
|
||||||
|
local isEquippable = og_ISClothingExtraAction_isValid(self)
|
||||||
|
-- self.extra is a string, not the item
|
||||||
|
local testItem = instanceItem(self.extra)
|
||||||
|
return ProsthesisHandler.Validate(testItem, isEquippable)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local og_ISClothingExtraAction_perform = OverridenMethodsArchive.Get("ISClothingExtraAction_perform")
|
||||||
|
function ISClothingExtraAction:perform()
|
||||||
|
local extraItem = instanceItem(self.extra)
|
||||||
|
ProsthesisHandler.SearchAndSetupProsthesis(extraItem, true)
|
||||||
|
og_ISClothingExtraAction_perform(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local og_ISUnequipAction_complete = ISUnequipAction.complete
|
||||||
|
function ISUnequipAction:complete()
|
||||||
|
-- Horrendous workaround. For B42, as of now, it will basically happen two times, once with :perform and once with :complete. Shouldn't
|
||||||
|
-- matter for performance but it's really ugly.
|
||||||
|
local isProst = ProsthesisHandler.SearchAndSetupProsthesis(self.item, false)
|
||||||
|
local group
|
||||||
|
if isProst then
|
||||||
|
group = BodyLocations.getGroup("Human")
|
||||||
|
group:setMultiItem("TOC_ArmProst", false)
|
||||||
|
end
|
||||||
|
og_ISUnequipAction_complete(self)
|
||||||
|
|
||||||
|
if isProst then
|
||||||
|
group:setMultiItem("TOC_ArmProst", true)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
require ("TOC/Debug")
|
|
||||||
local CommandsData = require("TOC/CommandsData")
|
|
||||||
local ItemsController = require("TOC/Controllers/ItemsController")
|
|
||||||
|
|
||||||
--------------------------------------------
|
|
||||||
|
|
||||||
local ServerItemsCommands = {}
|
|
||||||
|
|
||||||
function ServerItemsCommands.SpawnAmputationItem(_, args)
|
|
||||||
local playerObj = getPlayerByOnlineID(args.playerNum)
|
|
||||||
local limbName = args.limbName
|
|
||||||
ItemsController.Player.SpawnAmputationItem(playerObj, limbName)
|
|
||||||
end
|
|
||||||
|
|
||||||
function ServerItemsCommands.DeleteOldAmputationItem(_, args)
|
|
||||||
local patientPl = getPlayerByOnlineID(args.playerNum)
|
|
||||||
local limbName = args.limbName
|
|
||||||
|
|
||||||
ItemsController.Player.DeleteOldAmputationItem(patientPl, limbName)
|
|
||||||
end
|
|
||||||
|
|
||||||
function ServerItemsCommands.DeleteAllOldAmputationItems(_, args)
|
|
||||||
local playerObj = getPlayerByOnlineID(args.playerNum)
|
|
||||||
ItemsController.Player.DeleteAllOldAmputationItems(playerObj)
|
|
||||||
end
|
|
||||||
|
|
||||||
function ServerItemsCommands.OverrideAmputationItemVisuals(_, args)
|
|
||||||
local playerObj = getPlayerByOnlineID(args.playerNum)
|
|
||||||
local limbName = args.limbName
|
|
||||||
local isCicatrized = args.isCicatrized
|
|
||||||
|
|
||||||
ItemsController.Player.OverrideAmputationItemVisuals(playerObj, limbName, isCicatrized)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------
|
|
||||||
local function OnClientItemsCommands(module, command, playerObj, args)
|
|
||||||
if module == CommandsData.modules.TOC_ITEMS and ServerItemsCommands[command] then
|
|
||||||
TOC_DEBUG.print("Received ItemsController command - " .. tostring(command))
|
|
||||||
ServerItemsCommands[command](playerObj, args)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
Events.OnClientCommand.Add(OnClientItemsCommands)
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
--Based on RabenRabo's bodylocation solution from their mod "Fantasy Bodyparts" and "Fantasy Legs" sub-mod.
|
|
||||||
--Modified by GanydeBielovzki with permission for batch use for the Frockin' Splendor franchise and spin-offs.
|
|
||||||
--To copy, further modify or otherwise use this code the original creator and the modifier must be credited.
|
|
||||||
|
|
||||||
local function copyBodyLocationProperties(oldGroup, oldLocID, newGroup)
|
|
||||||
for k = 0, oldGroup:size()-1 do
|
|
||||||
local otherLocID = oldGroup:getLocationByIndex(k):getId()
|
|
||||||
if oldGroup:isExclusive(oldLocID, otherLocID)
|
|
||||||
then
|
|
||||||
newGroup:setExclusive(oldLocID, otherLocID)
|
|
||||||
end
|
|
||||||
if oldGroup:isHideModel(oldLocID, otherLocID)
|
|
||||||
then
|
|
||||||
newGroup:setHideModel(oldLocID, otherLocID)
|
|
||||||
end
|
|
||||||
if oldGroup:isAltModel(oldLocID, otherLocID)
|
|
||||||
then
|
|
||||||
newGroup:setAltModel(oldLocID, otherLocID)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function addBodyLocationsAt(groupName, locationList)
|
|
||||||
local results = {}
|
|
||||||
|
|
||||||
-- get list (!!actually a view!!) of all groups and copy to array (BodyLocations.reset() will also clear the view)
|
|
||||||
local allGroupsList = BodyLocations.getAllGroups()
|
|
||||||
local allGroups = {}
|
|
||||||
for i = 0, allGroupsList:size()-1 do
|
|
||||||
allGroups[i + 1] = allGroupsList:get(i)
|
|
||||||
end
|
|
||||||
|
|
||||||
BodyLocations.reset()
|
|
||||||
|
|
||||||
-- recreate all groups/bodylocations and insert new bodylocations
|
|
||||||
for i = 1, #allGroups do
|
|
||||||
local oldGroup = allGroups[i]
|
|
||||||
local newGroup = BodyLocations.getGroup(oldGroup:getId())
|
|
||||||
|
|
||||||
-- FIRST: Process all original locations AND insert new ones at correct positions
|
|
||||||
for j = 0, oldGroup:size()-1 do
|
|
||||||
local oldLoc = oldGroup:getLocationByIndex(j)
|
|
||||||
local oldLocID = oldLoc:getId()
|
|
||||||
|
|
||||||
-- For each location definition, check if it should be inserted here
|
|
||||||
for _, locDef in ipairs(locationList) do
|
|
||||||
if oldGroup:getId() == groupName then
|
|
||||||
local newLocID = type(locDef.name) ~= "string" and locDef.name or
|
|
||||||
ItemBodyLocation.get(ResourceLocation.of(locDef.name))
|
|
||||||
|
|
||||||
local refLocID = type(locDef.reference) ~= "string" and locDef.reference or
|
|
||||||
ResourceLocation.of(locDef.reference)
|
|
||||||
|
|
||||||
local isTargetGroupAndLoc = refLocID == oldLocID
|
|
||||||
|
|
||||||
if isTargetGroupAndLoc and locDef.before then
|
|
||||||
results[locDef.name] = newGroup:getOrCreateLocation(newLocID)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Add the original location
|
|
||||||
newGroup:getOrCreateLocation(oldLocID)
|
|
||||||
|
|
||||||
-- Check for "after" insertions
|
|
||||||
for _, locDef in ipairs(locationList) do
|
|
||||||
if oldGroup:getId() == groupName then
|
|
||||||
local newLocID = type(locDef.name) ~= "string" and locDef.name or
|
|
||||||
ItemBodyLocation.get(ResourceLocation.of(locDef.name))
|
|
||||||
|
|
||||||
local refLocID = type(locDef.reference) ~= "string" and locDef.reference or
|
|
||||||
ResourceLocation.of(locDef.reference)
|
|
||||||
|
|
||||||
local isTargetGroupAndLoc = refLocID == oldLocID
|
|
||||||
|
|
||||||
if isTargetGroupAndLoc and not locDef.before then
|
|
||||||
results[locDef.name] = newGroup:getOrCreateLocation(newLocID)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- SECOND: copy bodylocation properties from old groups to new groups
|
|
||||||
for j = 0, oldGroup:size()-1 do
|
|
||||||
local oldLocID = oldGroup:getLocationByIndex(j):getId()
|
|
||||||
newGroup:setMultiItem(oldLocID, oldGroup:isMultiItem(oldLocID))
|
|
||||||
copyBodyLocationProperties(oldGroup, oldLocID, newGroup)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return results
|
|
||||||
end
|
|
||||||
|
|
||||||
local results = addBodyLocationsAt("Human", {
|
|
||||||
{name = "toc:Arm_L", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
{name = "toc:Arm_R", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
{name = "toc:ArmProst_L", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
{name = "toc:ArmProst_R", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
{name = "toc:ArmAccessory_L", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
{name = "toc:ArmAccessory_R", reference = ItemBodyLocation.FULL_TOP, before = false},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
results['toc:Arm_L']:setMultiItem(true)
|
|
||||||
results['toc:Arm_R']:setMultiItem(true)
|
|
||||||
results['toc:ArmProst_L']:setMultiItem(true)
|
|
||||||
results['toc:ArmProst_R']:setMultiItem(true)
|
|
||||||
results['toc:ArmAccessory_L']:setMultiItem(true)
|
|
||||||
results['toc:ArmAccessory_R']:setMultiItem(true)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
return _TOCRegistries
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
IG_UI_FR = {
|
|
||||||
IGUI_Yes = "Oui",
|
|
||||||
IGUI_No = "Non",
|
|
||||||
|
|
||||||
IGUI_perks_Amputations = "Amputations",
|
|
||||||
IGUI_perks_Side_R = "Côté droit",
|
|
||||||
IGUI_perks_Side_L = "Côté gauche",
|
|
||||||
IGUI_perks_Prosthesis = "Prothèse",
|
|
||||||
IGUI_perks_ProstFamiliarity = "Familiarité",
|
|
||||||
|
|
||||||
IGUI_ItemCat_Prosthesis = "Prothèse",
|
|
||||||
IGUI_ItemCat_Surgery = "Chirurgie",
|
|
||||||
IGUI_ItemCat_Amputation = "Amputation",
|
|
||||||
|
|
||||||
IGUI_HealthPanel_Cicatrization = "Cicatrisation",
|
|
||||||
IGUI_HealthPanel_Cicatrized = "Cicatrisé",
|
|
||||||
IGUI_HealthPanel_Cauterized = "Cautérisé",
|
|
||||||
IGUI_HealthPanel_WoundDirtyness = "Saleté de la plaie",
|
|
||||||
IGUI_HealthPanel_ProstEquipped = "Prothèse équipée",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
ItemName_FR = {
|
|
||||||
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_L = "Garrot",
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_R = "Garrot",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_NormalArm_L = "Bras prothétique",
|
|
||||||
ItemName_TOC.Prost_NormalArm_R = "Bras prothétique",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_HookArm_L = "Bras prothétique - Crochet",
|
|
||||||
ItemName_TOC.Prost_HookArm_R = "Bras prothétique - Crochet",
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
Recipes_FR = {
|
|
||||||
Recipe_Craft_Prosthetic_Arm = "Fabriquer un bras prothétique",
|
|
||||||
Recipe_Craft_Prosthetic_Hook = "Fabriquer un crochet prothétique",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
UI_FR = {
|
|
||||||
UI_trait_Amputee_Hand = "Main gauche amputée",
|
|
||||||
UI_trait_Amputee_Hand_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Amputee_ForeArm = "Avant-bras gauche amputée",
|
|
||||||
UI_trait_Amputee_ForeArm_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Amputee_UpperArm = "Bras supérieur gauche amputée",
|
|
||||||
UI_trait_Amputee_UpperArm_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Insensitive = "Insensible",
|
|
||||||
UI_trait_Insensitive_desc = "",
|
|
||||||
|
|
||||||
UI_Say_CantEquip = "Je ne peux pas l'équiper comme ça..."
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
ContextMenu_RU = {
|
|
||||||
ContextMenu_Amputate = "Ампутировать",
|
|
||||||
ContextMenu_Amputate_Bandage = "Ампутировать и перевязать",
|
|
||||||
ContextMenu_Amputate_Stitch = "Ампутировать и наложить швы",
|
|
||||||
ContextMenu_Amputate_Stitch_Bandage = "Ампутировать, наложить швы и перевязать",
|
|
||||||
|
|
||||||
ContextMenu_Cauterize = "Прижечь",
|
|
||||||
|
|
||||||
ContextMenu_Limb_Hand_L = "Левая рука",
|
|
||||||
ContextMenu_Limb_ForeArm_L = "Левая предплечье",
|
|
||||||
ContextMenu_Limb_UpperArm_L = "Левое плечо"
|
|
||||||
ContextMenu_Limb_Hand_R = "Правая рука",
|
|
||||||
ContextMenu_Limb_ForeArm_R = "Правая предплечье",
|
|
||||||
ContextMenu_Limb_UpperArm_R = "Правая плечо",
|
|
||||||
|
|
||||||
ContextMenu_InstallProstRight = "Установить протез на правую руку",
|
|
||||||
ContextMenu_InstallProstLeft = "Установить протез на левую руку",
|
|
||||||
|
|
||||||
ContextMenu_PutTourniquetArmLeft = "Наложить жгут на левую руку",
|
|
||||||
ContextMenu_PutTourniquetLegL = "Наложить жгут на левую ногу",
|
|
||||||
ContextMenu_PutTourniquetArmRight = "Наложить жгут на правую руку",
|
|
||||||
ContextMenu_PutTourniquetLegR = "Наложить жгут на правую ногу",
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_CleanWound = "Очистить рану",
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_Admin_TOC = "TOC",
|
|
||||||
ContextMenu_Admin_ResetTOC = "Сбросить ампутации",
|
|
||||||
ContextMenu_Admin_ForceAmputation = "Моментально ампутировать",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
IG_UI_RU = {
|
|
||||||
IGUI_perks_Amputations = "Ампутации",
|
|
||||||
IGUI_perks_Side_R = "Правая сторона",
|
|
||||||
IGUI_perks_Side_L = "Левая сторона",
|
|
||||||
IGUI_perks_Prosthesis = "Протез",
|
|
||||||
IGUI_perks_ProstFamiliarity= "Приспособленность",
|
|
||||||
|
|
||||||
IGUI_ItemCat_Prosthesis = "Протез",
|
|
||||||
IGUI_ItemCat_Surgery = "Хирургия",
|
|
||||||
IGUI_ItemCat_Amputation = "Ампутация"
|
|
||||||
|
|
||||||
IGUI_HealthPanel_Cicatrization = "Заживление",
|
|
||||||
IGUI_HealthPanel_Cicatrized = "Заживлено",
|
|
||||||
IGUI_HealthPanel_Cauterized = "Прижженно",
|
|
||||||
IGUI_HealthPanel_WoundDirtyness = "Загрезнённая рана",
|
|
||||||
IGUI_HealthPanel_ProstEquipped = "Протез экипирован",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
ItemName_RU = {
|
|
||||||
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_L = "Жгут",
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_R = "Жгут",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_NormalArm_L = "Протез руки",
|
|
||||||
ItemName_TOC.Prost_NormalArm_R = "Протез руки",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_HookArm_L = "Протез руки - Крюк",
|
|
||||||
ItemName_TOC.Prost_HookArm_R = "Протез руки - Крюк",
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Recipes_RU = {
|
|
||||||
Recipe_Craft_Prosthetic_Arm = "Изготовить протез руки",
|
|
||||||
Recipe_Craft_Prosthetic_Hook = "Изготовить протез ввиде крючка",
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
Sandbox_RU = {
|
|
||||||
Sandbox_TOC = "Спасенье в Отсечении",
|
|
||||||
Sandbox_TOC_CicatrizationSpeed = "Скорость заживления",
|
|
||||||
Sandbox_TOC_WoundDirtynessMultiplier = "Множитель загрязнения ран",
|
|
||||||
Sandbox_TOC_SurgeonAbilityImportance = "Значимость способностей врача-хирурга",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Tooltip_RU = {
|
|
||||||
|
|
||||||
Tooltip_Surgery_CantCauterize = "Нельзя прижигать рану",
|
|
||||||
|
|
||||||
Tooltip_Surgery_And = " и "
|
|
||||||
Tooltip_Surgery_TempTooLow = "Температура все еще слишком низкая",
|
|
||||||
Tooltip_Surgery_Coward = "У тебя не хватит смелости сделать это",
|
|
||||||
Tooltip_Surgery_LimbNotFree = "Сначала нужно снять протез",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
UI_RU = {
|
|
||||||
UI_trait_Amputee_Hand = "Ампутированная левая рука",
|
|
||||||
UI_trait_Amputee_Hand_desc = "Вы начинаете с ампутированной левой рукой.",
|
|
||||||
|
|
||||||
UI_trait_Amputee_ForeArm = "Ампутированное левое предплечье",
|
|
||||||
UI_trait_Amputee_ForeArm_desc = "Вы начинаете с ампутированным левым предплечьем.",
|
|
||||||
|
|
||||||
UI_trait_Amputee_UpperArm = "Ампутированное левое плечо",
|
|
||||||
UI_trait_Amputee_UpperArm_desc = "Вы начинаете с ампутированнвм левым плечём.",
|
|
||||||
|
|
||||||
UI_trait_Insensitive = "Нечувствительный",
|
|
||||||
UI_trait_Insensitive_desc = "",
|
|
||||||
|
|
||||||
|
|
||||||
UI_Say_CantEquip = "Я не могу его так экипировать..."
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
ContextMenu_TR = {
|
|
||||||
ContextMenu_Amputate = "Ampute Et",
|
|
||||||
ContextMenu_Amputate_Bandage = "Ampute Et ve Bandajla",
|
|
||||||
ContextMenu_Amputate_Stitch = "Ampute Et ve Dikiþ At",
|
|
||||||
ContextMenu_Amputate_Stitch_Bandage = "Ampute Et, Dikiþ At ve Bandajla",
|
|
||||||
|
|
||||||
ContextMenu_Cauterize = "Daðla",
|
|
||||||
|
|
||||||
ContextMenu_Limb_Hand_L = "Sol El",
|
|
||||||
ContextMenu_Limb_ForeArm_L = "Sol Ön Kol",
|
|
||||||
ContextMenu_Limb_UpperArm_L = "Sol Üst Kol",
|
|
||||||
ContextMenu_Limb_Hand_R = "Sað El",
|
|
||||||
ContextMenu_Limb_ForeArm_R = "Sað Ön Kol",
|
|
||||||
ContextMenu_Limb_UpperArm_R = "Sað Üst Kol",
|
|
||||||
|
|
||||||
ContextMenu_InstallProstRight = "Sað kola protez tak",
|
|
||||||
ContextMenu_InstallProstLeft = "Sol kola protez tak",
|
|
||||||
|
|
||||||
ContextMenu_PutTourniquetArmLeft = "Sol kola turnike tak",
|
|
||||||
ContextMenu_PutTourniquetLegL = "Sol bacaðýna turnike tak",
|
|
||||||
ContextMenu_PutTourniquetArmRight = "Sað kola turnike tak",
|
|
||||||
ContextMenu_PutTourniquetLegR = "Sað bacaðýna turnike tak",
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_CleanWound = "Yarayý Temizle",
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_Admin_TOC = "TOC",
|
|
||||||
ContextMenu_Admin_ResetTOC = "Amputasyonlarý Sýfýrla",
|
|
||||||
ContextMenu_Admin_ForceAmputation = "Zorla Amputasyon Yap",
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
IG_UI_TR = {
|
|
||||||
IGUI_perks_Amputations = "Amputasyonlar",
|
|
||||||
IGUI_perks_Side_R = "Sağ Taraf",
|
|
||||||
IGUI_perks_Side_L = "Sol Taraf",
|
|
||||||
IGUI_perks_Prosthesis = "Protez",
|
|
||||||
IGUI_perks_ProstFamiliarity = "Aşinalık",
|
|
||||||
|
|
||||||
IGUI_ItemCat_Prosthesis = "Protez",
|
|
||||||
IGUI_ItemCat_Surgery = "Cerrahi",
|
|
||||||
IGUI_ItemCat_Amputation = "Amputasyon",
|
|
||||||
|
|
||||||
IGUI_HealthPanel_Cicatrization = "Yara İyileşmesi",
|
|
||||||
IGUI_HealthPanel_Cicatrized = "İyileşti",
|
|
||||||
IGUI_HealthPanel_Cauterized = "Dağlandı",
|
|
||||||
IGUI_HealthPanel_WoundDirtyness = "Yara Kirliliği",
|
|
||||||
IGUI_HealthPanel_ProstEquipped = "Protez Takılı",
|
|
||||||
|
|
||||||
IGUI_Confirmation_Amputate = " <CENTRE> Bu uzvu gerçekten ampute etmek istiyor musunuz?"
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
Sandbox_TR = {
|
|
||||||
Sandbox_TOC = "The Only Cure",
|
|
||||||
Sandbox_TOC_CicatrizationSpeed = "Yara İyileşme Hızı",
|
|
||||||
Sandbox_TOC_WoundDirtynessMultiplier = "Yara Kirlilik Çarpanı",
|
|
||||||
Sandbox_TOC_SurgeonAbilityImportance = "Cerrahın Yetenek Önemi",
|
|
||||||
Sandbox_TOC_EnableZombieAmputations = "Zombi Amputasyonlarını Etkinleştir",
|
|
||||||
Sandbox_TOC_ZombieAmputationDamageThreshold = "Zombi Amputasyon Hasar Eşiği",
|
|
||||||
Sandbox_TOC_ZombieAmputationDamageChance = "Zombi Amputasyon Hasar Şansı",
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
Tooltip_TR = {
|
|
||||||
Tooltip_Surgery_CantCauterize = "Yarayı dağlayamazsın",
|
|
||||||
|
|
||||||
Tooltip_Surgery_And = " ve ",
|
|
||||||
Tooltip_Surgery_TempTooLow = "Sıcaklık hâlâ çok düşük",
|
|
||||||
Tooltip_Surgery_Coward = "Bunu yapacak cesaretin yok. KORKUYORSUN!",
|
|
||||||
Tooltip_Surgery_LimbNotFree = "Önce protezi çıkarman gerekiyor",
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
ContextMenu_UA = {
|
|
||||||
ContextMenu_Amputate = "Ампутувати",
|
|
||||||
ContextMenu_Amputate_Bandage = "Ампутувати та перев'язати",
|
|
||||||
ContextMenu_Amputate_Stitch = "Ампутувати та накласти шви",
|
|
||||||
ContextMenu_Amputate_Stitch_Bandage = "Ампутувати, накласти шви та перев'язати",
|
|
||||||
|
|
||||||
ContextMenu_Cauterize = "Припекти",
|
|
||||||
|
|
||||||
ContextMenu_Limb_Hand_L = "Ліва Рука",
|
|
||||||
ContextMenu_Limb_ForeArm_L = "Ліве Передпліччя",
|
|
||||||
ContextMenu_Limb_UpperArm_L = "Ліве Плече"
|
|
||||||
ContextMenu_Limb_Hand_R = "Права Рука",
|
|
||||||
ContextMenu_Limb_ForeArm_R = "Праве Передпліччя",
|
|
||||||
ContextMenu_Limb_UpperArm_R = "Праве Плече",
|
|
||||||
|
|
||||||
ContextMenu_InstallProstRight = "Установити протез на праву руку",
|
|
||||||
ContextMenu_InstallProstLeft = "Установити протез на ліву руку",
|
|
||||||
|
|
||||||
ContextMenu_PutTourniquetArmLeft = "Накласти джгут на ліву руку",
|
|
||||||
ContextMenu_PutTourniquetLegL = "Накласти джгут на ліву ногу",
|
|
||||||
ContextMenu_PutTourniquetArmRight = "Накласти джгут на праву руку",
|
|
||||||
ContextMenu_PutTourniquetLegR = "Накласти джгут на праву ногу",
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_CleanWound = "Очистити рану",
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ContextMenu_Admin_TOC = "TOC",
|
|
||||||
ContextMenu_Admin_ResetTOC = "Скинути Ампутації",
|
|
||||||
ContextMenu_Admin_ForceAmputation = "Примусово Ампутувати",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
IG_UI_UA = {
|
|
||||||
IGUI_perks_Amputations = "Ампутації",
|
|
||||||
IGUI_perks_Side_R = "Права сторона",
|
|
||||||
IGUI_perks_Side_L = "Ліва сторона",
|
|
||||||
IGUI_perks_Prosthesis = "Протез",
|
|
||||||
IGUI_perks_ProstFamiliarity= "Пристосованість",
|
|
||||||
|
|
||||||
IGUI_ItemCat_Prosthesis = "Протез",
|
|
||||||
IGUI_ItemCat_Surgery = "Хірургія",
|
|
||||||
IGUI_ItemCat_Amputation = "Ампутація"
|
|
||||||
|
|
||||||
IGUI_HealthPanel_Cicatrization = "Рубцювання",
|
|
||||||
IGUI_HealthPanel_Cicatrized = "Зарубцьована",
|
|
||||||
IGUI_HealthPanel_Cauterized = "Припечена",
|
|
||||||
IGUI_HealthPanel_WoundDirtyness = "Забруднена рана",
|
|
||||||
IGUI_HealthPanel_ProstEquipped = "Протез установлено",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
ItemName_UA = {
|
|
||||||
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_L = "Джгут",
|
|
||||||
ItemName_TOC.Surg_Arm_Tourniquet_R = "Джгут",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_NormalArm_L = "Протез Руки",
|
|
||||||
ItemName_TOC.Prost_NormalArm_R = "Протез Руки",
|
|
||||||
|
|
||||||
ItemName_TOC.Prost_HookArm_L = "Протез Руки - Гак",
|
|
||||||
ItemName_TOC.Prost_HookArm_R = "Протез Руки - Гак",
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Recipes_UA = {
|
|
||||||
Recipe_Craft_Prosthetic_Arm = "Створити Протез Руки",
|
|
||||||
Recipe_Craft_Prosthetic_Hook = "Створити Протез Руки - Гак",
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Sandbox_UA = {
|
|
||||||
Sandbox_TOC = "The Only Cure",
|
|
||||||
Sandbox_TOC_CicatrizationSpeed = "Швидкість рубцювання",
|
|
||||||
Sandbox_TOC_WoundDirtynessMultiplier = "Множник забруднення рани",
|
|
||||||
Sandbox_TOC_SurgeonAbilityImportance = "Важливість медичних навичок лікаря",
|
|
||||||
Sandbox_TOC_EnableZombieAmputations = "Увімкнути ампутації зомбі",
|
|
||||||
Sandbox_TOC_ZombieAmputationDamageThreshold = "Поріг шкоди при ампутації зомбі",
|
|
||||||
Sandbox_TOC_ZombieAmputationDamageChance = "Шанс нанесення шкоди при ампутації зомбі",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Tooltip_UA = {
|
|
||||||
|
|
||||||
Tooltip_Surgery_CantCauterize = "Не можна припекти рану",
|
|
||||||
|
|
||||||
Tooltip_Surgery_And = " та "
|
|
||||||
Tooltip_Surgery_TempTooLow = "Температура занадто низька",
|
|
||||||
Tooltip_Surgery_Coward = "Вам не вистачає сміливості зробити це",
|
|
||||||
Tooltip_Surgery_LimbNotFree = "Спочатку необхідно зняти протез",
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
UI_UA = {
|
|
||||||
UI_trait_Amputee_Hand = "Ампутована Ліва Рука",
|
|
||||||
UI_trait_Amputee_Hand_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Amputee_ForeArm = "Ампутоване Ліве Передпліччя",
|
|
||||||
UI_trait_Amputee_ForeArm_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Amputee_UpperArm = "Ампутоване Ліве Плече",
|
|
||||||
UI_trait_Amputee_UpperArm_desc = "",
|
|
||||||
|
|
||||||
UI_trait_Insensitive = "Нечутливий",
|
|
||||||
UI_trait_Insensitive_desc = "",
|
|
||||||
|
|
||||||
|
|
||||||
UI_Say_CantEquip = "Я не можу встановити це таким чином..."
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
_TOCRegistries = {}
|
|
||||||
|
|
||||||
_TOCRegistries.traits = {
|
|
||||||
Amputee_Hand = CharacterTrait.register("toc:amputee_hand"),
|
|
||||||
Amputee_ForeArm = CharacterTrait.register("toc:amputee_forearm"),
|
|
||||||
Amputee_UpperArm = CharacterTrait.register("toc:amputee_upperarm"),
|
|
||||||
}
|
|
||||||
|
|
||||||
_TOCRegistries.bodylocations = {
|
|
||||||
TOC_Arm_L = ItemBodyLocation.register("toc:Arm_L"),
|
|
||||||
TOC_Arm_R = ItemBodyLocation.register("toc:Arm_R"),
|
|
||||||
TOC_ArmProst_L = ItemBodyLocation.register("toc:ArmProst_L"),
|
|
||||||
TOC_ArmProst_R = ItemBodyLocation.register("toc:ArmProst_R"),
|
|
||||||
TOC_ArmAccessory_L = ItemBodyLocation.register("toc:ArmAccessory_L"),
|
|
||||||
TOC_ArmAccessory_R = ItemBodyLocation.register("toc:ArmAccessory_R"),
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
module TOC
|
|
||||||
{
|
|
||||||
imports
|
|
||||||
{
|
|
||||||
Base
|
|
||||||
}
|
|
||||||
/*************Craft Prosthetics*******************/
|
|
||||||
craftRecipe Craft Prosthetic Arm
|
|
||||||
{
|
|
||||||
timedAction = BuildMetalStructureSmall,
|
|
||||||
Time = 150,
|
|
||||||
Tags = InHandCraft,
|
|
||||||
category = Welding,
|
|
||||||
NeedToBeLearn = false,
|
|
||||||
SkillRequired = MetalWelding:4,
|
|
||||||
xpAward = MetalWelding:50,
|
|
||||||
inputs
|
|
||||||
{
|
|
||||||
item 4 [MetalPipe],
|
|
||||||
item 2 [Plank],
|
|
||||||
item 4 [Base.BlowTorch] flags[DontRecordInput],
|
|
||||||
item 4 [Base.WeldingRods] flags[DontRecordInput],
|
|
||||||
|
|
||||||
}
|
|
||||||
outputs
|
|
||||||
{
|
|
||||||
item 1 TOC.Prost_NormalArm_L,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
craftRecipe Craft Prosthetic Hook
|
|
||||||
{
|
|
||||||
timedAction = BuildMetalStructureSmall,
|
|
||||||
Time = 100,
|
|
||||||
Tags = InHandCraft,
|
|
||||||
category = Welding,
|
|
||||||
NeedToBeLearn = false,
|
|
||||||
SkillRequired = MetalWelding:2,
|
|
||||||
xpAward = MetalWelding:30,
|
|
||||||
inputs
|
|
||||||
{
|
|
||||||
item 2 [MetalPipe],
|
|
||||||
item 1 [Plank],
|
|
||||||
item 4 [Base.BlowTorch] flags[DontRecordInput],
|
|
||||||
item 2 [Base.WeldingRods] flags[DontRecordInput],
|
|
||||||
|
|
||||||
}
|
|
||||||
outputs
|
|
||||||
{
|
|
||||||
item 1 TOC.Prost_HookArm_L,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
module TOC
|
|
||||||
{
|
|
||||||
character_trait_definition toc:amputee_hand
|
|
||||||
{
|
|
||||||
CharacterTrait = toc:amputee_hand,
|
|
||||||
IsProfessionTrait = false,
|
|
||||||
DisabledInMultiplayer = false,
|
|
||||||
Cost = -8,
|
|
||||||
UIName = UI_trait_Amputee_Hand,
|
|
||||||
UIDescription = UI_trait_Amputee_Hand_desc,
|
|
||||||
XPBoosts = Side_L=4;Fitness=-1;Strength=-1,
|
|
||||||
GrantedRecipes = Lockpicking;AlarmCheck;CreateBobbyPin;CreateBobbyPin2,
|
|
||||||
MutuallyExclusiveTraits = toc:amputee_forearm;toc:amputee_upperarm,
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
character_trait_definition toc:amputee_forearm
|
|
||||||
{
|
|
||||||
IsProfessionTrait = false,
|
|
||||||
DisabledInMultiplayer = false,
|
|
||||||
CharacterTrait = toc:amputee_forearm,
|
|
||||||
Cost = -10,
|
|
||||||
UIName = UI_trait_Amputee_ForeArm,
|
|
||||||
UIDescription = UI_trait_Amputee_ForeArm_desc,
|
|
||||||
XPBoosts = Side_L=4;Fitness=-1;Strength=-1,
|
|
||||||
MutuallyExclusiveTraits = toc:amputee_hand;toc:amputee_upperarm,
|
|
||||||
}
|
|
||||||
|
|
||||||
character_trait_definition toc:amputee_upperarm
|
|
||||||
{
|
|
||||||
IsProfessionTrait = false,
|
|
||||||
DisabledInMultiplayer = false,
|
|
||||||
CharacterTrait = toc:amputee_upperarm,
|
|
||||||
Cost = -20,
|
|
||||||
UIName = UI_trait_Amputee_UpperArm,
|
|
||||||
UIDescription = UI_trait_Amputee_UpperArm_desc,
|
|
||||||
XPBoosts = Side_L=4;Fitness=-1;Strength=-1,
|
|
||||||
GrantedRecipes = Lockpicking;AlarmCheck;CreateBobbyPin;CreateBobbyPin2,
|
|
||||||
MutuallyExclusiveTraits = toc:amputee_hand;toc:amputee_forearm,
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 21 KiB |
@@ -4,7 +4,8 @@ description=You've been bitten. You have only two choices.
|
|||||||
id=TheOnlyCure
|
id=TheOnlyCure
|
||||||
icon=icon.png
|
icon=icon.png
|
||||||
url=https://github.com/ZioPao/The-Only-Cure
|
url=https://github.com/ZioPao/The-Only-Cure
|
||||||
modversion=2.3
|
modversion=2.2
|
||||||
versionMin=42.13
|
versionMin=42.6
|
||||||
|
|
||||||
loadModAfter=\FancyHandwork,\BrutalHandwork,\TwoWeaponsOnBackRework
|
loadModAfter=\FancyHandwork,\BrutalHandwork,\TwoWeaponsOnBackRework
|
||||||
incompatible=\BB_FirstAidOverhaul
|
incompatible=\BB_FirstAidOverhaul
|
||||||
@@ -1,16 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<clothingItem>
|
<clothingItem>
|
||||||
<m_MaleModel>Amputation\Amputation_Left_LowerArm_Male</m_MaleModel>
|
<m_MaleModel>Amputation\Amputation_FA_LR</m_MaleModel>
|
||||||
<m_FemaleModel>Amputation\Amputation_Left_LowerArm_Female</m_FemaleModel>
|
<m_FemaleModel>Amputation\Amputation_Left_LowerArm_Female</m_FemaleModel>
|
||||||
<m_GUID>d3816fe0-48e1-4cf5-a8e4-48c72595edb4</m_GUID>
|
<m_GUID>d3816fe0-48e1-4cf5-a8e4-48c72595edb4</m_GUID>
|
||||||
<m_Static>false</m_Static>
|
<m_Static>false</m_Static>
|
||||||
<m_AllowRandomHue>false</m_AllowRandomHue>
|
<m_AllowRandomHue>false</m_AllowRandomHue>
|
||||||
<m_AllowRandomTint>false</m_AllowRandomTint>
|
<m_AllowRandomTint>false</m_AllowRandomTint>
|
||||||
|
|
||||||
<m_Masks>4</m_Masks>
|
<m_UnderlayMasksFolder>media/textures/Amputations/Masks/TestDouble</m_UnderlayMasksFolder>
|
||||||
<m_Masks>3</m_Masks>
|
|
||||||
|
<m_Masks>4</m_Masks>
|
||||||
|
<m_Masks>6</m_Masks>
|
||||||
|
|
||||||
<!-- <m_UnderlayMasksFolder>media/textures/Amputations/Masks</m_UnderlayMasksFolder> -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
<!-- HUMAN -->
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<clothingItem>
|
||||||
|
<m_MaleModel>Amputation\Amputation_FA_LR</m_MaleModel>
|
||||||
|
<m_FemaleModel>Amputation\Amputation_FA_LR</m_FemaleModel>
|
||||||
|
<m_GUID>8e5bc1b4-d79b-4a17-b86b-71dab6ace816</m_GUID>
|
||||||
|
<m_Static>false</m_Static>
|
||||||
|
<m_AllowRandomHue>false</m_AllowRandomHue>
|
||||||
|
<m_AllowRandomTint>false</m_AllowRandomTint>
|
||||||
|
|
||||||
|
<m_Masks>4</m_Masks>
|
||||||
|
<m_Masks>6</m_Masks>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- HUMAN -->
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_b</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_hairy_b</textureChoices>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- HUMAN AFTER CICATRIZATION -->
|
||||||
|
|
||||||
|
<textureChoices>Body\MaleBody01</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody02</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody03</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody04</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody05</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Body\MaleBody01a</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody02a</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody03a</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody04</textureChoices>
|
||||||
|
<textureChoices>Body\MaleBody05a</textureChoices>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ZOMBIE -->
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin01_l1</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin01_l2</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin01_l3</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin02_l1</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin02_l2</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin02_l3</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin03_l1</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin03_l2</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin03_l3</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin04_l1</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin04_l2</textureChoices>
|
||||||
|
<textureChoices>Amputations\Zombie\Forearm\z_skin04_l3</textureChoices>
|
||||||
|
|
||||||
|
</clothingItem>
|
||||||
@@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
<m_Masks>5</m_Masks>
|
<m_Masks>5</m_Masks>
|
||||||
<m_Masks>6</m_Masks>
|
<m_Masks>6</m_Masks>
|
||||||
|
|
||||||
<!-- <m_UnderlayMasksFolder>media/textures/Amputations/Masks</m_UnderlayMasksFolder> -->
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
<!-- HUMAN -->
|
||||||
<textureChoices>Amputations\Human\Forearm\skin01_b</textureChoices>
|
<textureChoices>Amputations\Human\Forearm\skin01_b</textureChoices>
|
||||||
24
common/media/clothing/clothingItems/Amputation_Hand_L.xml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<clothingItem>
|
||||||
|
<m_MaleModel>Amputation\Amputation_Left_Hand_Male</m_MaleModel>
|
||||||
|
<m_FemaleModel>Amputation\Amputation_Left_Hand_Female</m_FemaleModel>
|
||||||
|
<m_GUID>2de93af2-b7a8-4c04-84d1-28d92cce8a0f</m_GUID>
|
||||||
|
<m_Static>false</m_Static>
|
||||||
|
<m_AllowRandomHue>false</m_AllowRandomHue>
|
||||||
|
<m_AllowRandomTint>false</m_AllowRandomTint>
|
||||||
|
<m_Masks>4</m_Masks>
|
||||||
|
<m_MasksFolder>none</m_MasksFolder>
|
||||||
|
|
||||||
|
<!-- HUMAN -->
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_b</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_hairy_b</textureChoices>
|
||||||
|
</clothingItem>
|
||||||
23
common/media/clothing/clothingItems/Amputation_Hand_R.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<clothingItem>
|
||||||
|
<m_MaleModel>Amputation\Amputation_Right_Hand_Male</m_MaleModel>
|
||||||
|
<m_FemaleModel>Amputation\Amputation_Right_Hand_Female</m_FemaleModel>
|
||||||
|
<m_GUID>f114e53a-b92e-4639-8d8c-2b43ab981885</m_GUID>
|
||||||
|
<m_Static>false</m_Static>
|
||||||
|
<m_AllowRandomHue>false</m_AllowRandomHue>
|
||||||
|
<m_AllowRandomTint>false</m_AllowRandomTint>
|
||||||
|
<m_Masks>6</m_Masks>
|
||||||
|
<m_MasksFolder>none</m_MasksFolder>
|
||||||
|
|
||||||
|
<!-- HUMAN -->
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_b</textureChoices>
|
||||||
|
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin01_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin02_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin03_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin04_hairy_b</textureChoices>
|
||||||
|
<textureChoices>Amputations\Human\Forearm\skin05_hairy_b</textureChoices>
|
||||||
|
</clothingItem>
|
||||||
@@ -9,8 +9,6 @@
|
|||||||
<m_Masks>3</m_Masks>
|
<m_Masks>3</m_Masks>
|
||||||
<m_Masks>4</m_Masks>
|
<m_Masks>4</m_Masks>
|
||||||
|
|
||||||
<!-- <m_UnderlayMasksFolder>media/textures/Amputations/Masks</m_UnderlayMasksFolder> -->
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
<!-- HUMAN -->
|
||||||
<textureChoices>Amputations\Human\Upperarm\skin01_b</textureChoices>
|
<textureChoices>Amputations\Human\Upperarm\skin01_b</textureChoices>
|
||||||
<textureChoices>Amputations\Human\Upperarm\skin02_b</textureChoices>
|
<textureChoices>Amputations\Human\Upperarm\skin02_b</textureChoices>
|
||||||
@@ -8,8 +8,7 @@
|
|||||||
<m_AllowRandomTint>false</m_AllowRandomTint>
|
<m_AllowRandomTint>false</m_AllowRandomTint>
|
||||||
<m_Masks>5</m_Masks>
|
<m_Masks>5</m_Masks>
|
||||||
<m_Masks>6</m_Masks>
|
<m_Masks>6</m_Masks>
|
||||||
<!-- <m_UnderlayMasksFolder>media/textures/Amputations/Masks</m_UnderlayMasksFolder> -->
|
|
||||||
|
|
||||||
<!-- HUMAN -->
|
<!-- HUMAN -->
|
||||||
<textureChoices>Amputations\Human\Upperarm\skin01_b</textureChoices>
|
<textureChoices>Amputations\Human\Upperarm\skin01_b</textureChoices>
|
||||||
<textureChoices>Amputations\Human\Upperarm\skin02_b</textureChoices>
|
<textureChoices>Amputations\Human\Upperarm\skin02_b</textureChoices>
|
||||||
@@ -57,5 +57,11 @@
|
|||||||
<guid>9a5fe063-63c7-4e6f-81ca-ee77c6678e0d</guid>
|
<guid>9a5fe063-63c7-4e6f-81ca-ee77c6678e0d</guid>
|
||||||
</files>
|
</files>
|
||||||
|
|
||||||
|
<!-- TEST -->
|
||||||
|
<files>
|
||||||
|
<path>media/clothing/clothingItems/Amputation_ForeArm_LR.xml</path>
|
||||||
|
<guid>8e5bc1b4-d79b-4a17-b86b-71dab6ace816</guid>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
|
||||||
</fileGuidTable>
|
</fileGuidTable>
|
||||||
@@ -12,7 +12,7 @@ local ClientRelayCommands = {}
|
|||||||
local function InitAmputationHandler(limbName, surgeonNum)
|
local function InitAmputationHandler(limbName, surgeonNum)
|
||||||
|
|
||||||
-- TODO Pretty unclean
|
-- TODO Pretty unclean
|
||||||
local surgeonPl = getSpecificPlayer(surgeonNum) -- fix broken, getOnlineID not working anymore
|
local surgeonPl = getSpecificPlayer(surgeonNum)
|
||||||
local handler = AmputationHandler:new(limbName, surgeonPl)
|
local handler = AmputationHandler:new(limbName, surgeonPl)
|
||||||
return handler
|
return handler
|
||||||
end
|
end
|
||||||
@@ -46,14 +46,6 @@ function ClientRelayCommands.ReceiveApplyFromServer()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--* WEAR AMPUTATION ITEM *--
|
|
||||||
function ClientRelayCommands.ReceiveWearAmputation(args)
|
|
||||||
local itemName = args.itemName
|
|
||||||
local clothingItem = getPlayer():getInventory():FindAndReturn(itemName)
|
|
||||||
getPlayer():setWornItem(clothingItem:getBodyLocation(), clothingItem)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
--* TRIGGERED BY ADMINS *--
|
--* TRIGGERED BY ADMINS *--
|
||||||
|
|
||||||
function ClientRelayCommands.ReceiveExecuteInitialization()
|
function ClientRelayCommands.ReceiveExecuteInitialization()
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
-- TODO Should be server side in 42.13
|
|
||||||
|
|
||||||
local StaticData = require("TOC/StaticData")
|
local StaticData = require("TOC/StaticData")
|
||||||
local CommonMethods = require("TOC/CommonMethods")
|
local CommonMethods = require("TOC/CommonMethods")
|
||||||
local CommandsData = require("TOC/CommandsData")
|
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
--- Submodule to handle spawning the correct items after certain actions (ie: cutting a hand). LOCAL ONLY!
|
--- Submodule to handle spawning the correct items after certain actions (ie: cutting a hand). LOCAL ONLY!
|
||||||
@@ -21,6 +17,7 @@ ItemsController.Player = {}
|
|||||||
---@return number
|
---@return number
|
||||||
---@private
|
---@private
|
||||||
function ItemsController.Player.GetAmputationTexturesIndex(playerObj, isCicatrized)
|
function ItemsController.Player.GetAmputationTexturesIndex(playerObj, isCicatrized)
|
||||||
|
-- todo
|
||||||
local textureString = playerObj:getHumanVisual():getSkinTexture()
|
local textureString = playerObj:getHumanVisual():getSkinTexture()
|
||||||
local isHairy = textureString:sub(-1) == "a"
|
local isHairy = textureString:sub(-1) == "a"
|
||||||
|
|
||||||
@@ -51,8 +48,6 @@ function ItemsController.Player.RemoveClothingItem(playerObj, clothingItem)
|
|||||||
|
|
||||||
---@diagnostic disable-next-line: param-type-mismatch
|
---@diagnostic disable-next-line: param-type-mismatch
|
||||||
playerObj:getInventory():Remove(clothingItem) -- Umbrella is wrong, can be an InventoryItem too
|
playerObj:getInventory():Remove(clothingItem) -- Umbrella is wrong, can be an InventoryItem too
|
||||||
sendRemoveItemFromContainer(playerObj:getInventory(), clothingItem)
|
|
||||||
|
|
||||||
TOC_DEBUG.print("found and deleted" .. tostring(clothingItem))
|
TOC_DEBUG.print("found and deleted" .. tostring(clothingItem))
|
||||||
|
|
||||||
-- Reset model
|
-- Reset model
|
||||||
@@ -99,7 +94,11 @@ function ItemsController.Player.DeleteAllOldAmputationItems(playerObj)
|
|||||||
---@cast clothItem InventoryItem
|
---@cast clothItem InventoryItem
|
||||||
ItemsController.Player.RemoveClothingItem(playerObj, clothItem)
|
ItemsController.Player.RemoveClothingItem(playerObj, clothItem)
|
||||||
end
|
end
|
||||||
|
-- Reset model just in case
|
||||||
|
playerObj:resetModel()
|
||||||
|
|
||||||
|
-- group:setMultiItem("TOC_Arm", true)
|
||||||
|
-- group:setMultiItem("TOC_ArmProst", true)
|
||||||
end
|
end
|
||||||
|
|
||||||
---Spawns and equips the correct amputation item to the player.
|
---Spawns and equips the correct amputation item to the player.
|
||||||
@@ -107,15 +106,12 @@ end
|
|||||||
---@param limbName string
|
---@param limbName string
|
||||||
function ItemsController.Player.SpawnAmputationItem(playerObj, limbName)
|
function ItemsController.Player.SpawnAmputationItem(playerObj, limbName)
|
||||||
TOC_DEBUG.print("clothing name " .. StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName)
|
TOC_DEBUG.print("clothing name " .. StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName)
|
||||||
local itemName = StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName
|
local clothingItem = playerObj:getInventory():AddItem(StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. limbName)
|
||||||
local clothingItem = playerObj:getInventory():AddItem(itemName)
|
|
||||||
|
|
||||||
local texId = ItemsController.Player.GetAmputationTexturesIndex(playerObj, false)
|
local texId = ItemsController.Player.GetAmputationTexturesIndex(playerObj, false)
|
||||||
|
|
||||||
---@cast clothingItem InventoryItem
|
---@cast clothingItem InventoryItem
|
||||||
clothingItem:getVisual():setTextureChoice(texId) -- it counts from 0, so we have to subtract 1
|
clothingItem:getVisual():setTextureChoice(texId) -- it counts from 0, so we have to subtract 1
|
||||||
sendAddItemToContainer(playerObj:getInventory(), clothingItem)
|
playerObj:setWornItem(clothingItem:getBodyLocation(), clothingItem)
|
||||||
sendServerCommand(playerObj, CommandsData.modules.TOC_RELAY, CommandsData.client.Relay.ReceiveWearAmputation, {itemName = itemName, texId = texId})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
---Search through worn items and modifies a specific amputation item
|
---Search through worn items and modifies a specific amputation item
|
||||||
@@ -397,7 +397,7 @@ end
|
|||||||
local og_ISClothingExtraAction_isValid = OverridenMethodsArchive.Save("ISClothingExtraAction_isValid", ISClothingExtraAction.isValid)
|
local og_ISClothingExtraAction_isValid = OverridenMethodsArchive.Save("ISClothingExtraAction_isValid", ISClothingExtraAction.isValid)
|
||||||
---@diagnostic disable-next-line: duplicate-set-field
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
function ISClothingExtraAction:isValid()
|
function ISClothingExtraAction:isValid()
|
||||||
return LimitActionsController.WrapClothingAction(self, og_ISClothingExtraAction_isValid, instanceItem(self.extra))
|
return LimitActionsController.WrapClothingAction(self, og_ISClothingExtraAction_isValid, InventoryItemFactory.CreateItem(self.extra))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -1,11 +1,8 @@
|
|||||||
local DataController = require("TOC/Controllers/DataController")
|
local DataController = require("TOC/Controllers/DataController")
|
||||||
local CommonMethods = require("TOC/CommonMethods")
|
local CommonMethods = require("TOC/CommonMethods")
|
||||||
local CachedDataHandler = require("TOC/Handlers/CachedDataHandler")
|
local CachedDataHandler = require("TOC/Handlers/CachedDataHandler")
|
||||||
local CommandsData = require("TOC/CommandsData")
|
|
||||||
|
|
||||||
local StaticData = require("TOC/StaticData")
|
local StaticData = require("TOC/StaticData")
|
||||||
require("TOC/Events")
|
require("TOC/Events")
|
||||||
local TOC = require("TOC/Registries")
|
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
||||||
@@ -40,7 +37,8 @@ function LocalPlayerController.InitializePlayer(isForced)
|
|||||||
|
|
||||||
-- Since isForced is used to reset an existing player data, we're gonna clean their ISHealthPanel table too
|
-- Since isForced is used to reset an existing player data, we're gonna clean their ISHealthPanel table too
|
||||||
if isForced then
|
if isForced then
|
||||||
sendClientCommand(CommandsData.modules.TOC_ITEMS, "DeleteAllOldAmputationItems", {playerNum = playerObj:getOnlineID()})
|
local ItemsController = require("TOC/Controllers/ItemsController")
|
||||||
|
ItemsController.Player.DeleteAllOldAmputationItems(playerObj)
|
||||||
CachedDataHandler.Setup(username)
|
CachedDataHandler.Setup(username)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -58,7 +56,7 @@ function LocalPlayerController.ManageTraits()
|
|||||||
|
|
||||||
local AmputationHandler = require("TOC/Handlers/AmputationHandler")
|
local AmputationHandler = require("TOC/Handlers/AmputationHandler")
|
||||||
for k, v in pairs(StaticData.TRAITS_BP) do
|
for k, v in pairs(StaticData.TRAITS_BP) do
|
||||||
if playerObj:hasTrait(TOC.traits[k]) then
|
if playerObj:HasTrait(k) then
|
||||||
-- Once we find one, we should be done since they're exclusive
|
-- Once we find one, we should be done since they're exclusive
|
||||||
TOC_DEBUG.print("Player has amputation trait " .. k .. ", executing it")
|
TOC_DEBUG.print("Player has amputation trait " .. k .. ", executing it")
|
||||||
local tempHandler = AmputationHandler:new(v, playerObj)
|
local tempHandler = AmputationHandler:new(v, playerObj)
|
||||||
@@ -95,8 +93,7 @@ function LocalPlayerController.HealArea(bodyPart)
|
|||||||
bodyPart:setBleedingTime(0)
|
bodyPart:setBleedingTime(0)
|
||||||
|
|
||||||
bodyPart:SetBitten(false)
|
bodyPart:SetBitten(false)
|
||||||
--bodyPart:setBiteTime(0)
|
bodyPart:setBiteTime(0)
|
||||||
bodyPart:SetInfected(false)
|
|
||||||
|
|
||||||
bodyPart:setCut(false)
|
bodyPart:setCut(false)
|
||||||
bodyPart:setCutTime(0)
|
bodyPart:setCutTime(0)
|
||||||
@@ -113,14 +110,14 @@ end
|
|||||||
---@param bodyPart BodyPart
|
---@param bodyPart BodyPart
|
||||||
---@param limbName string
|
---@param limbName string
|
||||||
---@param dcInst DataController
|
---@param dcInst DataController
|
||||||
function LocalPlayerController.HealZombieInfection(bodyDamage, limbName, dcInst)
|
function LocalPlayerController.HealZombieInfection(bodyDamage, bodyPart, limbName, dcInst)
|
||||||
-- FIX Different in B42.13, to be set with stats?
|
|
||||||
if bodyDamage:isInfected() == false then return end
|
if bodyDamage:isInfected() == false then return end
|
||||||
|
|
||||||
bodyDamage:setInfected(false)
|
bodyDamage:setInfected(false)
|
||||||
bodyDamage:setInfectionMortalityDuration(-1)
|
bodyDamage:setInfectionMortalityDuration(-1)
|
||||||
bodyDamage:setInfectionTime(-1)
|
bodyDamage:setInfectionTime(-1)
|
||||||
--bodyPart:SetInfected(false)
|
bodyDamage:setInfectionLevel(-1)
|
||||||
|
bodyPart:SetInfected(false)
|
||||||
|
|
||||||
dcInst:setIsInfected(limbName, false)
|
dcInst:setIsInfected(limbName, false)
|
||||||
dcInst:apply()
|
dcInst:apply()
|
||||||
@@ -186,7 +183,7 @@ function LocalPlayerController.HandleDamage(character)
|
|||||||
-- Special case for bites\zombie infections
|
-- Special case for bites\zombie infections
|
||||||
if bodyPart:IsInfected() then
|
if bodyPart:IsInfected() then
|
||||||
TOC_DEBUG.print("Healed from zombie infection - " .. limbName)
|
TOC_DEBUG.print("Healed from zombie infection - " .. limbName)
|
||||||
LocalPlayerController.HealZombieInfection(bd, limbName, dcInst)
|
LocalPlayerController.HealZombieInfection(bd, bodyPart, limbName, dcInst)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if (bodyPart:bitten() or bodyPart:IsInfected()) and not dcInst:getIsInfected(limbName) then
|
if (bodyPart:bitten() or bodyPart:IsInfected()) and not dcInst:getIsInfected(limbName) then
|
||||||
@@ -320,10 +317,9 @@ function LocalPlayerController.HandleSetCicatrization(dcInst, playerObj, limbNam
|
|||||||
dcInst:setIsCicatrized(limbName, true)
|
dcInst:setIsCicatrized(limbName, true)
|
||||||
dcInst:setCicatrizationTime(limbName, 0)
|
dcInst:setCicatrizationTime(limbName, 0)
|
||||||
|
|
||||||
-- -- Set visuals for the amputation
|
-- Set visuals for the amputation
|
||||||
sendClientCommand(CommandsData.modules.TOC_ITEMS, "OverrideAmputationItemVisuals",
|
local ItemsController = require("TOC/Controllers/ItemsController")
|
||||||
{playerNum = playerObj:getOnlineID(), limbName = limbName, isCicatrized = true})
|
ItemsController.Player.OverrideAmputationItemVisuals(playerObj, limbName, true)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--* Object drop handling when amputation occurs
|
--* Object drop handling when amputation occurs
|
||||||
@@ -64,18 +64,18 @@ end
|
|||||||
---@param obj any self
|
---@param obj any self
|
||||||
---@param wrappedFunc function
|
---@param wrappedFunc function
|
||||||
function TourniquetController.WrapClothingAction(obj, wrappedFunc)
|
function TourniquetController.WrapClothingAction(obj, wrappedFunc)
|
||||||
-- local isTourniquet = TourniquetController.IsItemTourniquet(obj.item:getFullType())
|
local isTourniquet = TourniquetController.IsItemTourniquet(obj.item:getFullType())
|
||||||
-- local group
|
local group
|
||||||
-- if isTourniquet then
|
if isTourniquet then
|
||||||
-- group = BodyLocations.getGroup("Human")
|
group = BodyLocations.getGroup("Human")
|
||||||
-- group:setMultiItem(TourniquetController.bodyLoc, false)
|
group:setMultiItem(TourniquetController.bodyLoc, false)
|
||||||
-- end
|
end
|
||||||
|
|
||||||
local ogValue = wrappedFunc(obj)
|
local ogValue = wrappedFunc(obj)
|
||||||
|
|
||||||
-- if isTourniquet then
|
if isTourniquet then
|
||||||
-- group:setMultiItem(TourniquetController.bodyLoc, true)
|
group:setMultiItem(TourniquetController.bodyLoc, true)
|
||||||
-- end
|
end
|
||||||
|
|
||||||
return ogValue -- Needed for isValid
|
return ogValue -- Needed for isValid
|
||||||
end
|
end
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
-- TODO Move this to server side for 42.13
|
|
||||||
|
|
||||||
|
|
||||||
local DataController = require("TOC/Controllers/DataController")
|
local DataController = require("TOC/Controllers/DataController")
|
||||||
local CommandsData = require("TOC/CommandsData")
|
local ItemsController = require("TOC/Controllers/ItemsController")
|
||||||
local CachedDataHandler = require("TOC/Handlers/CachedDataHandler")
|
local CachedDataHandler = require("TOC/Handlers/CachedDataHandler")
|
||||||
local LocalPlayerController = require("TOC/Controllers/LocalPlayerController")
|
local LocalPlayerController = require("TOC/Controllers/LocalPlayerController")
|
||||||
local StaticData = require("TOC/StaticData")
|
local StaticData = require("TOC/StaticData")
|
||||||
@@ -155,11 +152,11 @@ function AmputationHandler:damageAfterAmputation(surgeonFactor)
|
|||||||
bodyPart:setBleedingTime(baseDamage - surgeonFactor)
|
bodyPart:setBleedingTime(baseDamage - surgeonFactor)
|
||||||
bodyPart:setDeepWounded(true)
|
bodyPart:setDeepWounded(true)
|
||||||
bodyPart:setDeepWoundTime(baseDamage - surgeonFactor)
|
bodyPart:setDeepWoundTime(baseDamage - surgeonFactor)
|
||||||
patientStats:set(CharacterStat.ENDURANCE, surgeonFactor)
|
patientStats:setEndurance(surgeonFactor)
|
||||||
patientStats:set(CharacterStat.STRESS, baseDamage - surgeonFactor)
|
patientStats:setStress(baseDamage - surgeonFactor)
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Execute the amputation. This method doesn't check if the upper limb has been amputated or not, so if
|
---Execute the amputation. This method doesn't check if the upper limb has been amputated or not, so if
|
||||||
--- somehow the method gets triggered and we're trying to cut off a part that doesn't really exist anymore,
|
--- somehow the method gets triggered and we're trying to cut off a part that doesn't really exist anymore,
|
||||||
--- it will still be executed. This is by design, additional checks must be made BEFORE running the AmputationHandler
|
--- it will still be executed. This is by design, additional checks must be made BEFORE running the AmputationHandler
|
||||||
---@param damagePlayer boolean
|
---@param damagePlayer boolean
|
||||||
@@ -177,13 +174,8 @@ function AmputationHandler:execute(damagePlayer)
|
|||||||
LocalPlayerController.HealArea(bodyPart)
|
LocalPlayerController.HealArea(bodyPart)
|
||||||
|
|
||||||
-- Give the player the correct amputation item
|
-- Give the player the correct amputation item
|
||||||
|
ItemsController.Player.DeleteOldAmputationItem(self.patientPl, self.limbName)
|
||||||
-- FIX This can be done in a single step instead of this crap
|
ItemsController.Player.SpawnAmputationItem(self.patientPl, self.limbName)
|
||||||
sendClientCommand(CommandsData.modules.TOC_ITEMS, "DeleteOldAmputationItem",
|
|
||||||
{playerNum = self.patientPl:getOnlineID(), limbName = self.limbName})
|
|
||||||
sendClientCommand(CommandsData.modules.TOC_ITEMS, "SpawnAmputationItem",
|
|
||||||
{playerNum = self.patientPl:getOnlineID(), limbName = self.limbName})
|
|
||||||
|
|
||||||
|
|
||||||
-- Add it to the list of cut limbs on this local client
|
-- Add it to the list of cut limbs on this local client
|
||||||
local username = self.patientPl:getUsername()
|
local username = self.patientPl:getUsername()
|
||||||
@@ -198,13 +190,8 @@ function AmputationHandler:execute(damagePlayer)
|
|||||||
-- Cache highest amputation and hand feasibility
|
-- Cache highest amputation and hand feasibility
|
||||||
CachedDataHandler.CalculateCacheableValues(username)
|
CachedDataHandler.CalculateCacheableValues(username)
|
||||||
|
|
||||||
-- TODO Test this again for 42.13
|
|
||||||
-- If the part was actually infected, heal the player, if they were in time (infectionLevel < 20)
|
-- If the part was actually infected, heal the player, if they were in time (infectionLevel < 20)
|
||||||
local infectionLevel = self.patientPl:getStats():get(CharacterStat.ZOMBIE_INFECTION)
|
if bd:getInfectionLevel() < 20 and bodyPart:IsInfected() and not dcInst:getIsIgnoredPartInfected() then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if infectionLevel < 20 and bodyPart:IsInfected() and not dcInst:getIsIgnoredPartInfected() then
|
|
||||||
LocalPlayerController.HealZombieInfection(bd, bodyPart, self.limbName, dcInst)
|
LocalPlayerController.HealZombieInfection(bd, bodyPart, self.limbName, dcInst)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -216,9 +203,9 @@ function AmputationHandler:execute(damagePlayer)
|
|||||||
triggerEvent("OnAmputatedLimb", self.limbName)
|
triggerEvent("OnAmputatedLimb", self.limbName)
|
||||||
end
|
end
|
||||||
|
|
||||||
---Delete the instance
|
---Deletes the instance
|
||||||
function AmputationHandler:close()
|
function AmputationHandler:close()
|
||||||
AmputationHandler.instance = nil
|
AmputationHandler.instance = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
return AmputationHandler
|
return AmputationHandler
|
||||||
@@ -9,20 +9,21 @@ local OverridenMethodsArchive = require("TOC/OverridenMethodsArchive")
|
|||||||
---@class ProsthesisHandler
|
---@class ProsthesisHandler
|
||||||
local ProsthesisHandler = {}
|
local ProsthesisHandler = {}
|
||||||
|
|
||||||
local bodylocArmProstBaseline = "toc:toc_armprost"
|
local bodyLocArmProst = StaticData.MOD_BODYLOCS_BASE_IND_STR.TOC_ArmProst
|
||||||
--local bodyLocLegProst = "TOC_LegProst"
|
local bodyLocLegProst = StaticData.MOD_BODYLOCS_BASE_IND_STR.TOC_LegProst
|
||||||
|
|
||||||
---Check if the following item is a prosthesis or not
|
---Check if the following item is a prosthesis or not
|
||||||
---@param item InventoryItem?
|
---@param item InventoryItem?
|
||||||
---@return boolean
|
---@return boolean
|
||||||
function ProsthesisHandler.CheckIfProst(item)
|
function ProsthesisHandler.CheckIfProst(item)
|
||||||
-- TODO Won't be correct when prost for legs are gonna be in
|
-- TODO Won't be correct when prost for legs are gonna be in
|
||||||
|
--TOC_DEBUG.print("Checking if item is prost")
|
||||||
if item == nil then
|
if item == nil then
|
||||||
TOC_DEBUG.print("Not prost")
|
--TOC_DEBUG.print("Not prost")
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
return item:getBodyLocation():toString():contains(bodylocArmProstBaseline)
|
return item:getBodyLocation():contains(bodyLocArmProst)
|
||||||
end
|
end
|
||||||
|
|
||||||
---Get the grouping for the prosthesis
|
---Get the grouping for the prosthesis
|
||||||
@@ -32,10 +33,13 @@ function ProsthesisHandler.GetGroup(item)
|
|||||||
local fullType = item:getFullType()
|
local fullType = item:getFullType()
|
||||||
local side = CommonMethods.GetSide(fullType)
|
local side = CommonMethods.GetSide(fullType)
|
||||||
|
|
||||||
|
|
||||||
local bodyLocation = item:getBodyLocation()
|
local bodyLocation = item:getBodyLocation()
|
||||||
local position
|
local position
|
||||||
if bodyLocation:toString():contains(bodylocArmProstBaseline) then
|
if bodyLocation == bodyLocArmProst then
|
||||||
position = "Top_"
|
position = "Top_"
|
||||||
|
elseif bodyLocation == bodyLocLegProst then
|
||||||
|
position = "Bottom_"
|
||||||
else
|
else
|
||||||
TOC_DEBUG.print("Something is wrong, no position in this item")
|
TOC_DEBUG.print("Something is wrong, no position in this item")
|
||||||
position = nil
|
position = nil
|
||||||
@@ -163,15 +167,15 @@ function ISUnequipAction:perform()
|
|||||||
]]
|
]]
|
||||||
|
|
||||||
local isProst = ProsthesisHandler.SearchAndSetupProsthesis(self.item, false)
|
local isProst = ProsthesisHandler.SearchAndSetupProsthesis(self.item, false)
|
||||||
-- local group
|
local group
|
||||||
-- if isProst then
|
if isProst then
|
||||||
-- group = BodyLocations.getGroup("Human")
|
group = BodyLocations.getGroup("Human")
|
||||||
-- group:setMultiItem("TOC_ArmProst", false)
|
group:setMultiItem("TOC_ArmProst", false)
|
||||||
-- end
|
end
|
||||||
og_ISUnequipAction_perform(self)
|
og_ISUnequipAction_perform(self)
|
||||||
|
|
||||||
if isProst then
|
if isProst then
|
||||||
-- group:setMultiItem("TOC_ArmProst", true)
|
group:setMultiItem("TOC_ArmProst", true)
|
||||||
|
|
||||||
-- we need to fetch the limbname associated to the prosthesis
|
-- we need to fetch the limbname associated to the prosthesis
|
||||||
local side = CommonMethods.GetSide(self.item:getFullType())
|
local side = CommonMethods.GetSide(self.item:getFullType())
|
||||||
@@ -6,7 +6,7 @@ require("TOC/Events")
|
|||||||
|
|
||||||
---@class Main
|
---@class Main
|
||||||
local Main = {
|
local Main = {
|
||||||
_version = "2.3"
|
_version = "2.1.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
function Main.Start()
|
function Main.Start()
|
||||||