diff --git a/Refresh.GameServer/Database/GameDatabaseContext.Users.cs b/Refresh.GameServer/Database/GameDatabaseContext.Users.cs index 42bfa0bc..b88446b0 100644 --- a/Refresh.GameServer/Database/GameDatabaseContext.Users.cs +++ b/Refresh.GameServer/Database/GameDatabaseContext.Users.cs @@ -154,6 +154,13 @@ public void UpdateUserData(GameUser user, SerializedUpdateData data, TokenGame g user.BetaIconHash = data.IconHash; break; } + + if (data.YayFaceHash != null) + user.YayFaceHash = data.YayFaceHash; + if (data.BooFaceHash != null) + user.BooFaceHash = data.BooFaceHash; + if (data.MehFaceHash != null) + user.MehFaceHash = data.MehFaceHash; }); } diff --git a/Refresh.GameServer/Database/GameDatabaseProvider.cs b/Refresh.GameServer/Database/GameDatabaseProvider.cs index 1d56e1e9..c8db08c8 100644 --- a/Refresh.GameServer/Database/GameDatabaseProvider.cs +++ b/Refresh.GameServer/Database/GameDatabaseProvider.cs @@ -33,7 +33,7 @@ protected GameDatabaseProvider(IDateTimeProvider time) this._time = time; } - protected override ulong SchemaVersion => 140; + protected override ulong SchemaVersion => 141; protected override string Filename => "refreshGameServer.realm"; diff --git a/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/Users/ApiGameUserResponse.cs b/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/Users/ApiGameUserResponse.cs index 2e73ccad..84f04f0e 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/Users/ApiGameUserResponse.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/Users/ApiGameUserResponse.cs @@ -17,6 +17,10 @@ public class ApiGameUserResponse : IApiResponse, IDataConvertableFrom [XmlElement("location")] public required GameLocation Location { get; set; } [XmlElement("planets")] public required string PlanetsHash { get; set; } + [XmlElement("yay2")] public required string YayFaceHash { get; set; } + [XmlElement("boo2")] public required string BooFaceHash { get; set; } + [XmlElement("meh2")] public required string MehFaceHash { get; set; } + [XmlElement("npHandle")] public required SerializedUserHandle Handle { get; set; } [XmlElement("commentCount")] public int CommentCount { get; set; } [XmlElement("commentsEnabled")] public bool CommentsEnabled { get; set; } @@ -61,6 +65,10 @@ public class GameUserResponse : IDataConvertableFrom Location = new GameLocation(old.LocationX, old.LocationY), PlanetsHash = "0", + YayFaceHash = dataContext.GetIconFromHash(old.YayFaceHash), + BooFaceHash = dataContext.GetIconFromHash(old.BooFaceHash), + MehFaceHash = dataContext.GetIconFromHash(old.MehFaceHash), + Handle = SerializedUserHandle.FromUser(old, dataContext), CommentCount = dataContext.Database.GetTotalCommentsForProfile(old), CommentsEnabled = true, diff --git a/Refresh.GameServer/Types/Data/DataContext.cs b/Refresh.GameServer/Types/Data/DataContext.cs index 89a1a436..831be29f 100644 --- a/Refresh.GameServer/Types/Data/DataContext.cs +++ b/Refresh.GameServer/Types/Data/DataContext.cs @@ -19,4 +19,9 @@ public class DataContext public GameUser? User => this.Token?.User; public TokenGame Game => this.Token?.TokenGame ?? TokenGame.Website; public TokenPlatform Platform => this.Token?.TokenPlatform ?? TokenPlatform.Website; + + public string GetIconFromHash(string hash) + { + return this.Database.GetAssetFromHash(hash)?.GetAsIcon(this.Game, this) ?? hash; + } } \ No newline at end of file diff --git a/Refresh.GameServer/Types/UserData/GameUser.cs b/Refresh.GameServer/Types/UserData/GameUser.cs index aefe81dc..2f5666b1 100644 --- a/Refresh.GameServer/Types/UserData/GameUser.cs +++ b/Refresh.GameServer/Types/UserData/GameUser.cs @@ -67,6 +67,10 @@ public partial class GameUser : IRealmObject, IRateLimitUser public string Lbp3PlanetsHash { get; set; } = "0"; public string VitaPlanetsHash { get; set; } = "0"; + public string YayFaceHash { get; set; } = "0"; + public string BooFaceHash { get; set; } = "0"; + public string MehFaceHash { get; set; } = "0"; + public bool AllowIpAuthentication { get; set; } public string? CurrentVerifiedIp { get; set; } diff --git a/Refresh.GameServer/Types/UserData/SerializedUpdateData.cs b/Refresh.GameServer/Types/UserData/SerializedUpdateData.cs index ab5ee44f..386d997f 100644 --- a/Refresh.GameServer/Types/UserData/SerializedUpdateData.cs +++ b/Refresh.GameServer/Types/UserData/SerializedUpdateData.cs @@ -23,4 +23,13 @@ public class SerializedUpdateData [XmlElement("icon")] public string? IconHash { get; set; } + + [XmlElement("yay2")] + public string? YayFaceHash { get; set; } + + [XmlElement("boo2")] + public string? BooFaceHash { get; set; } + + [XmlElement("meh2")] + public string? MehFaceHash { get; set; } } \ No newline at end of file