Files
The-Only-Cure/42.6/media/lua/client/TOC/API.lua

50 lines
1.5 KiB
Lua

------------------------------------------
-- Compatibility Handler by Dhert
------------------------------------------
local DataController = require("TOC/Controllers/DataController")
local StaticData = require("TOC/StaticData")
local TOC_Compat = {}
-- Raw access, must pass valid part
--- @param player IsoPlayer
--- @param part string
--- @return boolean
function TOC_Compat.hasPart(player, part)
if not player or not part then return false end
local dc = DataController.GetInstance(player:getUsername())
if not dc then return false end
return (dc:getIsCut(part) and dc:getIsProstEquipped(part)) or not dc:getIsCut(part)
end
--- Check if hand is available
---@param player IsoPlayer
---@param left boolean Optional
---@return boolean
function TOC_Compat.hasHand(player, left)
return TOC_Compat.hasPart(player, ((left and StaticData.LIMBS_IND_STR.Hand_L) or StaticData.LIMBS_IND_STR.Hand_R))
end
--- Check if both hands are available
---@param player IsoPlayer
---@return boolean
function TOC_Compat.hasBothHands(player)
return TOC_Compat.hasHand(player, false) and TOC_Compat.hasHand(player, true)
end
-- This returns a number for the hands that you have
----- 11 == both hands
----- 10 == left hand
----- 01 (1) == right hand
----- 00 (0) == no hands
---@param player any
---@return integer
function TOC_Compat.getHands(player)
return ((TOC_Compat.hasHand(player, false) and 1) or 0) + ((TOC_Compat.hasHand(player, true) and 10) or 0)
end
return TOC_Compat