From 3f888e7f2263ef27f1c32eadad6090cd9271fce6 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Sun, 14 Dec 2025 10:39:28 +0100 Subject: [PATCH 01/18] fix: bodyloc for b42 mp --- common/media/lua/shared/TOC/BodyLocations.lua | 2 +- common/media/lua/shared/TOC/StaticData.lua | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/common/media/lua/shared/TOC/BodyLocations.lua b/common/media/lua/shared/TOC/BodyLocations.lua index 5c55c13..c3691a2 100644 --- a/common/media/lua/shared/TOC/BodyLocations.lua +++ b/common/media/lua/shared/TOC/BodyLocations.lua @@ -13,7 +13,7 @@ local list = customGetVal(group, 1) function BodyLocationsAPI.New(bodyLoc) local curItem if StaticData.COMPAT_42 then - curItem = BodyLocation.new(group, bodyLoc) -- create new item + curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create group:getAllLocations():add(curItem) -- add to the list else curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create diff --git a/common/media/lua/shared/TOC/StaticData.lua b/common/media/lua/shared/TOC/StaticData.lua index fe181bc..cc804d3 100644 --- a/common/media/lua/shared/TOC/StaticData.lua +++ b/common/media/lua/shared/TOC/StaticData.lua @@ -22,7 +22,6 @@ local StaticData = {} StaticData.MOD_NAME = "TOC" -- Game version, used to correct some stuff instead of relying on versioned folders - StaticData.COMPAT_42 = luautils.stringStarts(getGameVersion(), "42") ------------------------- From 20fa1bd05e52a77f7a6098b242ff9c69389be62b Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 00:34:40 +0100 Subject: [PATCH 02/18] refactor: removed compat with b41 entirely --- .../clothingItems/Amputation_ForeArm_L.xml | 0 .../clothingItems/Amputation_ForeArm_R.xml | 0 .../clothingItems/Amputation_Hand_L.xml | 0 .../clothingItems/Amputation_Hand_R.xml | 0 .../clothingItems/Amputation_UpperArm_L.xml | 0 .../clothingItems/Amputation_UpperArm_R.xml | 0 .../clothingItems/Prost_HookArm_L.xml | 0 .../clothingItems/Prost_HookArm_R.xml | 0 .../clothingItems/Prost_NormalArm_L.xml | 0 .../clothingItems/Prost_NormalArm_R.xml | 0 .../clothingItems/Surg_Arm_Tourniquet_L.xml | 0 .../clothingItems/Surg_Arm_Tourniquet_R.xml | 0 {common => 42}/media/fileGuidTable.xml | 0 .../Controllers/LimitActionsController.lua | 10 -- .../TOC-42/Handlers/ProsthesisHandler.lua | 40 ------- {common => 42}/media/lua/client/TOC/API.lua | 0 {common => 42}/media/lua/client/TOC/Admin.lua | 0 .../lua/client/TOC/ClientRelayCommands.lua | 0 .../media/lua/client/TOC/CommonMethods.lua | 0 .../media/lua/client/TOC/Compat.lua | 0 .../client/TOC/Controllers/DataController.lua | 0 .../TOC/Controllers/ItemsController.lua | 0 .../Controllers/LimitActionsController.lua | 2 +- .../TOC/Controllers/LocalPlayerController.lua | 2 +- .../TOC/Controllers/TourniquetController.lua | 0 .../media/lua/client/TOC/Events.lua | 0 .../client/TOC/Handlers/AmputationHandler.lua | 0 .../client/TOC/Handlers/CachedDataHandler.lua | 0 .../client/TOC/Handlers/ProsthesisHandler.lua | 27 +++-- {common => 42}/media/lua/client/TOC/Main.lua | 2 +- {common => 42}/media/lua/client/TOC/Tests.lua | 0 .../TOC/TimedActions/CauterizeAction.lua | 0 .../TOC/TimedActions/CleanWoundAction.lua | 2 +- .../client/TOC/TimedActions/CutLimbAction.lua | 0 .../TOC/TimedActions/IgnoredActions.lua | 0 .../TOC/TimedActions/WashYourselfOverride.lua | 0 .../lua/client/TOC/UI/ConfirmationPanel.lua | 0 .../media/lua/client/TOC/UI/HealthPanel.lua | 0 .../CutLimbInteractionHandler.lua | 0 .../Interactions/HealthPanelBaseHandler.lua | 0 .../WoundCleaningInteractionHandler.lua | 0 .../lua/client/TOC/UI/SurgeryInteractions.lua | 2 +- .../client/TOC/Zombies/ZombiesAmputation.lua | 0 .../media/lua/client/lua_timers.lua | 0 .../media/lua/server/TOC/DebugCommands.lua | 0 .../media/lua/server/TOC/Distributions.lua | 0 .../lua/server/TOC/LimitActionsController.lua | 0 .../lua/server/TOC/ServerDataHandler.lua | 0 .../lua/server/TOC/ServerRelayCommands.lua | 0 42/media/lua/shared/TOC/BodyLocations.lua | 110 ++++++++++++++++++ .../media/lua/shared/TOC/CommandsData.lua | 0 {common => 42}/media/lua/shared/TOC/Debug.lua | 0 .../shared/TOC/OverridenMethodsArchive.lua | 0 42/media/lua/shared/TOC/Registries.lua | 1 + .../media/lua/shared/TOC/StaticData.lua | 0 .../TOC}/Translate/DE/ContextMenu_DE.txt | 0 .../lua/shared/TOC}/Translate/DE/IG_UI_DE.txt | 0 .../shared/TOC}/Translate/DE/ItemName_DE.txt | 0 .../shared/TOC}/Translate/DE/Recipes_DE.txt | 0 .../shared/TOC}/Translate/DE/Sandbox_DE.txt | 0 .../shared/TOC}/Translate/DE/Tooltip_DE.txt | 0 .../lua/shared/TOC}/Translate/DE/UI_DE.txt | 0 .../TOC}/Translate/EN/ContextMenu_EN.txt | 0 .../lua/shared/TOC}/Translate/EN/IG_UI_EN.txt | 0 .../shared/TOC}/Translate/EN/ItemName_EN.txt | 0 .../shared/TOC}/Translate/EN/Recipes_EN.txt | 0 .../shared/TOC}/Translate/EN/Sandbox_EN.txt | 0 .../shared/TOC}/Translate/EN/Tooltip_EN.txt | 0 .../lua/shared/TOC}/Translate/EN/UI_EN.txt | 0 .../TOC}/Translate/FR/ContextMenu_FR.txt | 0 .../lua/shared/TOC}/Translate/FR/IG_UI_FR.txt | 0 .../shared/TOC}/Translate/FR/ItemName_FR.txt | 0 .../shared/TOC}/Translate/FR/Recipes_FR.txt | 0 .../shared/TOC}/Translate/FR/Sandbox_FR.txt | 0 .../shared/TOC}/Translate/FR/Tooltip_FR.txt | 0 .../lua/shared/TOC}/Translate/FR/UI_FR.txt | 0 .../TOC}/Translate/IT/ContextMenu_IT.txt | 0 .../lua/shared/TOC}/Translate/IT/IG_UI_IT.txt | 0 .../shared/TOC}/Translate/IT/ItemName_IT.txt | 0 .../shared/TOC}/Translate/IT/Recipes_IT.txt | 0 .../shared/TOC}/Translate/IT/Sandbox_IT.txt | 0 .../shared/TOC}/Translate/IT/Tooltip_IT.txt | 0 .../lua/shared/TOC}/Translate/IT/UI_IT.txt | 0 .../TOC}/Translate/KO/ContextMenu_KO.txt | Bin .../lua/shared/TOC}/Translate/KO/IG_UI_KO.txt | Bin .../shared/TOC}/Translate/KO/ItemName_KO.txt | Bin .../shared/TOC}/Translate/KO/Recipes_KO.txt | Bin .../shared/TOC}/Translate/KO/Sandbox_KO.txt | Bin .../shared/TOC}/Translate/KO/Tooltip_KO.txt | Bin .../lua/shared/TOC}/Translate/KO/UI_KO.txt | Bin .../TOC}/Translate/RU/ContextMenu_RU.txt | 0 .../lua/shared/TOC}/Translate/RU/IG_UI_RU.txt | 0 .../shared/TOC}/Translate/RU/ItemName_RU.txt | 0 .../shared/TOC}/Translate/RU/Recipes_RU.txt | 0 .../shared/TOC}/Translate/RU/Sandbox_RU.txt | 0 .../shared/TOC}/Translate/RU/Tooltip_RU.txt | 0 .../lua/shared/TOC}/Translate/RU/UI_RU.txt | 0 .../TOC}/Translate/TR/ContextMenu_TR.txt | 0 .../lua/shared/TOC}/Translate/TR/IG_UI_TR.txt | 0 .../shared/TOC}/Translate/TR/ItemName_TR.txt | 0 .../shared/TOC}/Translate/TR/Recipes_TR.txt | 0 .../shared/TOC}/Translate/TR/Sandbox_TR.txt | 0 .../shared/TOC}/Translate/TR/Tooltip_TR.txt | 0 .../lua/shared/TOC}/Translate/TR/UI_TR.txt | 0 .../TOC}/Translate/UA/ContextMenu_UA.txt | 0 .../lua/shared/TOC}/Translate/UA/IG_UI_UA.txt | 0 .../shared/TOC}/Translate/UA/ItemName_UA.txt | 0 .../shared/TOC}/Translate/UA/Recipes_UA.txt | 0 .../shared/TOC}/Translate/UA/Sandbox_UA.txt | 0 .../shared/TOC}/Translate/UA/Tooltip_UA.txt | 0 .../lua/shared/TOC}/Translate/UA/UI_UA.txt | 0 .../Amputation/Amputation_GenericModel.fbx | Bin .../Amputation_Left_Hand_Female.fbx | Bin .../Amputation/Amputation_Left_Hand_Male.fbx | Bin .../Amputation_Left_LowerArm_Female.fbx | Bin .../Amputation_Left_LowerArm_Male.fbx | Bin .../Amputation_Left_UpperArm_Female.fbx | Bin .../Amputation_Left_UpperArm_Male.fbx | Bin .../Amputation_Right_Hand_Female.fbx | Bin .../Amputation/Amputation_Right_Hand_Male.fbx | Bin .../Amputation_Right_LowerArm_Female.fbx | Bin .../Amputation_Right_LowerArm_Male.fbx | Bin .../Amputation_Right_UpperArm_Female.fbx | Bin .../Amputation_Right_UpperArm_Male.fbx | Bin .../models_X/Prosthesis/hookArm_Ground.fbx | Bin .../media/models_X/Prosthesis/hookArm_L_F.fbx | Bin .../media/models_X/Prosthesis/hookArm_L_M.fbx | Bin .../media/models_X/Prosthesis/hookArm_R_F.fbx | Bin .../media/models_X/Prosthesis/hookArm_R_M.fbx | Bin .../models_X/Prosthesis/normalArm_Ground.fbx | Bin .../models_X/Prosthesis/normalArm_L_F.fbx | Bin .../models_X/Prosthesis/normalArm_L_M.fbx | Bin .../models_X/Prosthesis/normalArm_R_F.fbx | Bin .../models_X/Prosthesis/normalArm_R_M.fbx | Bin .../models_X/Surgery/Tourniquet_Ground.fbx | Bin .../models_X/Surgery/Tourniquet_Left.fbx | Bin .../models_X/Surgery/Tourniquet_Right.fbx | Bin {common => 42}/media/perks.txt | 0 42/media/registries.lua | 15 +++ {common => 42}/media/sandbox-options.txt | 0 .../media/scripts/TOC_amputation_items.txt | 0 {common => 42}/media/scripts/TOC_models.txt | 0 .../media/scripts/TOC_prosthesis_items.txt | 0 {common => 42}/media/scripts/TOC_sounds.txt | 0 .../media/scripts/TOC_surgery_items.txt | 0 42/media/scripts/TOC_traits.txt | 43 +++++++ {common => 42}/media/sound/Amputation.ogg | Bin {common => 42}/media/sound/Cauterization.ogg | Bin .../Amputations/Human/Forearm/skin01_b.png | Bin .../Human/Forearm/skin01_hairy_b.png | Bin .../Amputations/Human/Forearm/skin02_b.png | Bin .../Human/Forearm/skin02_hairy_b.png | Bin .../Amputations/Human/Forearm/skin03_b.png | Bin .../Human/Forearm/skin03_hairy_b.png | Bin .../Amputations/Human/Forearm/skin04_b.png | Bin .../Human/Forearm/skin04_hairy_b.png | Bin .../Amputations/Human/Forearm/skin05_b.png | Bin .../Human/Forearm/skin05_hairy_b.png | Bin .../Amputations/Human/Hand/skin01_b.png | Bin .../Amputations/Human/Hand/skin01_hairy_b.png | Bin .../Amputations/Human/Hand/skin02_b.png | Bin .../Amputations/Human/Hand/skin02_hairy_b.png | Bin .../Amputations/Human/Hand/skin03_b.png | Bin .../Amputations/Human/Hand/skin03_hairy_b.png | Bin .../Amputations/Human/Hand/skin04_b.png | Bin .../Amputations/Human/Hand/skin04_hairy_b.png | Bin .../Amputations/Human/Hand/skin05_b.png | Bin .../Amputations/Human/Hand/skin05_hairy_b.png | Bin .../Amputations/Human/Upperarm/skin01_b.png | Bin .../Human/Upperarm/skin01_hairy_b.png | Bin .../Amputations/Human/Upperarm/skin02_b.png | Bin .../Human/Upperarm/skin02_hairy_b.png | Bin .../Amputations/Human/Upperarm/skin03_b.png | Bin .../Human/Upperarm/skin03_hairy_b.png | Bin .../Amputations/Human/Upperarm/skin04_b.png | Bin .../Human/Upperarm/skin04_hairy_b.png | Bin .../Amputations/Human/Upperarm/skin05_b.png | Bin .../Human/Upperarm/skin05_hairy_b.png | Bin .../media/textures/Amputations/Masks/Belt.png | Bin .../textures/Amputations/Masks/Chest.png | Bin .../textures/Amputations/Masks/Crotch.png | Bin .../textures/Amputations/Masks/Dress.png | Bin .../media/textures/Amputations/Masks/Head.png | Bin .../textures/Amputations/Masks/LeftArm.png | Bin .../textures/Amputations/Masks/LeftFoot.png | Bin .../textures/Amputations/Masks/LeftHand.png | Bin .../textures/Amputations/Masks/LeftLeg.png | Bin .../media/textures/Amputations/Masks/Mask.png | Bin .../textures/Amputations/Masks/RightArm.png | Bin .../textures/Amputations/Masks/RightFoot.png | Bin .../textures/Amputations/Masks/RightHand.png | Bin .../textures/Amputations/Masks/RightLeg.png | Bin .../textures/Amputations/Masks/Waist.png | Bin .../Zombie/Forearm/z_skin01_l1.png | Bin .../Zombie/Forearm/z_skin01_l2.png | Bin .../Zombie/Forearm/z_skin01_l3.png | Bin .../Zombie/Forearm/z_skin02_l1.png | Bin .../Zombie/Forearm/z_skin02_l2.png | Bin .../Zombie/Forearm/z_skin02_l3.png | Bin .../Zombie/Forearm/z_skin03_l1.png | Bin .../Zombie/Forearm/z_skin03_l2.png | Bin .../Zombie/Forearm/z_skin03_l3.png | Bin .../Zombie/Forearm/z_skin04_l1.png | Bin .../Zombie/Forearm/z_skin04_l2.png | Bin .../Zombie/Forearm/z_skin04_l3.png | Bin .../Zombie/Upperarm/z_skin01_l1.png | Bin .../Zombie/Upperarm/z_skin01_l2.png | Bin .../Zombie/Upperarm/z_skin01_l3.png | Bin .../Zombie/Upperarm/z_skin02_l1.png | Bin .../Zombie/Upperarm/z_skin02_l2.png | Bin .../Zombie/Upperarm/z_skin02_l3.png | Bin .../Zombie/Upperarm/z_skin03_l1.png | Bin .../Zombie/Upperarm/z_skin03_l2.png | Bin .../Zombie/Upperarm/z_skin03_l3.png | Bin .../Zombie/Upperarm/z_skin04_l1.png | Bin .../Zombie/Upperarm/z_skin04_l2.png | Bin .../Zombie/Upperarm/z_skin04_l3.png | Bin .../media/textures/Prosthesis/hookArm.png | Bin .../media/textures/Prosthesis/normalArm.png | Bin .../media/textures/Surgery/tourniquet.png | Bin .../media/textures/item_armProsthetic.png | Bin .../media/textures/item_tourniquet.png | Bin {common => 42}/media/ui/ProstArm_L.png | Bin {common => 42}/media/ui/ProstArm_R.png | Bin .../media/ui/Traits/trait_Amputee_ForeArm.png | Bin .../media/ui/Traits/trait_Amputee_Hand.png | Bin .../ui/Traits/trait_Amputee_UpperArm.png | Bin .../media/ui/Traits/trait_insensitive.png | Bin {common => 42}/media/ui/male_base_test.png | Bin {common => 42}/media/ui/test.png | Bin 42/mod.info | 4 +- common/media/lua/shared/TOC/BodyLocations.lua | 79 ------------- common/media/scripts/TOC_recipes.txt | 33 ------ common/media/ui/Female/ForeArm_L.png | Bin 1038 -> 0 bytes common/media/ui/Female/ForeArm_R.png | Bin 1053 -> 0 bytes common/media/ui/Female/Hand_L.png | Bin 1154 -> 0 bytes common/media/ui/Female/Hand_R.png | Bin 1196 -> 0 bytes common/media/ui/Female/UpperArm_L.png | Bin 983 -> 0 bytes common/media/ui/Female/UpperArm_R.png | Bin 1018 -> 0 bytes common/media/ui/Male/ForeArm_L.png | Bin 1192 -> 0 bytes common/media/ui/Male/ForeArm_R.png | Bin 1211 -> 0 bytes common/media/ui/Male/Hand_L.png | Bin 1164 -> 0 bytes common/media/ui/Male/Hand_R.png | Bin 1182 -> 0 bytes common/media/ui/Male/UpperArm_L.png | Bin 1426 -> 0 bytes common/media/ui/Male/UpperArm_R.png | Bin 1496 -> 0 bytes common/media/ui/test_pattern.png | Bin 2402 -> 0 bytes .../media/shared/TOC/BodyLocationsInit.lua | 8 ++ .../42.12/media}/shared/TOC/Traits.lua | 0 test/42.12/mod.info | 11 ++ 249 files changed, 215 insertions(+), 176 deletions(-) rename {common => 42}/media/clothing/clothingItems/Amputation_ForeArm_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Amputation_ForeArm_R.xml (100%) rename {common => 42}/media/clothing/clothingItems/Amputation_Hand_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Amputation_Hand_R.xml (100%) rename {common => 42}/media/clothing/clothingItems/Amputation_UpperArm_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Amputation_UpperArm_R.xml (100%) rename {common => 42}/media/clothing/clothingItems/Prost_HookArm_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Prost_HookArm_R.xml (100%) rename {common => 42}/media/clothing/clothingItems/Prost_NormalArm_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Prost_NormalArm_R.xml (100%) rename {common => 42}/media/clothing/clothingItems/Surg_Arm_Tourniquet_L.xml (100%) rename {common => 42}/media/clothing/clothingItems/Surg_Arm_Tourniquet_R.xml (100%) rename {common => 42}/media/fileGuidTable.xml (100%) delete mode 100644 42/media/lua/client/TOC-42/Controllers/LimitActionsController.lua delete mode 100644 42/media/lua/client/TOC-42/Handlers/ProsthesisHandler.lua rename {common => 42}/media/lua/client/TOC/API.lua (100%) rename {common => 42}/media/lua/client/TOC/Admin.lua (100%) rename {common => 42}/media/lua/client/TOC/ClientRelayCommands.lua (100%) rename {common => 42}/media/lua/client/TOC/CommonMethods.lua (100%) rename {common => 42}/media/lua/client/TOC/Compat.lua (100%) rename {common => 42}/media/lua/client/TOC/Controllers/DataController.lua (100%) rename {common => 42}/media/lua/client/TOC/Controllers/ItemsController.lua (100%) rename {common => 42}/media/lua/client/TOC/Controllers/LimitActionsController.lua (99%) rename {common => 42}/media/lua/client/TOC/Controllers/LocalPlayerController.lua (99%) rename {common => 42}/media/lua/client/TOC/Controllers/TourniquetController.lua (100%) rename {common => 42}/media/lua/client/TOC/Events.lua (100%) rename {common => 42}/media/lua/client/TOC/Handlers/AmputationHandler.lua (100%) rename {common => 42}/media/lua/client/TOC/Handlers/CachedDataHandler.lua (100%) rename {common => 42}/media/lua/client/TOC/Handlers/ProsthesisHandler.lua (89%) rename {common => 42}/media/lua/client/TOC/Main.lua (98%) rename {common => 42}/media/lua/client/TOC/Tests.lua (100%) rename {common => 42}/media/lua/client/TOC/TimedActions/CauterizeAction.lua (100%) rename {common => 42}/media/lua/client/TOC/TimedActions/CleanWoundAction.lua (98%) rename {common => 42}/media/lua/client/TOC/TimedActions/CutLimbAction.lua (100%) rename {common => 42}/media/lua/client/TOC/TimedActions/IgnoredActions.lua (100%) rename {common => 42}/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/ConfirmationPanel.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/HealthPanel.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/Interactions/CutLimbInteractionHandler.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/Interactions/HealthPanelBaseHandler.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/Interactions/WoundCleaningInteractionHandler.lua (100%) rename {common => 42}/media/lua/client/TOC/UI/SurgeryInteractions.lua (96%) rename {common => 42}/media/lua/client/TOC/Zombies/ZombiesAmputation.lua (100%) rename {common => 42}/media/lua/client/lua_timers.lua (100%) rename {common => 42}/media/lua/server/TOC/DebugCommands.lua (100%) rename {common => 42}/media/lua/server/TOC/Distributions.lua (100%) rename {common => 42}/media/lua/server/TOC/LimitActionsController.lua (100%) rename {common => 42}/media/lua/server/TOC/ServerDataHandler.lua (100%) rename {common => 42}/media/lua/server/TOC/ServerRelayCommands.lua (100%) create mode 100644 42/media/lua/shared/TOC/BodyLocations.lua rename {common => 42}/media/lua/shared/TOC/CommandsData.lua (100%) rename {common => 42}/media/lua/shared/TOC/Debug.lua (100%) rename {common => 42}/media/lua/shared/TOC/OverridenMethodsArchive.lua (100%) create mode 100644 42/media/lua/shared/TOC/Registries.lua rename {common => 42}/media/lua/shared/TOC/StaticData.lua (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/ContextMenu_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/IG_UI_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/ItemName_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/Recipes_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/Sandbox_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/Tooltip_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/DE/UI_DE.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/ContextMenu_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/IG_UI_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/ItemName_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/Recipes_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/Sandbox_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/Tooltip_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/EN/UI_EN.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/ContextMenu_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/IG_UI_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/ItemName_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/Recipes_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/Sandbox_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/Tooltip_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/FR/UI_FR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/ContextMenu_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/IG_UI_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/ItemName_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/Recipes_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/Sandbox_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/Tooltip_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/IT/UI_IT.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/ContextMenu_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/IG_UI_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/ItemName_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/Recipes_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/Sandbox_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/Tooltip_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/KO/UI_KO.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/ContextMenu_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/IG_UI_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/ItemName_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/Recipes_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/Sandbox_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/Tooltip_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/RU/UI_RU.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/ContextMenu_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/IG_UI_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/ItemName_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/Recipes_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/Sandbox_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/Tooltip_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/TR/UI_TR.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/ContextMenu_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/IG_UI_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/ItemName_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/Recipes_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/Sandbox_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/Tooltip_UA.txt (100%) rename {common/media/lua/shared => 42/media/lua/shared/TOC}/Translate/UA/UI_UA.txt (100%) rename {common => 42}/media/models_X/Amputation/Amputation_GenericModel.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_Hand_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_Hand_Male.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_LowerArm_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_LowerArm_Male.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_UpperArm_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Left_UpperArm_Male.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_Hand_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_Hand_Male.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_LowerArm_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_LowerArm_Male.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_UpperArm_Female.fbx (100%) rename {common => 42}/media/models_X/Amputation/Amputation_Right_UpperArm_Male.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/hookArm_Ground.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/hookArm_L_F.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/hookArm_L_M.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/hookArm_R_F.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/hookArm_R_M.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/normalArm_Ground.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/normalArm_L_F.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/normalArm_L_M.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/normalArm_R_F.fbx (100%) rename {common => 42}/media/models_X/Prosthesis/normalArm_R_M.fbx (100%) rename {common => 42}/media/models_X/Surgery/Tourniquet_Ground.fbx (100%) rename {common => 42}/media/models_X/Surgery/Tourniquet_Left.fbx (100%) rename {common => 42}/media/models_X/Surgery/Tourniquet_Right.fbx (100%) rename {common => 42}/media/perks.txt (100%) create mode 100644 42/media/registries.lua rename {common => 42}/media/sandbox-options.txt (100%) rename {common => 42}/media/scripts/TOC_amputation_items.txt (100%) rename {common => 42}/media/scripts/TOC_models.txt (100%) rename {common => 42}/media/scripts/TOC_prosthesis_items.txt (100%) rename {common => 42}/media/scripts/TOC_sounds.txt (100%) rename {common => 42}/media/scripts/TOC_surgery_items.txt (100%) create mode 100644 42/media/scripts/TOC_traits.txt rename {common => 42}/media/sound/Amputation.ogg (100%) rename {common => 42}/media/sound/Cauterization.ogg (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin01_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin01_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin02_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin02_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin03_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin03_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin04_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin04_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin05_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Forearm/skin05_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin01_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin01_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin02_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin02_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin03_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin03_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin04_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin04_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin05_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Hand/skin05_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin01_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin01_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin02_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin02_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin03_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin03_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin04_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin04_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin05_b.png (100%) rename {common => 42}/media/textures/Amputations/Human/Upperarm/skin05_hairy_b.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Belt.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Chest.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Crotch.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Dress.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Head.png (100%) rename {common => 42}/media/textures/Amputations/Masks/LeftArm.png (100%) rename {common => 42}/media/textures/Amputations/Masks/LeftFoot.png (100%) rename {common => 42}/media/textures/Amputations/Masks/LeftHand.png (100%) rename {common => 42}/media/textures/Amputations/Masks/LeftLeg.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Mask.png (100%) rename {common => 42}/media/textures/Amputations/Masks/RightArm.png (100%) rename {common => 42}/media/textures/Amputations/Masks/RightFoot.png (100%) rename {common => 42}/media/textures/Amputations/Masks/RightHand.png (100%) rename {common => 42}/media/textures/Amputations/Masks/RightLeg.png (100%) rename {common => 42}/media/textures/Amputations/Masks/Waist.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin01_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin01_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin01_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin02_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin02_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin02_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin03_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin03_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin03_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin04_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin04_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Forearm/z_skin04_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin01_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin01_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin01_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin02_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin02_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin02_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin03_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin03_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin03_l3.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin04_l1.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin04_l2.png (100%) rename {common => 42}/media/textures/Amputations/Zombie/Upperarm/z_skin04_l3.png (100%) rename {common => 42}/media/textures/Prosthesis/hookArm.png (100%) rename {common => 42}/media/textures/Prosthesis/normalArm.png (100%) rename {common => 42}/media/textures/Surgery/tourniquet.png (100%) rename {common => 42}/media/textures/item_armProsthetic.png (100%) rename {common => 42}/media/textures/item_tourniquet.png (100%) rename {common => 42}/media/ui/ProstArm_L.png (100%) rename {common => 42}/media/ui/ProstArm_R.png (100%) rename {common => 42}/media/ui/Traits/trait_Amputee_ForeArm.png (100%) rename {common => 42}/media/ui/Traits/trait_Amputee_Hand.png (100%) rename {common => 42}/media/ui/Traits/trait_Amputee_UpperArm.png (100%) rename {common => 42}/media/ui/Traits/trait_insensitive.png (100%) rename {common => 42}/media/ui/male_base_test.png (100%) rename {common => 42}/media/ui/test.png (100%) delete mode 100644 common/media/lua/shared/TOC/BodyLocations.lua delete mode 100644 common/media/scripts/TOC_recipes.txt delete mode 100644 common/media/ui/Female/ForeArm_L.png delete mode 100644 common/media/ui/Female/ForeArm_R.png delete mode 100644 common/media/ui/Female/Hand_L.png delete mode 100644 common/media/ui/Female/Hand_R.png delete mode 100644 common/media/ui/Female/UpperArm_L.png delete mode 100644 common/media/ui/Female/UpperArm_R.png delete mode 100644 common/media/ui/Male/ForeArm_L.png delete mode 100644 common/media/ui/Male/ForeArm_R.png delete mode 100644 common/media/ui/Male/Hand_L.png delete mode 100644 common/media/ui/Male/Hand_R.png delete mode 100644 common/media/ui/Male/UpperArm_L.png delete mode 100644 common/media/ui/Male/UpperArm_R.png delete mode 100644 common/media/ui/test_pattern.png create mode 100644 test/42.12/media/shared/TOC/BodyLocationsInit.lua rename {common/media/lua => test/42.12/media}/shared/TOC/Traits.lua (100%) create mode 100644 test/42.12/mod.info diff --git a/common/media/clothing/clothingItems/Amputation_ForeArm_L.xml b/42/media/clothing/clothingItems/Amputation_ForeArm_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_ForeArm_L.xml rename to 42/media/clothing/clothingItems/Amputation_ForeArm_L.xml diff --git a/common/media/clothing/clothingItems/Amputation_ForeArm_R.xml b/42/media/clothing/clothingItems/Amputation_ForeArm_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_ForeArm_R.xml rename to 42/media/clothing/clothingItems/Amputation_ForeArm_R.xml diff --git a/common/media/clothing/clothingItems/Amputation_Hand_L.xml b/42/media/clothing/clothingItems/Amputation_Hand_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_Hand_L.xml rename to 42/media/clothing/clothingItems/Amputation_Hand_L.xml diff --git a/common/media/clothing/clothingItems/Amputation_Hand_R.xml b/42/media/clothing/clothingItems/Amputation_Hand_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_Hand_R.xml rename to 42/media/clothing/clothingItems/Amputation_Hand_R.xml diff --git a/common/media/clothing/clothingItems/Amputation_UpperArm_L.xml b/42/media/clothing/clothingItems/Amputation_UpperArm_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_UpperArm_L.xml rename to 42/media/clothing/clothingItems/Amputation_UpperArm_L.xml diff --git a/common/media/clothing/clothingItems/Amputation_UpperArm_R.xml b/42/media/clothing/clothingItems/Amputation_UpperArm_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Amputation_UpperArm_R.xml rename to 42/media/clothing/clothingItems/Amputation_UpperArm_R.xml diff --git a/common/media/clothing/clothingItems/Prost_HookArm_L.xml b/42/media/clothing/clothingItems/Prost_HookArm_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Prost_HookArm_L.xml rename to 42/media/clothing/clothingItems/Prost_HookArm_L.xml diff --git a/common/media/clothing/clothingItems/Prost_HookArm_R.xml b/42/media/clothing/clothingItems/Prost_HookArm_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Prost_HookArm_R.xml rename to 42/media/clothing/clothingItems/Prost_HookArm_R.xml diff --git a/common/media/clothing/clothingItems/Prost_NormalArm_L.xml b/42/media/clothing/clothingItems/Prost_NormalArm_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Prost_NormalArm_L.xml rename to 42/media/clothing/clothingItems/Prost_NormalArm_L.xml diff --git a/common/media/clothing/clothingItems/Prost_NormalArm_R.xml b/42/media/clothing/clothingItems/Prost_NormalArm_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Prost_NormalArm_R.xml rename to 42/media/clothing/clothingItems/Prost_NormalArm_R.xml diff --git a/common/media/clothing/clothingItems/Surg_Arm_Tourniquet_L.xml b/42/media/clothing/clothingItems/Surg_Arm_Tourniquet_L.xml similarity index 100% rename from common/media/clothing/clothingItems/Surg_Arm_Tourniquet_L.xml rename to 42/media/clothing/clothingItems/Surg_Arm_Tourniquet_L.xml diff --git a/common/media/clothing/clothingItems/Surg_Arm_Tourniquet_R.xml b/42/media/clothing/clothingItems/Surg_Arm_Tourniquet_R.xml similarity index 100% rename from common/media/clothing/clothingItems/Surg_Arm_Tourniquet_R.xml rename to 42/media/clothing/clothingItems/Surg_Arm_Tourniquet_R.xml diff --git a/common/media/fileGuidTable.xml b/42/media/fileGuidTable.xml similarity index 100% rename from common/media/fileGuidTable.xml rename to 42/media/fileGuidTable.xml diff --git a/42/media/lua/client/TOC-42/Controllers/LimitActionsController.lua b/42/media/lua/client/TOC-42/Controllers/LimitActionsController.lua deleted file mode 100644 index 0e57d8a..0000000 --- a/42/media/lua/client/TOC-42/Controllers/LimitActionsController.lua +++ /dev/null @@ -1,10 +0,0 @@ -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 \ No newline at end of file diff --git a/42/media/lua/client/TOC-42/Handlers/ProsthesisHandler.lua b/42/media/lua/client/TOC-42/Handlers/ProsthesisHandler.lua deleted file mode 100644 index 1a5dc66..0000000 --- a/42/media/lua/client/TOC-42/Handlers/ProsthesisHandler.lua +++ /dev/null @@ -1,40 +0,0 @@ -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 \ No newline at end of file diff --git a/common/media/lua/client/TOC/API.lua b/42/media/lua/client/TOC/API.lua similarity index 100% rename from common/media/lua/client/TOC/API.lua rename to 42/media/lua/client/TOC/API.lua diff --git a/common/media/lua/client/TOC/Admin.lua b/42/media/lua/client/TOC/Admin.lua similarity index 100% rename from common/media/lua/client/TOC/Admin.lua rename to 42/media/lua/client/TOC/Admin.lua diff --git a/common/media/lua/client/TOC/ClientRelayCommands.lua b/42/media/lua/client/TOC/ClientRelayCommands.lua similarity index 100% rename from common/media/lua/client/TOC/ClientRelayCommands.lua rename to 42/media/lua/client/TOC/ClientRelayCommands.lua diff --git a/common/media/lua/client/TOC/CommonMethods.lua b/42/media/lua/client/TOC/CommonMethods.lua similarity index 100% rename from common/media/lua/client/TOC/CommonMethods.lua rename to 42/media/lua/client/TOC/CommonMethods.lua diff --git a/common/media/lua/client/TOC/Compat.lua b/42/media/lua/client/TOC/Compat.lua similarity index 100% rename from common/media/lua/client/TOC/Compat.lua rename to 42/media/lua/client/TOC/Compat.lua diff --git a/common/media/lua/client/TOC/Controllers/DataController.lua b/42/media/lua/client/TOC/Controllers/DataController.lua similarity index 100% rename from common/media/lua/client/TOC/Controllers/DataController.lua rename to 42/media/lua/client/TOC/Controllers/DataController.lua diff --git a/common/media/lua/client/TOC/Controllers/ItemsController.lua b/42/media/lua/client/TOC/Controllers/ItemsController.lua similarity index 100% rename from common/media/lua/client/TOC/Controllers/ItemsController.lua rename to 42/media/lua/client/TOC/Controllers/ItemsController.lua diff --git a/common/media/lua/client/TOC/Controllers/LimitActionsController.lua b/42/media/lua/client/TOC/Controllers/LimitActionsController.lua similarity index 99% rename from common/media/lua/client/TOC/Controllers/LimitActionsController.lua rename to 42/media/lua/client/TOC/Controllers/LimitActionsController.lua index 5583217..1c855dd 100644 --- a/common/media/lua/client/TOC/Controllers/LimitActionsController.lua +++ b/42/media/lua/client/TOC/Controllers/LimitActionsController.lua @@ -397,7 +397,7 @@ end local og_ISClothingExtraAction_isValid = OverridenMethodsArchive.Save("ISClothingExtraAction_isValid", ISClothingExtraAction.isValid) ---@diagnostic disable-next-line: duplicate-set-field function ISClothingExtraAction:isValid() - return LimitActionsController.WrapClothingAction(self, og_ISClothingExtraAction_isValid, InventoryItemFactory.CreateItem(self.extra)) + return LimitActionsController.WrapClothingAction(self, og_ISClothingExtraAction_isValid, instanceItem(self.extra)) end diff --git a/common/media/lua/client/TOC/Controllers/LocalPlayerController.lua b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua similarity index 99% rename from common/media/lua/client/TOC/Controllers/LocalPlayerController.lua rename to 42/media/lua/client/TOC/Controllers/LocalPlayerController.lua index cb89535..b464a5a 100644 --- a/common/media/lua/client/TOC/Controllers/LocalPlayerController.lua +++ b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua @@ -56,7 +56,7 @@ function LocalPlayerController.ManageTraits() local AmputationHandler = require("TOC/Handlers/AmputationHandler") for k, v in pairs(StaticData.TRAITS_BP) do - if playerObj:HasTrait(k) then + if playerObj:hasTrait(k) then -- Once we find one, we should be done since they're exclusive TOC_DEBUG.print("Player has amputation trait " .. k .. ", executing it") local tempHandler = AmputationHandler:new(v, playerObj) diff --git a/common/media/lua/client/TOC/Controllers/TourniquetController.lua b/42/media/lua/client/TOC/Controllers/TourniquetController.lua similarity index 100% rename from common/media/lua/client/TOC/Controllers/TourniquetController.lua rename to 42/media/lua/client/TOC/Controllers/TourniquetController.lua diff --git a/common/media/lua/client/TOC/Events.lua b/42/media/lua/client/TOC/Events.lua similarity index 100% rename from common/media/lua/client/TOC/Events.lua rename to 42/media/lua/client/TOC/Events.lua diff --git a/common/media/lua/client/TOC/Handlers/AmputationHandler.lua b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua similarity index 100% rename from common/media/lua/client/TOC/Handlers/AmputationHandler.lua rename to 42/media/lua/client/TOC/Handlers/AmputationHandler.lua diff --git a/common/media/lua/client/TOC/Handlers/CachedDataHandler.lua b/42/media/lua/client/TOC/Handlers/CachedDataHandler.lua similarity index 100% rename from common/media/lua/client/TOC/Handlers/CachedDataHandler.lua rename to 42/media/lua/client/TOC/Handlers/CachedDataHandler.lua diff --git a/common/media/lua/client/TOC/Handlers/ProsthesisHandler.lua b/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua similarity index 89% rename from common/media/lua/client/TOC/Handlers/ProsthesisHandler.lua rename to 42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua index 0ba1e3a..fa42ff5 100644 --- a/common/media/lua/client/TOC/Handlers/ProsthesisHandler.lua +++ b/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua @@ -133,19 +133,14 @@ function ISClothingExtraAction:isValid() local isEquippable = og_ISClothingExtraAction_isValid(self) -- self.extra is a string, not the item - -- B42 Compatibility to add - local testItem = InventoryItemFactory.CreateItem(self.extra) + local testItem = instanceItem(self.extra) return ProsthesisHandler.Validate(testItem, isEquippable) end local og_ISClothingExtraAction_perform = OverridenMethodsArchive.Save("ISClothingExtraAction_perform", ISClothingExtraAction.perform) ---@diagnostic disable-next-line: duplicate-set-field function ISClothingExtraAction:perform() - - - -- B42 Compatibility to add - - local extraItem = InventoryItemFactory.CreateItem(self.extra) + local extraItem = instanceItem(self.extra) ProsthesisHandler.SearchAndSetupProsthesis(extraItem, true) og_ISClothingExtraAction_perform(self) end @@ -187,4 +182,22 @@ function ISUnequipAction:perform() end 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 + return ProsthesisHandler diff --git a/common/media/lua/client/TOC/Main.lua b/42/media/lua/client/TOC/Main.lua similarity index 98% rename from common/media/lua/client/TOC/Main.lua rename to 42/media/lua/client/TOC/Main.lua index c13f4b8..3401549 100644 --- a/common/media/lua/client/TOC/Main.lua +++ b/42/media/lua/client/TOC/Main.lua @@ -6,7 +6,7 @@ require("TOC/Events") ---@class Main local Main = { - _version = "2.2.2" + _version = "2.3" } function Main.Start() diff --git a/common/media/lua/client/TOC/Tests.lua b/42/media/lua/client/TOC/Tests.lua similarity index 100% rename from common/media/lua/client/TOC/Tests.lua rename to 42/media/lua/client/TOC/Tests.lua diff --git a/common/media/lua/client/TOC/TimedActions/CauterizeAction.lua b/42/media/lua/client/TOC/TimedActions/CauterizeAction.lua similarity index 100% rename from common/media/lua/client/TOC/TimedActions/CauterizeAction.lua rename to 42/media/lua/client/TOC/TimedActions/CauterizeAction.lua diff --git a/common/media/lua/client/TOC/TimedActions/CleanWoundAction.lua b/42/media/lua/client/TOC/TimedActions/CleanWoundAction.lua similarity index 98% rename from common/media/lua/client/TOC/TimedActions/CleanWoundAction.lua rename to 42/media/lua/client/TOC/TimedActions/CleanWoundAction.lua index 2ebfbea..406fa4a 100644 --- a/common/media/lua/client/TOC/TimedActions/CleanWoundAction.lua +++ b/42/media/lua/client/TOC/TimedActions/CleanWoundAction.lua @@ -87,7 +87,7 @@ function CleanWoundAction:perform() TOC_DEBUG.print("CleanWound for " .. self.otherPlayer:getUsername()) - if self.character:HasTrait("Hemophobic") then + if self.character:hasTrait("Hemophobic") then self.character:getStats():setPanic(self.character:getStats():getPanic() + 15) end diff --git a/common/media/lua/client/TOC/TimedActions/CutLimbAction.lua b/42/media/lua/client/TOC/TimedActions/CutLimbAction.lua similarity index 100% rename from common/media/lua/client/TOC/TimedActions/CutLimbAction.lua rename to 42/media/lua/client/TOC/TimedActions/CutLimbAction.lua diff --git a/common/media/lua/client/TOC/TimedActions/IgnoredActions.lua b/42/media/lua/client/TOC/TimedActions/IgnoredActions.lua similarity index 100% rename from common/media/lua/client/TOC/TimedActions/IgnoredActions.lua rename to 42/media/lua/client/TOC/TimedActions/IgnoredActions.lua diff --git a/common/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua b/42/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua similarity index 100% rename from common/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua rename to 42/media/lua/client/TOC/TimedActions/WashYourselfOverride.lua diff --git a/common/media/lua/client/TOC/UI/ConfirmationPanel.lua b/42/media/lua/client/TOC/UI/ConfirmationPanel.lua similarity index 100% rename from common/media/lua/client/TOC/UI/ConfirmationPanel.lua rename to 42/media/lua/client/TOC/UI/ConfirmationPanel.lua diff --git a/common/media/lua/client/TOC/UI/HealthPanel.lua b/42/media/lua/client/TOC/UI/HealthPanel.lua similarity index 100% rename from common/media/lua/client/TOC/UI/HealthPanel.lua rename to 42/media/lua/client/TOC/UI/HealthPanel.lua diff --git a/common/media/lua/client/TOC/UI/Interactions/CutLimbInteractionHandler.lua b/42/media/lua/client/TOC/UI/Interactions/CutLimbInteractionHandler.lua similarity index 100% rename from common/media/lua/client/TOC/UI/Interactions/CutLimbInteractionHandler.lua rename to 42/media/lua/client/TOC/UI/Interactions/CutLimbInteractionHandler.lua diff --git a/common/media/lua/client/TOC/UI/Interactions/HealthPanelBaseHandler.lua b/42/media/lua/client/TOC/UI/Interactions/HealthPanelBaseHandler.lua similarity index 100% rename from common/media/lua/client/TOC/UI/Interactions/HealthPanelBaseHandler.lua rename to 42/media/lua/client/TOC/UI/Interactions/HealthPanelBaseHandler.lua diff --git a/common/media/lua/client/TOC/UI/Interactions/WoundCleaningInteractionHandler.lua b/42/media/lua/client/TOC/UI/Interactions/WoundCleaningInteractionHandler.lua similarity index 100% rename from common/media/lua/client/TOC/UI/Interactions/WoundCleaningInteractionHandler.lua rename to 42/media/lua/client/TOC/UI/Interactions/WoundCleaningInteractionHandler.lua diff --git a/common/media/lua/client/TOC/UI/SurgeryInteractions.lua b/42/media/lua/client/TOC/UI/SurgeryInteractions.lua similarity index 96% rename from common/media/lua/client/TOC/UI/SurgeryInteractions.lua rename to 42/media/lua/client/TOC/UI/SurgeryInteractions.lua index a49d20f..5367293 100644 --- a/common/media/lua/client/TOC/UI/SurgeryInteractions.lua +++ b/42/media/lua/client/TOC/UI/SurgeryInteractions.lua @@ -68,7 +68,7 @@ local function AddStoveContextMenu(playerNum, context, worldObjects, test) -- Notifications, in case the player can't do the action - local isPlayerCourageous = pl:HasTrait("Brave") or pl:HasTrait("Desensitized") or pl:getPerkLevel(Perks.Strength) > 5 + local isPlayerCourageous = pl:hasTrait("Brave") or pl:hasTrait("Desensitized") or pl:getPerkLevel(Perks.Strength) > 5 local isTempHighEnough = stoveObj:getCurrentTemperature() >= 250 local isLimbFree = not dcInst:getIsProstEquipped(limbName) diff --git a/common/media/lua/client/TOC/Zombies/ZombiesAmputation.lua b/42/media/lua/client/TOC/Zombies/ZombiesAmputation.lua similarity index 100% rename from common/media/lua/client/TOC/Zombies/ZombiesAmputation.lua rename to 42/media/lua/client/TOC/Zombies/ZombiesAmputation.lua diff --git a/common/media/lua/client/lua_timers.lua b/42/media/lua/client/lua_timers.lua similarity index 100% rename from common/media/lua/client/lua_timers.lua rename to 42/media/lua/client/lua_timers.lua diff --git a/common/media/lua/server/TOC/DebugCommands.lua b/42/media/lua/server/TOC/DebugCommands.lua similarity index 100% rename from common/media/lua/server/TOC/DebugCommands.lua rename to 42/media/lua/server/TOC/DebugCommands.lua diff --git a/common/media/lua/server/TOC/Distributions.lua b/42/media/lua/server/TOC/Distributions.lua similarity index 100% rename from common/media/lua/server/TOC/Distributions.lua rename to 42/media/lua/server/TOC/Distributions.lua diff --git a/common/media/lua/server/TOC/LimitActionsController.lua b/42/media/lua/server/TOC/LimitActionsController.lua similarity index 100% rename from common/media/lua/server/TOC/LimitActionsController.lua rename to 42/media/lua/server/TOC/LimitActionsController.lua diff --git a/common/media/lua/server/TOC/ServerDataHandler.lua b/42/media/lua/server/TOC/ServerDataHandler.lua similarity index 100% rename from common/media/lua/server/TOC/ServerDataHandler.lua rename to 42/media/lua/server/TOC/ServerDataHandler.lua diff --git a/common/media/lua/server/TOC/ServerRelayCommands.lua b/42/media/lua/server/TOC/ServerRelayCommands.lua similarity index 100% rename from common/media/lua/server/TOC/ServerRelayCommands.lua rename to 42/media/lua/server/TOC/ServerRelayCommands.lua diff --git a/42/media/lua/shared/TOC/BodyLocations.lua b/42/media/lua/shared/TOC/BodyLocations.lua new file mode 100644 index 0000000..8cae511 --- /dev/null +++ b/42/media/lua/shared/TOC/BodyLocations.lua @@ -0,0 +1,110 @@ +--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:TOC_Arm_L", reference = ItemBodyLocation.FULL_TOP, before = false}, + {name = "toc:TOC_Arm_R", reference = ItemBodyLocation.FULL_TOP, before = false}, + {name = "toc:TOC_ArmProst_L", reference = ItemBodyLocation.FULL_TOP, before = false}, + {name = "toc:TOC_ArmProst_R", reference = ItemBodyLocation.FULL_TOP, before = false}, + {name = "toc:TOC_ArmAccessory_L", reference = ItemBodyLocation.FULL_TOP, before = false}, + {name = "toc:TOC_ArmAccessory_R", reference = ItemBodyLocation.FULL_TOP, before = false}, +}) + + +results['toc:TOC_Arm_L']:setMultiItem(true) +results['toc:TOC_Arm_R']:setMultiItem(true) +results['toc:TOC_ArmProst_L']:setMultiItem(true) +results['toc:TOC_ArmProst_R']:setMultiItem(true) +results['toc:TOC_ArmAccessory_L']:setMultiItem(true) +results['toc:TOC_ArmAccessory_R']:setMultiItem(true) diff --git a/common/media/lua/shared/TOC/CommandsData.lua b/42/media/lua/shared/TOC/CommandsData.lua similarity index 100% rename from common/media/lua/shared/TOC/CommandsData.lua rename to 42/media/lua/shared/TOC/CommandsData.lua diff --git a/common/media/lua/shared/TOC/Debug.lua b/42/media/lua/shared/TOC/Debug.lua similarity index 100% rename from common/media/lua/shared/TOC/Debug.lua rename to 42/media/lua/shared/TOC/Debug.lua diff --git a/common/media/lua/shared/TOC/OverridenMethodsArchive.lua b/42/media/lua/shared/TOC/OverridenMethodsArchive.lua similarity index 100% rename from common/media/lua/shared/TOC/OverridenMethodsArchive.lua rename to 42/media/lua/shared/TOC/OverridenMethodsArchive.lua diff --git a/42/media/lua/shared/TOC/Registries.lua b/42/media/lua/shared/TOC/Registries.lua new file mode 100644 index 0000000..653123a --- /dev/null +++ b/42/media/lua/shared/TOC/Registries.lua @@ -0,0 +1 @@ +return TOC_Registries \ No newline at end of file diff --git a/common/media/lua/shared/TOC/StaticData.lua b/42/media/lua/shared/TOC/StaticData.lua similarity index 100% rename from common/media/lua/shared/TOC/StaticData.lua rename to 42/media/lua/shared/TOC/StaticData.lua diff --git a/common/media/lua/shared/Translate/DE/ContextMenu_DE.txt b/42/media/lua/shared/TOC/Translate/DE/ContextMenu_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/ContextMenu_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/ContextMenu_DE.txt diff --git a/common/media/lua/shared/Translate/DE/IG_UI_DE.txt b/42/media/lua/shared/TOC/Translate/DE/IG_UI_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/IG_UI_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/IG_UI_DE.txt diff --git a/common/media/lua/shared/Translate/DE/ItemName_DE.txt b/42/media/lua/shared/TOC/Translate/DE/ItemName_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/ItemName_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/ItemName_DE.txt diff --git a/common/media/lua/shared/Translate/DE/Recipes_DE.txt b/42/media/lua/shared/TOC/Translate/DE/Recipes_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/Recipes_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/Recipes_DE.txt diff --git a/common/media/lua/shared/Translate/DE/Sandbox_DE.txt b/42/media/lua/shared/TOC/Translate/DE/Sandbox_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/Sandbox_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/Sandbox_DE.txt diff --git a/common/media/lua/shared/Translate/DE/Tooltip_DE.txt b/42/media/lua/shared/TOC/Translate/DE/Tooltip_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/Tooltip_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/Tooltip_DE.txt diff --git a/common/media/lua/shared/Translate/DE/UI_DE.txt b/42/media/lua/shared/TOC/Translate/DE/UI_DE.txt similarity index 100% rename from common/media/lua/shared/Translate/DE/UI_DE.txt rename to 42/media/lua/shared/TOC/Translate/DE/UI_DE.txt diff --git a/common/media/lua/shared/Translate/EN/ContextMenu_EN.txt b/42/media/lua/shared/TOC/Translate/EN/ContextMenu_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/ContextMenu_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/ContextMenu_EN.txt diff --git a/common/media/lua/shared/Translate/EN/IG_UI_EN.txt b/42/media/lua/shared/TOC/Translate/EN/IG_UI_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/IG_UI_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/IG_UI_EN.txt diff --git a/common/media/lua/shared/Translate/EN/ItemName_EN.txt b/42/media/lua/shared/TOC/Translate/EN/ItemName_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/ItemName_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/ItemName_EN.txt diff --git a/common/media/lua/shared/Translate/EN/Recipes_EN.txt b/42/media/lua/shared/TOC/Translate/EN/Recipes_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/Recipes_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/Recipes_EN.txt diff --git a/common/media/lua/shared/Translate/EN/Sandbox_EN.txt b/42/media/lua/shared/TOC/Translate/EN/Sandbox_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/Sandbox_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/Sandbox_EN.txt diff --git a/common/media/lua/shared/Translate/EN/Tooltip_EN.txt b/42/media/lua/shared/TOC/Translate/EN/Tooltip_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/Tooltip_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/Tooltip_EN.txt diff --git a/common/media/lua/shared/Translate/EN/UI_EN.txt b/42/media/lua/shared/TOC/Translate/EN/UI_EN.txt similarity index 100% rename from common/media/lua/shared/Translate/EN/UI_EN.txt rename to 42/media/lua/shared/TOC/Translate/EN/UI_EN.txt diff --git a/common/media/lua/shared/Translate/FR/ContextMenu_FR.txt b/42/media/lua/shared/TOC/Translate/FR/ContextMenu_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/ContextMenu_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/ContextMenu_FR.txt diff --git a/common/media/lua/shared/Translate/FR/IG_UI_FR.txt b/42/media/lua/shared/TOC/Translate/FR/IG_UI_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/IG_UI_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/IG_UI_FR.txt diff --git a/common/media/lua/shared/Translate/FR/ItemName_FR.txt b/42/media/lua/shared/TOC/Translate/FR/ItemName_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/ItemName_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/ItemName_FR.txt diff --git a/common/media/lua/shared/Translate/FR/Recipes_FR.txt b/42/media/lua/shared/TOC/Translate/FR/Recipes_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/Recipes_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/Recipes_FR.txt diff --git a/common/media/lua/shared/Translate/FR/Sandbox_FR.txt b/42/media/lua/shared/TOC/Translate/FR/Sandbox_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/Sandbox_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/Sandbox_FR.txt diff --git a/common/media/lua/shared/Translate/FR/Tooltip_FR.txt b/42/media/lua/shared/TOC/Translate/FR/Tooltip_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/Tooltip_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/Tooltip_FR.txt diff --git a/common/media/lua/shared/Translate/FR/UI_FR.txt b/42/media/lua/shared/TOC/Translate/FR/UI_FR.txt similarity index 100% rename from common/media/lua/shared/Translate/FR/UI_FR.txt rename to 42/media/lua/shared/TOC/Translate/FR/UI_FR.txt diff --git a/common/media/lua/shared/Translate/IT/ContextMenu_IT.txt b/42/media/lua/shared/TOC/Translate/IT/ContextMenu_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/ContextMenu_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/ContextMenu_IT.txt diff --git a/common/media/lua/shared/Translate/IT/IG_UI_IT.txt b/42/media/lua/shared/TOC/Translate/IT/IG_UI_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/IG_UI_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/IG_UI_IT.txt diff --git a/common/media/lua/shared/Translate/IT/ItemName_IT.txt b/42/media/lua/shared/TOC/Translate/IT/ItemName_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/ItemName_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/ItemName_IT.txt diff --git a/common/media/lua/shared/Translate/IT/Recipes_IT.txt b/42/media/lua/shared/TOC/Translate/IT/Recipes_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/Recipes_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/Recipes_IT.txt diff --git a/common/media/lua/shared/Translate/IT/Sandbox_IT.txt b/42/media/lua/shared/TOC/Translate/IT/Sandbox_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/Sandbox_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/Sandbox_IT.txt diff --git a/common/media/lua/shared/Translate/IT/Tooltip_IT.txt b/42/media/lua/shared/TOC/Translate/IT/Tooltip_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/Tooltip_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/Tooltip_IT.txt diff --git a/common/media/lua/shared/Translate/IT/UI_IT.txt b/42/media/lua/shared/TOC/Translate/IT/UI_IT.txt similarity index 100% rename from common/media/lua/shared/Translate/IT/UI_IT.txt rename to 42/media/lua/shared/TOC/Translate/IT/UI_IT.txt diff --git a/common/media/lua/shared/Translate/KO/ContextMenu_KO.txt b/42/media/lua/shared/TOC/Translate/KO/ContextMenu_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/ContextMenu_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/ContextMenu_KO.txt diff --git a/common/media/lua/shared/Translate/KO/IG_UI_KO.txt b/42/media/lua/shared/TOC/Translate/KO/IG_UI_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/IG_UI_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/IG_UI_KO.txt diff --git a/common/media/lua/shared/Translate/KO/ItemName_KO.txt b/42/media/lua/shared/TOC/Translate/KO/ItemName_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/ItemName_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/ItemName_KO.txt diff --git a/common/media/lua/shared/Translate/KO/Recipes_KO.txt b/42/media/lua/shared/TOC/Translate/KO/Recipes_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/Recipes_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/Recipes_KO.txt diff --git a/common/media/lua/shared/Translate/KO/Sandbox_KO.txt b/42/media/lua/shared/TOC/Translate/KO/Sandbox_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/Sandbox_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/Sandbox_KO.txt diff --git a/common/media/lua/shared/Translate/KO/Tooltip_KO.txt b/42/media/lua/shared/TOC/Translate/KO/Tooltip_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/Tooltip_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/Tooltip_KO.txt diff --git a/common/media/lua/shared/Translate/KO/UI_KO.txt b/42/media/lua/shared/TOC/Translate/KO/UI_KO.txt similarity index 100% rename from common/media/lua/shared/Translate/KO/UI_KO.txt rename to 42/media/lua/shared/TOC/Translate/KO/UI_KO.txt diff --git a/common/media/lua/shared/Translate/RU/ContextMenu_RU.txt b/42/media/lua/shared/TOC/Translate/RU/ContextMenu_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/ContextMenu_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/ContextMenu_RU.txt diff --git a/common/media/lua/shared/Translate/RU/IG_UI_RU.txt b/42/media/lua/shared/TOC/Translate/RU/IG_UI_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/IG_UI_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/IG_UI_RU.txt diff --git a/common/media/lua/shared/Translate/RU/ItemName_RU.txt b/42/media/lua/shared/TOC/Translate/RU/ItemName_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/ItemName_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/ItemName_RU.txt diff --git a/common/media/lua/shared/Translate/RU/Recipes_RU.txt b/42/media/lua/shared/TOC/Translate/RU/Recipes_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/Recipes_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/Recipes_RU.txt diff --git a/common/media/lua/shared/Translate/RU/Sandbox_RU.txt b/42/media/lua/shared/TOC/Translate/RU/Sandbox_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/Sandbox_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/Sandbox_RU.txt diff --git a/common/media/lua/shared/Translate/RU/Tooltip_RU.txt b/42/media/lua/shared/TOC/Translate/RU/Tooltip_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/Tooltip_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/Tooltip_RU.txt diff --git a/common/media/lua/shared/Translate/RU/UI_RU.txt b/42/media/lua/shared/TOC/Translate/RU/UI_RU.txt similarity index 100% rename from common/media/lua/shared/Translate/RU/UI_RU.txt rename to 42/media/lua/shared/TOC/Translate/RU/UI_RU.txt diff --git a/common/media/lua/shared/Translate/TR/ContextMenu_TR.txt b/42/media/lua/shared/TOC/Translate/TR/ContextMenu_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/ContextMenu_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/ContextMenu_TR.txt diff --git a/common/media/lua/shared/Translate/TR/IG_UI_TR.txt b/42/media/lua/shared/TOC/Translate/TR/IG_UI_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/IG_UI_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/IG_UI_TR.txt diff --git a/common/media/lua/shared/Translate/TR/ItemName_TR.txt b/42/media/lua/shared/TOC/Translate/TR/ItemName_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/ItemName_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/ItemName_TR.txt diff --git a/common/media/lua/shared/Translate/TR/Recipes_TR.txt b/42/media/lua/shared/TOC/Translate/TR/Recipes_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/Recipes_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/Recipes_TR.txt diff --git a/common/media/lua/shared/Translate/TR/Sandbox_TR.txt b/42/media/lua/shared/TOC/Translate/TR/Sandbox_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/Sandbox_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/Sandbox_TR.txt diff --git a/common/media/lua/shared/Translate/TR/Tooltip_TR.txt b/42/media/lua/shared/TOC/Translate/TR/Tooltip_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/Tooltip_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/Tooltip_TR.txt diff --git a/common/media/lua/shared/Translate/TR/UI_TR.txt b/42/media/lua/shared/TOC/Translate/TR/UI_TR.txt similarity index 100% rename from common/media/lua/shared/Translate/TR/UI_TR.txt rename to 42/media/lua/shared/TOC/Translate/TR/UI_TR.txt diff --git a/common/media/lua/shared/Translate/UA/ContextMenu_UA.txt b/42/media/lua/shared/TOC/Translate/UA/ContextMenu_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/ContextMenu_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/ContextMenu_UA.txt diff --git a/common/media/lua/shared/Translate/UA/IG_UI_UA.txt b/42/media/lua/shared/TOC/Translate/UA/IG_UI_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/IG_UI_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/IG_UI_UA.txt diff --git a/common/media/lua/shared/Translate/UA/ItemName_UA.txt b/42/media/lua/shared/TOC/Translate/UA/ItemName_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/ItemName_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/ItemName_UA.txt diff --git a/common/media/lua/shared/Translate/UA/Recipes_UA.txt b/42/media/lua/shared/TOC/Translate/UA/Recipes_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/Recipes_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/Recipes_UA.txt diff --git a/common/media/lua/shared/Translate/UA/Sandbox_UA.txt b/42/media/lua/shared/TOC/Translate/UA/Sandbox_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/Sandbox_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/Sandbox_UA.txt diff --git a/common/media/lua/shared/Translate/UA/Tooltip_UA.txt b/42/media/lua/shared/TOC/Translate/UA/Tooltip_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/Tooltip_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/Tooltip_UA.txt diff --git a/common/media/lua/shared/Translate/UA/UI_UA.txt b/42/media/lua/shared/TOC/Translate/UA/UI_UA.txt similarity index 100% rename from common/media/lua/shared/Translate/UA/UI_UA.txt rename to 42/media/lua/shared/TOC/Translate/UA/UI_UA.txt diff --git a/common/media/models_X/Amputation/Amputation_GenericModel.fbx b/42/media/models_X/Amputation/Amputation_GenericModel.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_GenericModel.fbx rename to 42/media/models_X/Amputation/Amputation_GenericModel.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_Hand_Female.fbx b/42/media/models_X/Amputation/Amputation_Left_Hand_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_Hand_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Left_Hand_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_Hand_Male.fbx b/42/media/models_X/Amputation/Amputation_Left_Hand_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_Hand_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Left_Hand_Male.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_LowerArm_Female.fbx b/42/media/models_X/Amputation/Amputation_Left_LowerArm_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_LowerArm_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Left_LowerArm_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_LowerArm_Male.fbx b/42/media/models_X/Amputation/Amputation_Left_LowerArm_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_LowerArm_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Left_LowerArm_Male.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_UpperArm_Female.fbx b/42/media/models_X/Amputation/Amputation_Left_UpperArm_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_UpperArm_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Left_UpperArm_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Left_UpperArm_Male.fbx b/42/media/models_X/Amputation/Amputation_Left_UpperArm_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Left_UpperArm_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Left_UpperArm_Male.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_Hand_Female.fbx b/42/media/models_X/Amputation/Amputation_Right_Hand_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_Hand_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Right_Hand_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_Hand_Male.fbx b/42/media/models_X/Amputation/Amputation_Right_Hand_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_Hand_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Right_Hand_Male.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_LowerArm_Female.fbx b/42/media/models_X/Amputation/Amputation_Right_LowerArm_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_LowerArm_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Right_LowerArm_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_LowerArm_Male.fbx b/42/media/models_X/Amputation/Amputation_Right_LowerArm_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_LowerArm_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Right_LowerArm_Male.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_UpperArm_Female.fbx b/42/media/models_X/Amputation/Amputation_Right_UpperArm_Female.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_UpperArm_Female.fbx rename to 42/media/models_X/Amputation/Amputation_Right_UpperArm_Female.fbx diff --git a/common/media/models_X/Amputation/Amputation_Right_UpperArm_Male.fbx b/42/media/models_X/Amputation/Amputation_Right_UpperArm_Male.fbx similarity index 100% rename from common/media/models_X/Amputation/Amputation_Right_UpperArm_Male.fbx rename to 42/media/models_X/Amputation/Amputation_Right_UpperArm_Male.fbx diff --git a/common/media/models_X/Prosthesis/hookArm_Ground.fbx b/42/media/models_X/Prosthesis/hookArm_Ground.fbx similarity index 100% rename from common/media/models_X/Prosthesis/hookArm_Ground.fbx rename to 42/media/models_X/Prosthesis/hookArm_Ground.fbx diff --git a/common/media/models_X/Prosthesis/hookArm_L_F.fbx b/42/media/models_X/Prosthesis/hookArm_L_F.fbx similarity index 100% rename from common/media/models_X/Prosthesis/hookArm_L_F.fbx rename to 42/media/models_X/Prosthesis/hookArm_L_F.fbx diff --git a/common/media/models_X/Prosthesis/hookArm_L_M.fbx b/42/media/models_X/Prosthesis/hookArm_L_M.fbx similarity index 100% rename from common/media/models_X/Prosthesis/hookArm_L_M.fbx rename to 42/media/models_X/Prosthesis/hookArm_L_M.fbx diff --git a/common/media/models_X/Prosthesis/hookArm_R_F.fbx b/42/media/models_X/Prosthesis/hookArm_R_F.fbx similarity index 100% rename from common/media/models_X/Prosthesis/hookArm_R_F.fbx rename to 42/media/models_X/Prosthesis/hookArm_R_F.fbx diff --git a/common/media/models_X/Prosthesis/hookArm_R_M.fbx b/42/media/models_X/Prosthesis/hookArm_R_M.fbx similarity index 100% rename from common/media/models_X/Prosthesis/hookArm_R_M.fbx rename to 42/media/models_X/Prosthesis/hookArm_R_M.fbx diff --git a/common/media/models_X/Prosthesis/normalArm_Ground.fbx b/42/media/models_X/Prosthesis/normalArm_Ground.fbx similarity index 100% rename from common/media/models_X/Prosthesis/normalArm_Ground.fbx rename to 42/media/models_X/Prosthesis/normalArm_Ground.fbx diff --git a/common/media/models_X/Prosthesis/normalArm_L_F.fbx b/42/media/models_X/Prosthesis/normalArm_L_F.fbx similarity index 100% rename from common/media/models_X/Prosthesis/normalArm_L_F.fbx rename to 42/media/models_X/Prosthesis/normalArm_L_F.fbx diff --git a/common/media/models_X/Prosthesis/normalArm_L_M.fbx b/42/media/models_X/Prosthesis/normalArm_L_M.fbx similarity index 100% rename from common/media/models_X/Prosthesis/normalArm_L_M.fbx rename to 42/media/models_X/Prosthesis/normalArm_L_M.fbx diff --git a/common/media/models_X/Prosthesis/normalArm_R_F.fbx b/42/media/models_X/Prosthesis/normalArm_R_F.fbx similarity index 100% rename from common/media/models_X/Prosthesis/normalArm_R_F.fbx rename to 42/media/models_X/Prosthesis/normalArm_R_F.fbx diff --git a/common/media/models_X/Prosthesis/normalArm_R_M.fbx b/42/media/models_X/Prosthesis/normalArm_R_M.fbx similarity index 100% rename from common/media/models_X/Prosthesis/normalArm_R_M.fbx rename to 42/media/models_X/Prosthesis/normalArm_R_M.fbx diff --git a/common/media/models_X/Surgery/Tourniquet_Ground.fbx b/42/media/models_X/Surgery/Tourniquet_Ground.fbx similarity index 100% rename from common/media/models_X/Surgery/Tourniquet_Ground.fbx rename to 42/media/models_X/Surgery/Tourniquet_Ground.fbx diff --git a/common/media/models_X/Surgery/Tourniquet_Left.fbx b/42/media/models_X/Surgery/Tourniquet_Left.fbx similarity index 100% rename from common/media/models_X/Surgery/Tourniquet_Left.fbx rename to 42/media/models_X/Surgery/Tourniquet_Left.fbx diff --git a/common/media/models_X/Surgery/Tourniquet_Right.fbx b/42/media/models_X/Surgery/Tourniquet_Right.fbx similarity index 100% rename from common/media/models_X/Surgery/Tourniquet_Right.fbx rename to 42/media/models_X/Surgery/Tourniquet_Right.fbx diff --git a/common/media/perks.txt b/42/media/perks.txt similarity index 100% rename from common/media/perks.txt rename to 42/media/perks.txt diff --git a/42/media/registries.lua b/42/media/registries.lua new file mode 100644 index 0000000..b87145a --- /dev/null +++ b/42/media/registries.lua @@ -0,0 +1,15 @@ +TOC_Registries = { + Traits = { + Amputee_Hand = CharacterTrait.register("toc:amputee_hand"), + Amputee_Forearm = CharacterTrait.register("toc:amputee_forearm"), + Amputee_Upperarm = CharacterTrait.register("toc:amputee_upperarm") + } +} + + +ItemBodyLocation.register("toc:TOC_Arm_L") +ItemBodyLocation.register("toc:TOC_Arm_R") +ItemBodyLocation.register("toc:TOC_ArmProst_L") +ItemBodyLocation.register("toc:TOC_ArmProst_R") +ItemBodyLocation.register("toc:TOC_ArmAccessory_L") +ItemBodyLocation.register("toc:TOC_ArmAccessory_R") diff --git a/common/media/sandbox-options.txt b/42/media/sandbox-options.txt similarity index 100% rename from common/media/sandbox-options.txt rename to 42/media/sandbox-options.txt diff --git a/common/media/scripts/TOC_amputation_items.txt b/42/media/scripts/TOC_amputation_items.txt similarity index 100% rename from common/media/scripts/TOC_amputation_items.txt rename to 42/media/scripts/TOC_amputation_items.txt diff --git a/common/media/scripts/TOC_models.txt b/42/media/scripts/TOC_models.txt similarity index 100% rename from common/media/scripts/TOC_models.txt rename to 42/media/scripts/TOC_models.txt diff --git a/common/media/scripts/TOC_prosthesis_items.txt b/42/media/scripts/TOC_prosthesis_items.txt similarity index 100% rename from common/media/scripts/TOC_prosthesis_items.txt rename to 42/media/scripts/TOC_prosthesis_items.txt diff --git a/common/media/scripts/TOC_sounds.txt b/42/media/scripts/TOC_sounds.txt similarity index 100% rename from common/media/scripts/TOC_sounds.txt rename to 42/media/scripts/TOC_sounds.txt diff --git a/common/media/scripts/TOC_surgery_items.txt b/42/media/scripts/TOC_surgery_items.txt similarity index 100% rename from common/media/scripts/TOC_surgery_items.txt rename to 42/media/scripts/TOC_surgery_items.txt diff --git a/42/media/scripts/TOC_traits.txt b/42/media/scripts/TOC_traits.txt new file mode 100644 index 0000000..6a92931 --- /dev/null +++ b/42/media/scripts/TOC_traits.txt @@ -0,0 +1,43 @@ +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, + + } +} \ No newline at end of file diff --git a/common/media/sound/Amputation.ogg b/42/media/sound/Amputation.ogg similarity index 100% rename from common/media/sound/Amputation.ogg rename to 42/media/sound/Amputation.ogg diff --git a/common/media/sound/Cauterization.ogg b/42/media/sound/Cauterization.ogg similarity index 100% rename from common/media/sound/Cauterization.ogg rename to 42/media/sound/Cauterization.ogg diff --git a/common/media/textures/Amputations/Human/Forearm/skin01_b.png b/42/media/textures/Amputations/Human/Forearm/skin01_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin01_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin01_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin01_hairy_b.png b/42/media/textures/Amputations/Human/Forearm/skin01_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin01_hairy_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin01_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin02_b.png b/42/media/textures/Amputations/Human/Forearm/skin02_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin02_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin02_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin02_hairy_b.png b/42/media/textures/Amputations/Human/Forearm/skin02_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin02_hairy_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin02_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin03_b.png b/42/media/textures/Amputations/Human/Forearm/skin03_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin03_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin03_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin03_hairy_b.png b/42/media/textures/Amputations/Human/Forearm/skin03_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin03_hairy_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin03_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin04_b.png b/42/media/textures/Amputations/Human/Forearm/skin04_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin04_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin04_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin04_hairy_b.png b/42/media/textures/Amputations/Human/Forearm/skin04_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin04_hairy_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin04_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin05_b.png b/42/media/textures/Amputations/Human/Forearm/skin05_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin05_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin05_b.png diff --git a/common/media/textures/Amputations/Human/Forearm/skin05_hairy_b.png b/42/media/textures/Amputations/Human/Forearm/skin05_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Forearm/skin05_hairy_b.png rename to 42/media/textures/Amputations/Human/Forearm/skin05_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin01_b.png b/42/media/textures/Amputations/Human/Hand/skin01_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin01_b.png rename to 42/media/textures/Amputations/Human/Hand/skin01_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin01_hairy_b.png b/42/media/textures/Amputations/Human/Hand/skin01_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin01_hairy_b.png rename to 42/media/textures/Amputations/Human/Hand/skin01_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin02_b.png b/42/media/textures/Amputations/Human/Hand/skin02_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin02_b.png rename to 42/media/textures/Amputations/Human/Hand/skin02_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin02_hairy_b.png b/42/media/textures/Amputations/Human/Hand/skin02_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin02_hairy_b.png rename to 42/media/textures/Amputations/Human/Hand/skin02_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin03_b.png b/42/media/textures/Amputations/Human/Hand/skin03_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin03_b.png rename to 42/media/textures/Amputations/Human/Hand/skin03_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin03_hairy_b.png b/42/media/textures/Amputations/Human/Hand/skin03_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin03_hairy_b.png rename to 42/media/textures/Amputations/Human/Hand/skin03_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin04_b.png b/42/media/textures/Amputations/Human/Hand/skin04_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin04_b.png rename to 42/media/textures/Amputations/Human/Hand/skin04_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin04_hairy_b.png b/42/media/textures/Amputations/Human/Hand/skin04_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin04_hairy_b.png rename to 42/media/textures/Amputations/Human/Hand/skin04_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin05_b.png b/42/media/textures/Amputations/Human/Hand/skin05_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin05_b.png rename to 42/media/textures/Amputations/Human/Hand/skin05_b.png diff --git a/common/media/textures/Amputations/Human/Hand/skin05_hairy_b.png b/42/media/textures/Amputations/Human/Hand/skin05_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Hand/skin05_hairy_b.png rename to 42/media/textures/Amputations/Human/Hand/skin05_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin01_b.png b/42/media/textures/Amputations/Human/Upperarm/skin01_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin01_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin01_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin01_hairy_b.png b/42/media/textures/Amputations/Human/Upperarm/skin01_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin01_hairy_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin01_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin02_b.png b/42/media/textures/Amputations/Human/Upperarm/skin02_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin02_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin02_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin02_hairy_b.png b/42/media/textures/Amputations/Human/Upperarm/skin02_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin02_hairy_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin02_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin03_b.png b/42/media/textures/Amputations/Human/Upperarm/skin03_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin03_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin03_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin03_hairy_b.png b/42/media/textures/Amputations/Human/Upperarm/skin03_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin03_hairy_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin03_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin04_b.png b/42/media/textures/Amputations/Human/Upperarm/skin04_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin04_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin04_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin04_hairy_b.png b/42/media/textures/Amputations/Human/Upperarm/skin04_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin04_hairy_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin04_hairy_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin05_b.png b/42/media/textures/Amputations/Human/Upperarm/skin05_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin05_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin05_b.png diff --git a/common/media/textures/Amputations/Human/Upperarm/skin05_hairy_b.png b/42/media/textures/Amputations/Human/Upperarm/skin05_hairy_b.png similarity index 100% rename from common/media/textures/Amputations/Human/Upperarm/skin05_hairy_b.png rename to 42/media/textures/Amputations/Human/Upperarm/skin05_hairy_b.png diff --git a/common/media/textures/Amputations/Masks/Belt.png b/42/media/textures/Amputations/Masks/Belt.png similarity index 100% rename from common/media/textures/Amputations/Masks/Belt.png rename to 42/media/textures/Amputations/Masks/Belt.png diff --git a/common/media/textures/Amputations/Masks/Chest.png b/42/media/textures/Amputations/Masks/Chest.png similarity index 100% rename from common/media/textures/Amputations/Masks/Chest.png rename to 42/media/textures/Amputations/Masks/Chest.png diff --git a/common/media/textures/Amputations/Masks/Crotch.png b/42/media/textures/Amputations/Masks/Crotch.png similarity index 100% rename from common/media/textures/Amputations/Masks/Crotch.png rename to 42/media/textures/Amputations/Masks/Crotch.png diff --git a/common/media/textures/Amputations/Masks/Dress.png b/42/media/textures/Amputations/Masks/Dress.png similarity index 100% rename from common/media/textures/Amputations/Masks/Dress.png rename to 42/media/textures/Amputations/Masks/Dress.png diff --git a/common/media/textures/Amputations/Masks/Head.png b/42/media/textures/Amputations/Masks/Head.png similarity index 100% rename from common/media/textures/Amputations/Masks/Head.png rename to 42/media/textures/Amputations/Masks/Head.png diff --git a/common/media/textures/Amputations/Masks/LeftArm.png b/42/media/textures/Amputations/Masks/LeftArm.png similarity index 100% rename from common/media/textures/Amputations/Masks/LeftArm.png rename to 42/media/textures/Amputations/Masks/LeftArm.png diff --git a/common/media/textures/Amputations/Masks/LeftFoot.png b/42/media/textures/Amputations/Masks/LeftFoot.png similarity index 100% rename from common/media/textures/Amputations/Masks/LeftFoot.png rename to 42/media/textures/Amputations/Masks/LeftFoot.png diff --git a/common/media/textures/Amputations/Masks/LeftHand.png b/42/media/textures/Amputations/Masks/LeftHand.png similarity index 100% rename from common/media/textures/Amputations/Masks/LeftHand.png rename to 42/media/textures/Amputations/Masks/LeftHand.png diff --git a/common/media/textures/Amputations/Masks/LeftLeg.png b/42/media/textures/Amputations/Masks/LeftLeg.png similarity index 100% rename from common/media/textures/Amputations/Masks/LeftLeg.png rename to 42/media/textures/Amputations/Masks/LeftLeg.png diff --git a/common/media/textures/Amputations/Masks/Mask.png b/42/media/textures/Amputations/Masks/Mask.png similarity index 100% rename from common/media/textures/Amputations/Masks/Mask.png rename to 42/media/textures/Amputations/Masks/Mask.png diff --git a/common/media/textures/Amputations/Masks/RightArm.png b/42/media/textures/Amputations/Masks/RightArm.png similarity index 100% rename from common/media/textures/Amputations/Masks/RightArm.png rename to 42/media/textures/Amputations/Masks/RightArm.png diff --git a/common/media/textures/Amputations/Masks/RightFoot.png b/42/media/textures/Amputations/Masks/RightFoot.png similarity index 100% rename from common/media/textures/Amputations/Masks/RightFoot.png rename to 42/media/textures/Amputations/Masks/RightFoot.png diff --git a/common/media/textures/Amputations/Masks/RightHand.png b/42/media/textures/Amputations/Masks/RightHand.png similarity index 100% rename from common/media/textures/Amputations/Masks/RightHand.png rename to 42/media/textures/Amputations/Masks/RightHand.png diff --git a/common/media/textures/Amputations/Masks/RightLeg.png b/42/media/textures/Amputations/Masks/RightLeg.png similarity index 100% rename from common/media/textures/Amputations/Masks/RightLeg.png rename to 42/media/textures/Amputations/Masks/RightLeg.png diff --git a/common/media/textures/Amputations/Masks/Waist.png b/42/media/textures/Amputations/Masks/Waist.png similarity index 100% rename from common/media/textures/Amputations/Masks/Waist.png rename to 42/media/textures/Amputations/Masks/Waist.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin01_l1.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin01_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin01_l1.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin01_l1.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin01_l2.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin01_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin01_l2.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin01_l2.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin01_l3.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin01_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin01_l3.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin01_l3.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin02_l1.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin02_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin02_l1.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin02_l1.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin02_l2.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin02_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin02_l2.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin02_l2.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin02_l3.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin02_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin02_l3.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin02_l3.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin03_l1.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin03_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin03_l1.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin03_l1.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin03_l2.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin03_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin03_l2.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin03_l2.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin03_l3.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin03_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin03_l3.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin03_l3.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin04_l1.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin04_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin04_l1.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin04_l1.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin04_l2.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin04_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin04_l2.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin04_l2.png diff --git a/common/media/textures/Amputations/Zombie/Forearm/z_skin04_l3.png b/42/media/textures/Amputations/Zombie/Forearm/z_skin04_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Forearm/z_skin04_l3.png rename to 42/media/textures/Amputations/Zombie/Forearm/z_skin04_l3.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l1.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l1.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l1.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l2.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l2.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l2.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l3.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin01_l3.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin01_l3.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l1.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l1.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l1.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l2.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l2.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l2.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l3.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin02_l3.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin02_l3.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l1.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l1.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l1.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l2.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l2.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l2.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l3.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin03_l3.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin03_l3.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l1.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l1.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l1.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l1.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l2.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l2.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l2.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l2.png diff --git a/common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l3.png b/42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l3.png similarity index 100% rename from common/media/textures/Amputations/Zombie/Upperarm/z_skin04_l3.png rename to 42/media/textures/Amputations/Zombie/Upperarm/z_skin04_l3.png diff --git a/common/media/textures/Prosthesis/hookArm.png b/42/media/textures/Prosthesis/hookArm.png similarity index 100% rename from common/media/textures/Prosthesis/hookArm.png rename to 42/media/textures/Prosthesis/hookArm.png diff --git a/common/media/textures/Prosthesis/normalArm.png b/42/media/textures/Prosthesis/normalArm.png similarity index 100% rename from common/media/textures/Prosthesis/normalArm.png rename to 42/media/textures/Prosthesis/normalArm.png diff --git a/common/media/textures/Surgery/tourniquet.png b/42/media/textures/Surgery/tourniquet.png similarity index 100% rename from common/media/textures/Surgery/tourniquet.png rename to 42/media/textures/Surgery/tourniquet.png diff --git a/common/media/textures/item_armProsthetic.png b/42/media/textures/item_armProsthetic.png similarity index 100% rename from common/media/textures/item_armProsthetic.png rename to 42/media/textures/item_armProsthetic.png diff --git a/common/media/textures/item_tourniquet.png b/42/media/textures/item_tourniquet.png similarity index 100% rename from common/media/textures/item_tourniquet.png rename to 42/media/textures/item_tourniquet.png diff --git a/common/media/ui/ProstArm_L.png b/42/media/ui/ProstArm_L.png similarity index 100% rename from common/media/ui/ProstArm_L.png rename to 42/media/ui/ProstArm_L.png diff --git a/common/media/ui/ProstArm_R.png b/42/media/ui/ProstArm_R.png similarity index 100% rename from common/media/ui/ProstArm_R.png rename to 42/media/ui/ProstArm_R.png diff --git a/common/media/ui/Traits/trait_Amputee_ForeArm.png b/42/media/ui/Traits/trait_Amputee_ForeArm.png similarity index 100% rename from common/media/ui/Traits/trait_Amputee_ForeArm.png rename to 42/media/ui/Traits/trait_Amputee_ForeArm.png diff --git a/common/media/ui/Traits/trait_Amputee_Hand.png b/42/media/ui/Traits/trait_Amputee_Hand.png similarity index 100% rename from common/media/ui/Traits/trait_Amputee_Hand.png rename to 42/media/ui/Traits/trait_Amputee_Hand.png diff --git a/common/media/ui/Traits/trait_Amputee_UpperArm.png b/42/media/ui/Traits/trait_Amputee_UpperArm.png similarity index 100% rename from common/media/ui/Traits/trait_Amputee_UpperArm.png rename to 42/media/ui/Traits/trait_Amputee_UpperArm.png diff --git a/common/media/ui/Traits/trait_insensitive.png b/42/media/ui/Traits/trait_insensitive.png similarity index 100% rename from common/media/ui/Traits/trait_insensitive.png rename to 42/media/ui/Traits/trait_insensitive.png diff --git a/common/media/ui/male_base_test.png b/42/media/ui/male_base_test.png similarity index 100% rename from common/media/ui/male_base_test.png rename to 42/media/ui/male_base_test.png diff --git a/common/media/ui/test.png b/42/media/ui/test.png similarity index 100% rename from common/media/ui/test.png rename to 42/media/ui/test.png diff --git a/42/mod.info b/42/mod.info index c7729e9..0d14aa6 100644 --- a/42/mod.info +++ b/42/mod.info @@ -4,8 +4,8 @@ description=You've been bitten. You have only two choices. id=TheOnlyCure icon=icon.png url=https://github.com/ZioPao/The-Only-Cure -modversion=2.2.2 -versionMin=42.6 +modversion=2.3 +versionMin=42.13 loadModAfter=\FancyHandwork,\BrutalHandwork,\TwoWeaponsOnBackRework incompatible=\BB_FirstAidOverhaul \ No newline at end of file diff --git a/common/media/lua/shared/TOC/BodyLocations.lua b/common/media/lua/shared/TOC/BodyLocations.lua deleted file mode 100644 index c3691a2..0000000 --- a/common/media/lua/shared/TOC/BodyLocations.lua +++ /dev/null @@ -1,79 +0,0 @@ -require("TOC/Debug") -require("NPCs/BodyLocations") -local StaticData = require("TOC/StaticData") - -local BodyLocationsAPI = {} -local function customGetVal(obj, int) return getClassFieldVal(obj, getClassField(obj, int)) end -local group = BodyLocations.getGroup("Human") - ----@type ArrayList -local list = customGetVal(group, 1) - ----@param bodyLoc string -function BodyLocationsAPI.New(bodyLoc) - local curItem - if StaticData.COMPAT_42 then - curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create - group:getAllLocations():add(curItem) -- add to the list - else - curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create - end - return curItem -end - --- TODO Not sure if this method actually works as intende with b42, but for our use case it's fine... ----@param toRelocateOrCreate string ----@param locationElement string ----@param afterBoolean boolean ----@return BodyLocation -function BodyLocationsAPI.MoveOrCreateBeforeOrAfter(toRelocateOrCreate, locationElement, afterBoolean) - -- Check type of arg 2 == string - if not error out. - if type(locationElement) ~= "string" then error("Argument 2 is not of type string. Please re-check!", 2) end - local itemToMoveTo = group:getLocation(locationElement) -- get location to move to - if itemToMoveTo ~= nil then - -- Check type of arg 1 == string - if not, error out. - if type(toRelocateOrCreate) ~= "string" then error("Argument 1 is not of type string. Please re-check!", 2) end - - local curItem = BodyLocationsAPI.New(toRelocateOrCreate) - list:remove(curItem) -- remove from the list - local index = group:indexOf(locationElement) -- get current index after removal of the location to move to - if afterBoolean then index = index + 1 end -- if we want it after it, we increase the index to move to by one - list:add(index, curItem) -- we add the item again - - - return curItem - else -- we did not find the location to move to, so we throw an error. - error("Could not find the BodyLocation [".. tostring(locationElement) .."] - please check the passed arguments!", 2) - end -end - - - --- function TestBodyLocations() --- local group = BodyLocations.getGroup("Human") --- local x = group:getAllLocations() - --- for i=0, x:size() -1 do - --- ---@type BodyLocation --- local bl = x:get(i) - --- print(bl:getId()) --- end --- end - --- MultiItem causes a ton of issues... fucking hell - --- local curItem = BodyLocation.new(group, "TOC_Arm_L") --- group:getAllLocations():add(curItem) - --- local curItem = BodyLocation.new(group, "TOC_Arm_R") --- group:getAllLocations():add(curItem) - - -BodyLocationsAPI.New("TOC_Arm_L") -BodyLocationsAPI.New("TOC_Arm_R") -BodyLocationsAPI.New("TOC_ArmProst_L") -BodyLocationsAPI.New("TOC_ArmProst_R") -BodyLocationsAPI.New("TOC_ArmAccessory_L") -BodyLocationsAPI.New("TOC_ArmAccessory_R") \ No newline at end of file diff --git a/common/media/scripts/TOC_recipes.txt b/common/media/scripts/TOC_recipes.txt deleted file mode 100644 index bce7df3..0000000 --- a/common/media/scripts/TOC_recipes.txt +++ /dev/null @@ -1,33 +0,0 @@ -module TOC -{ - imports - { - Base - } - /*************Craft Prosthetics*******************/ - recipe Craft Prosthetic Arm - { - MetalPipe=4, - Plank=2, - keep [Recipe.GetItemTypes.WeldingMask], - - Result:Prost_NormalArm_L, - Time:150.0, - Category:Welding, - OnGiveXP:Recipe.OnGiveXP.MetalWelding10, - NeedToBeLearn:false, - } - - recipe Craft Prosthetic Hook - { - MetalPipe=2, - Plank=2, - keep [Recipe.GetItemTypes.WeldingMask], - - Result:Prost_HookArm_L, - Time:100.0, - Category:Welding, - OnGiveXP:Recipe.OnGiveXP.MetalWelding10, - NeedToBeLearn:false, - } -} \ No newline at end of file diff --git a/common/media/ui/Female/ForeArm_L.png b/common/media/ui/Female/ForeArm_L.png deleted file mode 100644 index 1902325d7fb8e7edbeb7dab564954e2660cecd2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zU_RjK;uumf=k1+?ezzS&90GU0;`;YL{N^s{5XHcbjAM^CzO(e6;4|fP^-PPVzZQMH zZSmpu49^6uUET<6bUwm2%76yKg!|$44ZF5)-~PBe|E<2hzH|Mw8^X21Wn3Hm%Ss>g zABj8i`t|GO>t&DMxG%g>{df2keVO0;-YYlr@0FPU_V>Rt!Zus_x5s5$f2)-*GX#dL z-TfUGYbM=zExqm3QM;R7> zXJeiwtxr4!=CGcL0&*UI3Dqm>xY2F#^YQuI+eiEas}%1 z=#pzdCn|kgbZ$o8#_Q%fJ8p1G*G_hQbF??+c~W~vE%V}K(Qm3NwRYSvH+-}~?OU(S z?sG@?E&tE;&c7`GMfd*=9}Jek|ExO)%-{^3 Lu6{1-oD!M<$kD}` diff --git a/common/media/ui/Female/ForeArm_R.png b/common/media/ui/Female/ForeArm_R.png deleted file mode 100644 index caa8607ef7caed9aab201ba1383b6d3342ab59d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1053 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zU_S5Z;uumf=k1--ezyZe90HfW;`sMJ_~aGYZ9z;;kA6E;uT}Jr$owr6&)#{vavnSH z{;>Z{XOzo2ZYU%mD`~K-uk#ueCKPkE2%HMzgeW+Hz z+_Tx_oALj942R;gE8bkce!YGD-o1N!_v!fa^w#da+xPh7=U+E@3uN+|F6KS|`Q=T? zS^j$UZ|QTNXZFTt+*p0R+_~8H{Y^#d?Y?+-!E{|68m*f5scn$vL(DAM)PZe0?jV|GPl-LF1dh<~_M-T%Glz^ZKdie+#=- z&P&hCS@=9k@;2A}oS#zZ^HMji{qQsF=(a=R8;&_oJF@N2^$5Y+T=7Sw_-D%Ae*S=a z=9>vCH~M~!GETOhp_|s*ex~bf!ZyaqvPR0=R^Dql$tNj$J0w3PC1-uqY)Pw|%c}Gj zCq>_vE^^?O6a-4VdUb;@ReE>LCf~37*7fAp=D%BY%53e)dhyY{LbL%>gTe~DWM4fOZd-6 diff --git a/common/media/ui/Female/Hand_L.png b/common/media/ui/Female/Hand_L.png deleted file mode 100644 index c4730728802c23e5304e1dfff9dde7540c89e564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zU@`G@aSW-L^Y*r3zI3U?frsBOEimcTH4N$CKg=OrBe~2gHe$Dtf(qM@2A+vBlA*p9 zVgjlrxy?zhUVXQj?Z5AT~*U!)YRg+d1dHw6@%aiHtI-#c>B(~OPn&z&)U4bph#>({SG^S1x~Cj0xJ=$~_%`>(Uxv=>)a{wztWn>W)x z{aN?SnWeGMKR!NQTwMIQX!qTDcawM4v)+GOruMtzkBM>o{afEYot&(mZd^S7f^oUe z&XaaRzyJP|SG-pGw{-JOo7#q@)6b?E@4oBzCVAui_wi@%KM&X+8xu3f{=uiyyVfPi zcc-79clXTv`_+3YK0Xp?k2qo{bo%Jg_r{yg)YWfD-f_-O=(c-*okhwEN%ai(-0*h0h8xEpKe&D%sl7v1 z39Jaj_~!m5_IuZTH6UI4PPBe5P%lhA&%#D2|HuEYhu7(swQv78nt-w9;tBQ)#}ev) UYhTrj0~RU_p00i_>zopr01A}%`v3p{ diff --git a/common/media/ui/Female/Hand_R.png b/common/media/ui/Female/Hand_R.png deleted file mode 100644 index e338f69d89127fccdaac7060706bdd56510c2af6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1196 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zV2Sf|aSW-L^Y*rV-sJ>_wvXSvrCfPCpD-3G^EDh{Oh|T4dU>IBqcQXI2Mj$jZ3|aT zm}9cm!_d2TmB|)WzvKs%b-_tL&o8&xBpY3pIZG``;)^ZA+y0G?J-kUd0?Ex1(noG6 z9Ah&y>lhUxGbCh6B6m!gq~iN~Z|1B^r4Cg#(eH1*Ubud_>Fnp%?k7B+XFL1syO<2S z`RdsVqgP*j^|okd&HkvhX-lV^_l#5hSyeo5)v9e0t9Jc*Z2NoN1<#_I8XGAdHulFK zD`q^YoW$=rFW1)T?V0BDH@~~)T`m3l?$xVTCo@dEE}Jw5ojR@ZSS5ebnaNjf^M&1= zvTWzw{J#eOE?ii9R} zI_2Z7C;p+KdvBD@y>%}?xt#aztn<&8FP*a7e7Uchu>QrW4Tj&AonECU)_v6IRl47Iqx}10CsKgnusNb)_BQt4e=nXt zZ!FDc|E_fQuhjk3Ws_c(M7_G@{nqYFp@r?9dNEtJ^K*eI@1^oK^N^}b?r%c*Z-@Nq z{JXb3SL^SQZ<*8P{b1)sj*&~6-%70RUbWc5J~t`ee)+Qcmi9tK0>1g1xqaV;`}2GA pTVDKsk|=|$b2Opj%-?lPpXz%gkMzvg4=jEdJYD@<);T3K0RRgI0V@Ci diff --git a/common/media/ui/Female/UpperArm_L.png b/common/media/ui/Female/UpperArm_L.png deleted file mode 100644 index bcf269adf19c717e3f8da6fbb155eaf01e0451f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 983 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zVD9vEaSW-L^Y(^g-mL%;hrr#ZI^J&hU%NqY#;(O)fwzKGKW?|*`b{b%^LSrx z%jM>^KWE2qT+rI(jlf3dBYeY$F=6{={(#RFHrw{cMCngIec`=W^#b)of5mTo*GgmG zegAFGd_QmdeY@Rp>z&VinRkQvujVU#_alEj-psA#`O~@LaQMGnxxuz!akqA@J6+_k zW&Nki+AeQueXXyaRx0bdp_ueO+x9oZ`3_m7vJN1x9hvd%-?G2rzK8%dTvp>L3=iSz zIWOZbAwpU%d)0IkSkQl5R+-l=tMtuq*^E4}*l&yF>x&?)h~?`*EW3M|mvz5c`f=)k zEuR1ULnw&#+^S^PQE>Eqmfdy=$g1XR_t_41nQi~W)iFTVJU0R>skS@3EE>c$N!fLD z-t~6}L5lNs`)$AR`L^y3ppN}*u|NgaKfZmCw0~MYtN8D)Yfg(V?*6;WPWEr^1xJf> wzaQMbEWQ2h%hG?!*D5f4j~N~#Pvn#E&l@W9`@R({0_Ic(Pgg&ebxsLQ0G$1(2><{9 diff --git a/common/media/ui/Female/UpperArm_R.png b/common/media/ui/Female/UpperArm_R.png deleted file mode 100644 index 5b605dd60b0da3fa57ee1216c923be20d493555c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1018 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zU|!?t;uumf=j{#aqT2={4uP7FPu=UNeqYadt1oJqZ_;yPMNX#T^O;{Ce|Y4m^8WU= zyBR;qzA_s0-B3(w?~qk0>li+aJw5*pKL1>~`)=Ot@b!E5?Ynne&iC|(8}*-R?Cf=! zxF1-2&;9-L&%O80=ifg5_@m~l-@kvy+kgM|?c2+WpXJk!?EAZ^*Iusw{=SdLT@}9B z#UGvbEa%@Y4m&%$Bli+t-G~>cX5SvCxcaEsHS0BEvt^I)Me1&2*MYJHtzF&-Y;-=t z2W5nHy?uGpPy1+^Iz%vK>J7bfd>g!S_!J;PzDD5o(VLE89cLXOdM4aV-fdxh;mtWSrwCV61Oeq?TQmOfr2jQdUU^}D}Haw4VPzb-f|YW zV2Sc{aSW-L^Y*S`ws0at`^W#YMP$7;Na|RWh{ni#;ePSt$%U)uA1KvvhVSp-n7b)$ zyK|;mJ71xuYm`^;ilf%;O9HkiZQXhL;O9RN6jbiq<@SG9d*4U1G}fJGZz#XRTSK#s zjgCFMNjU<^%@Wc_ZYUgM8x?|wM49;)vEv&~&R%0$S$KDa%1iZ?lS4esChhV2q;&GK z3jgF9?@yX1pQ~I}v7c7-c-Ok=g|dHR^-ngdM0?7qR&J~K|MSt;V~;-HPrq4ZHoMmI zQ(A59-`7TLNpI4=PPXy;q-Rpq3`|NUbB-+cca zeOjtVdP~|~U!xswJwrpE{`q6G_+mzGb@lIB&87QJ7na7(f0I^wzDD?4`>It%B_&gW zyv)qaC#$HdtIzaNo9VY)vj6zan>SBBeE9GZTk@M{Uncb!-EZ0JQ>6cSZiSw{esMv; zguQ$BzIp%t`Ij#y;^N{!T{rLEJ)2|Z9eVeN>`r0x3|`HpDxc?vn@jPqX)b;8=FOUk z8?Ik1jTK5Ze-^*-c8Tb1UMWxly1Qo6E5?}gH_uAdc5IZsbhLN|mnYGo% zJZWIc;(dK-S1vG_ZBKvtdK*Yf)4DackL6wWT3!T9db?F)XPoM#b~^m8%yLA1G*x5G c-=DaRk5AdgsA_s1SoAP>y85}Sb4q9e01kQZ1ONa4 diff --git a/common/media/ui/Male/ForeArm_R.png b/common/media/ui/Male/ForeArm_R.png deleted file mode 100644 index 77d0045609f65aecbb8f6353498856624c4b0db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zV9E7#aSW-L^Y-q>tl&U~_K*Mf=ANApHEZE)Nh=Evul8Nvd9|)R7m$gmVRpZNNW9?G zk^tGa4`y6-T;VbGQd84TzD@;`h+FqA$NktRpW>-^(sN(+dCNPhp_feroojD1UpQ-M z*0IsChc_ulAh}sW`p6B1V{D^Bu#nh!@<#K|=ao%&Cp~p~U#))9;N)W!|4DbeKbf9f zuJV4;9?wsk1b!m{QKlR@4o-$H}3wqK68@%%%gTbp9=r| zNt~qbX?H$;{x&;<9ZDPf`}^nfvNeZW%KuWbpWHKfkB8C8H(lZ0U2EohdwU;_(GAf* zxmZPhl1)ZwK$OhxRjZy^_5c0*_xaaNqS3jbF+`y zc5pAyS&sre^fFva%fzF^uVW$pRs z*_zn7K+d;Pvu(GoAHA{edTWW{Hm;W`IoDqsSxH8xmgsJKUFsOyy|&3p{Px#fbM%gu zap|w|-WVFOJjuFs`qh;;v`$kuN&aJJ?+71F^H{U`6aE$Xt=gw{@$CebMhu>=elF{r G5}E)=Yy&$0 diff --git a/common/media/ui/Male/Hand_L.png b/common/media/ui/Male/Hand_L.png deleted file mode 100644 index fc3ac0896c6c5f21957705454110e1c0d2ba50e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1164 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zV6pRbaSW-L^Y+euKaoHg_mA&m58OS{l9T9kBIq&q4MAzH>chb|Zbe3XmI<0MBZgeOj~S@u^F0m zY;^45P0A5SZkCWfazkNMh|-YwKRs^JBIE&=I`c=p3F1Z#`}}X$vv5~(hMYO z)@`keiH`m~;YsnN)vax%vD+V1ZEa|ey>6?&bdS#`jgx70d+sj1HtS`{Eg!YX-~ZPA z|9b7(wdJmDlE44;Oxol7$>jc{e^;J9eLDSR$*-j3g`L$h><6HbD zZOaY+_4nUn*L11sPA|>7XE*NO|9@TPtf^7i>(;F^ntk@twzuDlZ*Mz$^r)-aWY507 zKDjq<-|pR2`**%v=lqXLcU8Xd+_ZD&%;x6i9=F9)f{bMNHt*XvZ(FXhTz_#{*|d)p za~?l_EF&lP?9U&Y&p-dHPcM%R@7e3JJ^6dp-kkjW^zw4^)vH&}JewxT!?ttZzH={M zX8QU0T{7{_TKhj`+s5f{%HE{D-nDK=I@J@Lz*3R_E1e$A9!<{BT)dBofo*Nrwa(R( QfW-@gr>mdKI;Vst0K41lhyVZp diff --git a/common/media/ui/Male/Hand_R.png b/common/media/ui/Male/Hand_R.png deleted file mode 100644 index c0c199898b0d1690a5cd9c04a5563d81bdd4575c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1182 zcmeAS@N?(olHy`uVBq!ia0vp^)eH=bdK_#(*1FHR{XmMdz$3Dlfq`2Xgc%uT&5>YW zU+bBUp76w7 z^J#KuX#Au(-^_N(UCDlP`0(NK#~*)OF0iQicVMOJ$?Yonliz$VW8M|M{{6*=1wVG> z-aeQ=C#p1d`>oQuS@S=?t}9Op4-J*8&dJHybN}Ye%CeG@DVsNM-jZ8ge0N*!WfNaL zJ-th%v3~yk?9tKD^Yi=XzdF_U&gR(vl*{Sq>6YW zV0H0yaSW-L^Y)Hyc1o&5`^Wz?Z{AeuRNyvhQ`jXC;qvBa&(3 z;$QI7(5z#lV-IgqjzDs=g!GXc3dh)nxX`yG+a0^)&c8lrBHygSKe@znmdbnepJpf1 zJ@0vc@}0DO(w})xwyV@nw{y7qz4qmNPjjGZ^`9yyHKrTd@BQ`1-Se1do9C+A_am;C z&V6$JV#b%!N%Ots&z#g-@BPW-Wcf}WyIGoAbI-t%1PyU^$T)u z^RypUnLfG3_U!ZL&tLA+^Szv6G;_(i*FeR5vzGnbk$b!S@WT&_o*e9ny(b@go%h#1 z|J&Ql3sPqDjj#^PJwlfB*dI>Tt9?E7oR(Se)GP4^FCJ0*}He| zoO$!&@>^eh<^O(Pa`&2pDMmkEefaR9ee>qc?7%QcPglQv`}WQI_xJB)tQK}{j^Dqm zV(QMgJry6{UA%bFKRP=4@3CWU^PijxU%A=xrg1?*!H0*F)&0LMyPP?3et6cdUR&nS zP}S+dkuEE5{8M@&w_??*6T-*A3H6(8VA51+aH`$s{%+T)UT`|TZ(JVv6q1bJFZ{n7 zDEjFBg1f=_R(EUfhx-vo@6}~p`zG#V0cM73wrO8;FC3ezEB&W+ELHG!mKk8SelEvI^I?YZN@N@a9T1C`e3mVg~sT$DXkKW7)vac?Z6 yzVyzbc76-e{S|MYQ8#D!WMKkvM0_#zpTUi*YW zVD0jBaSW-L^Y)Hmw@j%_`^WcZ-ki&uBrN2!V=}Ylo`wPrv!+(xs>>`%$}zbQZ*SPX zSv0<3YVXvtGOi|tMh7m=haN{{o^5)4?p@zeRYL`~M`vTyD(CV0Y~HZB{@u*~{Wov# z*1ff@SK^fTUWU1H$;}edM{Xz_V>2}C*yz~9o0KCkq=hDk3;sT|`1)5T>(s@;6}{Id z)l7J@SEXL{Wk$y!hB&{ip5mhxw{Mm5+-zh#%zqD!V&t*0a+;YyK66hF;Au@d^#qJZx-(y7^!C6i(Vc zY0tzIAZP*tFOL#8SFE8&-^EE?XG)Xe0^@+Dy_{obE=JIrX(jTcOO*(qSaTmUVpXv{L|+0 zOOw>dG^3eIG`dWDCqFHkxkw`@G&E4;XzM1O_uqH=bpah1@9yq?|K8r}?{}MFI^7$2so)K;$2%DtUtBDHkg>%hoqzdh|b7m$ihh22YE$#WAbfq?*{Ry$n>KI$ z{KPG9W5k;C^X>Ovd~T&#wOd-h>(NfXKR?*=%FE5Kua7^!HT!xPFc562zvUEve00>` z%*G5bK^mvh|^Aqa!z7om2p_ej9GN z(f2`)S9e>L$qpdvACD$bQ@V54+IhUHWfLt9{WhC&!-}=J^X n<|`i_*&k0dksN3f_A_45kge&Ryk|SGsAlkV^>bP0l+XkK^Bt@_ diff --git a/common/media/ui/test_pattern.png b/common/media/ui/test_pattern.png deleted file mode 100644 index 8bd9be4ce14a231bbc8a4ed8da5342dbdc886cca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2402 zcmW-je>_wBAIB+ibKB~sxy6v{SJ@rHq?U_2uK5vSh?R0Xi)LHXGCwA|_C>!gUt=s8 ztzqPmyd^n-Ofxs&DFm73Y*Qj*-W?;oGX^YcEB_xtsJz2E0?9*=W2Ix+-d zZe?y{WP}JM2F1YS7#SJ6ePIgUTIc9xFxE1Oi7X?dFD(qm*r=vqwTHU9hjR_oz!J@u^C9FL-#oF=T-3@^j>$sWP3bDd8p2gVR~{>Z!! zHwgdxYgnu)6z<9DW&Fn2Y})yYZT3p?v$hi~FTGB!TNN;+csB@mrn2mMi z@W$?5lARO>gKeH@%YQ`L=4P9E|K!xR2& zfkI9K>5}^s5k*|nB)6dkt42eZ@{P*F1-h+1Ca98~TuSY+%U;g)io?sB3s{p3TKIC}cS0UCu2#%Xr^6 zQ1$`KMyqH2&!XE>gQY2SFjGnR2Kp*-pXNrqytu{&gF$;ges$ARbt4$|$?<8hk~_mb zH}P!FB2Y*&C0){S5U@l5T zB7{O#)Ysbu)NMkVn(+rwo@yTNTUjL&#h3P>kXC8=+iR&3doqEJN5vpIc(T#yjROnB zBJ+|Y5I6EHwy7_0^+P*;3<3vt#)^NGirBE@gZmQXPyOmIy7xlgFT?v*27=wu8G@fj zs%6zP5wSUfpW7GTTsv7W4wQ=cu$^J=FkE|{(jlEg6+my)%9|npFkUdUlLqMr31a<9xF#g(;FNCsKS~k$vuk zD&|N86X>hrq|*j&a8VDHYd4xmm}kBjotvB8ibC!KIL<_=J&#sKz(yOWFHi~{Ao3R^ z&4#^lvB-dtcie$_{_-K;K)H3W6)O~$kEim|I;x|Y7f%Ri!6Or z8xnnC_vG*a9dvQ`g48ZQ@ zLgc5@pPYQj{oAc8bq>S@)<$Goc^CLcSDwq1hxGu)x=M`CklHJ?P6TWYOt@;vY```& zS@W1{_*4~&$-V4oIG~+Af41kSS(E8=gz!`F;>XPK*;$Y7v-JW$aT##;%&eXIx2mi2rLO4QFrSkv7nSai`ypMYk|P0+zq}oW`^VYZc33^U_>oWm z;v293xG@Y=kK^2kTNT9c~#1z7p)r=NYzeLXlh zb^Mg`Rd+}@T&6wLW18HR{X$)yzkI~_WBI9brHm|pFv@QaPYe91_CvN!W`FE<;7<`2 zmb>Q@#tT1zJq7joNS)?=srS|%?X4!=ID4|%@4YgYXH)C6@@orMR7GZ&y=?X;Btz-> z4K9n(gBT9>?C~r(#2f&*H(!fAE!KC`g1FyHc~R`M^&OGBM`j1yg8N2=;p_psk#K?T z02p5Jt@;*FZF`hAU1{as8@h0OWVXL`J_EDwHmkpNk=h(Yz?NuVIEH2+p^kb%sN5o{ zOXx8$H~RscN9Xz6q$u(x(+WkFWOjPtOWkvjoX`nar~Lim%{T$uN<*~WzgJ0L^!#v# zfNi9u7mn!!pbR!=tn=hOq(&erQQK>t}_SR{xfNAx7Ksy)8Ing+kg*MHufq9Ts#>u!~YmD%-psw{%Hu zU91?5WM4;(3AMJEyn9Ru)UU&-er>N-v!o#xifc@3P^JoHH!beN>M2TdpWTklR5}Ht zYHY8Nk?fvkOO9Pm9M-cH6*6=G$lZ`sKkSXB(gBRhP2x^&s%v}_JsdFiJ$LlrA-QXw ztp-+@96l^j@nt0Cl{(tB++F+P#SAKzFzRzqV;o z?qXyP6qdQgwL#fJyLKCmGT2Hr7sF9pcH*B8;)|-q`nlN?AfNiavRp>`VJoqvqb5IO$^@oebg^X?)vA>`>@Wk7fZ5tFkU*$G&CyNLfE?+Yhj^SYNvIZ zxY%02qqk)^tHqRb!F}K+JbGts&f-u8JUT71VJR9eskbncU_zdr+D1mzaYNyS??LAz ze;&*ij*thl*OKAu1nss6;oK{^>C-Li#m$K$u)Jo0Z*QYRTX06vtzSPag fde%KTvto?rKghyge&GZEG#P~kM+UWif4J~p1~a0O diff --git a/test/42.12/media/shared/TOC/BodyLocationsInit.lua b/test/42.12/media/shared/TOC/BodyLocationsInit.lua new file mode 100644 index 0000000..3cc757c --- /dev/null +++ b/test/42.12/media/shared/TOC/BodyLocationsInit.lua @@ -0,0 +1,8 @@ +local BodyLocationsAPI = require("TOC/BodyLocations") + +BodyLocationsAPI.New("TOC_Arm_L") +BodyLocationsAPI.New("TOC_Arm_R") +BodyLocationsAPI.New("TOC_ArmProst_L") +BodyLocationsAPI.New("TOC_ArmProst_R") +BodyLocationsAPI.New("TOC_ArmAccessory_L") +BodyLocationsAPI.New("TOC_ArmAccessory_R") \ No newline at end of file diff --git a/common/media/lua/shared/TOC/Traits.lua b/test/42.12/media/shared/TOC/Traits.lua similarity index 100% rename from common/media/lua/shared/TOC/Traits.lua rename to test/42.12/media/shared/TOC/Traits.lua diff --git a/test/42.12/mod.info b/test/42.12/mod.info new file mode 100644 index 0000000..391ea6c --- /dev/null +++ b/test/42.12/mod.info @@ -0,0 +1,11 @@ +name=The Only Cure +poster=poster.png +description=You've been bitten. You have only two choices. +id=TheOnlyCure +icon=icon.png +url=https://github.com/ZioPao/The-Only-Cure +modversion=2.3 +versionMin=42.12 + +loadModAfter=\FancyHandwork,\BrutalHandwork,\TwoWeaponsOnBackRework +incompatible=\BB_FirstAidOverhaul \ No newline at end of file From 40da330b4146de5be0edd8638536eb4de4109572 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 00:51:05 +0100 Subject: [PATCH 03/18] fix: trait init in LocalPlayerController --- .../lua/client/TOC/Controllers/LocalPlayerController.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua index b464a5a..37c7cf3 100644 --- a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua +++ b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua @@ -2,6 +2,7 @@ local DataController = require("TOC/Controllers/DataController") local CommonMethods = require("TOC/CommonMethods") local CachedDataHandler = require("TOC/Handlers/CachedDataHandler") local StaticData = require("TOC/StaticData") +local TOC_Registries = require("TOC/Registries") require("TOC/Events") ----------- @@ -55,11 +56,13 @@ function LocalPlayerController.ManageTraits() local playerObj = getPlayer() local AmputationHandler = require("TOC/Handlers/AmputationHandler") - for k, v in pairs(StaticData.TRAITS_BP) do - if playerObj:hasTrait(k) then + + for k, v in pairs(TOC_Registries.Traits) do + if playerObj:hasTrait(v) then -- Once we find one, we should be done since they're exclusive TOC_DEBUG.print("Player has amputation trait " .. k .. ", executing it") - local tempHandler = AmputationHandler:new(v, playerObj) + local limbName = StaticData.TRAITS_BP[k] + local tempHandler = AmputationHandler:new(limbName, playerObj) tempHandler:execute(false) -- No damage tempHandler:close() From cdf04730658b5f22bb8eb7e1b2f54cb743ee2fb1 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 00:51:23 +0100 Subject: [PATCH 04/18] fix: Type to ItemType in items ZedScripts --- 42/media/scripts/TOC_amputation_items.txt | 10 +++++----- 42/media/scripts/TOC_prosthesis_items.txt | 8 ++++---- 42/media/scripts/TOC_surgery_items.txt | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/42/media/scripts/TOC_amputation_items.txt b/42/media/scripts/TOC_amputation_items.txt index e34482b..e3205e3 100644 --- a/42/media/scripts/TOC_amputation_items.txt +++ b/42/media/scripts/TOC_amputation_items.txt @@ -7,7 +7,7 @@ module TOC /****************** Clothing that look like a cut limb ******************/ item Amputation_Hand_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Amputation, hidden = true, @@ -26,7 +26,7 @@ module TOC item Amputation_ForeArm_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Amputation, hidden = true, @@ -44,7 +44,7 @@ module TOC item Amputation_UpperArm_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Amputation, hidden = true, @@ -61,7 +61,7 @@ module TOC item Amputation_Hand_L { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Amputation, hidden = true, @@ -80,7 +80,7 @@ module TOC item Amputation_ForeArm_L { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Amputation, hidden = true, diff --git a/42/media/scripts/TOC_prosthesis_items.txt b/42/media/scripts/TOC_prosthesis_items.txt index 691dbbc..5334b21 100644 --- a/42/media/scripts/TOC_prosthesis_items.txt +++ b/42/media/scripts/TOC_prosthesis_items.txt @@ -9,7 +9,7 @@ module TOC item Prost_HookArm_L { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Prosthesis, DisplayName = ProstArmHook, ClothingItem = Prost_HookArm_L, @@ -31,7 +31,7 @@ module TOC } item Prost_HookArm_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Prosthesis, DisplayName = ProstArmHook, ClothingItem = Prost_HookArm_R, @@ -53,7 +53,7 @@ module TOC item Prost_NormalArm_L { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Prosthesis, DisplayName = ProstArmHook, ClothingItem = Prost_NormalArm_L, @@ -75,7 +75,7 @@ module TOC item Prost_NormalArm_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Prosthesis, DisplayName = ProstArmHook, ClothingItem = Prost_NormalArm_R, diff --git a/42/media/scripts/TOC_surgery_items.txt b/42/media/scripts/TOC_surgery_items.txt index aa21297..f0ced6d 100644 --- a/42/media/scripts/TOC_surgery_items.txt +++ b/42/media/scripts/TOC_surgery_items.txt @@ -7,7 +7,7 @@ module TOC item Surg_Arm_Tourniquet_L { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Surgery, DisplayName = Tourniquet, @@ -27,7 +27,7 @@ module TOC item Surg_Arm_Tourniquet_R { - Type = Clothing, + ItemType = base:Clothing, DisplayCategory = Surgery, DisplayName = Tourniquet, From b84c2a593d777b84070984a13efaea076dcf2aad Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 00:56:00 +0100 Subject: [PATCH 05/18] fix: items bodylocs --- 42/media/scripts/TOC_amputation_items.txt | 12 ++++++------ 42/media/scripts/TOC_prosthesis_items.txt | 8 ++++---- 42/media/scripts/TOC_surgery_items.txt | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/42/media/scripts/TOC_amputation_items.txt b/42/media/scripts/TOC_amputation_items.txt index e3205e3..98ee59a 100644 --- a/42/media/scripts/TOC_amputation_items.txt +++ b/42/media/scripts/TOC_amputation_items.txt @@ -12,7 +12,7 @@ module TOC hidden = true, ClothingItem = Amputation_Hand_R, - BodyLocation = TOC_Arm_R, + BodyLocation = toc:TOC_Arm_R, Weight = 0, CombatSpeedModifier = 0.9, @@ -31,7 +31,7 @@ module TOC hidden = true, ClothingItem = Amputation_ForeArm_R, - BodyLocation = TOC_Arm_R, + BodyLocation = toc:TOC_Arm_R, Weight = 0, CombatSpeedModifier = 0.8, @@ -49,7 +49,7 @@ module TOC hidden = true, ClothingItem = Amputation_UpperArm_R, - BodyLocation = TOC_Arm_R, + BodyLocation = toc:TOC_Arm_R, BloodLocation = UpperArms;UpperBody, Weight = 0, CombatSpeedModifier = 0.7, @@ -66,7 +66,7 @@ module TOC hidden = true, ClothingItem = Amputation_Hand_L, - BodyLocation = TOC_Arm_L, + BodyLocation = toc:TOC_Arm_L, Weight = 0, CombatSpeedModifier = 0.9, @@ -85,7 +85,7 @@ module TOC hidden = true, ClothingItem = Amputation_ForeArm_L, - BodyLocation = TOC_Arm_L, + BodyLocation = toc:TOC_Arm_L, Weight = 0, CombatSpeedModifier = 0.8, @@ -104,7 +104,7 @@ module TOC hidden = true, ClothingItem = Amputation_UpperArm_L, - BodyLocation = TOC_Arm_L, + BodyLocation = toc:TOC_Arm_L, Weight = 0, CombatSpeedModifier = 0.7, diff --git a/42/media/scripts/TOC_prosthesis_items.txt b/42/media/scripts/TOC_prosthesis_items.txt index 5334b21..97acd9e 100644 --- a/42/media/scripts/TOC_prosthesis_items.txt +++ b/42/media/scripts/TOC_prosthesis_items.txt @@ -16,7 +16,7 @@ module TOC ClothingItemExtra = Prost_HookArm_R, ClothingItemExtraOption = InstallProstRight, clothingExtraSubmenu = InstallProstLeft, - BodyLocation = TOC_ArmProst_L, + BodyLocation = toc:TOC_ArmProst_L, Weight = 1.5, CombatSpeedModifier = 1.05, BloodLocation = UpperArms;UpperBody, @@ -38,7 +38,7 @@ module TOC ClothingItemExtra = Prost_HookArm_L, ClothingItemExtraOption = InstallProstLeft, clothingExtraSubmenu = InstallProstRight, - BodyLocation = TOC_ArmProst_R, + BodyLocation = toc:TOC_ArmProst_R, Weight = 1.5, CombatSpeedModifier = 1.05, BloodLocation = UpperArms;UpperBody, @@ -60,7 +60,7 @@ module TOC ClothingItemExtra = Prost_NormalArm_R, ClothingItemExtraOption = InstallProstRight, clothingExtraSubmenu = InstallProstLeft, - BodyLocation = TOC_ArmProst_L, + BodyLocation = toc:TOC_ArmProst_L, Weight = 2, CombatSpeedModifier = 1.1, BloodLocation = UpperArms;UpperBody, @@ -82,7 +82,7 @@ module TOC ClothingItemExtra = Prost_NormalArm_L, ClothingItemExtraOption = InstallProstLeft, clothingExtraSubmenu = InstallProstRight, - BodyLocation = TOC_ArmProst_R, + BodyLocation = toc:TOC_ArmProst_R, Weight = 2, CombatSpeedModifier = 1.1, BloodLocation = UpperArms;UpperBody, diff --git a/42/media/scripts/TOC_surgery_items.txt b/42/media/scripts/TOC_surgery_items.txt index f0ced6d..a93b8a8 100644 --- a/42/media/scripts/TOC_surgery_items.txt +++ b/42/media/scripts/TOC_surgery_items.txt @@ -15,7 +15,7 @@ module TOC ClothingItemExtra = Surg_Arm_Tourniquet_R, ClothingItemExtraOption = PutTourniquetArmRight, clothingExtraSubmenu = PutTourniquetArmLeft, - BodyLocation = TOC_ArmAccessory_L, + BodyLocation = toc:TOC_ArmAccessory_L, BloodLocation = UpperArms;UpperBody, Weight = 0.25, @@ -35,7 +35,7 @@ module TOC ClothingItemExtra = Surg_Arm_Tourniquet_L, ClothingItemExtraOption = PutTourniquetArmLeft, clothingExtraSubmenu = PutTourniquetArmRight, - BodyLocation = TOC_ArmAccessory_R, + BodyLocation = toc:TOC_ArmAccessory_R, BloodLocation = UpperArms;UpperBody, Weight = 0.25, From aa61a3390c9f3f018e8be6238b1c35c4ce635d06 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 00:56:06 +0100 Subject: [PATCH 06/18] fix: wrong dir for Translate --- .../{TOC => }/Translate/DE/ContextMenu_DE.txt | 0 .../lua/shared/{TOC => }/Translate/DE/IG_UI_DE.txt | 0 .../shared/{TOC => }/Translate/DE/ItemName_DE.txt | 0 .../shared/{TOC => }/Translate/DE/Recipes_DE.txt | 0 .../shared/{TOC => }/Translate/DE/Sandbox_DE.txt | 0 .../shared/{TOC => }/Translate/DE/Tooltip_DE.txt | 0 .../lua/shared/{TOC => }/Translate/DE/UI_DE.txt | 0 .../{TOC => }/Translate/EN/ContextMenu_EN.txt | 0 .../lua/shared/{TOC => }/Translate/EN/IG_UI_EN.txt | 0 .../shared/{TOC => }/Translate/EN/ItemName_EN.txt | 0 .../shared/{TOC => }/Translate/EN/Recipes_EN.txt | 0 .../shared/{TOC => }/Translate/EN/Sandbox_EN.txt | 0 .../shared/{TOC => }/Translate/EN/Tooltip_EN.txt | 0 .../lua/shared/{TOC => }/Translate/EN/UI_EN.txt | 0 .../{TOC => }/Translate/FR/ContextMenu_FR.txt | 0 .../lua/shared/{TOC => }/Translate/FR/IG_UI_FR.txt | 0 .../shared/{TOC => }/Translate/FR/ItemName_FR.txt | 0 .../shared/{TOC => }/Translate/FR/Recipes_FR.txt | 0 .../shared/{TOC => }/Translate/FR/Sandbox_FR.txt | 0 .../shared/{TOC => }/Translate/FR/Tooltip_FR.txt | 0 .../lua/shared/{TOC => }/Translate/FR/UI_FR.txt | 0 .../{TOC => }/Translate/IT/ContextMenu_IT.txt | 0 .../lua/shared/{TOC => }/Translate/IT/IG_UI_IT.txt | 0 .../shared/{TOC => }/Translate/IT/ItemName_IT.txt | 0 .../shared/{TOC => }/Translate/IT/Recipes_IT.txt | 0 .../shared/{TOC => }/Translate/IT/Sandbox_IT.txt | 0 .../shared/{TOC => }/Translate/IT/Tooltip_IT.txt | 0 .../lua/shared/{TOC => }/Translate/IT/UI_IT.txt | 0 .../{TOC => }/Translate/KO/ContextMenu_KO.txt | Bin .../lua/shared/{TOC => }/Translate/KO/IG_UI_KO.txt | Bin .../shared/{TOC => }/Translate/KO/ItemName_KO.txt | Bin .../shared/{TOC => }/Translate/KO/Recipes_KO.txt | Bin .../shared/{TOC => }/Translate/KO/Sandbox_KO.txt | Bin .../shared/{TOC => }/Translate/KO/Tooltip_KO.txt | Bin .../lua/shared/{TOC => }/Translate/KO/UI_KO.txt | Bin .../{TOC => }/Translate/RU/ContextMenu_RU.txt | 0 .../lua/shared/{TOC => }/Translate/RU/IG_UI_RU.txt | 0 .../shared/{TOC => }/Translate/RU/ItemName_RU.txt | 0 .../shared/{TOC => }/Translate/RU/Recipes_RU.txt | 0 .../shared/{TOC => }/Translate/RU/Sandbox_RU.txt | 0 .../shared/{TOC => }/Translate/RU/Tooltip_RU.txt | 0 .../lua/shared/{TOC => }/Translate/RU/UI_RU.txt | 0 .../{TOC => }/Translate/TR/ContextMenu_TR.txt | 0 .../lua/shared/{TOC => }/Translate/TR/IG_UI_TR.txt | 0 .../shared/{TOC => }/Translate/TR/ItemName_TR.txt | 0 .../shared/{TOC => }/Translate/TR/Recipes_TR.txt | 0 .../shared/{TOC => }/Translate/TR/Sandbox_TR.txt | 0 .../shared/{TOC => }/Translate/TR/Tooltip_TR.txt | 0 .../lua/shared/{TOC => }/Translate/TR/UI_TR.txt | 0 .../{TOC => }/Translate/UA/ContextMenu_UA.txt | 0 .../lua/shared/{TOC => }/Translate/UA/IG_UI_UA.txt | 0 .../shared/{TOC => }/Translate/UA/ItemName_UA.txt | 0 .../shared/{TOC => }/Translate/UA/Recipes_UA.txt | 0 .../shared/{TOC => }/Translate/UA/Sandbox_UA.txt | 0 .../shared/{TOC => }/Translate/UA/Tooltip_UA.txt | 0 .../lua/shared/{TOC => }/Translate/UA/UI_UA.txt | 0 56 files changed, 0 insertions(+), 0 deletions(-) rename 42/media/lua/shared/{TOC => }/Translate/DE/ContextMenu_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/IG_UI_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/ItemName_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/Recipes_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/Sandbox_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/Tooltip_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/DE/UI_DE.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/ContextMenu_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/IG_UI_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/ItemName_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/Recipes_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/Sandbox_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/Tooltip_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/EN/UI_EN.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/ContextMenu_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/IG_UI_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/ItemName_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/Recipes_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/Sandbox_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/Tooltip_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/FR/UI_FR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/ContextMenu_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/IG_UI_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/ItemName_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/Recipes_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/Sandbox_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/Tooltip_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/IT/UI_IT.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/ContextMenu_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/IG_UI_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/ItemName_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/Recipes_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/Sandbox_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/Tooltip_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/KO/UI_KO.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/ContextMenu_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/IG_UI_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/ItemName_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/Recipes_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/Sandbox_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/Tooltip_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/RU/UI_RU.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/ContextMenu_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/IG_UI_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/ItemName_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/Recipes_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/Sandbox_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/Tooltip_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/TR/UI_TR.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/ContextMenu_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/IG_UI_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/ItemName_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/Recipes_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/Sandbox_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/Tooltip_UA.txt (100%) rename 42/media/lua/shared/{TOC => }/Translate/UA/UI_UA.txt (100%) diff --git a/42/media/lua/shared/TOC/Translate/DE/ContextMenu_DE.txt b/42/media/lua/shared/Translate/DE/ContextMenu_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/ContextMenu_DE.txt rename to 42/media/lua/shared/Translate/DE/ContextMenu_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/IG_UI_DE.txt b/42/media/lua/shared/Translate/DE/IG_UI_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/IG_UI_DE.txt rename to 42/media/lua/shared/Translate/DE/IG_UI_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/ItemName_DE.txt b/42/media/lua/shared/Translate/DE/ItemName_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/ItemName_DE.txt rename to 42/media/lua/shared/Translate/DE/ItemName_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/Recipes_DE.txt b/42/media/lua/shared/Translate/DE/Recipes_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/Recipes_DE.txt rename to 42/media/lua/shared/Translate/DE/Recipes_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/Sandbox_DE.txt b/42/media/lua/shared/Translate/DE/Sandbox_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/Sandbox_DE.txt rename to 42/media/lua/shared/Translate/DE/Sandbox_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/Tooltip_DE.txt b/42/media/lua/shared/Translate/DE/Tooltip_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/Tooltip_DE.txt rename to 42/media/lua/shared/Translate/DE/Tooltip_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/DE/UI_DE.txt b/42/media/lua/shared/Translate/DE/UI_DE.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/DE/UI_DE.txt rename to 42/media/lua/shared/Translate/DE/UI_DE.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/ContextMenu_EN.txt b/42/media/lua/shared/Translate/EN/ContextMenu_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/ContextMenu_EN.txt rename to 42/media/lua/shared/Translate/EN/ContextMenu_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/IG_UI_EN.txt b/42/media/lua/shared/Translate/EN/IG_UI_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/IG_UI_EN.txt rename to 42/media/lua/shared/Translate/EN/IG_UI_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/ItemName_EN.txt b/42/media/lua/shared/Translate/EN/ItemName_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/ItemName_EN.txt rename to 42/media/lua/shared/Translate/EN/ItemName_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/Recipes_EN.txt b/42/media/lua/shared/Translate/EN/Recipes_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/Recipes_EN.txt rename to 42/media/lua/shared/Translate/EN/Recipes_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/Sandbox_EN.txt b/42/media/lua/shared/Translate/EN/Sandbox_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/Sandbox_EN.txt rename to 42/media/lua/shared/Translate/EN/Sandbox_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/Tooltip_EN.txt b/42/media/lua/shared/Translate/EN/Tooltip_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/Tooltip_EN.txt rename to 42/media/lua/shared/Translate/EN/Tooltip_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/EN/UI_EN.txt b/42/media/lua/shared/Translate/EN/UI_EN.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/EN/UI_EN.txt rename to 42/media/lua/shared/Translate/EN/UI_EN.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/ContextMenu_FR.txt b/42/media/lua/shared/Translate/FR/ContextMenu_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/ContextMenu_FR.txt rename to 42/media/lua/shared/Translate/FR/ContextMenu_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/IG_UI_FR.txt b/42/media/lua/shared/Translate/FR/IG_UI_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/IG_UI_FR.txt rename to 42/media/lua/shared/Translate/FR/IG_UI_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/ItemName_FR.txt b/42/media/lua/shared/Translate/FR/ItemName_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/ItemName_FR.txt rename to 42/media/lua/shared/Translate/FR/ItemName_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/Recipes_FR.txt b/42/media/lua/shared/Translate/FR/Recipes_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/Recipes_FR.txt rename to 42/media/lua/shared/Translate/FR/Recipes_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/Sandbox_FR.txt b/42/media/lua/shared/Translate/FR/Sandbox_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/Sandbox_FR.txt rename to 42/media/lua/shared/Translate/FR/Sandbox_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/Tooltip_FR.txt b/42/media/lua/shared/Translate/FR/Tooltip_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/Tooltip_FR.txt rename to 42/media/lua/shared/Translate/FR/Tooltip_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/FR/UI_FR.txt b/42/media/lua/shared/Translate/FR/UI_FR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/FR/UI_FR.txt rename to 42/media/lua/shared/Translate/FR/UI_FR.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/ContextMenu_IT.txt b/42/media/lua/shared/Translate/IT/ContextMenu_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/ContextMenu_IT.txt rename to 42/media/lua/shared/Translate/IT/ContextMenu_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/IG_UI_IT.txt b/42/media/lua/shared/Translate/IT/IG_UI_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/IG_UI_IT.txt rename to 42/media/lua/shared/Translate/IT/IG_UI_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/ItemName_IT.txt b/42/media/lua/shared/Translate/IT/ItemName_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/ItemName_IT.txt rename to 42/media/lua/shared/Translate/IT/ItemName_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/Recipes_IT.txt b/42/media/lua/shared/Translate/IT/Recipes_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/Recipes_IT.txt rename to 42/media/lua/shared/Translate/IT/Recipes_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/Sandbox_IT.txt b/42/media/lua/shared/Translate/IT/Sandbox_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/Sandbox_IT.txt rename to 42/media/lua/shared/Translate/IT/Sandbox_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/Tooltip_IT.txt b/42/media/lua/shared/Translate/IT/Tooltip_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/Tooltip_IT.txt rename to 42/media/lua/shared/Translate/IT/Tooltip_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/IT/UI_IT.txt b/42/media/lua/shared/Translate/IT/UI_IT.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/IT/UI_IT.txt rename to 42/media/lua/shared/Translate/IT/UI_IT.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/ContextMenu_KO.txt b/42/media/lua/shared/Translate/KO/ContextMenu_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/ContextMenu_KO.txt rename to 42/media/lua/shared/Translate/KO/ContextMenu_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/IG_UI_KO.txt b/42/media/lua/shared/Translate/KO/IG_UI_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/IG_UI_KO.txt rename to 42/media/lua/shared/Translate/KO/IG_UI_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/ItemName_KO.txt b/42/media/lua/shared/Translate/KO/ItemName_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/ItemName_KO.txt rename to 42/media/lua/shared/Translate/KO/ItemName_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/Recipes_KO.txt b/42/media/lua/shared/Translate/KO/Recipes_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/Recipes_KO.txt rename to 42/media/lua/shared/Translate/KO/Recipes_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/Sandbox_KO.txt b/42/media/lua/shared/Translate/KO/Sandbox_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/Sandbox_KO.txt rename to 42/media/lua/shared/Translate/KO/Sandbox_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/Tooltip_KO.txt b/42/media/lua/shared/Translate/KO/Tooltip_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/Tooltip_KO.txt rename to 42/media/lua/shared/Translate/KO/Tooltip_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/KO/UI_KO.txt b/42/media/lua/shared/Translate/KO/UI_KO.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/KO/UI_KO.txt rename to 42/media/lua/shared/Translate/KO/UI_KO.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/ContextMenu_RU.txt b/42/media/lua/shared/Translate/RU/ContextMenu_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/ContextMenu_RU.txt rename to 42/media/lua/shared/Translate/RU/ContextMenu_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/IG_UI_RU.txt b/42/media/lua/shared/Translate/RU/IG_UI_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/IG_UI_RU.txt rename to 42/media/lua/shared/Translate/RU/IG_UI_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/ItemName_RU.txt b/42/media/lua/shared/Translate/RU/ItemName_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/ItemName_RU.txt rename to 42/media/lua/shared/Translate/RU/ItemName_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/Recipes_RU.txt b/42/media/lua/shared/Translate/RU/Recipes_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/Recipes_RU.txt rename to 42/media/lua/shared/Translate/RU/Recipes_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/Sandbox_RU.txt b/42/media/lua/shared/Translate/RU/Sandbox_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/Sandbox_RU.txt rename to 42/media/lua/shared/Translate/RU/Sandbox_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/Tooltip_RU.txt b/42/media/lua/shared/Translate/RU/Tooltip_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/Tooltip_RU.txt rename to 42/media/lua/shared/Translate/RU/Tooltip_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/RU/UI_RU.txt b/42/media/lua/shared/Translate/RU/UI_RU.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/RU/UI_RU.txt rename to 42/media/lua/shared/Translate/RU/UI_RU.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/ContextMenu_TR.txt b/42/media/lua/shared/Translate/TR/ContextMenu_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/ContextMenu_TR.txt rename to 42/media/lua/shared/Translate/TR/ContextMenu_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/IG_UI_TR.txt b/42/media/lua/shared/Translate/TR/IG_UI_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/IG_UI_TR.txt rename to 42/media/lua/shared/Translate/TR/IG_UI_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/ItemName_TR.txt b/42/media/lua/shared/Translate/TR/ItemName_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/ItemName_TR.txt rename to 42/media/lua/shared/Translate/TR/ItemName_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/Recipes_TR.txt b/42/media/lua/shared/Translate/TR/Recipes_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/Recipes_TR.txt rename to 42/media/lua/shared/Translate/TR/Recipes_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/Sandbox_TR.txt b/42/media/lua/shared/Translate/TR/Sandbox_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/Sandbox_TR.txt rename to 42/media/lua/shared/Translate/TR/Sandbox_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/Tooltip_TR.txt b/42/media/lua/shared/Translate/TR/Tooltip_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/Tooltip_TR.txt rename to 42/media/lua/shared/Translate/TR/Tooltip_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/TR/UI_TR.txt b/42/media/lua/shared/Translate/TR/UI_TR.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/TR/UI_TR.txt rename to 42/media/lua/shared/Translate/TR/UI_TR.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/ContextMenu_UA.txt b/42/media/lua/shared/Translate/UA/ContextMenu_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/ContextMenu_UA.txt rename to 42/media/lua/shared/Translate/UA/ContextMenu_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/IG_UI_UA.txt b/42/media/lua/shared/Translate/UA/IG_UI_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/IG_UI_UA.txt rename to 42/media/lua/shared/Translate/UA/IG_UI_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/ItemName_UA.txt b/42/media/lua/shared/Translate/UA/ItemName_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/ItemName_UA.txt rename to 42/media/lua/shared/Translate/UA/ItemName_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/Recipes_UA.txt b/42/media/lua/shared/Translate/UA/Recipes_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/Recipes_UA.txt rename to 42/media/lua/shared/Translate/UA/Recipes_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/Sandbox_UA.txt b/42/media/lua/shared/Translate/UA/Sandbox_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/Sandbox_UA.txt rename to 42/media/lua/shared/Translate/UA/Sandbox_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/Tooltip_UA.txt b/42/media/lua/shared/Translate/UA/Tooltip_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/Tooltip_UA.txt rename to 42/media/lua/shared/Translate/UA/Tooltip_UA.txt diff --git a/42/media/lua/shared/TOC/Translate/UA/UI_UA.txt b/42/media/lua/shared/Translate/UA/UI_UA.txt similarity index 100% rename from 42/media/lua/shared/TOC/Translate/UA/UI_UA.txt rename to 42/media/lua/shared/Translate/UA/UI_UA.txt From 27d9b3a513ed3259be27c04c04bc6ffe1e36a9d4 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Tue, 16 Dec 2025 01:02:51 +0100 Subject: [PATCH 07/18] fix: bodyloc check for tourniquets --- 42/media/lua/client/TOC/Handlers/AmputationHandler.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua index 8061a11..ba3462b 100644 --- a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua +++ b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua @@ -52,7 +52,7 @@ function AmputationHandler.ApplyDamageDuringAmputation(player, limbName) -- Check if tourniquet is applied on the zone for bl, tournAmpGroup in pairs(StaticData.TOURNIQUET_BODYLOCS_TO_GROUPS_IND_STR) do - local item = player:getWornItem(bl) + local item = player:getWornItem(ItemBodyLocation[bl]) -- LimbName -> Group -> BodyLoc if item and tournAmpGroup == ampGroup then From acd2e9c547d159fe89fdac2727af30330954956d Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:46:57 +0100 Subject: [PATCH 08/18] Refactor TOC registries for traits and body locations --- 42/media/registries.lua | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/42/media/registries.lua b/42/media/registries.lua index b87145a..7fbf9c0 100644 --- a/42/media/registries.lua +++ b/42/media/registries.lua @@ -1,15 +1,16 @@ -TOC_Registries = { - Traits = { - Amputee_Hand = CharacterTrait.register("toc:amputee_hand"), - Amputee_Forearm = CharacterTrait.register("toc:amputee_forearm"), - Amputee_Upperarm = CharacterTrait.register("toc:amputee_upperarm") - } +_TOCRegistries = {} + +_TOCRegistries.traits = { + Amputee_Hand = CharacterTrait.register("toc:amputee_hand"), + Amputee_ForeArm = CharacterTrait.register("toc:amputee_forearm"), + Amputee_UpperArm = CharacterTrait.register("toc:amputee_upperarm"), } - -ItemBodyLocation.register("toc:TOC_Arm_L") -ItemBodyLocation.register("toc:TOC_Arm_R") -ItemBodyLocation.register("toc:TOC_ArmProst_L") -ItemBodyLocation.register("toc:TOC_ArmProst_R") -ItemBodyLocation.register("toc:TOC_ArmAccessory_L") -ItemBodyLocation.register("toc:TOC_ArmAccessory_R") +_TOCRegistries.bodylocations = { + TOC_Arm_L = ItemBodyLocation.register("toc:toc_arm_l"), + TOC_Arm_R = ItemBodyLocation.register("toc:toc_arm_r"), + TOC_ArmProst_L = ItemBodyLocation.register("toc:toc_armprost_l"), + TOC_ArmProst_R = ItemBodyLocation.register("toc:toc_armprost_r"), + TOC_ArmAccessory_L = ItemBodyLocation.register("toc:toc_armaccessory_l"), + TOC_ArmAccessory_R = ItemBodyLocation.register("toc:toc_armaccessory_r"), +} From da7621c0f03b72593cbc1b4dc5f01e13b56600fc Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:47:31 +0100 Subject: [PATCH 09/18] Refactor LocalPlayerController to use TOC registries --- .../client/TOC/Controllers/LocalPlayerController.lua | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua index 37c7cf3..0f5c5c2 100644 --- a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua +++ b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua @@ -2,8 +2,8 @@ local DataController = require("TOC/Controllers/DataController") local CommonMethods = require("TOC/CommonMethods") local CachedDataHandler = require("TOC/Handlers/CachedDataHandler") local StaticData = require("TOC/StaticData") -local TOC_Registries = require("TOC/Registries") require("TOC/Events") +local TOC = require("TOC/Registries") ----------- @@ -56,13 +56,11 @@ function LocalPlayerController.ManageTraits() local playerObj = getPlayer() local AmputationHandler = require("TOC/Handlers/AmputationHandler") - - for k, v in pairs(TOC_Registries.Traits) do - if playerObj:hasTrait(v) then + for k, v in pairs(StaticData.TRAITS_BP) do + if playerObj:hasTrait(TOC.traits[k]) then -- Once we find one, we should be done since they're exclusive TOC_DEBUG.print("Player has amputation trait " .. k .. ", executing it") - local limbName = StaticData.TRAITS_BP[k] - local tempHandler = AmputationHandler:new(limbName, playerObj) + local tempHandler = AmputationHandler:new(v, playerObj) tempHandler:execute(false) -- No damage tempHandler:close() @@ -119,7 +117,6 @@ function LocalPlayerController.HealZombieInfection(bodyDamage, bodyPart, limbNam bodyDamage:setInfected(false) bodyDamage:setInfectionMortalityDuration(-1) bodyDamage:setInfectionTime(-1) - bodyDamage:setInfectionLevel(-1) bodyPart:SetInfected(false) dcInst:setIsInfected(limbName, false) From b650b2a5909cb0eb94e440adde75ac3add80c49c Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:48:00 +0100 Subject: [PATCH 10/18] Refactor tourniquet check and update patient stats --- 42/media/lua/client/TOC/Handlers/AmputationHandler.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua index ba3462b..6b2bc3e 100644 --- a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua +++ b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua @@ -52,7 +52,7 @@ function AmputationHandler.ApplyDamageDuringAmputation(player, limbName) -- Check if tourniquet is applied on the zone for bl, tournAmpGroup in pairs(StaticData.TOURNIQUET_BODYLOCS_TO_GROUPS_IND_STR) do - local item = player:getWornItem(ItemBodyLocation[bl]) + local item = player:getWornItem(bl) -- LimbName -> Group -> BodyLoc if item and tournAmpGroup == ampGroup then @@ -152,8 +152,8 @@ function AmputationHandler:damageAfterAmputation(surgeonFactor) bodyPart:setBleedingTime(baseDamage - surgeonFactor) bodyPart:setDeepWounded(true) bodyPart:setDeepWoundTime(baseDamage - surgeonFactor) - patientStats:setEndurance(surgeonFactor) - patientStats:setStress(baseDamage - surgeonFactor) + patientStats:set(CharacterStat.ENDURANCE, surgeonFactor) + patientStats:set(CharacterStat.STRESS, baseDamage - surgeonFactor) end ---Execute the amputation. This method doesn't check if the upper limb has been amputated or not, so if @@ -191,7 +191,7 @@ function AmputationHandler:execute(damagePlayer) CachedDataHandler.CalculateCacheableValues(username) -- If the part was actually infected, heal the player, if they were in time (infectionLevel < 20) - if bd:getInfectionLevel() < 20 and bodyPart:IsInfected() and not dcInst:getIsIgnoredPartInfected() then + if bd:getGeneralWoundInfectionLevel() < 20 and bodyPart:IsInfected() and not dcInst:getIsIgnoredPartInfected() then LocalPlayerController.HealZombieInfection(bd, bodyPart, self.limbName, dcInst) end @@ -208,4 +208,4 @@ function AmputationHandler:close() AmputationHandler.instance = nil end -return AmputationHandler \ No newline at end of file +return AmputationHandler From 38fe71bc72bb4c9ee65731c529fef79c583a756a Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:48:17 +0100 Subject: [PATCH 11/18] Refactor ProsthesisHandler for B42 compatibility --- .../client/TOC/Handlers/ProsthesisHandler.lua | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua b/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua index fa42ff5..7b9434e 100644 --- a/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua +++ b/42/media/lua/client/TOC/Handlers/ProsthesisHandler.lua @@ -9,7 +9,7 @@ local OverridenMethodsArchive = require("TOC/OverridenMethodsArchive") ---@class ProsthesisHandler local ProsthesisHandler = {} -local bodylocArmProstBaseline = "TOC_ArmProst" +local bodylocArmProstBaseline = "toc:toc_armprost" --local bodyLocLegProst = "TOC_LegProst" ---Check if the following item is a prosthesis or not @@ -17,13 +17,12 @@ local bodylocArmProstBaseline = "TOC_ArmProst" ---@return boolean function ProsthesisHandler.CheckIfProst(item) -- 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 - --TOC_DEBUG.print("Not prost") + TOC_DEBUG.print("Not prost") return false end - return item:getBodyLocation():contains(bodylocArmProstBaseline) + return item:getBodyLocation():toString():contains(bodylocArmProstBaseline) end ---Get the grouping for the prosthesis @@ -35,7 +34,7 @@ function ProsthesisHandler.GetGroup(item) local bodyLocation = item:getBodyLocation() local position - if bodyLocation:contains(bodylocArmProstBaseline) then + if bodyLocation:toString():contains(bodylocArmProstBaseline) then position = "Top_" else TOC_DEBUG.print("Something is wrong, no position in this item") @@ -133,14 +132,19 @@ function ISClothingExtraAction:isValid() local isEquippable = og_ISClothingExtraAction_isValid(self) -- self.extra is a string, not the item - local testItem = instanceItem(self.extra) + -- B42 Compatibility to add + local testItem = InventoryItemFactory.CreateItem(self.extra) return ProsthesisHandler.Validate(testItem, isEquippable) end local og_ISClothingExtraAction_perform = OverridenMethodsArchive.Save("ISClothingExtraAction_perform", ISClothingExtraAction.perform) ---@diagnostic disable-next-line: duplicate-set-field function ISClothingExtraAction:perform() - local extraItem = instanceItem(self.extra) + + + -- B42 Compatibility to add + + local extraItem = InventoryItemFactory.CreateItem(self.extra) ProsthesisHandler.SearchAndSetupProsthesis(extraItem, true) og_ISClothingExtraAction_perform(self) end @@ -182,22 +186,4 @@ function ISUnequipAction:perform() end 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 - return ProsthesisHandler From e884985fe3f6610d01ca9a5e7ec2e43d0bfd2a2e Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:50:28 +0100 Subject: [PATCH 12/18] Refactor player courage and temperature checks --- 42/media/lua/client/TOC/UI/SurgeryInteractions.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/42/media/lua/client/TOC/UI/SurgeryInteractions.lua b/42/media/lua/client/TOC/UI/SurgeryInteractions.lua index 5367293..2efafe8 100644 --- a/42/media/lua/client/TOC/UI/SurgeryInteractions.lua +++ b/42/media/lua/client/TOC/UI/SurgeryInteractions.lua @@ -68,9 +68,10 @@ local function AddStoveContextMenu(playerNum, context, worldObjects, test) -- Notifications, in case the player can't do the action - local isPlayerCourageous = pl:hasTrait("Brave") or pl:hasTrait("Desensitized") or pl:getPerkLevel(Perks.Strength) > 5 - local isTempHighEnough = stoveObj:getCurrentTemperature() >= 250 + local isPlayerCourageous = pl:hasTrait(CharacterTrait.BRAVE) or pl:hasTrait(CharacterTrait.DESENSITIZED) or pl:getPerkLevel(Perks.Strength) > 5 + local isTempHighEnough = stoveObj:getCurrentTemperature()-1 >= 2.50 local isLimbFree = not dcInst:getIsProstEquipped(limbName) + TOC_DEBUG.print(stoveObj:getCurrentTemperature()) option.notAvailable = not(isPlayerCourageous and isTempHighEnough and isLimbFree) if not isTempHighEnough then From c9d6236b8908a044c2d3b788d3ffa96e15380e46 Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:51:06 +0100 Subject: [PATCH 13/18] Refactor BodyLocations.lua for improved management Refactored BodyLocations.lua to streamline body location management and improve functionality. --- 42/media/lua/shared/TOC/BodyLocations.lua | 168 +++++++++------------- 1 file changed, 66 insertions(+), 102 deletions(-) diff --git a/42/media/lua/shared/TOC/BodyLocations.lua b/42/media/lua/shared/TOC/BodyLocations.lua index 8cae511..9add0bc 100644 --- a/42/media/lua/shared/TOC/BodyLocations.lua +++ b/42/media/lua/shared/TOC/BodyLocations.lua @@ -1,110 +1,74 @@ ---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. +require("TOC/Debug") +require("NPCs/BodyLocations") +local TOC = require("TOC/Registries") +local StaticData = require("TOC/StaticData") -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 +local BodyLocationsAPI = {} +local function customGetVal(obj, int) return getClassFieldVal(obj, getClassField(obj, int)) end +local group = BodyLocations.getGroup("Human") + +---@type ArrayList +local list = customGetVal(group, 1) + +---@param bodyLoc string +function BodyLocationsAPI.New(bodyLoc) + curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create + return curItem 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 +-- TODO Not sure if this method actually works as intende with b42, but for our use case it's fine... +---@param toRelocateOrCreate string +---@param locationElement string +---@param afterBoolean boolean +---@return BodyLocation +function BodyLocationsAPI.MoveOrCreateBeforeOrAfter(toRelocateOrCreate, locationElement, afterBoolean) + -- Check type of arg 2 == string - if not error out. + if type(locationElement) ~= "string" then error("Argument 2 is not of type string. Please re-check!", 2) end + local itemToMoveTo = group:getLocation(locationElement) -- get location to move to + if itemToMoveTo ~= nil then + -- Check type of arg 1 == string - if not, error out. + if type(toRelocateOrCreate) ~= "string" then error("Argument 1 is not of type string. Please re-check!", 2) end + + local curItem = BodyLocationsAPI.New(toRelocateOrCreate) + list:remove(curItem) -- remove from the list + local index = group:indexOf(locationElement) -- get current index after removal of the location to move to + if afterBoolean then index = index + 1 end -- if we want it after it, we increase the index to move to by one + list:add(index, curItem) -- we add the item again + + + return curItem + else -- we did not find the location to move to, so we throw an error. + error("Could not find the BodyLocation [".. tostring(locationElement) .."] - please check the passed arguments!", 2) + end end -local results = addBodyLocationsAt("Human", { - {name = "toc:TOC_Arm_L", reference = ItemBodyLocation.FULL_TOP, before = false}, - {name = "toc:TOC_Arm_R", reference = ItemBodyLocation.FULL_TOP, before = false}, - {name = "toc:TOC_ArmProst_L", reference = ItemBodyLocation.FULL_TOP, before = false}, - {name = "toc:TOC_ArmProst_R", reference = ItemBodyLocation.FULL_TOP, before = false}, - {name = "toc:TOC_ArmAccessory_L", reference = ItemBodyLocation.FULL_TOP, before = false}, - {name = "toc:TOC_ArmAccessory_R", reference = ItemBodyLocation.FULL_TOP, before = false}, -}) + +-- function TestBodyLocations() +-- local group = BodyLocations.getGroup("Human") +-- local x = group:getAllLocations() + +-- for i=0, x:size() -1 do + +-- ---@type BodyLocation +-- local bl = x:get(i) + +-- print(bl:getId()) +-- end +-- end + +-- MultiItem causes a ton of issues... fucking hell + +-- local curItem = BodyLocation.new(group, "TOC_Arm_L") +-- group:getAllLocations():add(curItem) + +-- local curItem = BodyLocation.new(group, "TOC_Arm_R") +-- group:getAllLocations():add(curItem) -results['toc:TOC_Arm_L']:setMultiItem(true) -results['toc:TOC_Arm_R']:setMultiItem(true) -results['toc:TOC_ArmProst_L']:setMultiItem(true) -results['toc:TOC_ArmProst_R']:setMultiItem(true) -results['toc:TOC_ArmAccessory_L']:setMultiItem(true) -results['toc:TOC_ArmAccessory_R']:setMultiItem(true) +BodyLocationsAPI.New(TOC.bodylocations.TOC_Arm_L) +BodyLocationsAPI.New(TOC.bodylocations.TOC_Arm_R) +BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmProst_L) +BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmProst_R) +BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmAccessory_L) +BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmAccessory_R) From 442af10b7a09ece9ef964c02ce6391720ef2d3d4 Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:51:27 +0100 Subject: [PATCH 14/18] Update Registries.lua --- 42/media/lua/shared/TOC/Registries.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/42/media/lua/shared/TOC/Registries.lua b/42/media/lua/shared/TOC/Registries.lua index 653123a..aba6942 100644 --- a/42/media/lua/shared/TOC/Registries.lua +++ b/42/media/lua/shared/TOC/Registries.lua @@ -1 +1 @@ -return TOC_Registries \ No newline at end of file +return _TOCRegistries From 943e3a8f3c856970ebede99bb0e2543177acd735 Mon Sep 17 00:00:00 2001 From: guiriguy <67844553+guiriguy@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:51:51 +0100 Subject: [PATCH 15/18] Refactor prosthetic limb string constants Updated string constants for prosthetic limbs and body locations. --- 42/media/lua/shared/TOC/StaticData.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/42/media/lua/shared/TOC/StaticData.lua b/42/media/lua/shared/TOC/StaticData.lua index cc804d3..a7a3275 100644 --- a/42/media/lua/shared/TOC/StaticData.lua +++ b/42/media/lua/shared/TOC/StaticData.lua @@ -5,7 +5,6 @@ ---@alias tocModDataType { limbs : limbsTable, prostheses : prosthesesTable, isIgnoredPartInfected : boolean, isAnyLimbCut : boolean} --------------------------- - -- _STR = Only strings, no index -- _IND_STR = indexed Strings -- _IND_BPT = Indexed BodyPartType @@ -22,6 +21,7 @@ local StaticData = {} StaticData.MOD_NAME = "TOC" -- Game version, used to correct some stuff instead of relying on versioned folders + StaticData.COMPAT_42 = luautils.stringStarts(getGameVersion(), "42") ------------------------- @@ -50,10 +50,10 @@ StaticData.PARTS_STR = { -- TODO make it a bit more elegant StaticData.MOD_BODYLOCS_BASE_IND_STR = { - TOC_ArmProst_L = "TOC_ArmProst_L", - TOC_ArmProst_R = "TOC_ArmProst_R", - TOC_Arm_L = "TOC_Arm_L", - TOC_Arm_R = "TOC_Arm_R", + TOC_ArmProst_L = "toc_armprost_l", + TOC_ArmProst_R = "toc_armprost_r", + TOC_Arm_L = "toc:toc_arm_l", + TOC_Arm_R = "toc:toc_arm_r", --TOC_LegProst = "TOC_LegProst", } @@ -192,8 +192,8 @@ end StaticData.TOURNIQUET_BODYLOCS_TO_GROUPS_IND_STR = { - ["HandsLeft"] = StaticData.AMP_GROUPS_IND_STR.Top_L, - ["HandsRight"] = StaticData.AMP_GROUPS_IND_STR.Top_R + [ItemBodyLocation.HANDS_LEFT] = StaticData.AMP_GROUPS_IND_STR.Top_L, + [ItemBodyLocation.HANDS_RIGHT] = StaticData.AMP_GROUPS_IND_STR.Top_R } @@ -241,7 +241,7 @@ end StaticData.TRAITS_BP = { Amputee_Hand = "Hand_L", Amputee_ForeArm = "ForeArm_L", - Amputee_UpperArm = "UpperArm_L" + Amputee_UpperArm = "UpperArm_L", } ----------------- From 898e8ec6535757f4c69e10bd29870f9d4ed4b51b Mon Sep 17 00:00:00 2001 From: ZioPao Date: Thu, 8 Jan 2026 01:23:53 +0100 Subject: [PATCH 16/18] refactor: restored new bodylocs --- 42/media/lua/shared/TOC/BodyLocations.lua | 163 +++++++++++------- 42/media/scripts/TOC_amputation_items.txt | 12 +- 42/media/scripts/TOC_prosthesis_items.txt | 8 +- 42/media/scripts/TOC_surgery_items.txt | 4 +- .../media/shared/TOC/BodyLocationsInit.lua | 12 +- 5 files changed, 117 insertions(+), 82 deletions(-) diff --git a/42/media/lua/shared/TOC/BodyLocations.lua b/42/media/lua/shared/TOC/BodyLocations.lua index 9add0bc..15c71ca 100644 --- a/42/media/lua/shared/TOC/BodyLocations.lua +++ b/42/media/lua/shared/TOC/BodyLocations.lua @@ -1,74 +1,109 @@ -require("TOC/Debug") -require("NPCs/BodyLocations") -local TOC = require("TOC/Registries") -local StaticData = require("TOC/StaticData") +--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 BodyLocationsAPI = {} -local function customGetVal(obj, int) return getClassFieldVal(obj, getClassField(obj, int)) end -local group = BodyLocations.getGroup("Human") - ----@type ArrayList -local list = customGetVal(group, 1) - ----@param bodyLoc string -function BodyLocationsAPI.New(bodyLoc) - curItem = group:getOrCreateLocation(bodyLoc) -- get current item - or create - return curItem +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 --- TODO Not sure if this method actually works as intende with b42, but for our use case it's fine... ----@param toRelocateOrCreate string ----@param locationElement string ----@param afterBoolean boolean ----@return BodyLocation -function BodyLocationsAPI.MoveOrCreateBeforeOrAfter(toRelocateOrCreate, locationElement, afterBoolean) - -- Check type of arg 2 == string - if not error out. - if type(locationElement) ~= "string" then error("Argument 2 is not of type string. Please re-check!", 2) end - local itemToMoveTo = group:getLocation(locationElement) -- get location to move to - if itemToMoveTo ~= nil then - -- Check type of arg 1 == string - if not, error out. - if type(toRelocateOrCreate) ~= "string" then error("Argument 1 is not of type string. Please re-check!", 2) end +local function addBodyLocationsAt(groupName, locationList) + local results = {} - local curItem = BodyLocationsAPI.New(toRelocateOrCreate) - list:remove(curItem) -- remove from the list - local index = group:indexOf(locationElement) -- get current index after removal of the location to move to - if afterBoolean then index = index + 1 end -- if we want it after it, we increase the index to move to by one - list:add(index, curItem) -- we add the item again + -- 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() - return curItem - else -- we did not find the location to move to, so we throw an error. - error("Could not find the BodyLocation [".. tostring(locationElement) .."] - please check the passed arguments!", 2) - end + -- 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}, +}) --- function TestBodyLocations() --- local group = BodyLocations.getGroup("Human") --- local x = group:getAllLocations() - --- for i=0, x:size() -1 do - --- ---@type BodyLocation --- local bl = x:get(i) - --- print(bl:getId()) --- end --- end - --- MultiItem causes a ton of issues... fucking hell - --- local curItem = BodyLocation.new(group, "TOC_Arm_L") --- group:getAllLocations():add(curItem) - --- local curItem = BodyLocation.new(group, "TOC_Arm_R") --- group:getAllLocations():add(curItem) - - -BodyLocationsAPI.New(TOC.bodylocations.TOC_Arm_L) -BodyLocationsAPI.New(TOC.bodylocations.TOC_Arm_R) -BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmProst_L) -BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmProst_R) -BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmAccessory_L) -BodyLocationsAPI.New(TOC.bodylocations.TOC_ArmAccessory_R) +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) diff --git a/42/media/scripts/TOC_amputation_items.txt b/42/media/scripts/TOC_amputation_items.txt index 98ee59a..cc8995b 100644 --- a/42/media/scripts/TOC_amputation_items.txt +++ b/42/media/scripts/TOC_amputation_items.txt @@ -12,7 +12,7 @@ module TOC hidden = true, ClothingItem = Amputation_Hand_R, - BodyLocation = toc:TOC_Arm_R, + BodyLocation = toc:Arm_R, Weight = 0, CombatSpeedModifier = 0.9, @@ -31,7 +31,7 @@ module TOC hidden = true, ClothingItem = Amputation_ForeArm_R, - BodyLocation = toc:TOC_Arm_R, + BodyLocation = toc:Arm_R, Weight = 0, CombatSpeedModifier = 0.8, @@ -49,7 +49,7 @@ module TOC hidden = true, ClothingItem = Amputation_UpperArm_R, - BodyLocation = toc:TOC_Arm_R, + BodyLocation = toc:Arm_R, BloodLocation = UpperArms;UpperBody, Weight = 0, CombatSpeedModifier = 0.7, @@ -66,7 +66,7 @@ module TOC hidden = true, ClothingItem = Amputation_Hand_L, - BodyLocation = toc:TOC_Arm_L, + BodyLocation = toc:Arm_L, Weight = 0, CombatSpeedModifier = 0.9, @@ -85,7 +85,7 @@ module TOC hidden = true, ClothingItem = Amputation_ForeArm_L, - BodyLocation = toc:TOC_Arm_L, + BodyLocation = toc:Arm_L, Weight = 0, CombatSpeedModifier = 0.8, @@ -104,7 +104,7 @@ module TOC hidden = true, ClothingItem = Amputation_UpperArm_L, - BodyLocation = toc:TOC_Arm_L, + BodyLocation = toc:Arm_L, Weight = 0, CombatSpeedModifier = 0.7, diff --git a/42/media/scripts/TOC_prosthesis_items.txt b/42/media/scripts/TOC_prosthesis_items.txt index 97acd9e..2f288a0 100644 --- a/42/media/scripts/TOC_prosthesis_items.txt +++ b/42/media/scripts/TOC_prosthesis_items.txt @@ -16,7 +16,7 @@ module TOC ClothingItemExtra = Prost_HookArm_R, ClothingItemExtraOption = InstallProstRight, clothingExtraSubmenu = InstallProstLeft, - BodyLocation = toc:TOC_ArmProst_L, + BodyLocation = toc:ArmProst_L, Weight = 1.5, CombatSpeedModifier = 1.05, BloodLocation = UpperArms;UpperBody, @@ -38,7 +38,7 @@ module TOC ClothingItemExtra = Prost_HookArm_L, ClothingItemExtraOption = InstallProstLeft, clothingExtraSubmenu = InstallProstRight, - BodyLocation = toc:TOC_ArmProst_R, + BodyLocation = toc:ArmProst_R, Weight = 1.5, CombatSpeedModifier = 1.05, BloodLocation = UpperArms;UpperBody, @@ -60,7 +60,7 @@ module TOC ClothingItemExtra = Prost_NormalArm_R, ClothingItemExtraOption = InstallProstRight, clothingExtraSubmenu = InstallProstLeft, - BodyLocation = toc:TOC_ArmProst_L, + BodyLocation = toc:ArmProst_L, Weight = 2, CombatSpeedModifier = 1.1, BloodLocation = UpperArms;UpperBody, @@ -82,7 +82,7 @@ module TOC ClothingItemExtra = Prost_NormalArm_L, ClothingItemExtraOption = InstallProstLeft, clothingExtraSubmenu = InstallProstRight, - BodyLocation = toc:TOC_ArmProst_R, + BodyLocation = toc:ArmProst_R, Weight = 2, CombatSpeedModifier = 1.1, BloodLocation = UpperArms;UpperBody, diff --git a/42/media/scripts/TOC_surgery_items.txt b/42/media/scripts/TOC_surgery_items.txt index a93b8a8..0d2d954 100644 --- a/42/media/scripts/TOC_surgery_items.txt +++ b/42/media/scripts/TOC_surgery_items.txt @@ -15,7 +15,7 @@ module TOC ClothingItemExtra = Surg_Arm_Tourniquet_R, ClothingItemExtraOption = PutTourniquetArmRight, clothingExtraSubmenu = PutTourniquetArmLeft, - BodyLocation = toc:TOC_ArmAccessory_L, + BodyLocation = toc:ArmAccessory_L, BloodLocation = UpperArms;UpperBody, Weight = 0.25, @@ -35,7 +35,7 @@ module TOC ClothingItemExtra = Surg_Arm_Tourniquet_L, ClothingItemExtraOption = PutTourniquetArmLeft, clothingExtraSubmenu = PutTourniquetArmRight, - BodyLocation = toc:TOC_ArmAccessory_R, + BodyLocation = toc:ArmAccessory_R, BloodLocation = UpperArms;UpperBody, Weight = 0.25, diff --git a/test/42.12/media/shared/TOC/BodyLocationsInit.lua b/test/42.12/media/shared/TOC/BodyLocationsInit.lua index 3cc757c..08a9f90 100644 --- a/test/42.12/media/shared/TOC/BodyLocationsInit.lua +++ b/test/42.12/media/shared/TOC/BodyLocationsInit.lua @@ -1,8 +1,8 @@ local BodyLocationsAPI = require("TOC/BodyLocations") -BodyLocationsAPI.New("TOC_Arm_L") -BodyLocationsAPI.New("TOC_Arm_R") -BodyLocationsAPI.New("TOC_ArmProst_L") -BodyLocationsAPI.New("TOC_ArmProst_R") -BodyLocationsAPI.New("TOC_ArmAccessory_L") -BodyLocationsAPI.New("TOC_ArmAccessory_R") \ No newline at end of file +BodyLocationsAPI.New("Arm_L") +BodyLocationsAPI.New("Arm_R") +BodyLocationsAPI.New("ArmProst_L") +BodyLocationsAPI.New("ArmProst_R") +BodyLocationsAPI.New("ArmAccessory_L") +BodyLocationsAPI.New("ArmAccessory_R") \ No newline at end of file From 2cf7df16b37189f1388768598263f29ff5582bf3 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Thu, 8 Jan 2026 01:25:53 +0100 Subject: [PATCH 17/18] refactor: changes to StaticData and registries --- 42/media/lua/shared/TOC/StaticData.lua | 9 --------- 42/media/registries.lua | 13 +++++++------ 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/42/media/lua/shared/TOC/StaticData.lua b/42/media/lua/shared/TOC/StaticData.lua index a7a3275..d4804e1 100644 --- a/42/media/lua/shared/TOC/StaticData.lua +++ b/42/media/lua/shared/TOC/StaticData.lua @@ -48,15 +48,6 @@ StaticData.PARTS_STR = { "UpperArm" } --- TODO make it a bit more elegant -StaticData.MOD_BODYLOCS_BASE_IND_STR = { - TOC_ArmProst_L = "toc_armprost_l", - TOC_ArmProst_R = "toc_armprost_r", - TOC_Arm_L = "toc:toc_arm_l", - TOC_Arm_R = "toc:toc_arm_r", - - --TOC_LegProst = "TOC_LegProst", -} -- No "MAX" here. StaticData.IGNORED_BODYLOCS_BPT = { diff --git a/42/media/registries.lua b/42/media/registries.lua index 7fbf9c0..eb4218e 100644 --- a/42/media/registries.lua +++ b/42/media/registries.lua @@ -7,10 +7,11 @@ _TOCRegistries.traits = { } _TOCRegistries.bodylocations = { - TOC_Arm_L = ItemBodyLocation.register("toc:toc_arm_l"), - TOC_Arm_R = ItemBodyLocation.register("toc:toc_arm_r"), - TOC_ArmProst_L = ItemBodyLocation.register("toc:toc_armprost_l"), - TOC_ArmProst_R = ItemBodyLocation.register("toc:toc_armprost_r"), - TOC_ArmAccessory_L = ItemBodyLocation.register("toc:toc_armaccessory_l"), - TOC_ArmAccessory_R = ItemBodyLocation.register("toc:toc_armaccessory_r"), + 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"), } + From fba1b2e64375d11cad447c2de4f687b6dc0e7f6c Mon Sep 17 00:00:00 2001 From: ZioPao Date: Thu, 8 Jan 2026 01:26:17 +0100 Subject: [PATCH 18/18] fix: wip changes for traits and infection healing --- .../client/TOC/Controllers/LocalPlayerController.lua | 10 ++++++---- 42/media/lua/client/TOC/Handlers/AmputationHandler.lua | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua index 0f5c5c2..8c3668b 100644 --- a/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua +++ b/42/media/lua/client/TOC/Controllers/LocalPlayerController.lua @@ -94,7 +94,8 @@ function LocalPlayerController.HealArea(bodyPart) bodyPart:setBleedingTime(0) bodyPart:SetBitten(false) - bodyPart:setBiteTime(0) + --bodyPart:setBiteTime(0) + bodyPart:SetInfected(false) bodyPart:setCut(false) bodyPart:setCutTime(0) @@ -111,13 +112,14 @@ end ---@param bodyPart BodyPart ---@param limbName string ---@param dcInst DataController -function LocalPlayerController.HealZombieInfection(bodyDamage, bodyPart, limbName, dcInst) +function LocalPlayerController.HealZombieInfection(bodyDamage, limbName, dcInst) + -- FIX Different in B42.13, to be set with stats? if bodyDamage:isInfected() == false then return end bodyDamage:setInfected(false) bodyDamage:setInfectionMortalityDuration(-1) bodyDamage:setInfectionTime(-1) - bodyPart:SetInfected(false) + --bodyPart:SetInfected(false) dcInst:setIsInfected(limbName, false) dcInst:apply() @@ -183,7 +185,7 @@ function LocalPlayerController.HandleDamage(character) -- Special case for bites\zombie infections if bodyPart:IsInfected() then TOC_DEBUG.print("Healed from zombie infection - " .. limbName) - LocalPlayerController.HealZombieInfection(bd, bodyPart, limbName, dcInst) + LocalPlayerController.HealZombieInfection(bd, limbName, dcInst) end else if (bodyPart:bitten() or bodyPart:IsInfected()) and not dcInst:getIsInfected(limbName) then diff --git a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua index 6b2bc3e..ee2258f 100644 --- a/42/media/lua/client/TOC/Handlers/AmputationHandler.lua +++ b/42/media/lua/client/TOC/Handlers/AmputationHandler.lua @@ -190,8 +190,10 @@ function AmputationHandler:execute(damagePlayer) -- Cache highest amputation and hand feasibility 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 bd:getGeneralWoundInfectionLevel() < 20 and bodyPart:IsInfected() and not dcInst:getIsIgnoredPartInfected() then + local infectionLevel = self.patientPl:getStats():get(CharacterStat.ZOMBIE_INFECTION) + if infectionLevel < 20 and bodyPart:isInfected() and not dcInst:getIsIgnoredPartInfected() then LocalPlayerController.HealZombieInfection(bd, bodyPart, self.limbName, dcInst) end