EdenGardener-ProjectEden icon

ProjectEden

把戴森球计划的后期产线整体拉满:十六座巨型建筑、十二种新矿脉(含只在黑洞与中子星旁生成的两种)、裂变发电与黑洞反物质产线、随货物流动的物品品质、从煤和水通到有机化学与炼油的完整化工链、5000 层集装(带 preloader)、默认开启的 2 倍半径行星(面积 4 倍,会让老存档作废)。每个数值都是从真实化学与物理推出来的,全在 JSON 里可调。

CHANGELOG

更新日志

1.12.3

修掉「黑雾地面敌人掉进地里」,并把电力节点的供电范围改成逐项配置—— 电力感应塔覆盖 30 米、连接 60 米。

⚠️ 行星放大仍然默认开着(1.12.1 起),所以在 1.12.0 或更早版本下存的档, 用这一版打开就废了。要继续用老存档,在 profile 里新建 BepInEx\config\ProjectEden\planet.json{ "enabled": false },重开游戏即可。

修复:黑雾产生的地面敌人掉进地里

根因是一批绝对高度常量——它们写的是「离星球中心多远」,不是「离地面多高」, 所以隐含了半径 200。最典型的一处是 EnemyUnitComponent.RunBehavior_Engage_GRaider @052C:

if (alt + d > 206)  d = 206 - alt;      // 原版:地面之上 2–6 格
else if (alt + d < 202)  d = 202 - alt;

在半径 400 的星球上地面在 400 左右,这个夹子把单位按到地下约 200 格

同一个 200 有两种含义,所以不能按值一刀切。 同一个方法里 @0260 的 alt = max(alt, 200) 是个下限,在半径 400 上永远不触发、无害。区别不在值,在形状。

改写范围:6 个方法、18 处、全是 ldc.r4(地面掠夺者 / 守卫者 / 游侠, 以及玩家侧三种地面战斗单位),按 +(半径 − 200)平移—— 「地面之上 2–6 格」在半径 400 上应该是 402–406 而不是 412,所以是平移不是缩放。 半径 200 时增量为 0,和原版逐位相同。

判据是 190–230 波段,而带外的邻居正好反证了它:GGuardian 里的 255 / 165 是颜色(橙 255,165,0)、GRaider 里的三个 270 是角度,都落在带外,不会被误伤。

另外加了一道兜底。 原版自己有 UndergroundRescue,但它兜的是海平面realRadius + 0.2)而不是地面——山上地形在 400.9 时,一个卡在 400.5 的单位仍然埋着。 现在改成按真实地形高度兜底,且只在放大过的行星上生效。 理由写在代码注释里:太空单位那一族(SLancer / SHumpback / 炮塔)形状相同、 但语义还没逐个读过,已知的修掉,未知的至少不会永远埋着

电力:逐项配置,电力感应塔覆盖 30 米

power.json 从「一组值套用到所有 itemIds」改成 nodes 逐项—— 不同的塔要的东西不一样,一组值套不住:

建筑 覆盖 连接距离
卫星配电站 26.5 → 2000 米 53.5(不动)
电力感应塔 10.5 → 30 米 22.5 → 60 米

原版那两列是实测的(开机日志会打),不是查表来的。

感应塔这一项是为行星放大配的:表面积变成 4 倍之后,原版那点覆盖铺满一颗星要 4 倍数量。 30 米的覆盖面积是原版的 8.2 倍,所以现在铺满一颗放大星球所需的塔, 比原版铺满一颗普通星球还少一半。连接距离给到覆盖的两倍, 是为了两塔之间隔着一整个覆盖圈也还连得上、不留空洞。

放大连接距离是有代价的line_arragement_for_add_node 的连线量按节点密度的平方 增长。卫星配电站那一项因此留 0(一座就够,不需要连成网); 觉得感应塔那边卡,把 connectDistance 降到 30–40 即可(不小于覆盖半径就连得起来)。

已建成的塔也生效:读档时走原版的「拆—建」流程重算缓存并重连用电建筑, 实测一局重建了 22 座。旧 schema 仍然兼容——nodes 缺失时回落到 itemIds + coverRadius + connectDistance,免得已有的磁盘覆盖静默失效。

顺带修掉一处旧判据

读档重建电力节点时,原来的条件是「coverRadius >= 目标值 就跳过」。 那在「只放大」的年代是对的,但一旦某一项配成比原版小的值就会整批跳过,而且一声不吭。 现在改成容差不等比较。

已知缺口(同上一版)

按半径 200 写死的常量很可能还有。到目前为止修掉的五处都是被具体症状逼出来的, 不是系统排查出来的。一次启发式扫描标出 143 个方法,多数是 360/180 这类角度常量属误报, 但说明这一类没穷尽;最可疑的是 GameCamera.Logic碰到「放大之后某个东西行为怪异」请直接报——这一类的定位路径已经很熟了。


这个文件只写当前版本。往期更新日志在仓库的 ProjectEden/CHANGELOG-history.mdhttps://github.com/RobertWangWang/dysonsphereprogram-ProjectEden/blob/main/ProjectEden/CHANGELOG-history.md