local SimpleSkillTask = require("Script.SimpleSkill.Task.SimpleSkillTask") local SimpleSkillTask_StickStrike = LuaClass("SimpleSkillTask_StickStrike", SimpleSkillTask) SimpleSkillTask_StickStrike.AdditionDamageRateTable = {5.0, 7.0, 9.0, 12.0} SimpleSkillTask_StickStrike.CurDamageRate = 0.0 function SimpleSkillTask_StickStrike:ctor(OwnerSkill) SimpleSkillTask_StickStrike.super.ctor(self, OwnerSkill) end function SimpleSkillTask_StickStrike:InitTaskFromData(TaskData, CasterPawn) SimpleSkillTask.InitTaskFromData(self, TaskData, CasterPawn) self.TaskName = "StickStrike" end function SimpleSkillTask_StickStrike:UpdateSkillLevel(NewSkillLevel) SimpleSkillTask.UpdateSkillLevel(self, NewSkillLevel) self.CurDamageRate = self.AdditionDamageRateTable[NewSkillLevel] end function SimpleSkillTask_StickStrike:ActivateTask() SimpleSkillTask.ActivateTask(self) local DamageAmount = self.CurDamageRate * UGCGameSystem.GetPlayerStateByPlayerKey(self.CasterPawn.PlayerKey).Attributes[AttributeType.Base].Base_Attack local EventInstigator = UGCGameSystem.GetPlayerControllerByPlayerKey(self.CasterPawn.PlayerKey) for _, Monster in pairs(self:GetTargetPawns()) do if Monster ~= nil and UE.IsValid(Monster) and Monster.bIsDead == false then Monster:SetIsStun(true, 1.0) UGCGameSystem.ApplyDamage(Monster, DamageAmount, EventInstigator, self.CasterPawn, EDamageType.ShootDamage) end end self:EnableSkillEffect(self.CasterPawn, nil, EEffectSpawnLocationType.Bottom) end function SimpleSkillTask_StickStrike:DeactivateTask() end return SimpleSkillTask_StickStrike;