From e7e120feef7fba4f0f261dc2c1178104a01f2c87 Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 10 May 2026 16:56:20 +0900 Subject: [PATCH] =?UTF-8?q?feat(BT12-Dev):=20RangeTier=205=EB=8B=A8?= =?UTF-8?q?=EA=B3=84=20+=20aspect=20fallback=20(PD=20=EC=82=AC=EC=A0=95?= =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20=EC=98=81=EC=97=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Skills/Active/A01_jineonbu.asset | 1 + Assets/Resources/Skills/Active/A02_paieobol.asset | 1 + .../Skills/Active/A03_bonginmabeop.asset | 1 + .../Skills/Active/A08_jeoju_hwasal.asset | 1 + .../Resources/Skills/Active/A14_eolum_chang.asset | 1 + .../Skills/Active/A15_chujeok_hwayeomgu.asset | 1 + Assets/Scripts/Skills/Data/ActiveSkillData.cs | 6 ++++++ Assets/Scripts/Skills/Effectors/Projectile.cs | 15 +++++++-------- 8 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Assets/Resources/Skills/Active/A01_jineonbu.asset b/Assets/Resources/Skills/Active/A01_jineonbu.asset index 7f10151..91ed917 100644 --- a/Assets/Resources/Skills/Active/A01_jineonbu.asset +++ b/Assets/Resources/Skills/Active/A01_jineonbu.asset @@ -44,3 +44,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 0 FireProbability: 1 + Range: 2 diff --git a/Assets/Resources/Skills/Active/A02_paieobol.asset b/Assets/Resources/Skills/Active/A02_paieobol.asset index e0d659e..7da6861 100644 --- a/Assets/Resources/Skills/Active/A02_paieobol.asset +++ b/Assets/Resources/Skills/Active/A02_paieobol.asset @@ -45,3 +45,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 0 FireProbability: 1 + Range: 3 diff --git a/Assets/Resources/Skills/Active/A03_bonginmabeop.asset b/Assets/Resources/Skills/Active/A03_bonginmabeop.asset index a1fe8ae..f38cbff 100644 --- a/Assets/Resources/Skills/Active/A03_bonginmabeop.asset +++ b/Assets/Resources/Skills/Active/A03_bonginmabeop.asset @@ -44,3 +44,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 0 FireProbability: 1 + Range: 2 diff --git a/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset b/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset index 7d15a34..7ca1ef2 100644 --- a/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset +++ b/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset @@ -45,3 +45,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 5 FireProbability: 1 + Range: 1 diff --git a/Assets/Resources/Skills/Active/A14_eolum_chang.asset b/Assets/Resources/Skills/Active/A14_eolum_chang.asset index 013862f..55816d4 100644 --- a/Assets/Resources/Skills/Active/A14_eolum_chang.asset +++ b/Assets/Resources/Skills/Active/A14_eolum_chang.asset @@ -44,3 +44,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 0 FireProbability: 1 + Range: 3 diff --git a/Assets/Resources/Skills/Active/A15_chujeok_hwayeomgu.asset b/Assets/Resources/Skills/Active/A15_chujeok_hwayeomgu.asset index 2d3c8ae..04bc10d 100644 --- a/Assets/Resources/Skills/Active/A15_chujeok_hwayeomgu.asset +++ b/Assets/Resources/Skills/Active/A15_chujeok_hwayeomgu.asset @@ -44,3 +44,4 @@ MonoBehaviour: IFrameDuration: 0 DebuffStackLimit: 0 FireProbability: 1 + Range: 4 diff --git a/Assets/Scripts/Skills/Data/ActiveSkillData.cs b/Assets/Scripts/Skills/Data/ActiveSkillData.cs index 973022a..faf3e04 100644 --- a/Assets/Scripts/Skills/Data/ActiveSkillData.cs +++ b/Assets/Scripts/Skills/Data/ActiveSkillData.cs @@ -79,8 +79,14 @@ namespace EerieVillage.Skills [Tooltip("확률 판정 전용 (F 카테고리). 발동 확률 0~1")] [Range(0f, 1f)] public float FireProbability = 1.0f; + + /// BT12-Dev 2026-05-10 PD — 사정거리 5단계 (Camera width 배수) + [Tooltip("사정거리 5단계 — Camera 가로 배수 (Short 0.2·MediumShort 0.5·Medium 0.667·MediumLong 1.0·Long 1.5)")] + public RangeTier Range = RangeTier.Medium; } + public enum RangeTier { Short, MediumShort, Medium, MediumLong, Long } + /// /// 액티브 스킬 카테고리 (A~F). BT12-Dev v1 §2-2 정합. /// diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index a3280bd..68133f6 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -43,18 +43,17 @@ namespace EerieVillage.Skills.Effectors _spawnPosition = transform.position; _spawnTime = Time.time; - // 최대 거리 = Camera 영역 영역 영역 × 1.5 (PD #1 명시) - // Camera ortho size 3.5·aspect 16:9 → height 7·width ~12.44 → maxRange ~18.66 unit + // BT12-Dev 2026-05-10 PD — 사정거리 5단계 (Camera 가로 배수) + float camWidth = 12.44f; // fallback (ortho size 3.5·16:9) var cam = Camera.main; if (cam != null && cam.orthographic) { - float camWidth = cam.orthographicSize * 2f * cam.aspect; - _maxRange = camWidth * 1.5f; - } - else - { - _maxRange = 20f; // fallback + float aspect = (cam.aspect > 0.01f) ? cam.aspect : (16f / 9f); + camWidth = cam.orthographicSize * 2f * aspect; } + float[] mults = { 0.2f, 0.5f, 0.667f, 1.0f, 1.5f }; + int idx = Mathf.Clamp((int)_data.Range, 0, mults.Length - 1); + _maxRange = camWidth * mults[idx]; // Phase 2-B: 풀링 미도입 — Invoke 기반 자동 소멸 (거리 제한 영역 영역 영역 영역 영역 안전망) Invoke(nameof(SelfDestruct), _lifetime);