[Stats] 캐릭터 스탯 시스템 구현

- 6가지 기본 스탯 추가 (STR, DEX, INT, VIT, WIS, SPI)
- 스탯 수정자 시스템 (Flat, PercentAdd, PercentMult)
- 파생 스탯 계산 (체력/마나/대미지/회복력)
- 스킬 효과에 스탯 기반 대미지/회복량 적용
- 마나 비용 체크 및 소모 로직 추가
This commit is contained in:
2026-03-10 13:19:55 +09:00
parent 217378edde
commit 0286237b98
8 changed files with 355 additions and 19 deletions

View File

@@ -18,6 +18,8 @@ namespace Colosseum.Player
[Header("References")]
[Tooltip("SkillController (없으면 자동 검색)")]
[SerializeField] private SkillController skillController;
[Tooltip("PlayerNetworkController (없으면 자동 검색)")]
[SerializeField] private PlayerNetworkController networkController;
private InputSystem_Actions inputActions;
@@ -43,6 +45,12 @@ namespace Colosseum.Player
}
}
// PlayerNetworkController 참조 확인
if (networkController == null)
{
networkController = GetComponent<PlayerNetworkController>();
}
InitializeInputActions();
}
@@ -89,11 +97,25 @@ namespace Colosseum.Player
return;
}
// 마나 비용 체크
if (networkController != null && networkController.Mana < skill.ManaCost)
{
Debug.Log($"Not enough mana for skill: {skill.SkillName} (Required: {skill.ManaCost}, Current: {networkController.Mana})");
return;
}
// 논타겟: 타겟 없이 스킬 시전
bool success = skillController.ExecuteSkill(skill);
if (!success)
{
Debug.Log($"Cannot execute skill: {skill.SkillName}");
return;
}
// 스킬 성공 시 마나 소모
if (networkController != null && skill.ManaCost > 0)
{
networkController.UseManaRpc(skill.ManaCost);
}
}