using Glamourer.Api.Enums; namespace Glamourer.Api.Api; /// All functions related to items. public interface IGlamourerApiItems { /// Set a single item on an actor. /// The game object index of the actor to be manipulated. /// The slot to apply the item to. /// The (Custom) ID of the item to apply. /// The IDs of the stains to apply to the item. /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. /// The item ID can be a custom item ID in Glamourer's format for models without an associated item, or a normal game item ID. public GlamourerApiEc SetItem(int objectIndex, ApiEquipSlot slot, ulong itemId, IReadOnlyList stains, uint key, ApplyFlag flags); /// Set a single item on players. /// The name of the players to be manipulated. /// The slot to apply the item to. /// The (Custom) ID of the item to apply. /// The IDs of the stains to apply to the item. /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. /// /// The item ID can be a custom item ID in Glamourer's format for models without an associated item, or a normal game item ID.
/// The player does not have to be currently available as long as he has a persisted Glamourer state.
/// Only players are checked for name equality, no NPCs.
/// If multiple players of the same name are found, all of them are modified.
/// Prefer to use the index-based function unless you need to get the state of someone currently unavailable. ///
public GlamourerApiEc SetItemName(string playerName, ApiEquipSlot slot, ulong itemId, IReadOnlyList stains, uint key, ApplyFlag flags); /// Set a single bonus item on an actor. /// The game object index of the actor to be manipulated. /// The bonus slot to apply the item to. /// The bonus item sheet ID of the item to apply (including stain). /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. /// The bonus item ID can currently not be a custom item ID in Glamourer's format for models without an associated item. Use 0 to remove the bonus item. public GlamourerApiEc SetBonusItem(int objectIndex, ApiBonusSlot slot, ulong bonusItemId, uint key, ApplyFlag flags); /// Set a single bonus item on an actor. /// The game object index of the actor to be manipulated. /// The bonus slot to apply the item to. /// The bonus item sheet ID of the item to apply (including stain). /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. /// /// The bonus item ID can currently not be a custom item ID in Glamourer's format for models without an associated item. Use 0 to remove the bonus item.
/// The player does not have to be currently available as long as he has a persisted Glamourer state.
/// Only players are checked for name equality, no NPCs.
/// If multiple players of the same name are found, all of them are modified.
/// Prefer to use the index-based function unless you need to get the state of someone currently unavailable. ///
public GlamourerApiEc SetBonusItemName(string playerName, ApiBonusSlot slot, ulong bonusItemId, uint key, ApplyFlag flags); /// Set the defined Meta State flags to the active or inactive state on actor. /// The game object index of the actor to be manipulated. /// The flags defining which meta states to update to the new value. This can be multiple at once. /// The new value to update to. /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. public GlamourerApiEc SetMetaState(int objectIndex, MetaFlag types, bool newValue, uint key, ApplyFlag flags); /// Set the defined Meta State flags to the active or inactive state on actor (by name) /// The name of the players to be manipulated. /// The flags defining which meta states to update to the new value. This can be multiple at once. /// The new value to update to. /// A key to unlock or lock the state if necessary. /// The flags used for the reversion. Respects Once (see .) /// ItemInvalid, ActorNotFound, ActorNotHuman, InvalidKey, Success. public GlamourerApiEc SetMetaStateName(string playerName, MetaFlag types, bool newValue, uint key, ApplyFlag flags); }