using BumpCombat.Player; using UnityEngine; namespace BumpCombat.Constants { [CreateAssetMenu(menuName = "BumpCombat/Constants/Artifacts")] public sealed class ArtifactConstants : ScriptableObject { [Header("공유 게이지")] [Min(1f)] public float MaximumGauge = 100f; [Min(0f)] public float StartingGauge; [Min(0f)] public float NormalBumpGaugeGain = 4f; [Min(0f)] public float MovementGaugeGainPerSecond = 2f; [Header("보유 제한")] [Tooltip("플레이어가 보유할 수 있는 아티팩트 총량. 초기 선택 수도 남은 슬롯에 맞춰 자동으로 줄어듭니다."), Min(1)] public int MaximumOwnedArtifacts = 3; [Min(1)] public int MaximumArtifactsPerColor = 1; [Header("공통 효과")] [Tooltip("Pulse Ring 기본기의 기절시간 (초)"), Min(0f)] public float PulseNormalStunDuration = 0.3f; [Tooltip("Pulse Ring 충전기의 기절시간 (초)"), Min(0f)] public float PulseChargedStunDuration = 0.6f; [Tooltip("Pulse Ring 경계에서 안전하게 멈추는 거리 (유닛)"), Min(0f)] public float PulseBoundaryClearance = 0.1f; [Tooltip("Chain Lightning 투사체 가속 배율"), Min(0f)] public float ProjectileAccelerationStrength = 2f; [Tooltip("대시 아티팩트 기본기 이동 지속시간 (초)"), Min(0.01f)] public float DashDuration = 0.1f; [Tooltip("대시 아티팩트 충전기 이동 지속시간 (초)"), Min(0.01f)] public float ChargedDashDuration = 0.14f; [Header("아티팩트 정의")] [Tooltip("실행 가능 아티팩트의 정의 에셋")] public ActiveArtifactDefinition[] Definitions = System.Array.Empty(); } }