10. 判定与拼点#
10.1. 判定#
判定是对传入的判定数据进行修改的事件。 一般经历过这个事件后,相关技能会根据修改后数据内的“判定牌”执行后续效果
(主效果)
以判定者为承担者,触发“判定开始时”
fk.StartJudge @判定开始时
若未定义判定牌,则抽取牌堆顶一张牌作为判定牌
对判定牌应用锁视技(视为判定者的牌)
以判定为理由,将判定牌移动至处理区
以判定者为承担者,触发“询问改判时”
fk.AskForRetrial @询问改判时
以判定者为承担者,触发“改判结束时”
fk.FinishRetrial @改判结束时
揭晓判定结果
以判定者为承担者,触发“判定结束时”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.FinishJudge @判定结束时
判定的相关时机的data为JudgeData,继承JudgeDataSpec
(清理效果)
若事件被终止或判定未要求不弃置判定牌,且判定牌处于处理区,则
以判定为理由,将判定牌移动至弃牌堆
若事件被终止,则令判定牌不能被访问
10.2. 改判#
改判是一种改判者用新的牌代替一个判定的判定牌的动作, 一般由“询问改判时”时机触发的改判技能触发。 这个总的动作流程如下:
若改判牌为改判者的牌,则
则视为改判者打出此牌并触发相应的打出事件
否则
将改判牌移动至处理区
将判定数据的判定牌改为改判牌
发送改判战报
对新的判定牌应用锁视技(视为判定者的牌)
若改判方式为“替换之”,则
若改判者已死亡,则将旧的判定牌移动至弃牌堆
否则将旧的判定牌移动至改判者手牌区
否则
将旧的判定牌移动至弃牌堆
10.3. 拼点#
同样的,拼点是对传入的拼点数据进行修改的事件。 不同的是,拼点事件涉及多位玩家, 其中主体为拼点发起者,由其与其余所有拼点参与者逐一比较拼点牌。
(主效果)
以发起者为承担者,触发“拼点开始时”
fk.StartPindian = 69 @拼点开始时
若未定义发起者的拼点牌,则将发起者加入询问名单
对其他的每个参与者依次执行:
若未定义参与者的拼点牌,则将其加入询问名单
对询问名单内的每名角色依次执行:
要求角色将一张手牌作为拼点牌并展示之
将以上发起者和所有参与者的拼点牌置入处理区
触发“拼点牌亮出时”(无承担者)
fk.PindianCardsDisplayed = 70 @拼点牌亮出时
两个时机的data均为PindianData,继承PindianDataSpec
对其他参与者内的每名角色依次执行:
比较其与发起者的拼点牌点数大小(大于者赢,若相等则没有赢家)
揭晓拼点结果
触发“拼点结果确认时”(无承担者)
fk.PindianResultConfirmed @拼点结果确认时
本时机的data为SinglePindianData,继承SinglePindianDataSpec
以发起者为承担者,触发“拼点结束时”
(若在触发本时机技能的on_use函数中return true则导致本事件与后续此事件流程终止)
fk.PindianFinished = 72 @拼点结束时
本时机data为PindianData,继承PindianDataSpec
(清理效果)
将处理区内所有拼点牌置入弃牌堆