diff --git a/media/lua/client/TOC_Init.lua b/media/lua/client/TOC_Init.lua index d7acfe6..8a51720 100644 --- a/media/lua/client/TOC_Init.lua +++ b/media/lua/client/TOC_Init.lua @@ -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) \ No newline at end of file diff --git a/media/lua/client/TOC_ModCompatibility.lua b/media/lua/client/TOC_ModCompatibility.lua index 1dc70e1..9ff0a1f 100644 --- a/media/lua/client/TOC_ModCompatibility.lua +++ b/media/lua/client/TOC_ModCompatibility.lua @@ -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) diff --git a/media/lua/client/TOC_OverridenFunctions.lua b/media/lua/client/TOC_OverridenFunctions.lua index 1437765..ae88b9e 100644 --- a/media/lua/client/TOC_OverridenFunctions.lua +++ b/media/lua/client/TOC_OverridenFunctions.lua @@ -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 diff --git a/media/lua/client/TOC_Update.lua b/media/lua/client/TOC_Update.lua index 5926180..dc5a29a 100644 --- a/media/lua/client/TOC_Update.lua +++ b/media/lua/client/TOC_Update.lua @@ -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) \ No newline at end of file