local BuffActionBase = require('Script.Global.BuffSystem.BuffActionBase') local BuffAction_DefenseScale = setmetatable( { DefenseScale = 1; }, { __index = BuffActionBase, __metatable = BuffActionBase } ); function BuffAction_DefenseScale:LuaDoAction() BuffActionBase.LuaDoAction(self) if not UGCGameSystem.IsServer() then return true end UGCLogSystem.Log("[BuffAction_DefenseScale_LuaDoAction]") local OwnerPawn = self:GetOwnerPawn() if UE.IsValid(OwnerPawn) then OwnerPawn:SetDefenseScale(OwnerPawn:GetDefenseScale() * self.DefenseScale) end end function BuffAction_DefenseScale:LuaUndoAction() BuffActionBase.LuaUndoAction(self) if not UGCGameSystem.IsServer() then return true end UGCLogSystem.Log("[BuffAction_DefenseScale_LuaUndoAction]") local OwnerPawn = self:GetOwnerPawn() if UE.IsValid(OwnerPawn) then OwnerPawn:SetDefenseScale(OwnerPawn:GetDefenseScale() / self.DefenseScale) end end return BuffAction_DefenseScale;