적(MobActor·보스)이 공격 사거리 안에 들어오면 플레이어 발밑에 반투명 흰색 원을 띄우고,
사거리 안에 적이 3초 이상 없으면 소멸시킨다(PD #816 원문).
- 반지름 = 게임이 실제 공격 판정에 쓰는 값. MyActor.cs:44/47/222 의 reach 식을 그대로 재현하고,
런타임 NavMeshAgent.stoppingDistance(= PCActor.cs:381 m_ClassData.f_AttackRange) 의 양수 최솟값 +
eStat.AttackRange_Up + WLTargetingSettings.immediateAttackMargin(0.2) 로 잡는다. 코드 상수 0(C45).
- 그리기 = 815f 예고 판과 같은 URP Unlit 반투명 + 런타임 생성 원판 메시(새 셰이더·에셋 0, 드로우콜 +1).
- 값 전부 SO: Assets/WL/Combat/Settings/Resources/WL/WLRangeRingSettings.asset
- 원본 Assets/Script/** 0줄 · 설치는 RuntimeInitializeOnLoadMethod(AfterSceneLoad) 1점.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Assets/WL/Combat/Stage/Barrier/ 신규 3파일 + Resources SO
- 워프백 = 813w3/813t2 와 같은 원본 Actor.Set_Warp · NavMesh 스냅 · 카메라 리드 스냅
- 보이기 3스타일: ⓐ Hovl Marker 3 Zone Loop 스케일 ⓑ 울타리·바위 프롭 링 ⓒ 불꽃 링(총량 상한)
- 캡처는 다음 커밋
- TerrainGuard(신규 · 폴링 · 원본 훅 0): PC/몹/보스가 NavMesh 밖 또는 y > maxWalkableY 에
dwell(1 s) 넘게 있으면 원본 Actor.Set_Warp 으로 가장 가까운 walkable 지점 복귀(쿨 3 s · 카메라 리드 스냅)
- SpawnPositionGuard(같은 파일): 새로 나타난 몹의 스폰 지점 검증 → 재표집 3회 → 스포너 노드 폴백
- WLTerrainGuardSettings(SO · 값 22개 전부 에셋 · C8 롤백 enabled=0)
- 프로브 PASS: 언덕 격자 1000점 walkable 0 · FindGround 5/5 · 스폰 200점 언덕 위 0 · C8 6행 · GC 0 B
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
D-41: table_selectskill 58행 전수 실측 — 참조 프리팹/이펙트 키가 없는 3행
(3 Select_Shield · 11 Select_SwordSlash · 14 Select_Star)을 뽑기에서 제외.
원본 Get_DataList(3) 은 그대로 쓰고 결과만 후필터(원본 수정 0줄) · 값 전부 SO.
D-42: WLErrorGuardSettings.suppressUntilNextRunStart(기본 1) — RunPhase.Ended
(결과창~다음 런 시작)까지 훅을 내린 채 둔다. 813x2 파일 +7/-1줄.
자동전투 중 메인 PC HP 가 autoPotionHpRatio(SO · 0.35) 이하면 813i PotionUse.TryUse 로 물약을 자동 사용한다.
근거 = Q5 D-21(4분 런당 사망 3회 · 결과 화면 「사망 / 물약 = 3 / 0」 = 물약 미사용) + 813x(자동전투 기본 ON · eCommon.Auto · PCActor.cs:185) + 813i(PotionUse 공개 API) + 813y(PotionButton provider 연결).
- Assets/WL/Combat/Survival/AutoPotion.cs (신규) — 원본 훅 0 · UI 파일 0 · 폴링만
· 잔량/쿨은 PotionUse.IsReady 로 먼저 걸러 거절 이벤트·GC 0
· 자동전투 OFF(수동 전투) · 사망/부활 중 · PC 없음이면 무동작
- Survival.cs — SurvivalRunner.Update 에 AutoPotion.Tick 1줄(PotionUse.Tick 뒤)
- WLSurvivalSettings.cs/.asset — 값 5개 전부 SO(autoPotionEnabled/HpRatio/RequireAutoCombat/CheckSeconds/Log)
- C8 롤백 = autoPotionEnabled 1 → 0 (코드 무수정)
게이트 PASS · 프로브 AgentScripts/WL813m2_Probe.cs RESULT PASS(10절)
Q5 §4 실측(존 Arrived=0 · 아레나 이탈 46.3 m · 되돌림 3~4 vs 리셋 15~19)의 원인은
RunGuide.Poll 이 피격 중단에서 통째로 return 한 것(구 RunGuide.cs:291) — 그 return 이
도착 판정(구 :303)과 이탈 되돌림(구 :327) 위에 있었다.
- D-24: 도착 판정·이탈 되돌림을 피격과 무관하게 매 폴링 실행 + 정지 판정(0.5 s · 0.3 m/s) 도착
- D-22: 되돌림 즉시 · 되돌림 중 타깃 해제 · 보스 재타깃은 Hold 에서만(락은 상시 유지)
- D-19: 존 반경(18 m) 이탈 즉시 복귀 · guideLeashRadius 12 → 14
- §1-4: WLBossArenaSettings.leashHealPercent 0.15 → 0.05 (쿨 10 s 유지)
- RunTick 로그(존 체류·이동 초·최대 이탈) · 신규 SO 9필드 · C8 스위치 4개
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>