rimworld吧 关注:272,037贴子:5,046,736
  • 10回复贴,共1

【心得】边缘魔法自定义能力/技能指南

只看楼主收藏回复

众所周知,边缘魔法是一个很有趣味性的mod,之前已经有吧友发过自定义职业的帖子了,这两天楼主自己对着Kure的职业拓展学习了一下自定义能力/技能。经过两个晚上的学习,已经成功做出一个简单的主动技能了,于是整理下心得,发出来给大家交流。


IP属地:浙江1楼2023-04-27 19:59回复
    (之前写得有像教科书,有点枯燥,所以删了重写。前排超长警告+多图警告。)
    零、基础知识篇
    (一)推荐Mod
    首先,想要自定义边缘魔法中的职业和技能,推荐大家使用这个Mod(后面简称Mod):
    A RimWorld of Magic – Custom Class EditorAdd-on

    这个Mod是边缘魔法制作者提供的官方工具,价值在于边缘魔法的更新不会影响自定义职业,虽然显示支持1.1版,但是由于边缘魔法底层代码没有改动,还是可以沿用的。
    如果有人在用编辑自定义职业和能力的时候出现了和楼主一样黑屏的情况,需要修改Patches\Custom_Class_Defs.xml 这个文件。把所有“<!-*”和“*->”框起来的部分删掉(原因是注释写法有问题)。

    然后,Kure的边缘魔法职业拓展Mod是一个很好的学习资料。比起原版文件更贴近自定义的环境,在写法上更有参考价值。
    Kure’s Rimworld of Magic Class ExpansionPack



    IP属地:浙江8楼2023-04-29 13:04
    回复
      2025-12-08 13:37:35
      广告
      不感兴趣
      开通SVIP免广告
      (二)文件结构
      Mod自带几个文件夹:
      About——Mod说明,不用管
      Textures——贴图文件夹
      Patches——补丁文件夹,只有自定义职业(Class)的定义文件(后称Def)需要放到这里
      Defs——各类定义文件
      如果你想要放入自定义音效,可以参考职业拓展Mod,新建一个Sounds文件夹。

      除去音效和贴图外,想要自定义职业和能力涉及的Def主要有以下几类:
      Books——转职书
      Traits——特性
      Class——职业
      Damages——伤害类型
      Hediffs——身体状态(Buff、伤口)
      Powers——升级项
      Abilities——能力
      其中Books、Traits、Class见贴吧另一则帖子,本篇主要讨论能力的自定义,也就是Damages、Hediffs、Powers、Abilities。官方都有给示例可以参考。
      接下来我们打开Defs文件夹,Mod自带的就两个文件:Books_CustomClass.xml、Traits_CustomClass.xml。想要自定义其他内容,就需要我们新建。下面附上楼主的Defs文件夹截图:


      IP属地:浙江9楼2023-04-29 13:09
      回复
        一、Powers
        先从最简单的Powers开始介绍。Powers主要定义能力的加点界面,关联Abilities,定义升级项以及自动施法逻辑。没有在Powers里面定义的Abilities,只能通过卷轴(需要另外写Def)学会,且不可升级。这里用楼主前两天做的一个技能来进行示例。
        给小白的提示:
        图中1-3行都是Defs文件的标准格式,文件末尾还需要有一行</Defs>。
        第4行<defName></defName>围起来的是系统识别的能力名称,不能出现中文。


        IP属地:浙江10楼2023-04-29 13:16
        回复
          二、Abilities
          Abilities是边缘魔法的核心,定义能力/技能的效果。这一篇可以分为两块内容,Projectiles(投射物,另一个名字估计会被吞)和Ability。需要注意对Projectiles的定义要放在Ability前面。
          下面是最核心的Ability的内容。同样用楼主前两天做的一个技能来进行示例。


          楼主估计<VerbClass>里面的内容很多是在dll里面定义的,比如武僧的奔雷掌,之前测试的时候尝试写给这个限定手持物理武器才能使用的技能,结果被告知需要徒手才能释放。因此建议不懂编程的吧友们尽量用的原版值。


          IP属地:浙江11楼2023-04-29 13:19
          回复
            然后是Projectiles。边缘魔法有不少效果,例如伤害的传递(代表:魔法飞弹、火球术、剑刃回旋)、人物位移(代表:圣骑士的英勇冲锋),甚至部分buff,都是通过设置Projectiles来实现的。


            IP属地:浙江12楼2023-04-29 13:20
            回复
              三、Hediffs
              Hediffs定义的是Buff和伤口效果。这里拿法力虚弱来举例:


              IP属地:浙江13楼2023-04-29 14:24
              回复
                伤口类Hediff:
                建议参考Kure的职业拓展包形式,将伤口的Hediff和Damages写在同一个文件里。
                官方的伤口类Hediff文件在Hediffs_TMagic_Spells.xml里。


                IP属地:浙江14楼2023-04-29 15:32
                回复
                  2025-12-08 13:31:35
                  广告
                  不感兴趣
                  开通SVIP免广告
                  四、Damages
                  Damages定义伤害类型,建议参考Kure的职业拓展包形式,将伤口的Hediff和Damages写在同一个文件里。(免得忘了导致报错)。同时发现原版各个法术对应的护甲类型各有特色,例如奥术伤害(例如:奥术射线)计算时用的是暗属性护甲,但是魔法飞弹却是用的钝伤护甲计算(可能魔法飞弹实际上是拿一把石子在手里,然后灌入魔法能量让石子飞出去砸人?)


                  IP属地:浙江15楼2023-04-29 15:33
                  回复
                    好了,理论部分就这么多,剩下的就靠大家自己摸索尝试了
                    注意:
                    自定义的时候,各项数值尽可能参照原版,别写的太离谱,避免严重破坏游戏性。


                    IP属地:浙江16楼2023-04-29 15:36
                    回复