试验和惩罚 (Trial and Forfeit)

“力量必有其代价。”


概述

巫术学的法术需要探索和试验才能习得。

在试验期间,往往会出现意外情况,导致试验失败,给玩家带来惩罚。

在特定情况下,惩罚可能会导致严重的后果(如在熔岩旁试验时物品四下纷飞)且法术等级越高,惩罚的后果越严重。[1]

想要避免惩罚,有以下两种手段:

  • 使用鉴定卷轴来识别法术,免于试验的反噬。

  • 试验时佩戴智慧护符,可大幅减少(减半)负面影响的出现概率。

发射器可以避免惩罚直接使用未鉴定卷轴,可利用这一点事先进行确认,但这不能让卷轴变为“已鉴定”状态。

如果正在试验的法术在当前环境下可以被正常释放(如,释放投射物法术,使用未解锁的传送试图对着传送石阵shift+右键,对着实体使用未解锁的隔空取物,反例:对着空气释放传送法术,满血释放轻伤治愈),则未触发惩罚时,将会直接解锁这个法术。

机制详解

本质上,巫术学的试验&惩罚系统是事件触发,所以其他模组可以相当轻松的取消这个系统的影响,或是覆盖整个系统。

以下为这个系统工作时,一次施法具体发生的事情:

惩罚触发逻辑

首先,在一次施法开始时,施法物品会发送预施法事件(源代码),这个事件会将施法物品的种类,法术,施法者,法杖强化的信息传递给一切潜在的侦听器。

此时,作为预施法事件侦听器的“惩罚”将会响应这个事件,并进行惩罚判定(源代码),惩罚判定会先确认施法者是非创造模式,且使用卷轴和法杖作为施法物品的玩家(待测试:其他施法物品是否会触发惩罚?),否则结束惩罚判定,之后会读取惩罚概率,配置文件中的默认惩罚概率为20%,如果佩戴了智慧护符,则在此次结算中将惩罚概率除以2。

随后,有(1-惩罚概率)的概率结束惩罚判定,惩罚概率判定完毕后,如果玩家解锁了正在使用的法术,结束惩罚判定

如果此时仍然没有结束惩罚判定,则进行惩罚

(注意,触发以上逻辑的预施法事件对于一切施法行为都会结算一次,而不仅仅针对于未解锁法术,因此有很多看似冗余的步骤)

进行惩罚

试图进行惩罚时,会直接取消正常施法的后续逻辑,因此如果一次施法触发了惩罚,则无法解锁法术。

随后,根据法术等级抽取一条惩罚,有20%概率抽取低一级的惩罚,有60%概率抽取同级的惩罚,有20%概率抽取高一级的惩罚(源代码),如果没有低一级/高一级的惩罚,则对应惩罚的概率将会被加到同级惩罚的概率内(即,新手法术有80%概率新手惩罚,20%概率学徒惩罚,大师法术有20%概率进价惩罚,80%概率大师惩罚)

之后,执行抽取到的惩罚,抽取魔力/消耗卷轴,获得惩罚相关成就,播放惩罚声音,根据手持法杖/卷轴发送惩罚提示。

结算解锁

