EerieVillage/Assets/Scripts/Skills/Interfaces/IAwakeningSkill.cs

40 lines
1.4 KiB
C#

namespace EerieVillage.Skills
{
/// <summary>
/// 각성 스킬 런타임 계약. 원 액티브를 대체(또는 강화)하여 진화.
/// BT12-Dev v1 §2-1 정합.
/// </summary>
public interface IAwakeningSkill : ISkillRuntime
{
/// <summary>진화 대상 원 액티브 데이터</summary>
ActiveSkillData OriginalActive { get; }
/// <summary>필요 패시브 후보 (1개 이상 보유로 조건 충족)</summary>
PassiveSkillData[] RequiredPassives { get; }
/// <summary>
/// 각성 발동 시 1회 호출. 원 액티브 슬롯 점유 유지하며 진화 형태로 대체.
/// 진화 패턴 4종 중 하나의 효과를 적용.
/// </summary>
void Awaken(PlayerSkillInventory inventory);
/// <summary>진화 패턴 (1 스케일업 · 2 새효과 · 3 다중 발동 · 4 광역 확산)</summary>
AwakeningPattern Pattern { get; }
}
/// <summary>
/// 각성 진화 패턴 (기획서 §4-2 4종). BT12-Dev v1 §2-1 정합.
/// </summary>
public enum AwakeningPattern
{
/// <summary>1. 대미지·범위·속도 대폭 증가</summary>
ScaleUp,
/// <summary>2. 새 효과 추가 (기존 유지 + 부가)</summary>
AddEffect,
/// <summary>3. 발동 수 2배+</summary>
MultiFire,
/// <summary>4. 화면 전체 확산</summary>
GlobalSpread
}
}