using System.Collections.Generic; using Dalamud.Game.Player; using Lumina.Excel; using Lumina.Excel.Sheets; namespace Dalamud.Plugin.Services; #pragma warning disable SA1400 // Access modifier should be declared: Interface members are public by default /// /// Interface for determining the players state. /// public interface IPlayerState : IDalamudService { /// /// Gets a value indicating whether the local players data is loaded. /// /// /// PlayerState is separate from , /// and as such the game object might not exist when it's loaded. /// bool IsLoaded { get; } /// /// Gets the name of the local character. /// string CharacterName { get; } /// /// Gets the entity ID of the local character. /// uint EntityId { get; } /// /// Gets the content ID of the local character. /// ulong ContentId { get; } /// /// Gets the World row for the local character's current world. /// RowRef CurrentWorld { get; } /// /// Gets the World row for the local character's home world. /// RowRef HomeWorld { get; } /// /// Gets the sex of the local character. /// Sex Sex { get; } /// /// Gets the Race row for the local character. /// RowRef Race { get; } /// /// Gets the Tribe row for the local character. /// RowRef Tribe { get; } /// /// Gets the ClassJob row for the local character's current class/job. /// RowRef ClassJob { get; } /// /// Gets the current class/job's level of the local character. /// short Level { get; } /// /// Gets a value indicating whether the local character's level is synced. /// bool IsLevelSynced { get; } /// /// Gets the effective level of the local character. /// short EffectiveLevel { get; } /// /// Gets the GuardianDeity row for the local character. /// RowRef GuardianDeity { get; } /// /// Gets the birth month of the local character. /// byte BirthMonth { get; } /// /// Gets the birth day of the local character. /// byte BirthDay { get; } /// /// Gets the ClassJob row for the local character's starting class. /// RowRef FirstClass { get; } /// /// Gets the Town row for the local character's starting town. /// RowRef StartTown { get; } /// /// Gets the base strength of the local character. /// int BaseStrength { get; } /// /// Gets the base dexterity of the local character. /// int BaseDexterity { get; } /// /// Gets the base vitality of the local character. /// int BaseVitality { get; } /// /// Gets the base intelligence of the local character. /// int BaseIntelligence { get; } /// /// Gets the base mind of the local character. /// int BaseMind { get; } /// /// Gets the piety mind of the local character. /// int BasePiety { get; } /// /// Gets the GrandCompany row for the local character's current Grand Company affiliation. /// RowRef GrandCompany { get; } /// /// Gets the Aetheryte row for the local player's home aetheryte. /// RowRef HomeAetheryte { get; } /// /// Gets an array of Aetheryte rows for the local player's favourite aetherytes. /// IReadOnlyList> FavoriteAetherytes { get; } /// /// Gets the Aetheryte row for the local player's free aetheryte. /// RowRef FreeAetheryte { get; } /// /// Gets the amount of received player commendations of the local player. /// uint BaseRestedExperience { get; } /// /// Gets the amount of received player commendations of the local player. /// short PlayerCommendations { get; } /// /// Gets the Carrier Level of Delivery Moogle Quests of the local player. /// byte DeliveryLevel { get; } /// /// Gets the mentor version of the local player. /// MentorVersion MentorVersion { get; } /// /// Gets a value indicating whether the local player is any kind of Mentor (Battle or Trade Mentor). /// bool IsMentor { get; } /// /// Gets a value indicating whether the local player is a Battle Mentor. /// bool IsBattleMentor { get; } /// /// Gets a value indicating whether the local player is a Trade Mentor. /// bool IsTradeMentor { get; } /// /// Gets a value indicating whether the local player is a novice (aka. Sprout or New Adventurer). /// /// /// Can be if /nastatus was used to deactivate it. /// bool IsNovice { get; } /// /// Gets a value indicating whether the local player is a returner. /// bool IsReturner { get; } /// /// Gets the value of an attribute of the local character. /// /// The attribute to check. /// The value of the specific attribute. int GetAttribute(PlayerAttribute attribute); /// /// Gets the Grand Company rank of the local character. /// /// The Grand Company to check. /// The Grand Company rank of the local character. byte GetGrandCompanyRank(GrandCompany grandCompany); /// /// Gets the level of the local character's class/job. /// /// The ClassJob row to check. /// The level of the requested class/job. short GetClassJobLevel(ClassJob classJob); /// /// Gets the experience of the local character's class/job. /// /// The ClassJob row to check. /// The experience of the requested class/job. int GetClassJobExperience(ClassJob classJob); /// /// Gets the desynthesis level of the local character's crafter job. /// /// The ClassJob row to check. /// The desynthesis level of the requested crafter job. float GetDesynthesisLevel(ClassJob classJob); }