判定与拼点
===========

判定
------

判定是对传入的判定数据进行修改的事件。
一般经历过这个事件后，相关技能会根据修改后数据内的“判定牌”执行后续效果

::

  （主效果）
  以判定者为承担者，触发“判定开始时”
  fk.StartJudge    @判定开始时

  若未定义判定牌，则抽取牌堆顶一张牌作为判定牌
  对判定牌应用锁视技（视为判定者的牌）
  以判定为理由，将判定牌移动至处理区
  以判定者为承担者，触发“询问改判时”
  fk.AskForRetrial   @询问改判时

  以判定者为承担者，触发“改判结束时”
  fk.FinishRetrial    @改判结束时

  揭晓判定结果
  以判定者为承担者，触发“判定结束时”
  （若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止）

  fk.FinishJudge     @判定结束时

  判定的相关时机的data为JudgeData，继承JudgeDataSpec

::

  （清理效果）
  若事件被终止或判定未要求不弃置判定牌，且判定牌处于处理区，则
    以判定为理由，将判定牌移动至弃牌堆
  若事件被终止，则令判定牌不能被访问

改判
------

改判是一种改判者用新的牌代替一个判定的判定牌的动作，
一般由“询问改判时”时机触发的改判技能触发。
这个总的动作流程如下：

::

  若改判牌为改判者的牌，则
    则视为改判者打出此牌并触发相应的打出事件
  否则
    将改判牌移动至处理区
  将判定数据的判定牌改为改判牌
  发送改判战报
  对新的判定牌应用锁视技（视为判定者的牌）
  若改判方式为“替换之”，则
    若改判者已死亡，则将旧的判定牌移动至弃牌堆
    否则将旧的判定牌移动至改判者手牌区
  否则
    将旧的判定牌移动至弃牌堆

拼点
-----

同样的，拼点是对传入的拼点数据进行修改的事件。
不同的是，拼点事件涉及多位玩家，
其中主体为拼点发起者，由其与其余所有拼点参与者逐一比较拼点牌。

::

  （主效果）
  以发起者为承担者，触发“拼点开始时”
  fk.StartPindian = 69  @拼点开始时

  若未定义发起者的拼点牌，则将发起者加入询问名单
  对其他的每个参与者依次执行：
    若未定义参与者的拼点牌，则将其加入询问名单
  对询问名单内的每名角色依次执行：
    要求角色将一张手牌作为拼点牌并展示之
  将以上发起者和所有参与者的拼点牌置入处理区

  触发“拼点牌亮出时”（无承担者）
  fk.PindianCardsDisplayed = 70  @拼点牌亮出时

  两个时机的data均为PindianData，继承PindianDataSpec

  对其他参与者内的每名角色依次执行：
    比较其与发起者的拼点牌点数大小（大于者赢，若相等则没有赢家）
    揭晓拼点结果

    触发“拼点结果确认时”（无承担者）
    fk.PindianResultConfirmed  @拼点结果确认时

    本时机的data为SinglePindianData，继承SinglePindianDataSpec

  以发起者为承担者，触发“拼点结束时”
  （若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止）

  fk.PindianFinished = 72 @拼点结束时

  本时机data为PindianData，继承PindianDataSpec



::

  （清理效果）
  将处理区内所有拼点牌置入弃牌堆