Project_WL/AgentScripts/WL813w4_PROBE.txt

103 lines
7.2 KiB
Plaintext
Raw Normal View History

# WL813w4 Probe 2026-09-09 16:18:12 (edit mode · Play 0 · 로그인 0)
playMode=False
── ⓪ 준비
[PASS] 가짜 메인 PC IsMainPC()=true · MyValue.MyPC 등록
[PASS] RunGuide.Active(에셋 · enabled · 런 축)
[PASS] RunGuide.Subscribed — 🔴 D-34 의 「RunStarted 구독이 없다」 추정은 여기서 이미 반증된다
── ① 에셋 · SOT (813w4 신규 필드 · C45 · 코드 상수 0)
[PASS] WLRunGuideSettings 로드 · [PASS] WLGrowthSettings 로드
[가이드 신규 9] guideOnRestart=True restartResetsGuideState=True stallGuideSeconds=3 stallMoveEpsilon=0.5 elitePriorityEnabled=True eliteTargetRadius=12 eliteReleaseRadius=18 eliteLockTarget=True eliteRetargetOnlyInHold=True
[성장 신규 2 + 값 2] burstMaxScreenFraction=0.5 burstAlpha=0.6 burstScale=0.5 burstLifetimeSeconds=0.8
[PASS] 「다음 런」 재유도 on(D-34) · guideOnRunStart 는 False 그대로(런 1 동작 무변경)
[PASS] 정지 감시 3s / 0.5m
[PASS] 엘리트 우선 타깃 on · 반경 12 m(발주서 §1-2)
[PASS] 해제 반경(18) > 고정 반경(12) — 경계에서 떨리지 않는다
[PASS] 고정 반경(12) ≤ zoneHoldRadius(18) — 엘리트를 쫓다 존 밖으로 나가면 Hold 되돌림이 먼저 걸린다
[PASS] 화면 점유 상한 0.5 ≤ 0.5(발주서 §1-3 「화면 50 % 이하」)
[PASS] 알파 0.6(발주서 §1-3)
[PASS] 지속 0.8 s(발주서 §1-3)
존 축 실측 — zoneSpawnerIds=[813001,813002] zoneClearKills=[18,20] (Q7 「존 진행 0/18」 = 존0 요구 처치)
[PASS] 존0 앵커 확보 (115.0,0.4,-22.0) · 스포너 노드=False — 🔴 재시작 좌표 (115.0,0.3,11.0) 에서 33.0 m (Q7 D-34 의 정지 좌표 · 원본 자동전투 탐지 범위 밖)
── ② D-34 「다음 런」 뒤 존0 유도 재시작 (발주서 §1-1)
🔴 원인 진리표 — ShouldGuideOnStart(cfg, restart)
[PASS] 813w3 · 런 1 = false (원본 자동전투에 맡긴다 — 맵 진입점이 존0 안이라 굴러갔다)
[PASS] 813w3 · 다음 런 = **false** ← 🔴 D-34 의 끊긴 지점(RunGuide.cs:311 `cfg.guideOnRunStart`)
[PASS] 813w4 · 런 1 = false (런 1 동작 무변경 = 회귀 0)
[PASS] 813w4 · 다음 런 = **true**
[PASS] reason 판정 — "restart"(813p 보고 §4 계약) = 재시작
[PASS] "pc" · "map N" 은 재시작 아님
[PASS] 런 1(reason="pc") → GuideBegun 0→0 (guideOnRunStart=False 이므로 그대로 = 813w3 동작 보존)
[PASS] 「다음 런」(reason="restart") → GuideBegun 0→1 (**Q7 이 「2 에서 안 오른다」고 적은 그 값**)
[PASS] State=Travel (Q7 실측 Off → Travel)
[PASS] 목적지=존 0 (115.0,0.4,-22.0)
[PASS] RestartGuides=1
[PASS] Restart ×2 → 유도 재개 2회(RestartGuides=2 · State=Travel)
고장(예외) 상태 강제 — Faulted=True
[PASS] 재시작이 고장 플래그를 푼다(restartResetsGuideState) — 런 1 의 예외가 세션을 못 죽인다
[PASS] RunDirector.Restart() 실행 — RestartCount=1 StartCount=2
[PASS] 실 경로에서도 GuideBegun 0→1
[PASS] 재시작 직후 State=Travel 목적지=Zone (115.0,0.4,-22.0)
[PASS] RunDirector.Phase=Zones
(참고) RunDirector 로그 = 재시작 일부 실패 — Object reference not set to an instance of an object
── ③ D-34 안전망 — 정지 감시 TrackIdleStall (원인과 무관하게 「166 s 정지」를 되돌린다)
[PASS] 제자리 3 s → 유도(첫관측 False · 2.0s False · 3.5s True)
[PASS] StallGuides=1 목적지=존 0
[PASS] 3 m 이동하면 타이머를 다시 잡는다(유도 안 함)
[PASS] 🔴 타깃 보유(제자리 교전) → 유도 0 — 전투를 끊지 않는다
[PASS] Phase=Ended(존 단계 아님) → 유도 0(결과 화면·로비에서 안 돈다)
[PASS] 이미 유도 중(DestKind=Zone) → 중복 유도 0
── ④ D-20 엘리트 우선 타깃 (발주서 §1-2 · Q7 TTK 45.2/77.3 s · 원인 = PC 가 엘리트를 안 때린다)
[PASS] 진짜 Spawned 3건(엘리트 2 · 잡몹 1) → 등록부 2 (용량 16 · 잡몹은 안 들어간다)
[PASS] 813s EliteMarker 구독=False (식별 출처가 같다 — SpawnedEvent.isElite = Actor.IsSubRole(Elite))
[PASS] 반경 12 m 안의 최근접 엘리트 = __WL813w4_Elite (30 m 엘리트는 제외)
[PASS] 200 m 떨어지면 후보 0
(전) 타깃=__WL813w4_Mob
[PASS] 엘리트 고정 = __WL813w4_Elite · EliteLocks=1
[PASS] 원본 락타깃 m_IsLockTarget=True(잡몹이 타깃을 도로 못 가져간다 · 813w 보스와 같은 방식)
[PASS] PC 타깃 = __WL813w4_Elite · EliteRetargets=1
[PASS] 폴링 ×2 추가 → 락 1 재타깃 1 (멱등)
[PASS] 틱 1회 뒤에도 타깃 유지(먼 타깃 무시가 고정 엘리트를 건드리지 않는다)
[PASS] Travel 에서는 재타깃 0(원본 Set_Path 덮어쓰기 방지) · 락은 유지 True
[PASS] 40 m 로 이탈 → 고정 해제(EliteReleases=1)
[PASS] 원본 락타깃 원복 m_IsLockTarget=False
[PASS] 5 m 로 복귀 → 재고정
[PASS] 진짜 Killed(Elite) → 고정 해제(EliteReleases 1→2)
[PASS] 처치 시에도 원본 락타깃 원복
[PASS] 등록부에서 제거 → 남은 엘리트 1
[PASS] 킬캠·BossKill 티어 = `Killed` 이벤트만 보는 813s/811gh 경로 — RunGuide 는 구독만 하고 아무것도 바꾸지 않는다
[PASS] 보스 유도로 전환 → 엘리트 고정 해제(보스 우선 · 고정 전 True 후 False)
── ⑤ D-37 레벨업 「LV」 연출 — 화면 점유 상한 · 알파 · 지속 (발주서 §1-3)
🔴 원인 실측 — FX_FireLevelUp 프리팹의 ParticleSystemRenderer.maxParticleSize
렌더러 9개 · FX_FireLevelUp=0.50 flare=1.00 lb=1.00 alpha_ball=1.00 grad10=1.00 ring_orange=1.00 gamestar=1.00 fire_burst=1.00 grad10=1.00
[PASS] 프리팹 최대 점유 1.00 (1.0 = 파티클 1개가 화면 높이 100 % · 8개가 1.0) ← 「LV 가 화면 대부분을 덮는다」의 값 근거
[PASS] 점유 상한 적용 2개(1.0 짜리 2개만 · 0.2 짜리는 그대로)
[PASS] A=0.50 C=0.20 (화면 50 % 이하 보장)
[PASS] 적용 후 최대 점유 0.50
[PASS] Color 모드 알파 1.00 → 0.60
[PASS] TwoColors 알파 (1.00,0.50) → (0.60,0.30)
[PASS] 알파 적용 2 · 건너뜀 1(Gradient 모드 — 새 Gradient 할당을 피한다)
측정 수명 10.00 s · 에셋 burstLifetimeSeconds=0.8 → 실 수명 0.80 s
[PASS] 🔴 프리팹은 그대로 1.00 — 인스턴스에만 걸었다(에셋·머티리얼 무수정)
[PASS] C8: burstMaxScreenFraction=0 · burstAlpha=1 → 렌더러·색 무변경(813k 동작 그대로)
── ⑥ GC 0 (틱 경로 · 813w3 와 같은 기준)
[PASS] 엘리트 우선 타깃 폴링 ×100 = 0 B
[PASS] 정지 감시 폴링 ×100(미도달) = 0 B
[PASS] 등록부 조회 ×100 = 0 B (사전 할당 배열 16칸)
── ⑦ C8 롤백 (각 스위치 0 → 813w3 동작)
[PASS] guideOnRestart=0 → 「다음 런」 유도 0 = 813w3 동작
[PASS] stallGuideSeconds=0 → 정지 감시 0회
[PASS] elitePriorityEnabled=0 → 고정 0 · 타깃 0 · 락 0 = 813w3 동작
[PASS] eliteTargetRadius=0 → 후보 0(고정 0)
[PASS] RuntimeDisabled=1 → Active=false · 틱 ×10 무동작
[PASS] (참고) WLGrowthSettings.Enabled=True — enabled=0 이면 813k 계약대로 이벤트 자체가 안 난다(값 필드도 안 읽힌다)
RESULT PASS