Blood = Buff:New() --初始化Buff,通过传入一些自定义参数控制成长相关的数值 function Blood:SetData(...) -- 刷新排序等级 self.bloodValue=... self.sort = 4 end --初始化后调用一次 function Blood:OnStart() self.target.bloodShield = self end --间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd function Blood:OnTrigger() return true end --效果结束时调用一次 function Blood:OnEnd() self.target.bloodShield = nil self.bloodValue=0 end --计算血甲 function Blood:CountBloodValue(damage) local finalDamage=0 self.bloodValue=self.bloodValue-damage if self.bloodValue<=0 then self.disperse=true end finalDamage=self.bloodValue LogError(" 伤害== "..damage.." 盾值=="..self.bloodValue.." 扣血:"..finalDamage) return finalDamage end --只有当cover字段为true时触发,返回true则被新效果覆盖 function Blood:OnCover(newBuff) return true end return Blood