feat: 무기 배율 시스템 통합

- DamageEffect: 무기 데미지 배율 적용 (GetDamageMultiplier)
- PlayerSkillInput: 무기 마나 소모 배율 적용 (GetActualManaCost)
- SkillEffect: 무기 사거리 배율 적용 (가상 메서드로 구현)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-03-12 19:56:12 +09:00
parent df064c4eaf
commit 535b730f34
3 changed files with 57 additions and 9 deletions

View File

@@ -1,5 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
using Colosseum;
using Colosseum.Weapons;
namespace Colosseum.Skills
{
@@ -106,12 +108,13 @@ namespace Colosseum.Skills
{
Vector3 center = GetAreaCenter(caster);
Collider[] hits = Physics.OverlapSphere(center, Mathf.Max(areaRadius, fanRadius), targetLayers);
// 같은 GameObject가 여러 콜라이더를 가질 수 있으므로 중복 제거
HashSet<GameObject> processedTargets = new HashSet<GameObject>();
foreach (var hit in hits)
{
if (hit.gameObject == caster) continue;
if (!IsCorrectTeam(caster, hit.gameObject)) continue;
if (processedTargets.Contains(hit.gameObject)) continue;
// 부채꼴 판정
if (areaShape == AreaShapeType.Fan)
{
@@ -119,6 +122,7 @@ namespace Colosseum.Skills
continue;
}
processedTargets.Add(hit.gameObject);
ApplyEffect(caster, hit.gameObject);
}
}