diff --git a/dDatabase/CDClientDatabase/CDClientManager.cpp b/dDatabase/CDClientDatabase/CDClientManager.cpp index 9aea0711..ca8ff0ea 100644 --- a/dDatabase/CDClientDatabase/CDClientManager.cpp +++ b/dDatabase/CDClientDatabase/CDClientManager.cpp @@ -155,4 +155,7 @@ void CDClientManager::LoadValuesFromDefaults() { LOG("Loading default CDClient tables!"); CDPetComponentTable::Instance().LoadValuesFromDefaults(); + CDActivitiesTable::Instance().LoadValuesFromDefaults(); + CDActivityRewardsTable::Instance().LoadValuesFromDefaults(); + CDCurrencyTableTable::Instance().LoadValuesFromDefaults(); } diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.cpp b/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.cpp index 19111490..21ec7fa2 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.cpp +++ b/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.cpp @@ -1,5 +1,29 @@ #include "CDActivitiesTable.h" +namespace { + // Default entries for fallback + CDActivities defaultEntry{ + .ActivityID = 1, + .locStatus = 0, + .instanceMapID = 0, + .minTeams = 1, + .maxTeams = 1, + .minTeamSize = 1, + .maxTeamSize = 1, + .waitTime = 0, + .startDelay = 0, + .requiresUniqueData = false, + .leaderboardType = 0, + .localize = false, + .optionalCostLOT = -1, + .optionalCostCount = -1, + .showUIRewards = false, + .CommunityActivityFlagID = 0, + .gate_version = "", + .noTeamLootOnDeath = false, + .optionalPercentage = 0.0f, + }; +} void CDActivitiesTable::LoadValuesFromDatabase() { // First, get the size of the table @@ -48,6 +72,12 @@ void CDActivitiesTable::LoadValuesFromDatabase() { tableData.finalize(); } +void CDActivitiesTable::LoadValuesFromDefaults() { + auto& entries = GetEntriesMutable(); + entries.clear(); + entries.push_back(defaultEntry); +} + std::vector CDActivitiesTable::Query(std::function predicate) { std::vector data = cpplinq::from(GetEntries()) diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.h b/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.h index 3e1d4c37..a9ed0d7d 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.h +++ b/dDatabase/CDClientDatabase/CDClientTables/CDActivitiesTable.h @@ -28,6 +28,7 @@ struct CDActivities { class CDActivitiesTable : public CDTable> { public: void LoadValuesFromDatabase(); + void LoadValuesFromDefaults(); // Queries the table with a custom "where" clause std::vector Query(std::function predicate); diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.cpp b/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.cpp index abe0c50c..e6545a6e 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.cpp +++ b/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.cpp @@ -1,5 +1,17 @@ #include "CDActivityRewardsTable.h" +namespace { + // Default entries for fallback + CDActivityRewards defaultEntry{ + .objectTemplate = 1, + .ActivityRewardIndex = 1, + .activityRating = 1, + .LootMatrixIndex = 0, + .CurrencyIndex = 1, + .ChallengeRating = 1, + .description = "Default test activity reward", + }; +} void CDActivityRewardsTable::LoadValuesFromDatabase() { @@ -37,6 +49,12 @@ void CDActivityRewardsTable::LoadValuesFromDatabase() { tableData.finalize(); } +void CDActivityRewardsTable::LoadValuesFromDefaults() { + auto& entries = GetEntriesMutable(); + entries.clear(); + entries.push_back(defaultEntry); +} + std::vector CDActivityRewardsTable::Query(std::function predicate) { std::vector data = cpplinq::from(GetEntries()) diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.h b/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.h index 8d07a718..f7f9a510 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.h +++ b/dDatabase/CDClientDatabase/CDClientTables/CDActivityRewardsTable.h @@ -16,6 +16,7 @@ struct CDActivityRewards { class CDActivityRewardsTable : public CDTable> { public: void LoadValuesFromDatabase(); + void LoadValuesFromDefaults(); // Queries the table with a custom "where" clause std::vector Query(std::function predicate); }; diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.cpp b/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.cpp index 19ac7da0..3c33f1d7 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.cpp +++ b/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.cpp @@ -1,5 +1,16 @@ #include "CDCurrencyTableTable.h" +namespace { + // Default entries for fallback + CDCurrencyTable defaultEntry{ + .currencyIndex = 1, + .npcminlevel = 1, + .minvalue = 1, + .maxvalue = 10, + .id = 1, + }; +} + //! Constructor void CDCurrencyTableTable::LoadValuesFromDatabase() { @@ -35,6 +46,12 @@ void CDCurrencyTableTable::LoadValuesFromDatabase() { tableData.finalize(); } +void CDCurrencyTableTable::LoadValuesFromDefaults() { + auto& entries = GetEntriesMutable(); + entries.clear(); + entries.push_back(defaultEntry); +} + std::vector CDCurrencyTableTable::Query(std::function predicate) { std::vector data = cpplinq::from(GetEntries()) >> cpplinq::where(predicate) diff --git a/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.h b/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.h index 1cd6c142..273836a4 100644 --- a/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.h +++ b/dDatabase/CDClientDatabase/CDClientTables/CDCurrencyTableTable.h @@ -21,6 +21,7 @@ struct CDCurrencyTable { class CDCurrencyTableTable : public CDTable> { public: void LoadValuesFromDatabase(); + void LoadValuesFromDefaults(); // Queries the table with a custom "where" clause std::vector Query(std::function predicate); };