7. 使用与打出#

7.1. 使用牌事件#

使用牌事件携带的数据包含下列要素:

  • 使用者

  • 使用的牌

  • 指定的目标

  • 目标卡牌

  • 响应何种事件(若有目标卡牌)

  • 对哪些目标无效

  • 是否不计次数

  • 令哪些目标不可响应

  • 令哪些目标不可抵消

  • 额外增加的伤害基数

  • 额外增加的回复基数

(主效果)
某些牌有预使用效果,若有先执行预使用效果
以使用者为承担者,触发时机“使用牌前”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.PreCardUse   @使用牌前

将此牌或此牌的子卡移动到处理区
若不是不计次数的,则增加使用计数

以使用者为承担者,触发时机“声明使用牌后”
fk.AfterCardUseDeclared     @声明使用牌后

以使用者为承担者,触发时机“声明目标后”
fk.AfterCardTargetDeclared   @声明目标后

以使用者为承担者,触发时机“使用牌时”
fk.CardUsing    @使用卡牌时

data为UseCardData,继承UseCardDataSpec。



若此牌不是用来响应其他牌的,且指定了角色为目标,则:
  对所有目标依次执行:
    以使用者为承担者,触发“指定目标时”(可能修改使用信息)
    fk.TargetSpecifying   @指定目标时

  对所有目标依次执行:
    以目标为承担者,触发“成为目标时”(可能修改使用信息)
    fk.TargetConfirming    @成为目标时

  对所有目标依次执行:
    以使用者为承担者,触发“指定目标后”
    fk.TargetSpecified       @指定目标后

  对所有目标依次执行:
    以目标为承担者,触发“成为目标后”
    fk.TargetConfirmed      @成为目标后

 目标相关类时机的data为AimData,继承AimDataSpec。

以使用者为承担者,触发时机“使用牌时”
fk.BeforeCardUseEffect    @卡牌使用效果前
使用牌的时机data均为UseCardData,继承UseCardDataSpec。


若使用的是装备牌,则目标装备该装备,会替换原有装备
否则若使用的是延时锦囊牌,则将此牌置入目标判定区
除此之外的情况:
  若是用来响应其他牌的:
    进行卡牌生效事件
  否则:
    对卡牌的所有目标,依次进行卡牌生效事件
(清理效果)
以使用者为承担者,触发“卡牌使用结算完成后”
fk.CardUseFinished     @卡牌使用结算完成后
data为UseCardData,继承UseCardDataSpec。

若使用的牌仍在处理区/仍有处于处理区的子卡,则
  将这些牌移入弃牌堆

7.2. 卡牌生效事件#

※途中若卡牌效果被抵消,或目标已死亡,则事件直接结束。
※效果被抵消时,触发“卡牌效果被抵消”
(若在触发本时机技能的on_use函数中return true则导致此次抵消无效)
fk.CardEffectCancelledOut   @卡牌效果被抵消

以使用者为承担者,触发“卡牌预生效”
(此时也是使用闪、无懈等牌的时机)
(若在触发本时机技能的on_use函数中return true则导致效果被抵消)
fk.PreCardEffect  @卡牌预生效

以目标为承担者,触发“卡牌生效前”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.BeforeCardEffect  @卡牌生效前

以目标为承担者,触发“卡牌生效时”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.CardEffecting   @卡牌生效时

根据卡牌上绑定的技能,进行技能生效事件,此时正式执行卡牌的效果

以目标为承担者,触发“卡牌生效后”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.CardEffectFinished   @卡牌生效后



卡牌效果类时机的data为CardEffectData,继承CardEffectDataSpec

7.3. 打出牌事件#

(主效果)
以打出者为承担者,触发“打出卡牌前”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.PreCardRespond   @打出卡牌前

将打出的牌移动到处理区
以打出者为承担者,触发“打出卡牌后”
fk.CardResponding   @打出卡牌后
(清理效果)
以打出者为承担者,触发“卡牌打出结算完成后”
fk.CardRespondFinished @卡牌打出结算完成后

若打出的牌仍在处理区/仍有处于处理区的子卡,则
  将这些牌移入弃牌堆
打出牌事件的所有data类型均为RespondCardData,继承RespondCardDataSpec

7.4. 询问卡牌的使用或者打出#

以询问者为承担者,触发“询问卡牌使用时”
fk.AskForCardUse   @询问卡牌使用时

以询问者为承担者,触发“询问卡牌打出时”
fk.AskForCardResponse   @询问卡牌打出时

以询问者为承担者,触发“处理询问卡牌使用或打出时”
fk.HandleAskForPlayCard   @处理询问卡牌使用或打出时

以询问者为承担者,触发“询问卡牌使用后”
fk.AfterAskForCardUse   @询问卡牌使用后

以询问者为承担者,触发“询问卡牌打出后”
fk.AfterAskForCardResponse  @询问卡牌打出后

以询问者为承担者,触发“询问无懈可击后”
fk.AfterAskForNullification   @询问无懈可击后

询问的data类型均为AskForCardData