Files
barotrauma-localmods/Neurotrauma/Lua/ConsentRequiredExtended/onMeleeWeaponHandleImpact.lua
2025-03-31 13:19:47 +02:00

39 lines
1.1 KiB
Lua

local Api = require("ConsentRequiredExtended.Api")
local function isItemAffected(identifier)
return Api.IsItemAffected(identifier)
end
---@param meleeweapon Weapon target
---@param target The target of the hit could be a limb or just a character.
local function onMeleeWeaponHandleImpact(meleeweapon, target)
if not NTConfig.Get("NTCRE_ConsentRequired", true) then
return
end
if meleeweapon == nil or target == nil then
return
end
local itemIdentifier = meleeweapon.item.Prefab.Identifier.Value
if isItemAffected(itemIdentifier) then
local user = meleeweapon.picker
if user == nil then
return
end
local targetUserData = target.UserData
if targetUserData == nil then
return
end
local targetUser = nil
if LuaUserData.IsTargetType(targetUserData, "Barotrauma.Limb") then
targetUser = targetUserData.character
elseif LuaUserData.IsTargetType(targetUserData, "Barotrauma.Character") then
targetUser = targetUserData
end
if targetUser ~= nil then
Api.onAffectedItemApplied(user, targetUser)
end
end
end
return onMeleeWeaponHandleImpact