diff --git a/luafight/Modules/Battle/Logic/Base/EffectCaster.lua b/luafight/Modules/Battle/Logic/Base/EffectCaster.lua index 9569e7b85..200c990ce 100644 --- a/luafight/Modules/Battle/Logic/Base/EffectCaster.lua +++ b/luafight/Modules/Battle/Logic/Base/EffectCaster.lua @@ -42,7 +42,7 @@ function EffectCaster:DoEffect(caster, target, eff, duration, skill) e.args[i] = eff.args[i] end - -- 检测被动技能对技能参数的影响 + -- ⱻܶԼܲӰ local function _PassiveCheck(pe) if pe then e = pe @@ -60,7 +60,7 @@ end function EffectCaster:takeEffect(caster, target, effects, effectIndex, duration, skill) for k=1, #effects do - -- 如果不是第一个效果对列的第一个效果则判断是否命中 + -- ǵһЧеĵһЧжǷ if k ~= 1 and effectIndex == 1 then if self:CheckTargetIsHit(target) then self:DoEffect(caster, target, effects[k], duration, skill) @@ -76,25 +76,25 @@ function EffectCaster:ChooseTarget() -- self.effectTargets = {} self.targetIsHit = {} - -- 先计算出技能的目标 + -- ȼܵĿ for i=1, #self.effectList do - -- 是否重新选择目标 + -- ǷѡĿ local isReTarget = true if self.targets and self.targets[i] then self.effectTargets[i] = self.targets[i] - -- 判断是否有有效目标 + -- жǷЧĿ for _, role in ipairs(self.effectTargets[i]) do if not role:IsRealDead() then isReTarget = false end end end - -- 重新选择目标 + -- ѡĿ if isReTarget then local effectGroup = self.effectList[i] local chooseId = effectGroup.chooseId self.effectTargets[i] = BattleUtil.ChooseTarget(self.skill.owner, chooseId) - -- 检测被动对攻击目标的影响 + -- ⱻԹĿӰ if i == 1 then local function _PassiveTarget(targets) self.effectTargets[i] = targets @@ -105,19 +105,19 @@ function EffectCaster:ChooseTarget() end end --- 释放技能 --- func 技能释放完成回调 +-- ͷż +-- func ͷɻص function EffectCaster:Cast() - -- 选择目标 + -- ѡĿ self:ChooseTarget() - -- 对目标造成相应的效果 + -- ĿӦЧ for i=1, #self.effectList do local effectGroup = self.effectList[i] local chooseId = effectGroup.chooseId local arr = self.effectTargets[i] if arr and #arr > 0 then - -- 效果延迟1帧生效 + -- Чӳ1֡Ч BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime, function() local effects = effectGroup.effects local weight = math.floor(chooseId % 10000 / 100) @@ -125,10 +125,10 @@ function EffectCaster:Cast() if count == 0 then count = #arr end - -- 全部同时生效 + -- ȫͬʱЧ for j=1, count do if arr[j] and not arr[j]:IsRealDead() then - -- 检测是否命中 + -- Ƿ if i == 1 then self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.skill.owner, arr[j],self.skill) end @@ -140,7 +140,7 @@ function EffectCaster:Cast() end end --- 遍历技能命中目标 +-- Ŀ function EffectCaster:ForeachTargets(func) local targets = self:GetDirectTargets() for _, role in ipairs(targets) do @@ -150,7 +150,7 @@ function EffectCaster:ForeachTargets(func) end end --- 获取直接选择目标Id +-- ȡֱѡĿId function EffectCaster:GetDirectChooseId() local effectGroup = self.effectList[1] local chooseId = effectGroup.chooseId @@ -158,12 +158,12 @@ function EffectCaster:GetDirectChooseId() end --- 获取技能的直接目标,和策划规定第一个效果的目标为直接效果目标,(包含miss的目标) +-- ȡֱܵĿ꣬Ͳ߻涨һЧĿΪֱЧĿ,(missĿ) function EffectCaster:GetDirectTargets() return self.effectTargets[1] end --- 获取直接目标,不包含miss的目标,可能为空 +-- ȡֱĿ꣬missĿ꣬Ϊ function EffectCaster:GetDirectTargetsNoMiss() local list = {} for _, role in ipairs(self.effectTargets[1]) do @@ -174,7 +174,7 @@ function EffectCaster:GetDirectTargetsNoMiss() return list end --- 获取技能目标最大人数 +-- ȡĿ function EffectCaster:GetMaxTargetNum() local mainEffect = self.effectList[1] if not mainEffect then @@ -183,7 +183,7 @@ function EffectCaster:GetMaxTargetNum() return BattleUtil.GetMaxTargetNum(mainEffect.chooseId) end --- 判断是否命中 +-- жǷ function EffectCaster:CheckTargetIsHit(role) return self.targetIsHit[role] end