From 2519748e2c7981b13572e20fbbd75f52dc6f7c13 Mon Sep 17 00:00:00 2001 From: Aaron Kimbrell Date: Thu, 1 Oct 2026 08:06:12 -0500 Subject: [PATCH] refactor(component): the possessable loads its row in LoadDataFromTemplate Co-Authored-By: Claude Opus 5.5 --- dGame/dComponents/PossessableComponent.cpp | 6 +++++- dGame/dComponents/PossessableComponent.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dGame/dComponents/PossessableComponent.cpp b/dGame/dComponents/PossessableComponent.cpp index aa42c12ce..86330f5c4 100644 --- a/dGame/dComponents/PossessableComponent.cpp +++ b/dGame/dComponents/PossessableComponent.cpp @@ -8,13 +8,17 @@ PossessableComponent::PossessableComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) { RegisterMsg(&PossessableComponent::OnRequestUse); m_Possessor = LWOOBJID_EMPTY; +} + +// The item's animation flag and the PossessableComponent row +void PossessableComponent::LoadDataFromTemplate() { CDItemComponent item = Inventory::FindItemComponent(m_Parent->GetLOT()); m_AnimationFlag = static_cast(item.animationFlag); // Get the possession Type from the CDClient auto query = CDClientDatabase::CreatePreppedStmt("SELECT possessionType, depossessOnHit, skillSet FROM PossessableComponent WHERE id = ?;"); - query.bind(1, static_cast(componentID)); + query.bind(1, static_cast(m_ComponentID)); auto result = query.execQuery(); diff --git a/dGame/dComponents/PossessableComponent.h b/dGame/dComponents/PossessableComponent.h index ec4a40e1a..d288095ce 100644 --- a/dGame/dComponents/PossessableComponent.h +++ b/dGame/dComponents/PossessableComponent.h @@ -18,6 +18,8 @@ public: PossessableComponent(Entity* parentEntity, const int32_t componentID); + void LoadDataFromTemplate() override; + void Serialize(RakNet::BitStream& outBitStream, bool bIsInitialUpdate) override; /**