最后,一次施法结束时,会发出施法结束事件(源代码)在施法结束事件发出时,直接解锁释放的法术(源代码

(但如果试验时触发了惩罚,或是被试验的法术无法成功释放,则会在法术判断条件时被打断施法,所以无法解锁,因此才出现了能成功施法的情况下解锁概率很高的现象)

惩罚列表

惩罚效果的具体代码实现在这里,以下是效果的简述。

另外,巫术学附属模组也可以注册自己的惩罚,按照同样格式填写即可。

惩罚效果惩罚提示

触发条件:

元素-等级

点燃自身5秒。%s在你的手中迸发出火焰!火焰-新手
从玩家面前6格向玩家面部发射一发伤害为5的火球。一个火球出现在你的前面!火焰-学徒
从玩家上方5格落下一发燃烧弹。火焰炸弹出现在你的上方!火焰-学徒
发生威力1,不破坏地形的爆炸。突如其来的爆炸将你撞倒在地!火焰-进阶

身边4*4*2的空间内出现0-5个敌对烈焰人(会在30秒后消失)。

生成类惩罚不会生成在方块内部,所以有可能所有生成全部失败。

突然,敌对的烈焰人你周身显现!火焰-进阶
身边半径6格的地面出现火焰。你周围的区域被点燃了!火焰-大师
在8*8水平范围,上方40~70格垂直范围的空中落下3个默认属性的烈火陨星毁灭世界的烈焰从天而降!火焰-大师
获得冻伤状态10秒。你感到一股冰冷寒意涌来!冰霜-新手
陷入冰封状态15秒。%s 释放出如此强烈的寒冷,竟将你原地锁住!冰霜-学徒
脚下水平4*4范围内出现最多5个默认属性的冰霜尖刺冰尖从你脚下刺出!冰霜-学徒
原地生成一团默认属性的暴风雪你突然被狂暴的暴风雪包围了!冰霜-进阶
身边4*4*2范围内出现0-3个敌对冰封幽灵。忽然,你的周围出现了充满敌意的冰封幽灵!冰霜-进阶
生成一团瞄准你当前位置的默认属性冰雹风暴冰刺像雨点一样砸在你身上!冰霜-大师
面前4格出现1个敌对冰霜巨人。一个充满敌意的冰霜巨人出现在你面前!冰霜-大师
向背对的方向以1平方格每刻的速度击退玩家,并生成假爆炸。卷轴发出震耳欲聋的声音,将你撞倒在地!雷电-新手
进入300~900秒的雷暴天气。看起来风暴正在酝酿之中!雷电-学徒
四个正方向距离两格处生成4个默认属性的闪电陷阱。注意你的脚下!雷电-学徒
所在位置生成闪电。你被闪电击中了!雷电-进阶
陷入麻痹状态10秒。你瘫痪了!雷电-进阶
身边4*4*2范围内出现1-3个敌对闪电幽灵。忽然,你的周围出现了充满敌意的闪电幽灵!雷电-进阶
四个正方向距离3格处生成4个敌对风暴元素。充满敌意的风暴元素从四面包围而来!雷电-大师
陷入反胃状态20秒。......嗯? 刚刚发生了什么? 我在哪里?死灵-新手
身边4*4*2范围内出现0-3个僵尸。一大群僵尸出现在你的周围!死灵-学徒
陷入凋零效果20秒。黑暗将使你的灵魂凋亡!死灵-进阶
受到当前生命值-1的魔法伤害,忽略保护附魔等防护时近似为将血量设为1。%s 发出死亡般震彻骨髓的嚎叫,你的灵魂盘踞着在绝望中颤抖!死灵-大师
四个正方向距离3格处生成4个敌对暗影幽灵。你的周围出现了大片的暗影幽灵!死灵-大师
四个正方向距离1格处生成4个默认属性的自然陷阱这是一个陷阱!自然-新手
身边突然出现1个乌贼乌贼!自然-新手
半径5格内的植物被摧毁。附近的植物都被连根拔起!自然-学徒
陷入中毒效果20秒。你中毒了!自然-学徒
被突然出现的半径2格的水源包围。水涌了出来!自然-进阶
半径4格内的低硬度方块(如泥土)被向上抛射。地面在你身下坍塌!自然-大师
全身物品掉落,飞散四处。你的物品四下纷飞!秘法-新手
对自己释放半径8~16格的驱逐你被瞬间传送到了哪里!秘法-学徒
陷入漂浮状态10秒。你开始无助地向上漂浮!秘法-进阶

在4*4*2的范围内生成最多4个恼鬼

一大堆恼鬼出现在你身边!秘法-进阶
面前4格处生成默认属性的黑洞旋转的漩涡出现在你面前!秘法-大师
生成瞄准你的默认属性的箭雨箭雨朝你落下!秘法-大师
受到4点魔法伤害。哎哟!治愈-新手
全身盔甲掉落,飞散四处。你所有的盔甲都掉了!治愈-新手
陷入饥饿5状态20秒。你突然觉得很饿!治愈-学徒
陷入失明状态10秒。你什么都看不见了!治愈-学徒
陷入虚弱4状态30秒。你被严重削弱了!治愈-进阶
获得奥术干扰状态15秒。你的魔法全部失去了效用!治愈-进阶

受到107,374,182.125秒(大约3.4年,21亿游戏刻)的死灵诅咒

你被诅咒了!治愈-大师

短评加载中..