feat: 젬 반복 시전 로직 및 테스트 프리셋 추가

- SkillGemData에 카테고리, 시전 속도 배율, 추가 반복 횟수 필드를 추가함
- SkillLoadoutEntry가 젬 합산 기준 최종 속도와 반복 횟수를 계산하도록 확장함
- SkillController가 반복 횟수만큼 스킬을 재시전하고 시작 효과와 OnEffect를 매 반복에 다시 적용하도록 수정함
- 연속 젬과 반복 젬 테스트 프리셋을 추가하고 디버그 메뉴에 적용 및 계산 로그 경로를 보강함
- 공격형 테스트 젬 자산과 추가 대미지 이펙트를 정리하고 무젬 35, 반복 젬 70 피해를 검증함
This commit is contained in:
2026-03-26 12:36:03 +09:00
parent dedfb60a4c
commit b4475ea77f
21 changed files with 726 additions and 91 deletions

View File

@@ -135,6 +135,48 @@ namespace Colosseum.Skills
return resolved;
}
public float GetResolvedAnimationSpeed()
{
if (baseSkill == null)
return 0f;
float resolved = baseSkill.AnimationSpeed;
if (socketedGems == null)
return resolved;
for (int i = 0; i < socketedGems.Length; i++)
{
SkillGemData gem = socketedGems[i];
if (gem == null)
continue;
resolved *= gem.CastSpeedMultiplier;
}
return Mathf.Max(0.05f, resolved);
}
public int GetResolvedRepeatCount()
{
if (baseSkill == null)
return 0;
int resolved = 1;
if (socketedGems == null)
return resolved;
for (int i = 0; i < socketedGems.Length; i++)
{
SkillGemData gem = socketedGems[i];
if (gem == null)
continue;
resolved += gem.AdditionalRepeatCount;
}
return Mathf.Max(1, resolved);
}
public void CollectCastStartEffects(List<SkillEffect> destination)
{
if (destination == null)