实体信息
自然生成于深渊维度,敌对生物。
3.4版本后,权重为20,每次生成时,生成1个。
3.4版本前,权重为20,每次生成时,生成0~1个。
3.5-Beta-1 版本前,也可以由半影生成。半影发射的法术弹射物命中实体且成功造成伤害时,有概率在法术弹射物命中的位置生成狂视。
3.2版本后:
生命值:98点( × 49) 攻击力: 简单:5点() 普通:8点() 困难:12点() 3.5-Beta-1 版本后,追踪范围:16格 判定箱:宽度:0.6 格,高度:1.5 格 移动速度:0.2875 击退抗性:10% 掉落经验:16.4 XP |
3.2版本前:
生命值:40点( × 20) 攻击力: 简单:4点() 普通:6点() 困难:9点() 判定箱:宽度:0.6 格,高度:1.5 格 移动速度:0.2875 击退抗性:30% 掉落经验:10.2 XP |
掉落物
3.2版本后:
物品 | 掉落数量 | 掉落概率 |
---|---|---|
深渊战利品表 | 1 | 100.0% |
以上战利品表随机抽取1次 |
3.2版本前:
常见掉落物:
铜币:必定掉落,掉落数量 = 5 + ( 0 ~ 抢夺等级 + 9 ) 之间的随机数
稀有掉落物:
行为
狂视为近战生物,其行为符合 近战敌对型生物 (MeleeAttackMob) 中的描述。
3.4版本前,当狂视设定攻击目标时,如果目标为半影,则取消目标。
1.16.5-3.6 Alpha 2 版本后:
狂视拥有 clones 列表,列表中由二元组组成,第一个元素为整数,第二个元素为三维向量。
狂视的实体状态更新时,有1/200的概率,在客户端向列表clones中添加一个二元组,整数 = 服务器刻数 + 600,向量 = ( -5 ~ 5 之间的随机数, 0, -5 ~ 5 之间的随机数 )。
3.2版本后:
狂视可以生成狂视,由狂视生成的狂视被攻击时死亡。
狂视的实体状态更新时:
如果该狂视是由其他狂视生成的狂视:如果该狂视存在时间 ≥ 30秒(600 tick),或生成其的狂视已死亡,则该狂视死亡。
如果该狂视不是由其他狂视生成的狂视:有1/200的概率生成一个狂视,并和该狂视绑定,生成时,在该狂视相对水平位置 ( -5 ~ 5, -5 ~ 5 ) 范围内随机选取坐标,生成于该位置地表。
3.2版本前:
狂视的实体状态更新时,如果狂视的攻击目标为玩家,且该玩家存活,且该玩家到狂视的距离 < 10格,则:
如果玩家正在看向狂视,且狂视看向玩家的视线无方块阻挡,对玩家造成6点()伤害来源为狂视的伤害。
玩家正在看向狂视的判定:玩家的视线朝向狂视,且玩家看向狂视的视线无方块阻挡。
玩家的视线朝向狂视的判定:
记录当前玩家的视线向量,并标准化为单位向量。
计算玩家看向狂视所需向量,该向量的X分量 = 狂视的X坐标 - 玩家的X坐标,Y分量 = 狂视的Y坐标 + 狂视判定箱高度 / 2 - 玩家的Y坐标 + 玩家眼部高度 / 2,Z分量 = 狂视的Z坐标 - 玩家的Z坐标。计算该向量的模,然后将该向量标准化。
计算两个标准化后向量的数量积。
如果 数量积 > 0.8 - 0.025 / 玩家看向狂视所需向量的模,判定为 true,否则为 false。
渲染
此类渲染不属于狂视实体本身,而属于“OcculentRenderer”(狂视渲染器)。
1.16.5-3.6 Alpha 2 版本后,狂视拥有特殊的渲染方式,可以渲染假狂视。
当狂视渲染实体时:
如果 clones 列表不为空,移除列表中满足如下条件的二元组:二元组中的第一个元素(整数)≤ 服务器刻数。(即:每个渲染的假狂视最多存在600tick(30秒))
渲染假狂视时,遍历列表中的每个二元组:
获取其第二个元素(三维向量)。
获取狂视在上一个渲染刻和当前刻的X、Z坐标,通过线性插值计算狂视在当前渲染刻的坐标。
假狂视的渲染坐标 = ( 狂视当前X坐标 + 向量的X分量, 狂视当前Y坐标 - 1, 狂视当前Z坐标 + 向量的Z分量 ) 。如果该位置不允许实体站立,则跳过当前二元组的渲染。
如果该位置上方的方块会阻挡实体运动,则跳过当前二元组的渲染。
在当前位置渲染当前狂视的模型,该模型的旋转角度、颜色、光照等级等信息和狂视相同。