using UnityEngine;

namespace SpecialMoveCards
{
    /// <summary>
    /// ScriptableObject defining metadata for a special move card.
    /// </summary>
    [CreateAssetMenu(menuName = "Special Move Cards/Card Data", fileName = "CardData")]
    public class CardData : ScriptableObject
    {
        [Header("Identity")]
        public CardType type;
        [Tooltip("Display name of the special move.")]
        public string moveName;
        [Tooltip("Animator state/clip or Trigger name to play on pickup use.")]
        public string animationTriggerName;

        [Header("Visuals")]
        public Color color = Color.white;
        public Sprite icon;
        [Tooltip("Optional particle effect to spawn on pickup or use.")]
        public GameObject particlePrefab;

        [Header("Tuning")]
        [Tooltip("Hover amplitude for world pickup (meters). If 0, uses default on CardBehaviour.")]
        public float hoverAmplitude = 0.25f;
        [Tooltip("Hover speed for world pickup (Hz). If 0, uses default on CardBehaviour.")]
        public float hoverSpeed = 1.0f;
        [Tooltip("Self-rotation speed in degrees per second. If 0, uses default on CardBehaviour.")]
        public float rotationSpeed = 35f;
        [Tooltip("Emission intensity for the card material.")]
        public float emissionIntensity = 2.5f;

        [Header("Optional Ability Params")]
        [Tooltip("Optional scalar param that other systems can read.")]
        public float powerMultiplier = 1f;
    }
}
