FreeKill/docs/fkp/usr/viewas_skill.rst

81 lines
3.6 KiB
ReStructuredText
Raw Normal View History

视为技能
========
视为技能概述
------------
视为技就是把一张或者好几张牌当某张其他牌使用的技能,比如武圣倾国等等,但不包括奇策这种。
在fkparse中创建视为技能的语法格式为
::
视为技 条件:<代码块> 选牌规则:<代码块> 可以点确定:<代码块>
视为规则:<代码块> [ 响应条件:<代码块> 响应规则:<字符串数组> ]
可以看出,视为技的创建格式和主动技十分相似。事实上,由于某些原因,视为技和主动技是冲突的,不能同时存在同一个技能下面。如果同时存在的话,则只有主动技会起作用。
下面来一一叙述各个\ ``代码块``\ 的意义。
条件
~~~~
条件指的是视为技在出牌阶段的空闲时间点能不能被使用。更加确切的说,“条件”是指技能按钮需要被点亮的一系列条件,如果这些条件不能满足的话,技能按钮就会显示为灰色。例如技能“倾国”是把黑牌当闪用,那么自然就不能在出牌阶段主动使用了。
在\ ``条件:``\ 后面跟随的\ ``<代码块>``\ 中,玩家可以使用以下预定义的变量名:
- ````\ :玩家自己。
选牌规则
~~~~~~~~
选牌规则指的是技能按钮按下之后,哪些手牌/装备区的牌可以被选择,哪些不能。“选牌规则”会在玩家每次点击技能按钮,或者点选一张卡牌后,对每张未被选择的卡牌各自进行一次判断,根据判断的结果来确定要不要将卡牌点亮。
在\ ``选牌规则:``\ 后面跟随的\ ``<代码块>``\ 中,玩家可以使用以下预定义的变量名:
- ````\ :玩家自己。
- ``'已选卡牌'``\ :已经被选中的卡牌,类型为卡牌数组。
- ``'备选卡牌'``\ :每一张未被选择的卡牌,类型为卡牌类型。
可以点确定
~~~~~~~~~~
顾名思义,“可以点确定”指的是技能按钮已经被激活后的某一个时刻下,确定按钮能否被点击。实际上,视为技必须要先通过“可以点确定”的检测,才会去调用“视为规则”去获得转化之后的牌。
在\ ``可以点确定:``\ 后面跟随的\ ``<代码块>``\ 中,玩家可以使用以下预定义的变量名:
- ````\ :玩家自己。
- ``'已选卡牌'``\ :已经被选中的卡牌,类型为卡牌数组。
视为规则
~~~~~~~~
视为规则自然就是想要视为什么牌了。玩家可以在这里编写各种控制结构之类的,最后返回一张虚拟牌即可。
关于如何返回虚拟牌,可以参见“所有的预定义函数”一章,或者直接看示例。
在\ ``视为规则:``\ 后面跟随的\ ``<代码块>``\ 中,玩家可以使用以下预定义的变量名:
- ````\ :玩家自己。
- ``'选择的卡牌'``\ :已经被选中的卡牌,类型为卡牌数组。
为什么和前面的不太相同,这个我也不太懂 = =
响应条件
~~~~~~~~
与主动技不同,视为技转化的卡牌有些是可以在响应时被使用或者打出的。而“响应条件”自然就是判断能否响应了。一般也就判断一下隐藏标记之类的吧,或者自己有没有牌之类的(防烧条,然而现在没法判断自己是不是没牌)
在\ ``响应条件:``\ 后面跟随的\ ``<代码块>``\ 中,玩家可以使用以下预定义的变量名:
- ````\ :玩家自己。
响应规则
~~~~~~~~
响应规则是一个字符串数组,表示这个视为技可以响应的所有牌的类型。你可以简单的只写个牌名上去,也可以通过\ ``'创建卡牌规则'``\ 函数创造出相当复杂的响应规则。