using UnityEngine; using Colosseum.Enemy; using Colosseum.Player; namespace Colosseum.Skills.Effects { /// /// 빈사 상태인 아군을 부활시키는 스킬 효과입니다. /// [CreateAssetMenu(fileName = "ReviveEffect", menuName = "Colosseum/Skills/Effects/Revive")] public class ReviveEffect : SkillEffect { [Header("Revive Settings")] [Tooltip("부활 시 복구할 체력 비율 (0~1)")] [Range(0f, 1f)] [SerializeField] private float healthPercent = 0.3f; /// /// 부활 체력 비율 /// public float HealthPercent => healthPercent; /// /// 부활 효과를 적용합니다. /// protected override void ApplyEffect(GameObject caster, GameObject target) { if (target == null) { Debug.LogWarning("[ReviveEffect] Target is null."); return; } PlayerNetworkController networkController = target.GetComponent(); if (networkController == null) { Debug.LogWarning($"[ReviveEffect] PlayerNetworkController not found on target: {target.name}"); return; } if (!networkController.IsDead) { Debug.LogWarning($"[ReviveEffect] Target is not dead: {target.name}"); return; } networkController.Revive(healthPercent); BossBehaviorRuntimeState.ReportPlayerRevivedBySkill(caster, target); } } }