Handle Vault 109 quest handoff
When the local player leaves COVault109, the plugin now completes MQ101 and starts MQ102 at stage 10 on the game thread, with a log entry for confirmation. Updated the changelog and architecture/dev-log docs to reflect the new Vault 109 flow, and refreshed the compiled Creation Kit script artifact.
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
#include "RE/B/BIPED_OBJECT.h"
|
||||
#include "RE/B/BipedAnim.h"
|
||||
#include "RE/B/BSFixedString.h"
|
||||
#include "RE/C/Console.h"
|
||||
#include "RE/I/IAnimationGraphManagerHolder.h"
|
||||
#include "RE/P/PipboyManager.h"
|
||||
#include "RE/P/PipboyMenu.h"
|
||||
@@ -647,6 +648,16 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
void AdvanceMainQuestAfterVault109Exit()
|
||||
{
|
||||
RE::Console::ExecuteCommand("completequest MQ101");
|
||||
RE::Console::ExecuteCommand("startquest MQ102");
|
||||
RE::Console::ExecuteCommand("setstage MQ102 10");
|
||||
|
||||
LogInfoWithLocalPlayerPrefix(
|
||||
"Player left COVault109; completed MQ101 (0001ED86) and started MQ102 (0001CC2A) at stage 10.");
|
||||
}
|
||||
|
||||
void PollLocalPlayerTransform()
|
||||
{
|
||||
auto* player = TryGetLocalPlayer();
|
||||
@@ -717,6 +728,9 @@ namespace
|
||||
|
||||
if (soloCellTransformSuppressed) {
|
||||
LogInfoWithLocalPlayerPrefix("Local player left solo cell; transform packet sending resumed.");
|
||||
if (hasLastTransform && lastKnownLocation.isSoloCell && !currentLocation.isSoloCell) {
|
||||
AdvanceMainQuestAfterVault109Exit();
|
||||
}
|
||||
soloCellTransformSuppressed = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user