![]()
|
|
The papyrus log error reported in #28401 explains why this happened.
For this to understand, one needs to know that the "Ness Story" consists of three more or less separate quests:
(1) the random encounter that spawns Ness
(2) DN123
(3) REAssaultSC01_DN123SkylanesAssault
The random encounter that spawns Ness [NB: she does not actually spawn but gets teleported to the encounter site from a holding cell] repeats until the player physically meets her and talks to her. After accepting her proposal, DN123 takes over (this is essentially a controller quest). The very first thing DN123 is supposed to do is to make sure that the random encounter trigger at the Skylane's site will start REAssaultSC01_DN123SkylanesAssault (instead of a randomly chosen attack) when the area loads up for the next time.
In your game however, something went wrong and REAssaultSC01_DN123SkylanesAssault did not start, hence the errors from ticket #28401 (they indicate that REAssaultSC01_DN123SkylanesAssault is not running although DN123 is assuming that it does, and trying to set a stage on that quest fails). Instead, the trigger started a generic assault. This broke the quest irreparably.
For this to understand, one needs to know that the "Ness Story" consists of three more or less separate quests:
(1) the random encounter that spawns Ness
(2) DN123
(3) REAssaultSC01_DN123SkylanesAssault
The random encounter that spawns Ness [NB: she does not actually spawn but gets teleported to the encounter site from a holding cell] repeats until the player physically meets her and talks to her. After accepting her proposal, DN123 takes over (this is essentially a controller quest). The very first thing DN123 is supposed to do is to make sure that the random encounter trigger at the Skylane's site will start REAssaultSC01_DN123SkylanesAssault (instead of a randomly chosen attack) when the area loads up for the next time.
In your game however, something went wrong and REAssaultSC01_DN123SkylanesAssault did not start, hence the errors from ticket #28401 (they indicate that REAssaultSC01_DN123SkylanesAssault is not running although DN123 is assuming that it does, and trying to set a stage on that quest fails). Instead, the trigger started a generic assault. This broke the quest irreparably.
Comment #1 Jan 16, 2020 11:11 am
Edited by BlackPete on Nov 1, 2020 4:59 am
I encountered a similar (very possibly the same) problem today where Ness doesn't talk to me and the site is crowded with BoS soldiers but no raiders or gunner mercenaries.
After some investigation, I found it's because the REScript Object of the REAssaultSC01_DN123SkylanesAssault quest is initialized with StopQuestWhenAliasesUnloaded=true, which may cause the quest to stop itself with stage 200 (which is set run on stop) if the player character has been close enough for it to start but later go far away enough for the actors to unload. The DN123SkylanesNode quest node checks for getstage(REAssaultSC01_DN123SkylanesAssault)<50, which would be false since it's stopped with 200, eventually causing this problem. Using resetquest on REAssaultSC01_DN123SkylanesAssault before going to the site, which resets the stages, is confirmed to solve this issue.
But again, I haven't tried it without UFO4P thus not sure if the vanilla game somehow stops StopQuestWhenAliasesUnloaded from working to avoid the problem. Anyway, as a person with not much modding experience, I suppose there are some possible ways to solve it:
1. Change the condition checks for quest node. Although I'm not sure how to check for whether a quest is stopped in the conditions.
2. When the quest is stopped, somehow reset it? Again not sure if it's possible to reset a quest on the "on stop" stage.
3. set StopQuestWhenAliasesUnloaded of REAssaultSC01_DN123SkylanesAssault to false.
The first two may make it possible to cause problems for the encounter to spawn again later without additional work so the third may be preferred. Setting StopQuestWhenAliasesUnloaded to false just seems natural which makes it unbelievable why it was set to true (and explicitly in the quest form) in the first place. Am I overlooking something here?
After some investigation, I found it's because the REScript Object of the REAssaultSC01_DN123SkylanesAssault quest is initialized with StopQuestWhenAliasesUnloaded=true, which may cause the quest to stop itself with stage 200 (which is set run on stop) if the player character has been close enough for it to start but later go far away enough for the actors to unload. The DN123SkylanesNode quest node checks for getstage(REAssaultSC01_DN123SkylanesAssault)<50, which would be false since it's stopped with 200, eventually causing this problem. Using resetquest on REAssaultSC01_DN123SkylanesAssault before going to the site, which resets the stages, is confirmed to solve this issue.
But again, I haven't tried it without UFO4P thus not sure if the vanilla game somehow stops StopQuestWhenAliasesUnloaded from working to avoid the problem. Anyway, as a person with not much modding experience, I suppose there are some possible ways to solve it:
1. Change the condition checks for quest node. Although I'm not sure how to check for whether a quest is stopped in the conditions.
2. When the quest is stopped, somehow reset it? Again not sure if it's possible to reset a quest on the "on stop" stage.
3. set StopQuestWhenAliasesUnloaded of REAssaultSC01_DN123SkylanesAssault to false.
The first two may make it possible to cause problems for the encounter to spawn again later without additional work so the third may be preferred. Setting StopQuestWhenAliasesUnloaded to false just seems natural which makes it unbelievable why it was set to true (and explicitly in the quest form) in the first place. Am I overlooking something here?
Comment #2 Mar 12, 2025 10:46 am
Edited by Forgotten River on Mar 12, 2025 11:12 am
Showing Comments 1 - 2 of 2