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 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-29 12:55:26 -05:00
parent eeb91fa6df
commit e74a7ea701

View File

@@ -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<int32_t>(u"activityID");
if (activityID > 0) {