Cleaning Mod compat stuff and updates

This commit is contained in:
Pao
2023-02-20 13:42:29 +01:00
parent 9adbf3ee45
commit 1fd1882d92
4 changed files with 30 additions and 76 deletions

View File

@@ -2,6 +2,10 @@
-------- THE ONLY CURE BUT BETTER -------- -------- THE ONLY CURE BUT BETTER --------
------------------------------------------ ------------------------------------------
------------- INIT FUNCTIONS ------------- ------------- INIT FUNCTIONS -------------
--[[
Original code and idea by: Mr. Bounty
Rewritten by: Pao
--]]
if not TOC then if not TOC then
TOC = {} TOC = {}
@@ -55,7 +59,7 @@ local function TocUpdateBaseData(mod_data)
-- Check if part was initialized, in case of previous errors -- Check if part was initialized, in case of previous errors
if mod_data.TOC.Limbs[part_name] == nil then if mod_data.TOC.Limbs[part_name] == nil then
TOC.InitPart(mod_data, part_name) TOC.InitPart(mod_data.TOC.Limbs, part_name)
end end
@@ -117,22 +121,19 @@ TOC.CutLimbForTrait = function(player, limbs_data, part_name)
limbs_data[v].is_cicatrized = true limbs_data[v].is_cicatrized = true
end end
end end
TOC.InitPart = function(mod_data, part_name) TOC.InitPart = function(limbs_data, part_name)
mod_data.TOC.Limbs[part_name].is_cut = false limbs_data[part_name].is_cut = false
mod_data.TOC.Limbs[part_name].is_infected = false limbs_data[part_name].is_infected = false
mod_data.TOC.Limbs[part_name].is_operated = false limbs_data[part_name].is_operated = false
mod_data.TOC.Limbs[part_name].is_cicatrized = false limbs_data[part_name].is_cicatrized = false
mod_data.TOC.Limbs[part_name].is_cauterized = false limbs_data[part_name].is_cauterized = false
mod_data.TOC.Limbs[part_name].is_amputation_shown = false limbs_data[part_name].is_amputation_shown = false
mod_data.TOC.Limbs[part_name].cicatrization_time = 0
mod_data.TOC.Limbs[part_name].is_prosthesis_equipped = false
mod_data.TOC.Limbs[part_name].equipped_prosthesis = {}
limbs_data[part_name].cicatrization_time = 0
limbs_data[part_name].is_prosthesis_equipped = false
limbs_data[part_name].equipped_prosthesis = {}
end end
TOC.SetInitData = function(mod_data, player) TOC.SetInitData = function(mod_data, player)
@@ -220,7 +221,7 @@ TOC.SetInitData = function(mod_data, player)
for _, side in pairs(TOC.side_names) do for _, side in pairs(TOC.side_names) do
for _, limb in pairs(TOC.limb_names) do for _, limb in pairs(TOC.limb_names) do
local part_name = side .. "_" .. limb local part_name = side .. "_" .. limb
TOC.InitPart(mod_data, part_name) TOC.InitPart(mod_data.TOC.Limbs, part_name)
end end
end end
@@ -285,9 +286,16 @@ local function InitializeTheOnlyCure()
end end
end end
--------------------------
InitializeTraits() InitializeTraits()
Events.OnCreatePlayer.Add(TOC.Init) Events.OnCreatePlayer.Add(TOC.Init)
-- Setup updates
Events.OnTick.Add(TOC.UpdateOnTick)
Events.EveryTenMinutes.Add(TOC.UpdateEveryTenMinutes)
Events.EveryOneMinute.Add(TOC.UpdateEveryOneMinute)
end end
Events.OnGameBoot.Add(InitializeTheOnlyCure) Events.OnGameBoot.Add(InitializeTheOnlyCure)

View File

