29 lines
		
	
	
		
			959 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			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) |