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

View File

@@ -2,12 +2,6 @@
-- Compatibility for various mods
---------------------------------
TOC_ModTable = {
FancyHandwork = false,
SwapIt = false,
LeftIsRight = false,
}
local function SetCompatibilityFancyHandwork()
local og_ISHotbar_equipItem = ISHotbar.equipItem
@@ -83,15 +77,6 @@ local function SetCompatibilityFancyHandwork()
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()
SetCompatibilityFancyHandwork()
@@ -173,7 +158,7 @@ end
--------------------------------------------------------
function TOC_CheckModCompatibility()
local function CheckModCompatibility()
local activated_mods = getActivatedMods()
print("TOC: Checking mods")
@@ -190,17 +175,8 @@ function TOC_CheckModCompatibility()
SetCompatibilityFancyHandwork()
end
end
if activated_mods:contains("LeftIsRight") then
TOC_ModTable.LeftIsRight = true
end
end
print("TOC: Starting CheckModCompatibility")
Events.OnGameStart.Add(TOC_CheckModCompatibility)
Events.OnGameStart.Add(CheckModCompatibility)

View File

@@ -14,20 +14,6 @@ function ISBaseTimedAction:adjustMaxTime(maxTime)
if original_max_time ~= -1 then
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 modified_max_time = original_max_time
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 body_damage = player:getBodyDamage()
@@ -26,7 +28,6 @@ local function CheckIfPlayerIsInfected(player, toc_data)
end
end
end
local function TocManagePhantomPain(player, toc_data)
-- Phantom Pain
local part_data = toc_data.Limbs
@@ -154,8 +155,6 @@ local function SetHealthStatusForBodyPart(part_data, part_name, player)
end
end
local function UpdatePlayerHealth(player, part_data)
local body_damage = player:getBodyDamage()
@@ -170,7 +169,7 @@ local function UpdatePlayerHealth(player, part_data)
end
-- MAIN UPDATE FUNCTIONS
local function TocUpdateOnTick()
TOC.UpdateOnTick = function()
local player = getPlayer()
if player == nil then
@@ -185,8 +184,7 @@ local function TocUpdateOnTick()
end
local function TocUpdateEveryTenMinutes()
TOC.UpdateEveryTenMinutes = function()
local player = getPlayer()
@@ -228,8 +226,7 @@ local function TocUpdateEveryTenMinutes()
end
end
local function TocUpdateEveryOneMinute()
TOC.UpdateEveryOneMinute = function()
local player = getPlayer()
-- To prevent errors during loading
@@ -256,16 +253,3 @@ local function TocUpdateEveryOneMinute()
end
local function TocOnDamage(player, type, amount)
end
Events.OnTick.Add(TocUpdateOnTick)
Events.EveryTenMinutes.Add(TocUpdateEveryTenMinutes)
Events.EveryOneMinute.Add(TocUpdateEveryOneMinute)