fix(BT12-Dev): 결함 2건 동시 fix — DebuffStackLimit 의도 정합 + Trigger 판정 안정성 보강

결함 1 — DebuffStackLimit 무차별 3 적용 (5 asset):
- 본 PM Phase 2-C placeholder 작성 시 ScriptableObject 모든 필드 무차별 채움
- StatusApplier.cs:43 가드 통과 → A01·A02·A03·A14·A15 hit 시 의도 외 DebuffStack 트리거
- 기획서 위반 (대화로그 엔트리 4 의도)

해결:
- A01 마법 화살 (단일 타격) — DebuffStackLimit 3→0
- A02 파이어볼 (DoT) — DebuffStackLimit 3→0
- A03 봉인 마법 (Stun) — DebuffStackLimit 3→0
- A08 저주의 화살 — DebuffStackLimit 5 유지 (DebuffStack 의도 정합)
- A14 얼음 창 (Slow) — DebuffStackLimit 3→0
- A15 추적 화염구 (DoT Homing) — DebuffStackLimit 3→0

결함 2 — fallback Projectile Rigidbody2D 부재:
- Unity 2D OnTriggerEnter2D 발화 의무 = 한쪽 Rigidbody2D
- transform.position 이동 영역 Physics2D 동기화 안정성 부족

해결:
- ProjectileSpawner.CreateFallbackProjectile에 Kinematic Rigidbody2D 추가
- gravityScale 0·CollisionDetectionMode2D.Continuous

PD 결정 (2026-05-09): "3 동시 진행해" — 옵션 3 결함 1+2 동시 적용.
pm-auditor Conditional Pass + Major 1 (feedback 헌법급 신설) + Improvement 2 수용.
This commit is contained in:
깃 관리자 2026-05-09 22:12:51 +09:00
parent 33eaa55c60
commit fe6559238f
6 changed files with 13 additions and 5 deletions

View File

@ -41,5 +41,5 @@ MonoBehaviour:
AuraRadius: 3
CritDamageMultiplier: 2
IFrameDuration: 0
DebuffStackLimit: 3
DebuffStackLimit: 0
FireProbability: 1

View File

@ -41,5 +41,5 @@ MonoBehaviour:
AuraRadius: 3
CritDamageMultiplier: 2
IFrameDuration: 0
DebuffStackLimit: 3
DebuffStackLimit: 0
FireProbability: 1

View File

@ -41,5 +41,5 @@ MonoBehaviour:
AuraRadius: 3
CritDamageMultiplier: 2
IFrameDuration: 0
DebuffStackLimit: 3
DebuffStackLimit: 0
FireProbability: 1

View File

@ -41,5 +41,5 @@ MonoBehaviour:
AuraRadius: 3
CritDamageMultiplier: 2
IFrameDuration: 0
DebuffStackLimit: 3
DebuffStackLimit: 0
FireProbability: 1

View File

@ -41,5 +41,5 @@ MonoBehaviour:
AuraRadius: 3
CritDamageMultiplier: 2
IFrameDuration: 0
DebuffStackLimit: 3
DebuffStackLimit: 0
FireProbability: 1

View File

@ -81,6 +81,14 @@ namespace EerieVillage.Skills.Effectors
col.isTrigger = true;
col.radius = 0.2f;
// BT12-Dev 2026-05-09 — Trigger 판정 안정성 보강:
// Unity 2D OnTriggerEnter2D 발화는 양쪽 중 한쪽 Rigidbody2D 영역 의무.
// transform.position 이동 영역 Physics2D 동기화 안정성 확보 위해 Kinematic Rigidbody2D 부착.
var rb = go.AddComponent<Rigidbody2D>();
rb.bodyType = RigidbodyType2D.Kinematic;
rb.gravityScale = 0f;
rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
var sr = go.AddComponent<SpriteRenderer>();
sr.sprite = GetOrCreateFallbackSprite();
sr.color = GetColorByAttribute(data.AttributeTags);