本帖最后由 魔剑圣尊 于 2020-6-23 21:24 编辑
一、技能表介绍好久不见……咕了这么久,终于有时间开始动笔写技能篇的内容了。 接下来先从技能表格开始 1.技能表格介绍惯例,从官方开源里偷…咳咳,复制一个技能表出来,具体位置是官方开源下的 EXCEL\ 技能测试\ J技能列表测试.xlsx 这个表不止一个,不过我们只需要复制一个就够了。
把表复制到自己的mod目录下后,按自己的习惯改名(不改也无所谓)
然后打开valuebundle\INDEX.xml 添加以下内容:
<convert reg="skill_info_pojo.xml" from="技能列表.xlsx" />
顺带一提,随着版本更新,现在可以不用写default.xml了,不过这个表依然会生效,所以建议删除default.xml。
随后打开技能表格,按照惯例删除除表头以外的所有内容。
技能表的表头很复杂,因此我会分为三个部分讲解。
1.1 技能信息
这些内容是是技能表里的基础信息 ID:技能的唯一ID,如果相同则会覆盖 技能名称:技能的显示名称,用于展示 对应槽位:废弃设定,不用填写 被动:事实上是技能类型,有以下几种填写格式 0:主动技能(主动施放但可拥有被动效果) 1:被动技能(不能主动施放) 3:战斗开始时被动触发
2有啥用?我也不知道。
等级信息:技能的等级以及升级范围 格式: 最低等级-最高等级(可省略):对应等级系数表的起始等级#步长(可省略,默认为1) 有多个等级信息时,将从上至下进行综合,下面的信息会覆盖上面的信息 等级范围为1~40级,不能超过等级系数表所定义的等级上限
举个例子,比如一个技能最低1级,最高5级,每次升级加1级,则是: 1-5:1#1 如果一个技能最低3级,最高10级,每次升级加3级,则是: 1-10:1#3
技能描述:技能显示在面板上的内容,用于展示 使用情况:废弃设定,不用填写 技能描述备注:备注内容,随意填写 技能图标:技能的图标,使用方法同技能图标,可以参考之前的教程内容,对应游戏资源路径 Asset\BuildSource\SkillIcon\ 下的图标(不用翻了,这个是资源包解包后的路径) 如果需要使用自己图标,可以把技能图标放到RES\ SkillIcons\*下,然后在override.txt里填写以下路径: RES\SkillIcons\* >:\BuildSource\SkillIcons\*
技能系:作用未知,姑且当做废弃设定 增幅系数:技能享受的字段增幅系数,对应角色属性字段里字段,未测试过效果。 技能页:估计是废弃设定,因为没有挖掘出使用效果。要把技能写入技能页可以使用技能页的表格 气力消耗:技能的蓝量消耗 吟唱时间:技能的蓄力时间(之后解释) 技能分类:影响AI对技能使用时机的判断。类型有以下几种: 技能分类: 0:被动技能 1:伤害技能 2:减益技能 3:治疗技能 4:增益技能 5:DEBUFF技能 6:位移技能 7:嘲讽技能 8:救命技能
目标类型:技能的指定目标,决定了技能指示器和技能里获取到的信息有哪些(具体之后解释)有以下几种类型: 0:自己(无需选择) 技能直接释放 1:敌方单体 技能需要选择一个敌人 2:目标位置 技能需要选择一个点或一个圈 3:目标方向 技能需要选择一个方向 4:我方单体 技能需要选择一个友方
目标查询参数:当目标类型为1 (即敌方单位)时生效。会影响选择的目标 有以下内容可选: 当参数为空时默认返回最近的敌人或当前目标 only_hero:仅寻找英雄类型的单位 only_soldier:仅寻找小兵类型的敌人 min_hp:优先寻找血量最低的敌人
选择参数:影响技能选择指示器的显示 当目标类型为2目标位置时表示选择指示器半径; 当目标类型为3目标方向时表示选择指示器长度;
冷却时间:技能的单独冷却时间,当技能释放成功或失败后会进入冷却时间(吟唱被打断不会进入冷却) 公共CD:所有技能的通用冷却时间,当技能释放成功或失败后会进入公共冷却时间(吟唱被打断不会进入冷却)公共冷却时无法使用任何主动技能(不影响被动技能和普通攻击) 释放距离:技能的释放距离,影响技能选择指示器的显示 当目标类型为1、4时影响选择单位所需最短距离 当目标类型为2时影响能选择的最远位置 当目标类型为3时影响选择指示器的圆圈大小
1.2 技能属性
吟唱动作:技能吟唱开始时使用的动作,动作ID可以参考 Z战斗单位模型动作.xlsx 里人形动作绑定的动作ID,如 翻滚、蓄力、冲锋 等 吟唱特效:技能吟唱期间使用的特效,使用的是特效的相对路径,可以参考 Z战斗特效对象模型.xlsx 里战斗特效模型对象的地址。 释放动作:技能吟唱完毕后使用的动作,动作ID同吟唱动作 限定武器类型:估计为废弃设定,据测试无效。 被动增加属性:拥有技能后该角色增加的属性字段,具体属性可以参考 J角色属性字段.xlsx,填写格式为:属性字段1,增加值|属性字段2,增加值,此处可以使用查询和计算表达式。 此处使用的是战斗中查询,具体的查询内容可以参考部落与弯刀WIKI 范例 增加2000点生命:s_生命,2000 增加100点攻击和200点气力:s_攻击,100|s_气力,200 增加自身攻击的80%:s_攻击,[&[$stat:s_攻击$]*0.8&] 技能每增加一级,增加100点攻击:s_攻击,[&[$def_val$]*100&]
成功判断条件表达式:当技能吟唱完毕后,会使用此处的表达式判断,表达式的使用方法同之前在事件表里使用表达式,不过不需要写结果跳转。 范例 当目标生命值小于等于20%:[%aim_hp_pct%][<=]20 当己方或敌方的生命值大于50%:[%aim_hp_pct%][>]50|[%this_hp_pct%] [>]50 当己方的攻击力比敌方高100及以上:[&[%stat:s_攻击%]-[%aim_stat:s_攻击%]&][>=]100
1.3 技能命令
此处是技能最核心的部分,填写技能的指令内容,具体的指令内容会在之后的章节讲解
在讲解这四个内容前,我们需要先看一张技能释放流程的简图:
上面是我根据个人理解绘制的一张技能流程使用图,金色部分为该章节涉及到的命令,因此现在看来四个值就很好理解了: 开始吟唱时命令:技能使用后立即进入吟唱阶段,此时会触发此处的命令,如果吟唱时间为0则还会顺势进入释放阶段。 发动成功时命令:条件表达式判定成功后执行该命令 发动失败时命令:条件表达式判定失败后执行该命令 命中时命令:以上三个命令产生的伤害判定命中后触发
|