fix(BT12-Dev): A06 독 늪 IsFlying 강제 재 check (PD 진단 2026-05-15)

PD 추가 보고: "여전히 독 늪이 공중 몬스터의 Y 위치에 발생되고 있어.
공격 가능한 적이 없을 경우(공중 몬스터만 있을 경우 등) 독 늪이
플레이어 X 위치에서 이동 가능한 영역 바닥에 생성 되도록 해줘."

원인: 직전 commit 2516ef9 의 e.IsFlying check 영역 — Enemy.Awake/Start
호출 순서·controller late assign race 시 IsFlying=false 잔존 가능 →
박쥐 nearest 후보 영역 → 박쥐 y 위치 spawn (Raycast hit 후 ground y 사용
하더라도 박쥐가 ground 위에 있다면 박쥐 위치 그대로).

정정: PoisonSwampSpawner.Trigger 루프 영역 e.RecheckFlyingFromAnimator()
강제 호출. Animator.runtimeAnimatorController.name 영역 flyingControllerNames
list 매칭 → IsFlying 즉시 갱신.

검증 시나리오 (Play 모드):
- 비박쥐 Enemy 13기 사망 처리 (Player 주변 박쥐 1기만 남김)
- 박쥐 1기 IsFlying=True 정합
- A06 발사 → spawn pos=(-15.14, -2.61) = Player.x(-15.14) + ground.y(-2.61)
- 박쥐 y=-2.00 위치 영역 spawn 안 됨 (차단 정합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-15 12:07:10 +09:00
parent 2516ef9cb1
commit 3c5a3bce31
1 changed files with 2 additions and 0 deletions

View File

@ -35,6 +35,8 @@ namespace EerieVillage.Skills.Effectors
if (e == null) continue; if (e == null) continue;
var h = e.GetComponent<Health>(); var h = e.GetComponent<Health>();
if (h == null || !h.IsAlive) continue; if (h == null || !h.IsAlive) continue;
// PD 지시 2026-05-15 — IsFlying 강제 재 check (Awake race·controller late assign 케이스 보강)
e.RecheckFlyingFromAnimator();
// PD 지시 2026-05-15 — 공중 몬스터 (박쥐 등) skip · 독 늪 ground spawn 의도 // PD 지시 2026-05-15 — 공중 몬스터 (박쥐 등) skip · 독 늪 ground spawn 의도
if (e.IsFlying) continue; if (e.IsFlying) continue;
var p = e.transform.position; var p = e.transform.position;