Stoneshard Wiki

荒野值

荒野值越高,野外地点的基础与生长刷新通常越快,地表生成槽位和野外睡眠伏击也会增加。规划路线时要区分地图格保存的 0–100 基础值与进入区域后叠加情境修正的有效值:前者决定世界地图放置和刷新,后者用于当前区域的地表生成与睡眠伏击。

目录

基础值与有效值

世界地图建立时,每格存储荒野值从 100 开始。距离是两格坐标的欧氏距离再取整;聚落中心设为 0,影响区选中格的扣除量为 20 ×(6 − 距离),先限制在 0–100;卫星地点中心也设为 0,选中格的扣除量为 10 ×(4 − 距离),也先限制在 0–100。生成部分遭遇后,另一函数会对其选中的附近格增加 30。每次写入都把存储值限制在 0–100。影响区循环边界并非完全对称,区域加值函数还有额外筛选,所以这些规则不是整齐的圆形半径。

区域生成时,若还没有保存过有效荒野值,就把存储值加上当前区域修正并保存;若已有记录,则沿用已有值,不会每次进入都立即重新计算。不同聚落局势可提供 +50、−50 或 +33 的区域荒野修正。这次相加不再限制到 0–100,所以 0–100 只描述基础存储值,不能当作有效值的完整范围。

世界地图放置

同版身份映射中的 6 类怪物巢穴与 7 类狩猎地点,第一次选址都要求存储荒野值严格大于 50;正好 50 不通过。若分区分配持续找不到位置,门槛依次放宽为 >40、>30,随后设为 0;过滤器只在门槛大于 0 时检查荒野值,因此最后一步停用这项过滤。营地不使用这组 50 门槛。

世界地图放置
规则精确条件
怪物巢穴与狩猎点选址初始 >50;失败后 >40、>30,最后不检查。50 本身不通过。
地点刷新读取存储值;离开开始计时,再次进入时按已过完整小时触发。

地点刷新公式

离开地点时,若基础与生长刷新还没有计时戳,脚本会记录离开时刻;重复提前进出不会重置已有计时。以后再次进入该地图格时,才用已经过去的完整小时比较门槛并调用对应刷新流程;到点不等于玩家留在别处时立刻后台重建,也不保证地点内所有内容都重置。下表 ceil 表示向上取整。以下公式都读取存储荒野值 W,不叠加区域荒野修正;生长刷新实际处理的对象还受地点类型与商队位置等条件限制。

地点刷新公式
刷新对象小时公式W=0 / 50 / 100
随机遭遇;非商队所在的普通野外格ceil[7 × (2 − W/100)] × 24336 / 264 / 168 小时
布兰的木屋等独立地标类兴趣点ceil[4 × (2 − W/100)] × 24192 / 144 / 96 小时
其他兴趣点ceil[14 × (2 − W/100)] × 24672 / 504 / 336 小时
生长刷新ceil[10 × (2 − W/100)] × 24480 / 360 / 240 小时
聚落;商队当前所在的普通野外格基础刷新固定 3 小时不随 W 改变

地表生成与睡眠伏击

启用地表生物填充时,有效荒野值决定槽位:敌对槽位 floor(2 × W/100),中立槽位 floor(5 × W/100) + 区域单位修正 + 随机 0 或 1。槽位还要交给当前生物群落生成表处理,所以它不是某种敌人或动物必定出现的数量,也不能仅凭荒野值推导物种。

睡眠伏击只在使用铺盖卷儿、睡眠时长大于 0 且地点合格时判定:地牢必须已开放;地表不能是聚落或兴趣点。k = max[0, 1 −「时刻机警」已解锁×0.5 − 最近篝火在 2 格内且点燃×0.25 + 夜间×0.25],夜间为当前小时 ≤4 或 ≥21;送入机会判定的值为 k ×(14 + 睡眠小时)×(有效荒野值/100)。这是判定输入,不是保证遭遇的百分比。

边界与资料缺口

已闭合的是存储值 0–100、上述写入、放置重试、刷新公式、地表槽位和睡眠伏击公式。任意存档某格的最终值仍取决于世界生成地点、顺序与情境;区域荒野修正的完整叠加上限、缓存生命周期和有效值总范围尚未闭合。

荒野值是否直接显示在玩家界面尚未核实。具体生物组成还受生物群落、等级范围、单位修正与生成表影响;本文不把槽位数当作物种数量,也不根据名称或图标补全身份。

参考资料

资料版本 0.9.4.25

  1. 同版荒野值初始化与写入
  2. 同版事件过滤与分区重试
  3. 同版离开/进入触发与刷新公式
  4. 同版地表槽位与睡眠伏击公式
回到开头 ↑