Files
2025-07-09 01:08:35 +08:00

29 lines
959 B
Lua

local EatFoodAbility = {}
local Utils = require("GamePlay.Utils")
local RoleUtils = require("GamePlay.Utils.RoleUtils")
local function HandleHealthChange(role, effects)
local tag = Utils.GetGameplayTag("Change.Role.Health")
local value = effects:Get(tag)
if value ~= nil then
RoleUtils.ChangeHealth(role, value)
end
end
local function HandleHungerChange(role, effects)
local tag = Utils.GetGameplayTag("Change.Role.Hunger")
local value = effects:Get(tag)
if value ~= nil then
RoleUtils.ChangeHunger(role, value)
end
end
function EatFoodAbility:K2_ActivateAbilityFromEvent(EventData)
local item_config = Utils.GetItemConfigByID(math.floor(EventData.EventMagnitude))
local owner = self:GetOwningActorFromActorInfo()
HandleHealthChange(owner, item_config.GameplayEffects)
HandleHungerChange(owner, item_config.GameplayEffects)
self:K2_EndAbility()
end
return Class(nil, nil, EatFoodAbility)