feat: web dashboard and playground work

The NexusDashboard-parity dashboard (dDashboardServer) and everything built on it on the experimental branch:
accounts, characters, properties and moderation tools, permissions shared with in-game slash commands, economy
reports, World 3D and property 3D views with client scenery, scheduled events (features, vanity changes, live
events, announcements, restarts), vanity files and events, the CDClient browser, the message inspector with saved
captures, chat filter tools, community challenges, live ops, the AI moderator helper, and the server-side changes
they need.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-26 17:52:10 -05:00
parent 854d02f509
commit e213a7aeff
681 changed files with 88310 additions and 1321 deletions

View File

@@ -12,6 +12,7 @@
#include <array>
#include <set>
#include "Loot.h"
#include "StatisticID.h"
enum class eGameActivity : uint32_t;
@@ -34,39 +35,6 @@ struct ZoneStatistics {
bool operator==(const ZoneStatistics& rhs) const = default;
};
/**
* The IDs of each of the possible statistics
*/
enum StatisticID {
CurrencyCollected = 1,
BricksCollected,
SmashablesSmashed,
QuickBuildsCompleted,
EnemiesSmashed,
RocketsUsed,
MissionsCompleted,
PetsTamed,
ImaginationPowerUpsCollected,
LifePowerUpsCollected,
ArmorPowerUpsCollected,
MetersTraveled,
TimesSmashed,
TotalDamageTaken,
TotalDamageHealed,
TotalArmorRepaired,
TotalImaginationRestored,
TotalImaginationUsed,
DistanceDriven,
TimeAirborneInCar,
RacingImaginationPowerUpsCollected,
RacingImaginationCratesSmashed,
RacingCarBoostsActivated,
RacingTimesWrecked,
RacingSmashablesSmashed,
RacesFinished,
FirstPlaceRaceFinishes,
};
/**
* Represents a character, including their rockets and stats
*/
@@ -117,8 +85,9 @@ public:
/**
* Sets the universe score for this entity
* @param uscore the universe score to set
* @param source why it changed, for the economy reports (see EconomyLedger for sources beyond eLootSourceType)
*/
void SetUScore(int64_t uscore) { m_Uscore = uscore; }
void SetUScore(int64_t uscore, uint32_t source);
/**
* Gets the current activity that the character is partaking in, see ScriptedActivityComponent for more details
@@ -267,8 +236,9 @@ public:
* Allows one to generically update a statistic
* @param updateID the 1-indexed ID of the statistic in the order of definition below
* @param updateValue the value to update the statistic with
* @param fromClient whether the client reported it; those are not trusted for the dashboard's daily totals
*/
void UpdatePlayerStatistic(StatisticID updateID, uint64_t updateValue = 1);
void UpdatePlayerStatistic(StatisticID updateID, uint64_t updateValue = 1, bool fromClient = false);
/**
* Add a venture vision effect to the player minimap.