奥莉神庙任务修复(超越之力)

奥莉神庙任务修复(超越之力)

修复了“来自超越之力”和“进入未知”神庙任务中的任务破坏问题。

问题

  • 当进入包含可能有神殿的行星系时,“来自彼方的力量”任务最终会停止工作。地图标记消失、任务目标丢失,即使降落在行星上也无法找到神殿。
  • 在轨道上离开飞船(例如进入另一艘飞船)或在除扫描异常点以外的任何地方降落,都会禁用扫描异常点的地图标记,导致任务无法完成。
  • v1.1 更新: 在“进入未知”任务中,与弗拉德交谈后,前往神殿的目标会显示“前往 [...]”,且任务无法推进。

根本原因

  • Freeform 任务是那些在进入包含可能有神殿行星的星系时自动启动的任务。这些任务目标的条件引用了错误的任务(即所有条件都引用了 MQ_TempleQuest_Freeform 而非其自身)。因此任务目标会停止工作。
  • 附加在任务上的 MQ_Temple_SubScript 脚本会监听玩家离开飞船的事件。随后脚本使用 if landingLocation.IsSameLocation(planetLocation, LocTypeMajorOrbital) 来检查是否应设置任务的下一个阶段。通过传入 LocTypeMajorOrbital 关键字并将降落位置与行星位置(而非异常点位置)进行比较,如果玩家在轨道或行星上任何位置离开飞船,此条件都会返回 true,从而设置任务的下一个阶段(这会移除扫描异常点的地图标记)。
  • v1.1 更新: 神殿子任务(MQ_TempleQuest_MQ104A)有时不会启动,导致“进入未知”任务被锁定。

解决方案

  • 任务目标的条件已修改为检查当前任务的阶段(例如 MQ_TempleQuest_Freeform00 现在检查 MQ_TempleQuest_Freeform00 的当前任务阶段,而非 MQ_TempleQuest_Freeform)。
  • MQ_Temple_SubScript 脚本已修改,移除了在 OnExitShipInterior 事件中设置阶段的代码行。现在阶段在 OnLocationChange 事件期间设置。它会检查玩家是否位于扫描异常点位置(而非行星位置),如果是,则设置下一个阶段。使用异常点位置可确保仅在玩家降落在异常点时返回 true(而非行星上的其他地方)。使用 OnLocationChange 事件而非 OnExitShipInterior 事件,允许玩家降落在行星上的其他地方,然后快速旅行到扫描异常点地图标记以推进任务。否则,快速旅行到标记不会触发下一个阶段。
  • v1.1 更新: 设置了一个监听任务。当“进入未知”达到启动神殿任务的阶段时,监听任务会检查任务是否实际启动,如果没有则启动 MQ_TempleQuest_MQ104A。它被设置为重试数次。一旦任务正常运行,如果追溯应用,“前往 [...]”目标将更新为“前往 Procyon III”。自 v1.2 起,如果您在与弗拉德交谈前安装,则永远不会看到“前往 [...]”作为目标。

额外“修复”

我犹豫是否将这称为修复,它更像是清理工作,但所有“来自彼方的力量”任务都有一个引用缺失别名的属性。我将此设置为 None,以防止日志报错,因为我本来就在为真正的修复修改这些任务。

附加信息

“进入未知”是唯一能追溯应用的修复。此模组不会修复已损坏的“来自彼方的力量”任务。它能防止任务损坏,并且如果当前运行的任务未处于损坏状态,则应该适用于这些任务。这是一个“安装后即可忘掉”的模组。

如果您因降落在行星其他地方或在轨道上离开飞船而导致扫描异常点地图标记缺失,可以使用我的 Temple Map Marker FixLess Annoying Temples 模组来恢复地图标记。这两个模组中的任何一个都可以与此模组同时安装(不要同时安装 Temple Map Marker Fix 和 Less Annoying Temples)。此模组可防止地图标记消失。其他模组中的修复可用于修复已缺失的地图标记。

致谢

Xtyfe00 帮助测试并发送了用于“进入未知”修复的存档文件。 Tyrann0saurusM3 发送了用于“进入未知”修复的存档文件。

Temple Quest Fixes on Creations (PC, Xbox, PS)