feat: Implement "everyone owns all avatar items" toggle; update server settings, controller logic, and admin UI

This commit is contained in:
Alexa
2026-07-09 11:37:47 +03:00
parent 479ea273ea
commit e27b06ce5b
7 changed files with 205 additions and 4 deletions
@@ -32,6 +32,16 @@ public class ServerSettingsEntity
/// and the system/coach account (Id=1) is excluded.</summary>
public bool GlobalFriendsEnabled { get; set; }
/// <summary>When true, every account is reported as owning every
/// avatar item in the master catalog (plus all permanent hair dyes) —
/// the wardrobe/store "unlocked items" endpoints return the full
/// catalog for every player regardless of their real inventory. Like
/// <see cref="GlobalFriendsEnabled"/>, nothing is written to the
/// inventory tables: it's synthesized at read time, so flipping it off
/// instantly reverts to each player's actually-owned items. Color
/// variants and player-made custom (UGC) items are out of scope.</summary>
public bool AllAvatarItemsOwned { get; set; }
/// <summary>When true, the challenge map tells the 2020 watch that
/// weekly challenge completion is required for the weekly reward flow.
/// Individual player challenge rows still default to incomplete until