diff --git a/dGame/dComponents/RocketLaunchLupComponent.cpp b/dGame/dComponents/RocketLaunchLupComponent.cpp index fa2a5b16..3c326540 100644 --- a/dGame/dComponents/RocketLaunchLupComponent.cpp +++ b/dGame/dComponents/RocketLaunchLupComponent.cpp @@ -1,21 +1,17 @@ #include "RocketLaunchLupComponent.h" -#include "CDClientDatabase.h" #include "RocketLaunchpadControlComponent.h" #include "InventoryComponent.h" #include "CharacterComponent.h" RocketLaunchLupComponent::RocketLaunchLupComponent(Entity* parent) : Component(parent) { m_Parent = parent; - - // get the lup worlds from the cdclient - std::string query = "SELECT * FROM LUPZoneIDs;"; - auto results = CDClientDatabase::ExecuteQuery(query); - while (!results.eof()) { - // fallback to 1600 incase there is an issue - m_LUPWorlds.push_back(results.getIntField(0, 1600)); - results.nextRow(); + std::string zoneString = GeneralUtils::UTF16ToWTF8(m_Parent->GetVar(u"MultiZoneIDs")); + std::stringstream ss(zoneString); + for (int i; ss >> i;) { + m_LUPWorlds.push_back(i); + if (ss.peek() == ';') + ss.ignore(); } - results.finalize(); } RocketLaunchLupComponent::~RocketLaunchLupComponent() {} @@ -29,11 +25,7 @@ void RocketLaunchLupComponent::OnUse(Entity* originator) { } void RocketLaunchLupComponent::OnSelectWorld(Entity* originator, uint32_t index) { - // Add one to index because the actual LUP worlds start at index 1. - index++; - auto* rocketLaunchpadControlComponent = m_Parent->GetComponent(); - if (!rocketLaunchpadControlComponent) return; rocketLaunchpadControlComponent->Launch(originator, m_LUPWorlds[index], 0);