From 89191a53ff9dc22e4b7e55a8a4a2f7f39184f4b3 Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Fri, 19 Jan 2024 20:50:22 +0000 Subject: [PATCH] add check for mount state in FP data --- src/Core/Utils.cs | 2 +- src/Data/PlayerData.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Core/Utils.cs b/src/Core/Utils.cs index 4f85ef4..919bd14 100644 --- a/src/Core/Utils.cs +++ b/src/Core/Utils.cs @@ -10,7 +10,7 @@ using sodoffmmo.Data; namespace sodoffmmo.Core; internal static class Utils { public static bool VariablesValid(Client client) { - if (client.PlayerData.Fp != "" && (client.PlayerData.Mbf & 8) == 8 + if (client.PlayerData.Fp != "" && (client.PlayerData.PetMounted || (client.PlayerData.Mbf & 8) == 8) && (client.PlayerData.GeometryType == PetGeometryType.Default && client.PlayerData.PetAge < PetAge.Teen || client.PlayerData.GeometryType == PetGeometryType.Terror && client.PlayerData.PetAge < PetAge.Titan)) { NetworkObject obj = new NetworkObject(); diff --git a/src/Data/PlayerData.cs b/src/Data/PlayerData.cs index 2dbdc45..63883ea 100644 --- a/src/Data/PlayerData.cs +++ b/src/Data/PlayerData.cs @@ -53,6 +53,8 @@ public class PlayerData { public PetGeometryType GeometryType { get; set; } = PetGeometryType.Default; // raised pet age - set from Fp public PetAge PetAge { get; set; } = PetAge.Adult; + // raised pet mounted - set from Fp + public bool PetMounted { get; set; } = false; // raised pet data public string Fp { get { @@ -82,6 +84,9 @@ public class PlayerData { case "Ti": PetAge = PetAge.Titan; break; } } + if (keyValPairs.TryGetValue("U", out string userdata)) { + PetMounted = (userdata == "0"); + } } } private string fp = "";