Initialize repository

Added basic info to get in game for like...August 2016 ;-;
It's not much but it's a start
This commit is contained in:
2026-02-27 00:58:13 -08:00
parent 05c35b2a18
commit 387ec7ba89
61 changed files with 1722 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
using System.Text.Json.Serialization;
namespace RecRoomArchive.Models.API.Players
{
/// <summary>
/// Extensions of data used in August 2016 Rec Room
/// </summary>
public class AugustProfile : BaseProfile
{
public AugustProfile(BaseProfile baseProfile)
{
Id = baseProfile.Id;
Username = baseProfile.Username;
DisplayName = baseProfile.DisplayName;
XP = baseProfile.XP;
Level = baseProfile.Level;
Reputation = baseProfile.Reputation;
Developer = baseProfile.Developer;
Bio = baseProfile.Bio;
RegistrationStatus = baseProfile.RegistrationStatus;
CanReceiveInvites = baseProfile.CanReceiveInvites;
ProfileImageName = baseProfile.ProfileImageName;
JuniorProfile = baseProfile.JuniorProfile;
ForceJuniorImages = baseProfile.ForceJuniorImages;
PendingJunior = baseProfile.PendingJunior;
HasBirthday = baseProfile.HasBirthday;
HasEmail = baseProfile.HasEmail;
AvoidJuniors = baseProfile.AvoidJuniors;
}
/// <summary>
/// Used in early versions of Rec Room from 2016 as the players DisplayName
/// </summary>
[JsonPropertyName(name: "Name")] public string Name => DisplayName;
/// <summary>
/// The SteamID of the local player, used in 2016
/// </summary>
[JsonPropertyName(name: "SteamID")] public ulong SteamID { get; set; }
/// <summary>
/// The..gender?? of the local player, this isn't used by Rec Room at all so I'm guessing whoever made their webmanager just added this to add it
/// </summary>
[JsonPropertyName(name: "Gender")] public string Gender { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,84 @@
using System.Text.Json.Serialization;
namespace RecRoomArchive.Models.API.Players
{
/// <summary>
/// The profile of the player from 2016-2019
/// </summary>
public class BaseProfile
{
/// <summary>
/// The unique id of the player
/// </summary>
[JsonPropertyName(name: "Id")] public ulong Id { get; set; }
/// <summary>
/// The username of the player. This usually doesn't show up in game until around 2017...
/// </summary>
[JsonPropertyName(name: "Username")] public string Username { get; set; } = string.Empty;
/// <summary>
/// The display name of the player, this is what's most commonly used in game and is seen on the players nametag
/// </summary>
[JsonPropertyName(name: "DisplayName")] public string DisplayName { get; set; } = string.Empty;
/// <summary>
/// The XP of the player, this determines how much XP is required until the next level up but because this is a local server, who gaf
/// </summary>
[JsonPropertyName(name: "XP")] public int XP { get; set; } = 0;
/// <summary>
/// The level of the player, usually in a range from 1-30 or 1-50 depending on your time period
/// </summary>
[JsonPropertyName(name: "Level")] public int Level { get; set; } = 1;
/// <summary>
/// The internal reputation of the player, reputation works in mysterious ways so I'm not too sure about this one...
/// </summary>
[JsonPropertyName(name: "Reputation")] public float Reputation { get; set; } = 1.0f;
/// <summary>
/// If the player has a verified email on their Rec Room account (which they always will)
/// </summary>
[JsonPropertyName(name: "Verified")] public bool Verified => RegistrationStatus == RegistrationStatus.Registered;
/// <summary>
/// If the player is a developer of Rec Room (they always will be)
/// </summary>
[JsonPropertyName(name: "Developer")] public bool Developer { get; set; } = true;
/// <summary>
/// The bio of the player, I need to find what build this is added in so I can add it to its model...
/// </summary>
[JsonPropertyName(name: "Bio")] public string Bio { get; set; } = string.Empty;
/// <summary>
/// The registration status of the player, determined by if they have an email
/// </summary>
[JsonPropertyName(name: "RegistrationStatus")] public RegistrationStatus RegistrationStatus { get; set; } = RegistrationStatus.Registered;
/// <summary>
/// If the local player is allowed to recieve invites (junior restriction?)
/// </summary>
[JsonPropertyName(name: "CanReceiveInvites")] public bool CanReceiveInvites { get; set; } = true;
/// <summary>
/// The image name of the player
/// </summary>
[JsonPropertyName(name: "ProfileImageName")] public string ProfileImageName { get; set; } = "DefaultProfileImage";
/// <summary>
/// If the player is allowed to recieve invites (junior restriction?)
/// </summary>
[JsonPropertyName(name: "JuniorProfile")] public bool JuniorProfile { get; set; } = false;
/// <summary>
/// If the player is forced to only see alt images like a junior player
/// </summary>
[JsonPropertyName(name: "ForceJuniorImages")] public bool ForceJuniorImages { get; set; } = false;
/// <summary>
/// If the player is about to become a junior
/// </summary>
[JsonPropertyName(name: "PendingJunior")] public bool PendingJunior { get; set; } = false;
/// <summary>
/// If the player has a birthday on their account
/// </summary>
[JsonPropertyName(name: "HasBirthday")] public bool HasBirthday { get; set; } = true;
/// <summary>
/// If the player has an email on their account
/// </summary>
[JsonPropertyName(name: "HasEmail")] public bool HasEmail { get; set; } = true;
/// <summary>
/// If the player perfers to not matchmake with junior players, can be null
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull), JsonPropertyName(name: "AvoidJuniors")] public bool? AvoidJuniors { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace RecRoomArchive.Models.API.Players
{
public class BlockDurationDTO
{
[JsonPropertyName(name: "BlockedDuration")] public int BlockedDuration { get; set; } = 0;
}
}

View File

@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace RecRoomArchive.Models.API.Players
{
public class PhoneNumberDTO
{
[JsonPropertyName(name: "PhoneNumber")] public string PhoneNumber { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,21 @@
namespace RecRoomArchive.Models.API.Players
{
/// <summary>
/// The status of the players registration to Rec Room
/// </summary>
public enum RegistrationStatus
{
/// <summary>
/// This player has no email entered for Rec Room and may be prompted to enter one
/// </summary>
Unregistered,
/// <summary>
/// This player has a pending email from Rec Room that they have not accepted yet
/// </summary>
PendingEmailVerification,
/// <summary>
/// This player has a verified Rec Room Profile!
/// </summary>
Registered
}
}