diff --git a/media/lua/client/TOC/Controllers/LocalPlayerController.lua b/media/lua/client/TOC/Controllers/LocalPlayerController.lua index 18b7986..5f66489 100644 --- a/media/lua/client/TOC/Controllers/LocalPlayerController.lua +++ b/media/lua/client/TOC/Controllers/LocalPlayerController.lua @@ -202,17 +202,13 @@ function LocalPlayerController.HandleDamage(character) LocalPlayerController.hasBeenDamaged = false end ----Setup HandleDamage, triggered by OnPlayerGetDamage +---Setup HandleDamage, triggered by OnPlayerGetDamage. To prevent a spam caused by this awful event, we use a bool lock ---@param character IsoPlayer|IsoGameCharacter ---@param damageType string ---@param damageAmount number function LocalPlayerController.OnGetDamage(character, damageType, damageAmount) - -- TODO Check if other players in the online triggers this - if LocalPlayerController.hasBeenDamaged == false then -- Start checks - - -- TODO Add a timer before we can re-enable this bool? LocalPlayerController.hasBeenDamaged = true LocalPlayerController.HandleDamage(character) end diff --git a/media/lua/client/TOC/Handlers/CachedDataHandler.lua b/media/lua/client/TOC/Handlers/CachedDataHandler.lua index 2d6330d..38f5cdb 100644 --- a/media/lua/client/TOC/Handlers/CachedDataHandler.lua +++ b/media/lua/client/TOC/Handlers/CachedDataHandler.lua @@ -133,16 +133,21 @@ function CachedDataHandler.CalculateBothHandsFeasibility() CachedDataHandler.CalculateHandFeasibility("Hand_L") CachedDataHandler.CalculateHandFeasibility("Hand_R") local interactStr = "Interact" + + if CachedDataHandler.interactKey == nil or CachedDataHandler.interactKey == 0 then + CachedDataHandler.interactKey = getCore():getKey(interactStr) + end + + + if not CachedDataHandler.GetBothHandsFeasibility() then TOC_DEBUG.print("Disabling interact key") - - -- Cache the current key - CachedDataHandler.interactKey = getCore():getKey(interactStr) + TOC_DEBUG.print("Cached current key for interact: " .. tostring(CachedDataHandler.interactKey)) getCore():addKeyBinding(interactStr, Keyboard.KEY_NONE) else TOC_DEBUG.print("Re-enabling interact key") + TOC_DEBUG.print("Cached current key for interact: " .. tostring(CachedDataHandler.interactKey)) - if not CachedDataHandler.interactKey then CachedDataHandler.interactKey = getCore():getKey(interactStr) end getCore():addKeyBinding(interactStr, CachedDataHandler.interactKey) end end