using NeonSprawl.Server.Game.Items;

namespace NeonSprawl.Server.Game.Gathering;

/// <summary>Stable deny reason codes for gather operations (NEO-62).</summary>
public static class GatherReasonCodes
{
    /// <summary>Passthrough from <see cref="ResourceNodeInstanceReasonCodes.UnknownNode"/>.</summary>
    public const string UnknownNode = ResourceNodeInstanceReasonCodes.UnknownNode;

    /// <summary>Passthrough from <see cref="ResourceNodeInstanceReasonCodes.NodeDepleted"/>.</summary>
    public const string NodeDepleted = ResourceNodeInstanceReasonCodes.NodeDepleted;

    /// <summary>Passthrough from <see cref="PlayerInventoryReasonCodes.InventoryFull"/>.</summary>
    public const string InventoryFull = PlayerInventoryReasonCodes.InventoryFull;

    /// <summary><see cref="Skills.IPlayerSkillProgressionStore.TryApplyXpDelta"/> returned false.</summary>
    public const string ProgressionStoreMissing = "progression_store_missing";

    /// <summary>Player inventory store could not write (e.g. unknown player bucket).</summary>
    public const string InventoryStoreMissing = "inventory_store_missing";
}
