35 lines
1.5 KiB
Lua
35 lines
1.5 KiB
Lua
|
-- 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;
|