feat: 빈사/부활 시스템 및 ReviveEffect 추가
- PlayerNetworkController에 Revive(healthPercent) 메서드와 OnRevived 이벤트 추가 - ReviveEffect 스킬 이펙트 구현 (Area/Ally 타겟팅, healthPercent로 체력 복구) - GameManager가 OnRevived 구독하여 alivePlayers 동적 복구 - GameManager.Update에서 나중에 스폰된 플레이어 자동 구독 (MPP 대응) - SkillCancelReason에 Revive 추가 - 부활 스킬/이펙트 ScriptableObject 에셋 생성 (치유 클립 임시 사용) - PlayerSkillDebugMenu에 즉사/부활/리스폰/스폰/Client1 스킬 디버그 메뉴 추가 - PlayerAbnormalityDebugHUD에 부활 버튼 추가 - DebugExecuteSkillAsServer에 실패 원인 로그 추가 - AGENTS.md에 코드 변경 후 force reload 규칙 추가
This commit is contained in:
49
Assets/_Game/Scripts/Skills/Effects/ReviveEffect.cs
Normal file
49
Assets/_Game/Scripts/Skills/Effects/ReviveEffect.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using UnityEngine;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,7 @@ namespace Colosseum.Skills
|
||||
Stun,
|
||||
HitReaction,
|
||||
Respawn,
|
||||
Revive,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user