FreeKill/docs/fkp/usr/create_skill.rst

79 lines
3.3 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. SPDX-License-Identifier: GFDL-1.3-or-later
创建技能
========
先来创建一个简单的技能
----------------------
只能制作白板武将的话这个工具的意义就不大了。制作各种各样的技能才是fkparse的最主要的功能。
由于技能和武将是独立的但需要依附拓展包而存在所以fkparse中规定技能的定义必须放在某个拓展包定义的后面。
现在打开study.txt在第一个拓展包的后面起一个新行然后输入以下内容
::
$ '吃苦' "锁定技,你受到伤害后,摸一张牌。" 锁定技
触发技
时机:受到伤害后
效果:你摸1张牌
以上
这样就创建了一个名为“吃苦”的技能。但是光有技能还不行,还得有武将拥有这个技能,不然意义就不大啦。
接下来去我们创建猪八戒的那一行,修改一下,让他获得新技能:
::
# 神 "净坛使者" '猪八戒' 24 ["吃苦"]
现在的study.txt应该像这样保存一下然后生成lua代码吧。
::
拓展包 '学习包1'
$ '吃苦' "锁定技,你受到伤害后,摸一张牌。" 锁定技
触发技
时机:受到伤害后
效果:你摸1张牌
以上
# 神 "净坛使者" '猪八戒' 24 ["吃苦"]
# 神 "----" '观世音' 3 女性 []
# 吴 "整军经武" '谋徐盛' 4 男性 []
拓展包 '学习包2'
创建技能的一般格式
------------------
创建技能的格式如下:
::
$ <标识符> <字符串> [<技能频率>] <技能主体内容> 以上
其中,<标识符>是技能名字,<字符串>是技能描述。技能频率可填可不填。
所谓技能的发动频率,就是锁定技、限定技之类的标签而已。技能频率有以下五种取值:\ *普通技、锁定技、默认技、觉醒技、限定技*\ 。普通技就是普通的技能,而所谓默认技就是在询问发动时直接默认发动(比如枭姬、奸雄之类的技能)。
剩下最重要的部分就是技能的主体内容了。正如前面所示单纯写个技能描述是不能达到制作新技能的目的的。我们需要按照一定的语法规范去编写技能的主体内容才能让fkparse生成相应的技能代码。
**技能主体内容**\ 又分为这几大类型:触发型技能、主动型技能、状态型技能。
触发型技能
----------
触发型技能的创建格式如下:
::
触发技 时机:<时机> [条件:<代码块>] 效果:<代码块>
{时机:<时机> [条件:<代码块>] 效果:<代码块>}
首先以“触发技”三个字开头之后跟上许多时机和效果这就是触发技的创建方法。fkparse支持的时机有许多种在用户指南部分我们不一一罗列后面会列出所有时机的。现在只需要知道示例里面的时机即可。
| 然后是技能的触发条件。这个可以不填,它的默认处理方法是判断当前时机的角色是不是玩家,以及玩家是否拥有本技能。我们直接来看技能的效果吧。效果后面跟的是<代码块>也就是说我们要开始“编程”了用fkparse和我们自己能看懂的方式。代码块并不难看懂比如我们前面写过的一句代码“你摸1张牌”这个一看字面就知道是什么意思啦。
| 接下来的几章会结合实例详细介绍fkparse能接受的代码格式。