魔法书自走棋:契约

魔法书自走棋:契约Mod相关内容


3. 制作你的武器技能

<p>该篇需要用到的表格有</p> <ul> <li>BattleSkillConfig</li> <li>FormulaParamConfig</li> </ul> <h2>技能效果方面</h2> <p>技能包含了技能的目标选取与伤害造成两个大功能 在 &lt; 魔法书自走棋:契约 &gt; 中,技能决定了<strong>选取有效单位的方式</strong>以及<strong>对被选取的有效单位做什么事情</strong>的功能</p> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">功能说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">Id</td> <td style="text-align: left;">该技能的id,用于匹配各项参数</td> </tr> <tr> <td style="text-align: left;">Type</td> <td style="text-align: left;">该技能是否为飞行物技能[1-非飞行物技能/绝大部分近战都是1][2-飞行物技能,绝大部分远程都填2,这里填了2下方fly参数就要配置对应的飞行物id]</td> </tr> <tr> <td style="text-align: left;">HurtType</td> <td style="text-align: left;">该技能造成的伤害类型,[1-物理][2-魔法][无伤害的纯buff技能填1就行]</td> </tr> <tr> <td style="text-align: left;">Name</td> <td style="text-align: left;">技能名称的文本描述。游戏内不显示,写给自己读的</td> </tr> <tr> <td style="text-align: left;">Animation</td> <td style="text-align: left;">释放该技能时调用的动画片,配置为多个时则随机选择一个使用。被动技能不需要配置该项</td> </tr> <tr> <td style="text-align: left;">Energy</td> <td style="text-align: left;">此项为决定该技能为[0-普通攻击/1-被动技能/大于1的整数-主动技能]的重要参数</td> </tr> <tr> <td style="text-align: left;">PreFind</td> <td style="text-align: left;">此项为决定该技能生效的单位[1-我方/2-除自己外的我方/11-敌方]</td> </tr> <tr> <td style="text-align: left;">PreFindRange</td> <td style="text-align: left;">技能释放前[预选]敌人的范围。若预选范围内不存在有效单位,则后续生效范围内也不会取到有效单位</td> </tr> <tr> <td style="text-align: left;">Repel</td> <td style="text-align: left;">该技能生效时是否参与重量计算的环节。一般来说只有近战会参与,远程技能不参与</td> </tr> <tr> <td style="text-align: left;">Filter</td> <td style="text-align: left;">技能生效的范围。具体配置参数翻阅备注表</td> </tr> <tr> <td style="text-align: left;">BuffId</td> <td style="text-align: left;">技能生效时附加的buff组</td> </tr> <tr> <td style="text-align: left;">HitEffect</td> <td style="text-align: left;">该技能在对应单位上生效后产生的特效,俗称受击特效。全特效列表翻阅备注</td> </tr> <tr> <td style="text-align: left;">Fly</td> <td style="text-align: left;">填写的飞行物id,近战类型技能忽略,飞行物技能必填</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">该技能的处理方式脚本,具体配置翻阅备注表</td> </tr> <tr> <td style="text-align: left;">Desc</td> <td style="text-align: left;">该技能的效果描述。游戏内不显示,写给自己读的</td> </tr> <tr> <td style="text-align: left;">Formula</td> <td style="text-align: left;">关联的伤害处理公式id,请前往FormulaParamConfig表配置</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">值类型</th> <th style="text-align: left;">配置区间</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">Id</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"></td> </tr> <tr> <td style="text-align: left;">Type</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>[1-近战技能]</code> <code>[2-飞行物技能]</code></td> </tr> <tr> <td style="text-align: left;">HurtType</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>[1-物理]</code> <code>[2-魔法]</code></td> </tr> <tr> <td style="text-align: left;">Name</td> <td style="text-align: left;">字符串<code>string</code></td> <td style="text-align: left;"></td> </tr> <tr> <td style="text-align: left;">Animation</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;">翻阅Animation参数表</td> </tr> <tr> <td style="text-align: left;">Energy</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>[0-普攻]</code> <code>[1-被动]</code> <code>[大于1-主动]</code></td> </tr> <tr> <td style="text-align: left;">PreFind</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>[1-我方]</code> <code>[2-除自己外的我方]</code> <code>[11-敌方]</code></td> </tr> <tr> <td style="text-align: left;">PreFindRange</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>0~100</code></td> </tr> <tr> <td style="text-align: left;">Repel</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;"><code>[1-参与]</code> <code>[0-不参与]</code></td> </tr> <tr> <td style="text-align: left;">Filter</td> <td style="text-align: left;">正整数组<code>int[]</code></td> <td style="text-align: left;">具体配置参数翻阅备注表</td> </tr> <tr> <td style="text-align: left;">BuffId</td> <td style="text-align: left;">正整数组<code>int[]</code></td> <td style="text-align: left;">技能生效时附加的buff组</td> </tr> <tr> <td style="text-align: left;">HitEffect</td> <td style="text-align: left;">字符串<code>string</code></td> <td style="text-align: left;">该技能在对应单位上生效后产生的特效,俗称受击特效。全特效列表翻阅备注</td> </tr> <tr> <td style="text-align: left;">Fly</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;">填写的飞行物id,近战类型技能忽略,飞行物技能必填</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;">该技能的处理方式脚本,具体配置翻阅备注表</td> </tr> <tr> <td style="text-align: left;">Desc</td> <td style="text-align: left;">字符串<code>string</code></td> <td style="text-align: left;">该技能的效果描述。游戏内不显示,写给自己读的</td> </tr> <tr> <td style="text-align: left;">Formula</td> <td style="text-align: left;">正整数<code>int</code></td> <td style="text-align: left;">关联的伤害处理公式id,请前往FormulaParamConfig表配置</td> </tr> </tbody> </table> <h2>关于Filter参数</h2> <p>Filter参数可以理解为筛选敌人的方式,存在着多项例如从前往后,从后往前,生命值最低等等,在这里讲罗列游戏中的所有筛选方式以及配置方式供参考 常用的参数会进行额外标注,部分不常用的参数要么是本身不太好用,要么就是有更好的参数代替</p> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">筛选方式</th> <th style="text-align: left;">Filter实际配置</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">1</td> <td style="text-align: left;">生命值百分比最低的目标</td> <td style="text-align: left;">1</td> </tr> <tr> <td style="text-align: left;">2</td> <td style="text-align: left;">距离最远的目标</td> <td style="text-align: left;">2</td> </tr> <tr> <td style="text-align: left;">3</td> <td style="text-align: left;">所有受伤单位</td> <td style="text-align: left;">3</td> </tr> <tr> <td style="text-align: left;">4<code>常用</code></td> <td style="text-align: left;">所有目标</td> <td style="text-align: left;">4</td> </tr> <tr> <td style="text-align: left;">5<code>常用</code></td> <td style="text-align: left;">x个生命值百分比最低的目标</td> <td style="text-align: left;">5,x</td> </tr> <tr> <td style="text-align: left;">6<code>常用</code></td> <td style="text-align: left;">队伍中靠前的x个目标</td> <td style="text-align: left;">6,x</td> </tr> <tr> <td style="text-align: left;">7<code>常用</code></td> <td style="text-align: left;">随机x个目标</td> <td style="text-align: left;">7,x</td> </tr> <tr> <td style="text-align: left;">8<code>常用</code></td> <td style="text-align: left;">面前<code>A*B</code>面积范围内的所有目标</td> <td style="text-align: left;">8,<code>A*10000</code>,<code>B*10000</code></td> </tr> <tr> <td style="text-align: left;">9</td> <td style="text-align: left;">随机x个受伤的目标</td> <td style="text-align: left;">9,x</td> </tr> <tr> <td style="text-align: left;">10<code>常用</code></td> <td style="text-align: left;">面前<code>A*B</code>面积范围内的随机x个目标</td> <td style="text-align: left;">10,<code>A*10000</code>,<code>B*10000</code>,x</td> </tr> <tr> <td style="text-align: left;">11</td> <td style="text-align: left;">优先攻击带有<code>BUFFId</code>的x个目标</td> <td style="text-align: left;">11,x,<code>BUFFId</code></td> </tr> <tr> <td style="text-align: left;">12<code>常用</code></td> <td style="text-align: left;">自己</td> <td style="text-align: left;">12</td> </tr> <tr> <td style="text-align: left;">13<code>常用</code></td> <td style="text-align: left;">队伍中靠后的x个目标</td> <td style="text-align: left;">13,x</td> </tr> <tr> <td style="text-align: left;">14</td> <td style="text-align: left;">从队伍中靠后的x个目标中随机选择y个目标</td> <td style="text-align: left;">14,x,y</td> </tr> </tbody> </table> <h4>一些参数的详细说明</h4> <p>选靠前的目标用6,选靠后的目标用13,选全部目标用4,范围内的所有目标用8。 14的意思是,从队伍中靠后的几个人里面随机打几个。例如:从队伍中靠后的5个人里面随机打两个。此时不处于队伍中靠后的5个人里面的目标则永远不会受到随机攻击</p> <h2>关于Animation参数</h2> <p>请翻阅文档中的<code>Animation参数列表</code>进行查阅与配置</p> <p>配置为对应ID动画片时,执行技能会播放该动画片对应的动作与特效。并且根据执行帧的数量进行造成伤害。若技能配置为5倍力量伤害一次,选择了执行帧数量为2的动画片,则实际造成5倍力量x2次的伤害 特效方面:如果是采用飞行物方式的技能,则动画片上一般不会附带特效,飞行物才是主要的特效承载形式。如果是近战类技能,则大部分特效与动画绑定在一起 动画片的ID与实际用途并无强关联性,仅作为设计时的用法而命名。Attack开头的动画仍然可以用作技能动画,而Skill开头的动画也可以用作普通攻击的动画</p> <h2>关于Fly参数</h2> <p>当<code>BattleSkillConfig</code>中的<code>Type</code>参数填写为<code>2</code>时,<code>Fly</code>参数必须被填写 Fly参数为使用的飞行物Id,在MOD制作中,飞行物的制作并未被开放出来供制作方自定义,所以尽可能多地罗列游戏中用到的飞行物列表</p> <p>请翻阅文档中的<code>Fly参数列表</code>进行查阅与配置</p> <h2>关于HitEffect参数</h2> <p>该参数为<code>受击特效</code>,通常用于展示该技能成功在目标身上生效时所产生的特效,一般常见于普攻或技能攻击到敌人时,在敌人身上播放<code>受击特效</code> 具体的特效列表与效果可以翻阅文档中的<code>特效列表</code></p> <h2>伤害计算方面</h2> <p><code>BattleSkillConfig</code>表中有一个参数为<code>Formula</code>,而该篇主要讲解的就是该参数的实际用途 <code>Formula</code>是主要决定伤害的计算方式。该技能是按照什么倍率?以什么参数作为基础值?又有多少概率可以给敌人附加额外的buff效果?统统由<code>FormulaParamConfig</code>内的<code>Logic</code>决定</p> <p>接下来先看看<code>FormulaParamConfig</code>的基本构成</p> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">功能说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">Id</td> <td style="text-align: left;">伤害公式的id,用于匹配各项参数</td> </tr> <tr> <td style="text-align: left;">Type</td> <td style="text-align: left;">决定该伤害是什么类型的伤害[1-治疗][2-物理][3-魔法][4-异常][5-反伤],配置为[1-治疗]时,不会造成伤害,更替为回血</td> </tr> <tr> <td style="text-align: left;">ElementType</td> <td style="text-align: left;">该伤害的元素类型[],不建议填写,默认为空</td> </tr> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">Logic公式中的浮点参数</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">Logic公式中的字段参数</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">Logic公式中的整数参数</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">该伤害的计算公式脚本,需要结合[FloArr][StrArr][IntArr]一起配置</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">值类型</th> <th style="text-align: left;">配置区间</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">Id</td> <td style="text-align: left;">正整数</td> <td style="text-align: left;"></td> </tr> <tr> <td style="text-align: left;">Type</td> <td style="text-align: left;">正整数</td> <td style="text-align: left;">指定参数[1;2;3;4;5]</td> </tr> <tr> <td style="text-align: left;">ElementType</td> <td style="text-align: left;">正整数</td> <td style="text-align: left;">推荐参数[0]</td> </tr> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">正浮点数组</td> <td style="text-align: left;">根据具体的Logic来配置</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">根据具体的Logic来配置</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">正整数</td> <td style="text-align: left;">根据具体的Logic来配置</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">指定参数[NormalAtk;GivenHurt;OnePropCalcHurt;TwoPropCalcHurt]</td> </tr> </tbody> </table> <p>Logic的4个主要脚本</p> <ol> <li>NormalAtk</li> <li>GivenHurt</li> <li>OnePropCalcHurt</li> <li>TwoPropCalcHurt</li> </ol> <p><strong>NormalAtk:</strong> 该脚本用于根据武器的主要加成属性造成攻击力等额的伤害,基本用法就是设计一个技能,然后伤害脚本用这个普通攻击,那这个技能就是简单的普通攻击效果。注意,如果该技能中的buff栏内不为空,则附加这些buff栏内的buff概率为100%附加。</p> <table> <thead> <tr> <th style="text-align: left;">NormalAtk</th> <th style="text-align: left;">参数配置</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">空</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">空</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">空</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">NormalAtk</td> </tr> </tbody> </table> <p><strong>GivenHurt:</strong> 该脚本用于造成固定伤害,并且100%概率附加buff栏里面配置的buff。 使用案例:脚本选择givehurt,Type类型选择1,配置IntArr为50。则最终效果为恢复50点生命值。</p> <table> <thead> <tr> <th style="text-align: left;">GivenHurt</th> <th style="text-align: left;">参数配置</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">空</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">空</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">正整数</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">GivenHurt</td> </tr> </tbody> </table> <p><strong>OnePropCalcHurt:</strong> 该脚本的效果是(造成intArr加FloArr[A]倍StrArr的Type类型伤害,并有FloArr[B]概率附加buff)。该脚本可以应对游戏中绝大部分的情况,通常仅用该脚本即可 案例:FloArr配置为[3;0.25],StrArr配置为Power,IntArr配置为100。则实际效果是造成100+3倍力量的伤害,并且有25%几率施加buff</p> <table> <thead> <tr> <th style="text-align: left;">OnePropCalcHurt</th> <th style="text-align: left;">参数配置</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">两个配置参数[A,B]A为StrArr的倍率,B为施加buff的概率。B配置区间为[0 - 1]</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">一级属性字段</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">固定值</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">OnePropCalcHurt</td> </tr> </tbody> </table> <p><strong>TwoPropCalcHurt:</strong> 该脚本与OnePropCalcHurt完全一致,区别于填写的StrArr字段不同。一级属性采用OnePropCalcHurt,二级属性采用TwoPropCalcHurt 案例:FloArr配置为[3;1],StrArr配置为Defence,IntArr配置为0。则实际效果是造成3倍物理防御力的伤害,并且有100%几率施加buff</p> <table> <thead> <tr> <th style="text-align: left;">TwoPropCalcHurt</th> <th style="text-align: left;">参数配置</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">FloArr</td> <td style="text-align: left;">两个配置参数[A,B]A为StrArr的倍率,B为施加buff的概率。B配置区间为[0 - 1]</td> </tr> <tr> <td style="text-align: left;">StrArr</td> <td style="text-align: left;">一级属性字段</td> </tr> <tr> <td style="text-align: left;">IntArr</td> <td style="text-align: left;">固定值</td> </tr> <tr> <td style="text-align: left;">Logic</td> <td style="text-align: left;">TwoPropCalcHurt</td> </tr> </tbody> </table>

页面列表

ITEM_HTML