diff --git a/Dalamud/Game/ClientState/Objects/Types/Character.cs b/Dalamud/Game/ClientState/Objects/Types/Character.cs
index 67f8c8b62..c4c91f5b0 100644
--- a/Dalamud/Game/ClientState/Objects/Types/Character.cs
+++ b/Dalamud/Game/ClientState/Objects/Types/Character.cs
@@ -93,6 +93,11 @@ public interface ICharacter : IGameObject
/// Gets the status flags.
///
public StatusFlags StatusFlags { get; }
+
+ ///
+ /// Gets the current mount for this character. Will be null if the character doesn't have a mount.
+ ///
+ public ExcelResolver? CurrentMount { get; }
}
///
@@ -172,6 +177,18 @@ internal unsafe class Character : GameObject, ICharacter
(this.Struct->IsAllianceMember ? StatusFlags.AllianceMember : StatusFlags.None) |
(this.Struct->IsFriend ? StatusFlags.Friend : StatusFlags.None) |
(this.Struct->IsCasting ? StatusFlags.IsCasting : StatusFlags.None);
+
+ ///
+ public ExcelResolver? CurrentMount
+ {
+ get
+ {
+ if (this.Struct->IsNotMounted()) return null; // safety i guess?
+
+ var mountId = this.Struct->Mount.MountId;
+ return mountId == 0 ? null : new ExcelResolver(mountId);
+ }
+ }
///
/// Gets the underlying structure.