Cleaning Mod compat stuff and updates
This commit is contained in:
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user