feat: Implement adjustable room capacity and quest team size

- Added MaxCapacity property to RoomEntity and updated related controllers to utilize it.
- Modified RoomsController to set MaxPlayers based on room's MaxCapacity.
- Introduced QuestTeamSize class to dynamically adjust quest party sizes beyond the default limit.
- Updated DevMenu to include options for debugging and managing room settings.
- Created UI elements for adjusting MaxCapacity in the admin interface.
- Added configuration file for DevMenu with default settings.
This commit is contained in:
Alexa
2026-06-08 01:27:30 +03:00
parent 64746cdaa2
commit 482c73e1bc
15 changed files with 661 additions and 57 deletions
@@ -54,6 +54,15 @@ public class RoomEntity
public bool SupportsWalkVR { get; set; } = true;
public bool SupportsTeleportVR { get; set; } = true;
public bool AllowsJuniors { get; set; } = true;
/// <summary>Max players the room advertises per instance — flows into the
/// matchmaking RoomInstance.MaxCapacity and the v4/details synthesized
/// Scenes[0].MaxPlayers. Admin-adjustable. NOTE: the 2020.12 client
/// doesn't hard-enforce this (it never sets Photon RoomOptions.MaxPlayers),
/// so today it's the advertised/intended cap; true enforcement needs a
/// ClientMod Photon patch (tracked as a follow-up).</summary>
public int MaxCapacity { get; set; } = 8;
public int RoomWarningMask { get; set; } = 0;
[MaxLength(512)]