local SimpleSkillTask = require("Script.SimpleSkill.Task.SimpleSkillTask") local SimpleSkillTask_DeathStrike = LuaClass("SimpleSkillTask_DeathStrike", SimpleSkillTask) SimpleSkillTask_DeathStrike.AdditionDamageRateTable = {6.0, 8.0, 10.0, 15.0} --伤害加成百分比 SimpleSkillTask_DeathStrike.CurDamageRate = 0.0 function SimpleSkillTask_DeathStrike:ctor(OwnerSkill) SimpleSkillTask_DeathStrike.super.ctor(self, OwnerSkill) end function SimpleSkillTask_DeathStrike:InitTaskFromData(TaskData, CasterPawn) SimpleSkillTask.InitTaskFromData(self, TaskData, CasterPawn) self.TaskName = "DeathStrike" end function SimpleSkillTask_DeathStrike:UpdateSkillLevel(NewSkillLevel) SimpleSkillTask.UpdateSkillLevel(self, NewSkillLevel) self.CurDamageRate = self.AdditionDamageRateTable[self.SkillLevel] end function SimpleSkillTask_DeathStrike:ActivateTask() SimpleSkillTask.ActivateTask(self) local Base_Attack = UGCGameSystem.GetPlayerStateByPlayerKey(self.CasterPawn.PlayerKey).Attributes[AttributeType.Base].Base_Attack local DamageAmount = 200 + Base_Attack * self.CurDamageRate local EventInstigator = UGCGameSystem.GetPlayerControllerByPlayerKey(self.CasterPawn.PlayerKey) local TargetPawns = self:GetTargetPawns() for _, TargetPawn in pairs(TargetPawns) do UGCGameSystem.ApplyDamage(TargetPawn, DamageAmount, EventInstigator, self.CasterPawn, EDamageType.ShootDamage) end self:EnableSkillEffect(self.CasterPawn, TargetPawns, EEffectSpawnLocationType.Middle) end return SimpleSkillTask_DeathStrike;