Files
Colosseum/Assets/_Game/Scripts/Skills/Effects/ReviveEffect.cs
dal4segno 7776f7ed05 feat: 드로그 BT 및 전투 패턴 재구성
- 드로그 BT를 페이즈 전환, 부활 트리거, 가중치 근접 패턴 중심으로 재구성

- 땅 울리기 및 콤보-기본기1_3 패턴/스킬/이펙트를 추가하고 기존 평타 파생 자산을 정리

- 드로그 행동 검증용 PlayMode/Editor 테스트와 관련 런타임 상태 추적을 추가
2026-04-09 23:21:38 +09:00

52 lines
1.6 KiB
C#

using UnityEngine;
using Colosseum.Enemy;
using Colosseum.Player;
namespace Colosseum.Skills.Effects
{
/// <summary>
/// 빈사 상태인 아군을 부활시키는 스킬 효과입니다.
/// </summary>
[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;
/// <summary>
/// 부활 체력 비율
/// </summary>
public float HealthPercent => healthPercent;
/// <summary>
/// 부활 효과를 적용합니다.
/// </summary>
protected override void ApplyEffect(GameObject caster, GameObject target)
{
if (target == null)
{
Debug.LogWarning("[ReviveEffect] Target is null.");
return;
}
PlayerNetworkController networkController = target.GetComponent<PlayerNetworkController>();
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);
}
}
}