docs(quickbuild): the level's activityID wins as the client resolves it

LWOActivityComponent::Startup (0x00d006b0) sets actIDovrd, when the level
leaves it out, to whether the level has an activityID, so
LWOQuickBuildComponent::LoadDataFromTemplate (0x00cbb2e0) keeps the level's
activityID; the template's is read only for an explicit actIDovrd=0. Every
quickbuild with actIDovrd=0 in the levels has the template's activityID as
its level one. Comment only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-10-02 10:50:25 -05:00
parent 66dca36b63
commit ea875d859c

View File

@@ -90,9 +90,11 @@ void QuickBuildComponent::LoadConfigData() {
if (rebuildResetTime != 0.0f) SetResetTime(rebuildResetTime);
// The level's activityID replaces the template's. The client (LWOQuickBuildComponent::LoadDataFromTemplate)
// reads RebuildComponent.activityID over it unless the level sets actIDovrd, but live used the level's:
// the AM Center draw bridge (LOT 12047: level activityID 12047 without actIDovrd, template activity 6,
// the quickbuild rewards) dropped no loot in 4 of 4 live completions.
// reads RebuildComponent.activityID over it only when actIDovrd is false, and actIDovrd left out means "the level
// has an activityID" (LWOActivityComponent::Startup), so the level's wins, as live: the AM Center draw bridge
// (LOT 12047: level activityID 12047 without actIDovrd, template activity 6, the quickbuild rewards) dropped no
// loot in 4 of 4 live completions. Every quickbuild the levels set actIDovrd=0 on has the template's activityID
// as its level activityID, so not reading actIDovrd changes nothing.
const auto activityID = m_Parent->GetVar<int32_t>(u"activityID");
if (activityID > 0) {
SetActivityId(activityID);