@@ -2,12 +2,6 @@
-- Compatibility for various mods -- Compatibility for various mods
--------------------------------- ---------------------------------
TOC_ModTable = {
FancyHandwork = false,
SwapIt = false,
LeftIsRight = false,
}
local function SetCompatibilityFancyHandwork() local function SetCompatibilityFancyHandwork()
local og_ISHotbar_equipItem = ISHotbar.equipItem local og_ISHotbar_equipItem = ISHotbar.equipItem
@@ -83,15 +77,6 @@ local function SetCompatibilityFancyHandwork()
end end
local function SetCompatibilityLeftIsRight()
if getActivatedMods():contains('LeftIsRight') == false then return end
-- This check is needed since we're gonna add a little check in adjustMaxTime
-- to prevent problems with maxTime scaling
TOC_ModTable.LeftIsRight = true
end
local function SetCompatibilityFancyHandWorkAndSwapIt() local function SetCompatibilityFancyHandWorkAndSwapIt()
SetCompatibilityFancyHandwork() SetCompatibilityFancyHandwork()
@@ -173,7 +158,7 @@ end
-------------------------------------------------------- --------------------------------------------------------
function TOC_CheckModCompatibility() local function CheckModCompatibility()
local activated_mods = getActivatedMods() local activated_mods = getActivatedMods()
print("TOC: Checking mods") print("TOC: Checking mods")
@@ -190,17 +175,8 @@ function TOC_CheckModCompatibility()
SetCompatibilityFancyHandwork() SetCompatibilityFancyHandwork()
end end
end end
if activated_mods:contains("LeftIsRight") then
TOC_ModTable.LeftIsRight = true
end
end end
print("TOC: Starting CheckModCompatibility") print("TOC: Starting CheckModCompatibility")
Events.OnGameStart.Add(CheckModCompatibility)
Events.OnGameStart.Add(TOC_CheckModCompatibility)

View File

@@ -14,20 +14,6 @@ function ISBaseTimedAction:adjustMaxTime(maxTime)
if original_max_time ~= -1 then if original_max_time ~= -1 then
local mod_data = getPlayer():getModData() local mod_data = getPlayer():getModData()
----------------------
-- MOD SUPPORT ACTIONS
----------------------
-- LIR
if TOC_ModTable.LeftIsRight then
if mod_data.LIR.is_attacking then
return original_max_time
end
end
----------------------------------
local limbs_data = mod_data.TOC.Limbs local limbs_data = mod_data.TOC.Limbs
local modified_max_time = original_max_time local modified_max_time = original_max_time
local burn_factor = 1.3 -- TODO Move this crap local burn_factor = 1.3 -- TODO Move this crap

View File

@@ -1,3 +1,5 @@
require "TOC_Init"
local function CheckIfPlayerIsInfected(player, toc_data) local function CheckIfPlayerIsInfected(player, toc_data)
local body_damage = player:getBodyDamage() local body_damage = player:getBodyDamage()
@@ -26,7 +28,6 @@ local function CheckIfPlayerIsInfected(player, toc_data)
end end
end end
end end
local function TocManagePhantomPain(player, toc_data) local function TocManagePhantomPain(player, toc_data)
-- Phantom Pain -- Phantom Pain
local part_data = toc_data.Limbs local part_data = toc_data.Limbs
@@ -154,8 +155,6 @@ local function SetHealthStatusForBodyPart(part_data, part_name, player)
end end
end end
local function UpdatePlayerHealth(player, part_data) local function UpdatePlayerHealth(player, part_data)
local body_damage = player:getBodyDamage() local body_damage = player:getBodyDamage()
@@ -170,7 +169,7 @@ local function UpdatePlayerHealth(player, part_data)
end end
-- MAIN UPDATE FUNCTIONS -- MAIN UPDATE FUNCTIONS
local function TocUpdateOnTick() TOC.UpdateOnTick = function()
local player = getPlayer() local player = getPlayer()
if player == nil then if player == nil then
@@ -185,8 +184,7 @@ local function TocUpdateOnTick()
end end
TOC.UpdateEveryTenMinutes = function()
local function TocUpdateEveryTenMinutes()
local player = getPlayer() local player = getPlayer()
@@ -228,8 +226,7 @@ local function TocUpdateEveryTenMinutes()
end end
end end
TOC.UpdateEveryOneMinute = function()
local function TocUpdateEveryOneMinute()
local player = getPlayer() local player = getPlayer()
-- To prevent errors during loading -- To prevent errors during loading
@@ -256,16 +253,3 @@ local function TocUpdateEveryOneMinute()
end end
local function TocOnDamage(player, type, amount)
end
Events.OnTick.Add(TocUpdateOnTick)
Events.EveryTenMinutes.Add(TocUpdateEveryTenMinutes)
Events.EveryOneMinute.Add(TocUpdateEveryOneMinute)