From e74a7ea7010dfad59f10953783489a5595c8ba6e Mon Sep 17 00:00:00 2001 From: Aaron Kimbrell Date: Tue, 29 Sep 2026 12:55:26 -0500 Subject: [PATCH] docs(quickbuild): why the level's activityID wins over the template's The client reads RebuildComponent.activityID over a level's activityID unless the level sets actIDovrd, but live followed the level's: the AM Center draw bridge (LOT 12047) has activityID 12047 without actIDovrd and dropped no loot in 4 of 4 live completions, where the template's activity 6 would have dropped quickbuild rewards. DLU already does what live did. Co-Authored-By: Claude Opus 5.5 --- dGame/Entity.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dGame/Entity.cpp b/dGame/Entity.cpp index f6998d806..0ebd81883 100644 --- a/dGame/Entity.cpp +++ b/dGame/Entity.cpp @@ -623,6 +623,10 @@ void Entity::Initialize() { if (entity) GameMessages::PlatformResync(*entity, false, 0, 1, 1, eMovementPlatformState::Moving, true).Send(UNASSIGNED_SYSTEM_ADDRESS); }); + // 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. const auto activityID = GetVar(u"activityID"); if (activityID > 0) {