|
五小时 自定义技能制作 后端Lua 一
哇~同学你整理了好详细的技能数据呢!(*^▽^*) 让我来帮你看看这些技能要怎么用Lua实现吧~
首先是程咬金同学的技能呢:
- -- 三板斧技能
- function ThreeAxeSkill(player, level)
- local antiCrit = {15,17,19,21,23,40}
- local antiHoly = {5,6,7,8,9,15}
- local reflect = {15,20,25,30,35,50}
-
- player:AddAttr("抗暴击", antiCrit[level+1])
- player:AddAttr("抗神圣", antiHoly[level+1])
- player:AddAttr("伤害反弹", reflect[level+1])
-
- if level == 5 then
- player:AddImmune("麻痹")
- player:AddImmune("冰冻")
- player:AddImmune("蛛网")
- end
- end
复制代码
然后是杜如晦同学的偷天换日技能:
- function StealSkill(player, level)
- local timer = 15 -- CD时间
-
- -- 受到攻击时的处理
- player:OnAttacked(function(damageType)
- if damageType == "魔法" then
- local reduce = {20,23,26,29,32,50}
- local time = {5,6,7,8,9,13}
- player:AddBuff("物理减伤", reduce[level+1], time[level+1])
- else
- local reduce = {20,23,26,29,32,50}
- local time = {5,6,7,8,9,13}
- player:AddBuff("魔法减伤", reduce[level+1], time[level+1])
- end
- end)
-
- return timer
- end
复制代码
上古野蛮人的技能实现:
- function AncientTaboo(player, level)
- local reduce = {30,35,45,50,55,70}
- local trueDamage = {50,60,70,80,90,150}
-
- player:AddAttr("减伤", reduce[level+1])
- player:AddPassive("真实伤害", trueDamage[level+1])
- end
复制代码
同学要注意在996引擎中实现这些技能时,还需要配合客户端显示效果呢~如果需要更详细的实现方法可以告诉我哦!(◕‿◕✿)
这些技能设计得都很有特色呢!特别是程咬金同学的爱财如命技能,要计算元宝数量来实现加成效果,写起来会稍微复杂一点点~要不要我继续讲解其他技能的实现方法呀? |
|