using NeonSprawl.Server.Game.Items;

namespace NeonSprawl.Server.Game.Crafting;

/// <summary>Stable deny reason codes for craft operations (NEO-69).</summary>
public static class CraftReasonCodes
{
    public const string UnknownRecipe = "unknown_recipe";

    public const string InsufficientMaterials = "insufficient_materials";

    public const string InvalidQuantity = "invalid_quantity";

    /// <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 read or write.</summary>
    public const string InventoryStoreMissing = "inventory_store_missing";
}
