using UnityEngine;
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);
}
}
}