无名杀吧 关注:64,830贴子:289,362
  • 21回复贴,共1

随时更改技能时机

只看楼主收藏回复

这些操作可能部分大佬已经知道,只是分享一下。
先举例子
可以看到我这个技能是受到伤害前执行

然后我执行一遍,并触发时机

然后我发动技能改成造成伤害的时机,并成功执行

再测试一下受伤会不会触发

可以看到已经无法触发受伤事件了
上代码

原因其实很简单,技能的时机其实是object,利用JavaScript自带的修改函数即可修改。
需要注意的是:
函数原本可以创建新的属性,实际测试不可创建。(用delete删除没详细测试
更改函数时机后如果没有删除技能再重新赋予,那么原本的技能时机不再被触发,因赋予又没更新,故新时机也不会触发
所以说要改成需要的时机,需要先准备需要的时机属性

这样就可以了
这样似乎又可以整新活,整新活的同时不要忘了一个好函数getParent().name
2L上模板


IP属地:北京1楼2022-08-09 02:16回复
    Object.defineProperties(lib.skill['技能名'].trigger,{
    'source':{value: "damageSource"},
    'player':{value: ""},
    'global':{value: ""}
    }); //批量改
    player.removeSkill('技能名'); //更新技能
    player.addSkill('技能名')


    IP属地:北京2楼2022-08-09 02:18
    收起回复
      如果不想要的时机可以用removeSkillTrigger删除掉,麻麻再也不用担心我一只复制粘贴改时机了


      IP属地:北京来自Android客户端3楼2022-08-09 02:28
      收起回复


        IP属地:湖南来自Android客户端4楼2022-08-09 07:19
        回复


          IP属地:广东来自Android客户端6楼2022-08-09 09:09
          回复
            太强了吧


            IP属地:江西来自Android客户端7楼2022-08-09 21:14
            回复
              这个函数不是默认让这个值不可配置吗?还不如直接用lib skill trigger = {xxx},或者object.assign


              IP属地:辽宁来自Android客户端8楼2022-08-10 02:38
              收起回复
                不错可以整活


                IP属地:北京9楼2022-08-10 13:18
                回复


                  IP属地:陕西来自iPhone客户端10楼2022-08-11 11:17
                  回复
                    就和诗筏大佬说的一样,直接用lib.skill['技能名'].trigger = {}修改更简单便捷。甚至可以直接修改整个技能。defineProperties其实有点麻烦


                    IP属地:江西12楼2022-09-08 11:27
                    收起回复
                      大佬能不能把你的无名杀发我下


                      IP属地:四川来自Android客户端13楼2022-11-22 08:20
                      回复
                        我想设置一个限觉醒,比如角色的血量上线maxhp在小于等于4时,触发该觉醒技[克己]同时废除技能[崩坏]。该怎么写?


                        14楼2022-11-29 08:13
                        收起回复