From 90c72931894520a4b2ad120f12e70bc6bc8f418e Mon Sep 17 00:00:00 2001 From: Aaron Kimbrell Date: Thu, 1 Oct 2026 08:08:11 -0500 Subject: [PATCH] refactor(component): the mission offer loads its missions in LoadDataFromTemplate Co-Authored-By: Claude Opus 5.5 --- dGame/dComponents/MissionOfferComponent.cpp | 10 +++++++--- dGame/dComponents/MissionOfferComponent.h | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dGame/dComponents/MissionOfferComponent.cpp b/dGame/dComponents/MissionOfferComponent.cpp index f6ff05ad5..17d9a7857 100644 --- a/dGame/dComponents/MissionOfferComponent.cpp +++ b/dGame/dComponents/MissionOfferComponent.cpp @@ -43,12 +43,16 @@ bool OfferedMission::GetAcceptsMission() const { MissionOfferComponent::MissionOfferComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) { RegisterMsg(&MissionOfferComponent::OnRequestUse); - if (componentID != -1) { +} + +// The MissionNPCComponent rows: the missions this offers and accepts +void MissionOfferComponent::LoadDataFromTemplate() { + if (m_ComponentID != -1) { // Now lookup the missions in the MissionNPCComponent table auto* missionNpcComponentTable = CDClientManager::GetTable(); - auto missions = missionNpcComponentTable->Query([componentID](const CDMissionNPCComponent& entry) { - return entry.id == static_cast(componentID); + auto missions = missionNpcComponentTable->Query([this](const CDMissionNPCComponent& entry) { + return entry.id == static_cast(m_ComponentID); }); for (auto& mission : missions) { diff --git a/dGame/dComponents/MissionOfferComponent.h b/dGame/dComponents/MissionOfferComponent.h index 6dc22ac9e..d8a967678 100644 --- a/dGame/dComponents/MissionOfferComponent.h +++ b/dGame/dComponents/MissionOfferComponent.h @@ -65,6 +65,8 @@ public: MissionOfferComponent(Entity* parent, const int32_t componentID); + void LoadDataFromTemplate() override; + /** * Handles a RequestUse triggered by some entity, determines which missions to show based on what they may * hand in now and what they may start based on their mission history.