using UnityEngine;
namespace EerieVillage.Skills
{
///
/// 모든 스킬 데이터 asset의 공통 base.
/// BT12-Dev v1 §2-2 정합.
///
public abstract class SkillDataAsset : ScriptableObject
{
[Header("공통")]
/// 카드 식별자 — "A01"·"P12"·"AW19" (CSV v0.3 ID 컬럼)
public string CardId;
/// 플레이어 표시 이름 (한글) — "진언부(眞言符)"
public string DisplayName;
/// 영문 표시명 — CSV 2번째 컬럼
public string EnglishName;
/// UI용 아이콘
public Sprite Icon;
/// 플레이어 표시 툴팁
[TextArea(2, 4)]
public string Description;
/// 속성 태그 (Flags) — [물리]·[화염] 등
public AttributeTag AttributeTags;
/// 타입 태그 (Flags) — [근접]·[원거리] 등
public TypeTag TypeTags;
/// 최대 스택 레벨. 기본 5. Upgrade() 상한 기준.
[Tooltip("최대 스택 레벨 (1~5). 기본값 5.")]
public int maxLevel = 5;
}
///
/// 속성 태그 (Flags enum). BT12-Dev v1 §2-2 정합.
///
[System.Flags]
public enum AttributeTag
{
None = 0,
Physical = 1 << 0,
Fire = 1 << 1,
Frost = 1 << 2,
Lightning = 1 << 3,
Dark = 1 << 4
}
///
/// 타입 태그 (Flags enum). BT12-Dev v1 §2-2 정합.
///
[System.Flags]
public enum TypeTag
{
None = 0,
Melee = 1 << 0,
Ranged = 1 << 1,
Area = 1 << 2,
Persistent = 1 << 3,
Recovery = 1 << 4,
Defense = 1 << 5
}
}