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) |