新月杀吧 关注:1,755贴子:2,176

记录一下写拓展的学习捏【海嗣·学习】

只看楼主收藏回复

从0开始,记录从萌新到萌新的点点滴滴
技能如有雷同,可能是搬运的(我尽可能标注),也可能刚好心有灵犀。总之咱只是个破写Lua的。
海嗣将1号镇楼,技能改编基于【耀世】的国战·赵云


IP属地:湖北1楼2023-09-23 23:24回复
    老哥,有手机版吗我想下载


    IP属地:江苏来自Android客户端2楼2023-09-23 23:38
    回复
      【嗣包】1号武将-赵云,故意保留了对【杀】和【闪】来回转化的经典技能【龙胆】,这样你才知道你玩的武将是赵云(丁真)。然后在此基础之上,增加了一个过牌技能
      那么这个技能【我不是海嗣】sensei要怎么用Lua实现呢
      其实用已有的武将技能的Lua拼起来就好了(尸体拼接?!)


      IP属地:湖北3楼2023-09-23 23:46
      回复
        首先创建【嗣包】、【学习包】,搁里面添加一个【赵云】

        然后开始拼技能吧!首先确认技能类型,【游龙】应该隶属于【触发类】技能。而且【游龙】的触发时机好像和某个赵云的同分异构体相似?(咱去白马小学找找人
        找到辣!


        IP属地:湖北5楼2023-09-23 23:52
        回复
          然后找到赵云同学的学生卡
          可以看到events包含了「使用牌」和「响应牌」。然后往下看can_trigger触发条件(是个布尔型函数捏,只会返回Ture/False的劳模),「目标=角色」跟咱没关系,但还是照搬吧。「角色持有本技能」这个是每个技能必须检测的貌似。再往下看,table.find(……"longdan"),小学生看了都知道这是要检测「触发当前事件的牌是否与【龙胆】有关」,这个就是我们【游龙】需要的「触发条件」了。再往下,then后面就和咱没关系了。
          So,Control+C,Control+V,把这一段搬过去

          这里因为不用管then后面的东西了,所以直接把if语句直接去除了,直接return就好啦
          另外anim_type应该指的是播放的动画类型,因为咱【游龙】是摸牌类,所以选择改成drawcard。在这个文件夹下可以查看都有什么样的动画。


          IP属地:湖北6楼2023-09-24 00:09
          回复
            触发时机的问题已经顺利解决了,接下来看第二个限制条件「非当前回合角色」。这个要怎么做呢
            咱脑子里想半天也想不出一个有「非当前回合角色」这种限制的技能。那咱直接逆向思维,找有「当前回合角色」限制的技能!简单在脑海里思索一下,第一时间想到的有【钟繇】的【佐定】和【郭图&逄纪】的【饰非】。咱就先看看【佐定】。


            咱看can_trigger下面一行,有一个tagert.phase == Player.Play,大致是判定「当前阶段是否是使用牌的角色在执行」。那咱的【游龙】应该同理,把==改成~=就可以了


            IP属地:湖北7楼2023-09-24 00:32
            收起回复
              接下来就是选择角色的问题了,咱需要找到一个技能,既满足【有限制条件】又满足【要在众多其他角色中选择一个】。思来想去,【夏侯氏】的【燕语】不就符合条件吗。要在众多的【男性角色】中选一个,让摸两张牌,还是和咱一样摸牌类型的技能!

              咱直接看Lua

              据我观察,on_cost一般就是选取【目标】的函数,这里能看到一个function(p) return p.gender()……,很明显是筛选【男性角色】的函数,这里的p就是Player的缩写。好,咱就根据刚才【佐定】的写法,对这里的条件稍作一点修改,把【男性角色】转变为【非当前回合角色】:p.gender == General.Male 给他改成 p.phase ~= Player.Play。然后复制粘贴过去,顺带把on_use适用技能的部分也给带走。

              yanyu也给他改成youlong。当然,drawCard()那里的2得改成1,不然就是另一个强度了。
              至此【游龙】这个技能就算写完了。


              IP属地:湖北8楼2023-09-24 00:47
              回复
                接下来给赵云同学添加上技能(注:添加已有的技能如【龙胆】,需要加上“”;而添加当前lua中local定义的技能则不需要),以及翻译、描述。台词等。最后别忘了return extension,还得在末尾打个回车(我也不知道为什么要这样)。


                IP属地:湖北9楼2023-09-24 00:50
                回复
                  【嗣包】1号-赵云 就算完成了!


                  IP属地:湖北10楼2023-09-24 00:50
                  回复
                    顶一顶


                    IP属地:江苏来自Android客户端11楼2023-09-24 01:00
                    收起回复
                      接下来是【嗣包】第二将,曹植
                      目前只写好了一个技能(大雾)


                      IP属地:湖北12楼2023-09-24 20:13
                      回复
                        首先来回忆一下写这个技能的心路历程!时机和视为使用【酒】是和原本曹植的【酒诗】相同的。所以先去拜访曹植。
                        一整段直接搬走!然后before_use这里需要改一下,view_as下面一行的「正面向上」检测删除就差不多了。


                        IP属地:湖北13楼2023-09-24 20:16
                        回复
                          然后是“本回合你使用的下一张牌必须是锦囊牌”。很显然没有什么函数可以一步到位地实现这一句技能效果。于是咱得把这一句话转译一下:“你不能使用基本牌、装备牌,直到回合结束时或者你下一次使用锦囊牌时”。这样咱就找到了继续写的方向
                          那么先考虑“不能使用基本牌、装备牌,直到回合结束时”。脑海里简单检索一下,简雍的【巧说】拼点没赢正是“不能使用锦囊牌”的效果。于是咱去找一下简雍。
                          找到pindian下面那行,if是「你赢」的情况,else则对应「你没赢」。那么咱就把else那部分搬走。再往下看

                          prohibit就是禁止使用牌的技能类型罢。咱也把这段搬过去,qiaoshui的换成jiushi,加上一个Card.TypeTrick换成另外两个或者前面加not就好啦


                          IP属地:湖北14楼2023-09-24 20:31
                          回复
                            现状

                            另外对于标记Mark的命名会影响标记的持续时间、显示效果等。例如:
                            "jiushi":标记但不显示,持续时间永久
                            "jiushi-turn":标记且不显示,持续到回合结束
                            "@jiiushi", XXX:标记且值为XXX,显示 「酒诗 XXX」,持续时间永久
                            "@@jiushi",XXX:标记且值为XXX,显示标记「酒诗」,不显示值,持续时间永久


                            IP属地:湖北15楼2023-09-24 20:40
                            收起回复
                              然后是“直到你下一次使用锦囊牌时”。再转译一下其实就是:“你使用锦囊牌时,移除你的【酒诗】标记”。使用牌触发效果拆标记,神吕布的【无谋】就很符合这个效果!于是我们找到神吕布

                              可以看到【无谋】是触发技,在咱进行移植的时候发现不太容易并入【酒诗】之中。但神吕布还有另一个技能引起了咱的注意。

                              【无前】的发动会赋予神吕布【无双】直到回合结束时,而回合结束时需要这个【无双·清除】来清除【无双】。并且【无双·清除】的发动是一个无痕的效果,符合咱的需求。于是咱把他搬过去,把触发事件和清除的对象修改一下。

                              这样就完成了!


                              IP属地:湖北16楼2023-09-24 20:55
                              回复