Some new features

- Modified meshes for equippable prosthesis so they don't clip with jackets
- ModOptions option to set sleeves up when you've got an amputation
This commit is contained in:
Pao
2023-01-27 18:10:30 +01:00
parent af85135fb6
commit a9267a7afc
12 changed files with 105 additions and 16 deletions

View File

@@ -6,5 +6,6 @@
<m_Static>false</m_Static>
<m_AllowRandomHue>false</m_AllowRandomHue>
<m_AllowRandomTint>false</m_AllowRandomTint>
<m_Masks>4</m_Masks>
<textureChoices>Clothes\metal</textureChoices>
</clothingItem>

View File

@@ -1,14 +1,52 @@
--Default options.
local options = {
box1 = true,
box2 = false
roll_up_sleeves_on_amputated_limbs = true,
}
--https://steamcommunity.com/workshop/filedetails/discussion/2169435993/4260919351480715709/#c4260919351482087243
-- Connecting the options to the menu, so user can change them.
if ModOptions and ModOptions.getInstance then
ModOptions:getInstance(options, "Amputation2", "The Only Cure but better")
print("TOC: Found ModOptions, loading it")
local settings = ModOptions:getInstance(options, "Amputation2", "The Only Cure but better")
settings.names = {
roll_up_sleeves_on_amputated_limbs = "Roll up jacket sleeves for amputated limbs",
}
ModOptions:loadFile()
local roll_up_sleeves = settings:getData("roll_up_sleeves_on_amputated_limbs")
function roll_up_sleeves:OnApply(val)
self:resetLua()
end
local function TocOnResetLua(reason)
print("TOC: OnResetLua running TocSetSleeves")
TocSetSleeves(options.roll_up_sleeves_on_amputated_limbs)
end
Events.OnResetLua.Add(TocOnResetLua)
else
-------------------
-- DEFAULT SETTINGS
------------------
-- TODO Test this when mod options is not installed
TocSetSleeves(false)
end
--Make a link
TOC_Options = {}
TOC_Options = options

View File

@@ -1,9 +1,17 @@
local options = TOC_Options
-- TODO Can't trigger OnGameBoot from here since it's client only
-- Check actual options at game loading.
Events.OnGameStart.Add(function()
if not isClient() then -- only host may take these options
print("checkbox1 = ", options.box1)
print("checkbox2 = ", options.box2)
print("Roll up sleeves for amputated limbs = ", options.rollUpSleeveForAmputatedLimbs)
end
end)

View File

@@ -4,13 +4,53 @@
-- Locations must be declared in render-order.
-- Location IDs must match BodyLocation= and CanBeEquipped= values in items.txt.
-- FullBody 1
-- BodyCostume 2
-- FullHat 3
-- Hat 4
-- MakeUp 5
-- Mask 6
-- JacketHat 7
-- Jacket 8
-- Shirt 9
-- Sweater 10
-- TankTop 11
-- TorsoExtra 12
-- Hands 13
-- Neck 14
-- Scarf 15
-- Pants 16
-- Shorts 17
-- Underwear 18
-- Shoes 19
-- None 20
local function addBodyLocationBefore(newLocation, movetoLocation)
local group = BodyLocations.getGroup("Human")
local list = getClassFieldVal(group, getClassField(group, 1))
group:getOrCreateLocation(newLocation)
local newItem = list:get(list:size()-1)
list:remove(list:size()-1)
local i = group:indexOf(movetoLocation)
list:add(i, newItem)
end
-- TODO Change these names too, jesus they suck so bad
function TocSetSleeves(check)
local group = BodyLocations.getGroup("Human")
if check then
print("TOC: Rolling up sleeves")
group:getOrCreateLocation("ArmRight")
group:getOrCreateLocation("ArmLeft")
group:getOrCreateLocation("LegRight")
group:getOrCreateLocation("LegLeft")
group:getOrCreateLocation("ArmRight_Prot")
group:getOrCreateLocation("ArmLeft_Prot")
else
print("TOC: Won't roll up sleeve")
addBodyLocationBefore("ArmRight", "Jacket")
addBodyLocationBefore("ArmLeft", "Jacket")
addBodyLocationBefore("ArmRight_Prot", "Shoes")
addBodyLocationBefore("ArmLeft_Prot", "Shoes")
end
end

View File

@@ -5,4 +5,6 @@ IGUI_EN = {
IGUI_perks_Right_Hand = "Right hand",
IGUI_perks_Left_Hand = "Left hand",
IGUI_perks_Prosthesis = "Prosthesis skills",
IGUI_TOC_RollUpSleeveForAmputatedLimbs = "Roll up sleeves for amputated limbs"
}

View File

@@ -2,7 +2,7 @@ name=The only cure but better
poster=generic.png
require=UIAPI
description=Cut your arm and survive. TEST PAO
id=Amputation3
id=Amputation2
icon=icon.png
url=xx
modversion=0.4.1

Binary file not shown.

Binary file not shown.

Binary file not shown.