using UnityEngine;

/// <summary>
/// Skeleton Ambush - Undead warriors rising from the earth
/// Uses EnemyCharacterData for type-safe enemy references
/// </summary>
[CreateAssetMenu(fileName = "Skeleton Ambush", menuName = "RPG/Travel Events/Specific/Skeleton Ambush")]
public class SkeletonAmbushEvent : CombatTravelEvent
{
    void OnEnable()
    {
        eventName = "Skeleton Ambush";
        eventDescription = "Ancient skeletal warriors rise from the ground to attack your party!";
        eventType = EventType.Combat;
        rarity = EventRarity.Uncommon; // Changed from Common to Uncommon

        // Terrain preferences - reduced plains frequency
        forestChance = 0.8f;        // Common in dark forests
        mountainChance = 0.6f;      // Moderate in mountains
        plainsChance = 0.1f;        // Much less common in open plains (reduced from 0.3f)
        roadChance = 0.2f;          // Much safer on roads
        townChance = 0.05f;         // Very rare near civilization
        villageChance = 0.15f;      // Uncommon near villages
        bridgeChance = 0.4f;        // Moderate at crossings
        tunnelChance = 0.9f;        // Very common in dark tunnels/caves

        // Combat settings
        minEnemies = 1;
        maxEnemies = 3;

        // NOTE: In the Inspector, drag your EnemyCharacterData assets here:
        // - SkeletonWarrior.asset
        // - Any other skeleton variants you create
        // This replaces the old string-based possibleEnemyTypes

        encounterDescriptions = new string[]
        {
            "Bones clatter as skeletal warriors emerge from the earth!",
            "Ancient skeletons wielding rusty weapons block your path!",
            "The ground splits open as undead skeletons rise to attack!",
            "Skeletal archers take aim from the shadows ahead!",
            "Weathered bones reassemble into hostile warriors!"
        };

        canOccurMultipleTimes = true;
        cooldownDays = 1.0f; // Increased cooldown (was 0.5f)
    }
}
