654 lines
14 KiB
ReStructuredText
654 lines
14 KiB
ReStructuredText
.. SPDX-License-Identifier: GFDL-1.3-or-later
|
||
|
||
所有的动作语句
|
||
==============
|
||
|
||
先列出语句格式,再依次说明表达式类型需求,最后说返回值(如果有)。
|
||
|
||
前面有个没说过的,动作语句也可以带额外参数,毕竟一句话没法描述完全部的情况。因此对于一部分动作语句也提供了一些额外的参数,像函数那样用就行了,具体参考已有的txt。
|
||
|
||
摸牌
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 摸 <表达式> 张牌
|
||
|
||
玩家类型;数字类型
|
||
|
||
失去体力
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 失去 <表达式> 点体力
|
||
|
||
玩家类型;数字类型
|
||
|
||
失去体力上限
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 失去 <表达式> 点体力上限
|
||
|
||
玩家类型;数字类型
|
||
|
||
造成伤害
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 对 <表达式> 造成 <表达式> 点伤害
|
||
|
||
| 玩家类型;玩家类型;数字类型
|
||
| 额外参数:
|
||
|
||
- ``'伤害属性'``\ :数字类型,默认为\ ``'无属性'``
|
||
|
||
- ``'造成伤害的牌'``\ :卡牌类型,默认为\ ``nil``
|
||
|
||
- ``'造成伤害的原因'``\ :字符串类型,默认为空字符串
|
||
|
||
受到伤害
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 受到 <表达式> 点伤害
|
||
|
||
| 玩家类型;数字类型
|
||
| 额外参数同上。
|
||
|
||
回复体力
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 回复 <表达式> 点体力
|
||
|
||
| 玩家类型;数字类型
|
||
| 额外参数:
|
||
|
||
- ``'回复来源'``\ :玩家类型,默认为\ ``nil``
|
||
|
||
- ``'回复的牌'``\ :卡牌类型,默认为\ ``nil``
|
||
|
||
回复体力上限
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 回复 <表达式> 点体力上限
|
||
|
||
玩家类型;数字类型
|
||
|
||
获得技能
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 获得技能 <表达式>
|
||
|
||
玩家类型;字符串类型
|
||
|
||
失去技能
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 失去技能 <表达式>
|
||
|
||
玩家类型;字符串类型
|
||
|
||
获得标记
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 获得 <表达式> 枚 <字符串> [隐藏] 标记
|
||
|
||
玩家类型;数字类型
|
||
|
||
<字符串>表示标记的名称。
|
||
|
||
注:“隐藏”可填可不填,如果写了是隐藏标记的话,获得标记将不会显示在战报中,也没有图片,可以借此实现技能发动次数控制等。
|
||
|
||
失去标记
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 失去 <表达式> 枚 <字符串> [隐藏] 标记
|
||
|
||
玩家类型;数字类型
|
||
|
||
统计标记数量
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> <字符串> [隐藏] 标记数量
|
||
|
||
玩家类型
|
||
|
||
返回:数字类型
|
||
|
||
询问选择选项
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 从 <表达式> 选择一项
|
||
|
||
| 玩家类型;数组(字符串类型)
|
||
| 额外参数:
|
||
|
||
- ``'选择的原因'``\ :字符串类型,默认为空字符串
|
||
|
||
返回:字符串类型
|
||
|
||
询问选择玩家
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 从 <表达式> 选择一名角色
|
||
|
||
| 玩家类型;数组(玩家类型)
|
||
| 额外参数:
|
||
|
||
- ``'选择的原因'``\ :字符串类型,默认为空字符串
|
||
|
||
- ``'提示框文本'``\ :字符串类型,默认为默认的提示文本
|
||
|
||
- ``'可以点取消'``\ :布尔类型,默认为\ ``真``
|
||
|
||
- ``'提示技能发动'``\ :布尔类型,默认为\ ``假``
|
||
|
||
返回:玩家类型
|
||
|
||
询问发动技能
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 选择发动 <字符串>
|
||
|
||
玩家类型
|
||
|
||
<字符串>是技能的中文名字,且只能是本文件中已经定义的技能。定义的先后顺序不重要
|
||
|
||
返回:布尔类型
|
||
|
||
获得卡牌
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 获得卡牌 <表达式>
|
||
|
||
| 玩家类型;卡牌类型
|
||
| 额外参数:
|
||
|
||
- ``'公开'``\ :布尔类型,默认为\ ``真``
|
||
|
||
拥有技能
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 拥有技能 <字符串>
|
||
|
||
玩家类型
|
||
|
||
<字符串>是技能的中文名字,且只能是本文件中已经定义的技能。定义的先后顺序不重要
|
||
|
||
返回:布尔类型
|
||
|
||
因发动技能而弃牌
|
||
----------------
|
||
|
||
::
|
||
|
||
<表达式> 因技能 <字符串> 弃置卡牌 <表达式>
|
||
|
||
玩家类型;卡牌数组
|
||
|
||
<字符串>是技能的中文名字,且只能是本文件中已经定义的技能。定义的先后顺序不重要
|
||
|
||
本语句只能用在主动技的效果中。
|
||
|
||
主动技的发动次数
|
||
----------------
|
||
|
||
::
|
||
|
||
<表达式> 发动主动技 <字符串> 的次数
|
||
|
||
玩家类型;卡牌数组
|
||
|
||
<字符串>是技能的中文名字,且只能是本文件中已经定义的技能。定义的先后顺序不重要
|
||
|
||
这种办法只能获取当前阶段里面发动那个技能的次数。如果想要做一回合发动多少次的技能,请使用隐藏标记实现。
|
||
|
||
令角色弃牌
|
||
----------
|
||
|
||
::
|
||
|
||
<表达式> 弃置 <表达式> 张牌
|
||
|
||
| 玩家类型;数字类型
|
||
| 额外参数:
|
||
|
||
- ``'技能名'``: 发起这次弃牌的技能名,默认为空字符串。
|
||
|
||
- ``'最小弃置数量'``: 数字类型,默认为要求弃牌数量的值。
|
||
|
||
- ``'可以点取消'``:
|
||
布尔类型,是否可以点击取消拒绝弃牌,默认为\ ``假``\ 。
|
||
|
||
- ``'可以弃装备'``: 布尔类型,是否可以弃置装备牌,默认为\ ``真``\ 。
|
||
|
||
- ``'提示信息'``: 字符串类型,默认为空字符串(默认的提示信息)。
|
||
|
||
- ``'弃牌规则'``: 字符串类型,默认为无限制。
|
||
|
||
返回类型:卡牌数组,即目标角色弃置了的牌,可能是空的数组。
|
||
|
||
播放台词
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 说出 <字符串> 的台词
|
||
|
||
如果有多个编号完的音频还需要选择,在后面加上{’音频编号’: <编号>}。
|
||
|
||
交换座位
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 与 <表达式> 交换座位
|
||
|
||
表达式均为玩家类型。
|
||
|
||
没有其他参数。
|
||
|
||
洗牌
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 洗牌
|
||
|
||
表达式均为玩家类型。
|
||
|
||
没有其他参数。
|
||
|
||
变身
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 变身为 <字符串>
|
||
|
||
表达式为玩家类型,字符串为要变身的武将,应使用内部标识。
|
||
|
||
其他参数:
|
||
|
||
- ``'是否满状态'`` 布尔类型,默认为\ ``真``
|
||
|
||
- ``'是否以开始游戏状态变身'`` 布尔类型,默认为\ ``真``
|
||
|
||
- ``'是否是变更副将'``
|
||
布尔类型,默认为\ ``假``\ (即变更主将,而且一般也只能变更主将)
|
||
|
||
- ``'是否发送信息'`` 布尔类型,默认为\ ``真``
|
||
|
||
判定
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 判定
|
||
|
||
| 玩家类型
|
||
| 额外参数:
|
||
|
||
- ``'技能名'``: 发起这次判定的技能名,默认为空字符串。
|
||
|
||
- ``'最小弃置数量'``: 数字类型,默认为要求弃牌数量的值。
|
||
|
||
- ``'判定规则'``:
|
||
字符串类型,表示判定牌需要的某种规则,默认为任意卡牌。
|
||
|
||
- ``'希望判定中'``:
|
||
布尔类型,是否希望获得\ ``'判定规则'``\ 中描述的判定结果,默认为\ ``真``\ 。
|
||
|
||
- ``'提示信息'``: 布尔类型,是否会播放打钩打叉动画,默认为\ ``真``\ 。
|
||
|
||
类观星技能
|
||
----------
|
||
|
||
适用于“将一些牌以任意顺序放在牌堆顶/牌堆底/两者都有”的场合。
|
||
|
||
::
|
||
|
||
<表达式> 对 <表达式> 进行观星
|
||
|
||
第一个表达式为执行观星的玩家,第二个表达式为此技能处理的牌列表。
|
||
|
||
额外参数:
|
||
|
||
- ``'观星类型'``:
|
||
指定卡组能够放置的位置,共三种选择:\ ``'顶部底部均放置'``\ 、\ ``'只放置顶部'``\ 、\ ``'只放置底部'``\ 。默认为\ ``'顶部底部均放置'``\ 。
|
||
|
||
选取牌堆顶X张牌
|
||
---------------
|
||
|
||
::
|
||
|
||
<表达式> 选择牌堆顶 <表达式> 张牌
|
||
|
||
第一个表达式为执行行动的玩家,第二个表达式为牌的数量。
|
||
|
||
额外参数:
|
||
|
||
- ``'是否不放回'``:
|
||
布尔类型,被选取的卡牌是否在处理结束后直接置入弃牌堆。默认为\ ``'真'``\ 。
|
||
|
||
改判
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 将判定结果修改为 <表达式>
|
||
|
||
第一个是玩家,第二个是要修改的牌。
|
||
|
||
额外参数:
|
||
|
||
- ``'技能名'``:
|
||
字符串类型,处理区改判牌显示的技能名。默认没有,但是建议写成技能的名字。
|
||
|
||
- ``'是否交换'``:
|
||
布尔类型,是否将原来的判定牌与改判的牌置换。默认为\ ``'假'``\ 。
|
||
|
||
特别注意:调用此语句需将时机设定为“改判前”。
|
||
|
||
要求选择自己一张牌
|
||
------------------
|
||
|
||
::
|
||
|
||
<表达式> 选择自己的一张牌
|
||
|
||
玩家类型
|
||
|
||
令玩家选择自己的任意一张牌。
|
||
|
||
额外参数:
|
||
|
||
- ``'选牌规则'`` 字符串类型,表示选牌的具体规则,默认为任意卡牌。
|
||
|
||
- ``'提示'`` 字符串类型,为选牌的提示信息,默认为默认的提示。
|
||
|
||
- ``'技能名'`` 字符串类型,默认为当前的技能。
|
||
|
||
要求使用一张牌
|
||
--------------
|
||
|
||
::
|
||
|
||
<表达式> 使用一张牌
|
||
|
||
玩家类型。
|
||
|
||
额外参数:
|
||
|
||
- ``'选牌规则'`` 字符串类型,表示选牌的具体规则,默认为任意卡牌。
|
||
|
||
- ``'提示'`` 字符串类型,为选牌的提示信息,默认为空。
|
||
|
||
- ``'目标'`` 玩家类型,本次要求使用卡牌需指定的目标。
|
||
|
||
- ``'技能名'`` 字符串类型,默认为空。
|
||
|
||
要求打出一张牌
|
||
--------------
|
||
|
||
::
|
||
|
||
<表达式> 打出一张牌
|
||
|
||
玩家类型。
|
||
|
||
额外参数:
|
||
|
||
- ``'选牌规则'`` 字符串类型,表示选牌的具体规则,默认为任意卡牌。
|
||
|
||
- ``'提示'`` 字符串类型,为选牌的提示信息,默认为空。
|
||
|
||
- ``'是否为改判'`` 布尔类型,默认为假。
|
||
|
||
- ``'技能名'`` 字符串类型,默认为空。
|
||
|
||
选择他人一张牌
|
||
--------------
|
||
|
||
::
|
||
|
||
<表达式> 选择 <表达式> 一张牌
|
||
|
||
两个参数均为玩家类型
|
||
|
||
用来令玩家1选择玩家2的一张牌,像过河拆桥的弹窗那样。
|
||
|
||
额外参数:
|
||
|
||
- ``'位置'`` 数字数组,表示可以被选牌的区域,默认为只有手牌区。
|
||
|
||
- ``'原因'`` 字符串类型,表示被选牌的原因,默认为空。
|
||
|
||
- ``'是否可见手牌'`` 布尔类型,默认为假。
|
||
|
||
聊天
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 说出 <表达式>
|
||
|
||
玩家类型;字符串类型/数字类型
|
||
|
||
本语句可以让一名玩家在聊天框中发送一句话。
|
||
|
||
发送战报
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 发送战报 <表达式>
|
||
|
||
| 玩家类型;字符串类型
|
||
| 额外参数:
|
||
|
||
- ``'%from'``:
|
||
玩家类型。将以玩家使用的武将名替换战报文本的所有“%from”。
|
||
|
||
- ``'%to'``: 玩家类型。将以玩家使用的武将名替换战报文本的所有“%to”。
|
||
|
||
- ``'%card'``:
|
||
卡牌类型。将以形如“杀[♣7]”的形式替换战报文本中的所有“%card”。
|
||
|
||
- ``'%arg'``: 任意类型。将替换战报文本中的所有“%arg”。
|
||
|
||
- ``'%arg2'``: 任意类型。将替换战报文本中的所有“%arg2”。
|
||
|
||
弃置牌
|
||
------
|
||
|
||
::
|
||
|
||
<表达式> 弃置牌 <表达式>
|
||
|
||
玩家类型;卡牌数组类型
|
||
|
||
| 本语句可以直接弃置某一名玩家的相应卡牌。
|
||
| 额外参数:
|
||
|
||
- ``'来源'``:
|
||
玩家类型,本次弃牌的来源。比如A拆掉B的一张牌,那么语句是B弃置牌xxx,而来源是A。
|
||
|
||
- ``'技能名'``: 字符串类型,与本次弃牌相关的技能。默认为当前的技能。
|
||
|
||
换牌
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 与 <表达式> 换牌
|
||
|
||
| 玩家类型;玩家类型
|
||
| 额外参数:
|
||
|
||
- ``'区域'``: 要换牌的区域,可以为手牌区或装备区,默认为手牌区。
|
||
|
||
- ``'技能名'``: 字符串类型,与本次弃牌相关的技能。默认为当前的技能。
|
||
|
||
给牌
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 交给 <表达式> 牌 <表达式>
|
||
|
||
| 玩家类型;玩家类型;卡牌数组类型
|
||
| 额外参数:
|
||
|
||
- ``'公开'``: 布尔类型,本次给牌是否正面朝上。默认为不公开。
|
||
|
||
- ``'技能名'``: 字符串类型,与本次弃牌相关的技能。默认为当前的技能。
|
||
|
||
拼点
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 与 <表达式> 拼点
|
||
|
||
| 玩家类型;玩家类型
|
||
| 额外参数:
|
||
|
||
- ``'技能名'``: 字符串类型,与本次弃牌相关的技能。默认为当前的技能。
|
||
|
||
返回:拼点信息
|
||
|
||
参见“类型可以获取的属性”一章以详细了解如何处理拼点的结果。
|
||
|
||
翻面
|
||
----
|
||
|
||
::
|
||
|
||
<表达式> 翻面
|
||
|
||
玩家类型
|
||
|
||
进行额外回合
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 进行额外回合
|
||
|
||
玩家类型
|
||
|
||
跳过阶段
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 跳过 <表达式>
|
||
|
||
玩家类型;要跳过的阶段
|
||
|
||
注意:跳过阶段的语句只能用在自己回合内,且需要跳过的阶段还没有开始的情况下。我个人建议在上个阶段即将结束时去跳过想要跳过的阶段,不然战报会显得很奇怪。
|
||
|
||
检测在攻击范围内
|
||
----------------
|
||
|
||
::
|
||
|
||
<表达式> 在 <表达式> 攻击范围内
|
||
|
||
两个参数均为玩家类型,返回布尔类型:前者是否在后者攻击范围内。
|
||
|
||
额外参数:
|
||
|
||
- ``'距离修正'``\ ,数字类型,对距离结果的修正值,默认为0。
|
||
|
||
两人距离
|
||
--------
|
||
|
||
::
|
||
|
||
<表达式> 到 <表达式> 距离
|
||
|
||
两个参数均为玩家类型,返回数字类型:前者到后者的距离。
|
||
|
||
额外参数:
|
||
|
||
- ``'距离修正'``\ ,数字类型,对距离结果的修正值,默认为0。
|
||
|
||
检测座次是否相邻
|
||
----------------
|
||
|
||
::
|
||
|
||
<表达式> 与 <表达式> 相邻
|
||
|
||
两个参数均为玩家类型,返回布尔类型:前者是否与后者相邻。
|
||
|
||
获取其他角色
|
||
------------
|
||
|
||
::
|
||
|
||
<表达式> 之外的其他角色
|
||
|
||
玩家类型
|
||
|
||
获取所给的玩家的所有其他角色
|
||
|
||
获取技能的发动次数
|
||
------------------
|
||
|
||
::
|
||
|
||
<表达式> 本轮发动过 <表达式> 的次数
|
||
<表达式> 本回合发动过 <表达式> 的次数
|
||
<表达式> 本阶段发动过 <表达式> 的次数
|
||
|
||
玩家类型;字符串类型
|
||
|
||
获取某玩家在某个时间段内发动过某个技能的次数
|
||
|
||
注:只能获取使用fkparse自定义技能的发动次数,其他的无法。同时也不提供对多个效果各自发动次数的支持。
|
||
|
||
设定【杀】需要的【闪】数
|
||
------------------------
|
||
|
||
::
|
||
|
||
<表达式>令对<表达式>使用的杀需<表达式>张闪响应
|
||
|
||
玩家类型,玩家类型,数字类型。
|
||
|
||
特别的,“需0张闪响应”=此【杀】不可被【闪】响应。
|
||
|
||
注意:此语句只能在“确定目标后”这一时机使用。
|