-- Script.Global.BuffSystem.BuffAction.BuffAction_AddMaxHealth local BuffActionBase = require('Script.Global.BuffSystem.BuffActionBase') local BuffAction_AddMaxHealth = setmetatable( { AddVal = 0 }, { __index = BuffActionBase, __metatable = BuffActionBase } ); function BuffAction_AddMaxHealth:LuaDoAction() BuffActionBase.LuaDoAction(self) if not UGCGameSystem.IsServer() then return true end local OwnerPawn = self:GetOwnerPawn() if UE.IsValid(OwnerPawn) then UGCLogSystem.Log("[BuffAction_AddMaxHealth_LuaDoAction] MaxHealth:%s", tostring(UGCPawnAttrSystem.GetHealthMax(OwnerPawn))) local Health = UGCPawnAttrSystem.GetHealth(OwnerPawn) UGCPawnAttrSystem.SetHealthMax(OwnerPawn, UGCPawnAttrSystem.GetHealthMax(OwnerPawn) + self.AddVal) UGCPawnAttrSystem.SetHealth(self:GetOwnerPawn(), Health + self.AddVal) UGCLogSystem.Log("[BuffAction_AddMaxHealth_LuaDoAction] AddVal:%s, MaxHealth:%s", tostring(self.AddVal), tostring(UGCPawnAttrSystem.GetHealthMax(OwnerPawn))) end end function BuffAction_AddMaxHealth:LuaUndoAction() BuffActionBase.LuaUndoAction(self) if not UGCGameSystem.IsServer() then return true end UGCLogSystem.Log("[BuffAction_AddMaxHealth_LuaUndoAction]") local OwnerPawn = self:GetOwnerPawn() if UE.IsValid(OwnerPawn) then UGCPawnAttrSystem.SetHealthMax(OwnerPawn, UGCPawnAttrSystem.GetHealthMax(OwnerPawn) - self.AddVal) end end return BuffAction_AddMaxHealth;