using UnityEngine;

[CreateAssetMenu(fileName = "New Misc Item", menuName = "RPG/Items/Miscellaneous")]
[System.Serializable]
public class MiscellaneousItem : Item
{
    [Header("Misc Item Properties")]
    public bool isConsumable;
    public bool isStackable = true;
    public int maxStackSize = 99;

    [Header("Effects (if consumable)")]
    public int healthRestore;
    public int manaRestore;
    public int temporaryStrengthBonus;
    public int temporaryDexterityBonus;
    public int temporaryConstitutionBonus;
    public int temporaryWisdomBonus;
    public float effectDuration; // In seconds, 0 for permanent

    public MiscellaneousItem()
    {
        itemType = ItemType.Miscellaneous;
    }

    public virtual void UseItem(Character character)
    {
        if (!isConsumable)
        {
            Debug.Log($"{itemName} is not consumable");
            return;
        }

        // Apply effects
        if (healthRestore > 0)
        {
            character.CurrentHealth = Mathf.Min(character.MaxHealth, character.CurrentHealth + healthRestore);
            Debug.Log($"{character.CharacterName} restored {healthRestore} health from {itemName}");
        }

        // Add temporary stat bonuses (would need a buff system to implement properly)
        if (temporaryStrengthBonus > 0 || temporaryDexterityBonus > 0 ||
            temporaryConstitutionBonus > 0 || temporaryWisdomBonus > 0)
        {
            Debug.Log($"{character.CharacterName} gained temporary stat bonuses from {itemName}");
            // TODO: Implement temporary buff system
        }
    }
}
