96 lines
6.6 KiB
Plaintext
96 lines
6.6 KiB
Plaintext
|
|
# WL813w7 Probe 2026-09-09 20:49:10 (edit mode · Play 0 · 로그인 0)
|
|||
|
|
playMode=False
|
|||
|
|
|
|||
|
|
── ⓪ 준비
|
|||
|
|
[PASS] WLBossArenaSettings 로드 · Active=True
|
|||
|
|
[PASS] WLRunGuideSettings 로드 · Enabled=True
|
|||
|
|
[PASS] WLRunSettings 로드 · Enabled=True
|
|||
|
|
[PASS] RunGuide.Subscribed(RunEvents)
|
|||
|
|
[PASS] HoldSpawn(FieldBossData) → 게이트 무장(armed=True open=False)
|
|||
|
|
|
|||
|
|
── ① 에셋 (813w7 신규 12필드 · 값 전부 SO = C45)
|
|||
|
|
RunGuide: holdPcOnRunEnd=True runEndHoldMaxSeconds=120 runEndHoldClearsTarget=True runEndHoldStopsAgent=True
|
|||
|
|
[PASS] holdPcOnRunEnd=1 (발주서 §1-2 ① 기본값)
|
|||
|
|
[PASS] runEndHoldMaxSeconds>0 (결과창을 닫고 방치해도 스스로 풀린다)
|
|||
|
|
[PASS] runEndHoldClearsTarget=1 (자동 스킬 루프 차단 · PCActor.cs:93 isTarget 조건)
|
|||
|
|
[PASS] runEndHoldStopsAgent=1 (잔여 경로 제거)
|
|||
|
|
BossArena: holdZoneSpawnOnlyAfterGate=True holdZoneSpawnSkipsRunZones=True rearmZoneSpawnsEnabled=True rearmZoneEmptySeconds=8 rearmZoneCheckSeconds=1 rearmZoneRegenMax=15 rearmZoneRunZonesOnly=True rearmZoneSpawnsOnRestart=True
|
|||
|
|
[PASS] holdZoneSpawnOnlyAfterGate=1 (차단을 보스전으로 좁힌다)
|
|||
|
|
[PASS] holdZoneSpawnSkipsRunZones=1 (런 사냥 존은 대상 제외)
|
|||
|
|
[PASS] rearmZoneSpawnsEnabled=1
|
|||
|
|
[PASS] rearmZoneSpawnsOnRestart=1 ([다음 런] 즉시 1회)
|
|||
|
|
[PASS] rearmZoneRegenMax>0 (테이블 실패 시 폴백·상한)
|
|||
|
|
[PASS] 🔴 rearmZoneEmptySeconds(8s) > 원본 리듬 5s — 멀쩡한 스포너와 겹치지 않는다(이중 스폰 방지)
|
|||
|
|
[PASS] 감시 주기(1s) < 임계(8s)
|
|||
|
|
[PASS] 813w3 holdZoneSpawnNearArena=1 유지(차단 경로 자체는 그대로 · 조건만 좁혔다)
|
|||
|
|
|
|||
|
|
── ② 🔴 D-45 원인 산식 (Q10: R1n 0/18 · R2n 1/18 PC (112.93,0.06,−16.60) 고정 무피해 · R3n 14/18 정지)
|
|||
|
|
아레나 중심 (139.00, 0.80, -20.00) · 차단 반경 = arenaRadius 20 + zoneSpawnHoldMargin 10 = 30 m
|
|||
|
|
존0(id 813001) 앵커 (115.00, 0.39, -22.00) → 중심 24.1 m · 차단 사정권 안 🔴
|
|||
|
|
존1(id 813002) 앵커 (147.00, 2.59, 30.00) → 중심 50.6 m · 차단 사정권 밖
|
|||
|
|
[PASS] 🔴 존0 이 차단 사정권 안(24.1 m ≤ 30 m) = D-45 의 직접 원인
|
|||
|
|
[PASS] Q10 R2n PC 좌표 (112.93, 0.06, -16.60) ↔ 존0 앵커 5.8 m ≤ zoneArriveRadius 6 = **도착(Hold)했는데 때릴 몹이 없었다**
|
|||
|
|
차단 방식 = MobControlMgr.StopAllCoroutines() → PhaseAllKill 의 `killmobcount = 0`(MobControlMgr.cs:218)이
|
|||
|
|
함께 끊겨 카운터가 n_MaxMonsterCount 에 굳는다 → `==` 판정(:214)이 두 번 다시 참이 안 된다 = 영구 소진.
|
|||
|
|
(MyCoroutine.Set_Coroutine = StartCoroutine(MyCoroutine.cs) 이므로 StopAllCoroutines 에 걸린다 · 실측)
|
|||
|
|
|
|||
|
|
── ③ 수리 ① 결과창 중 PC 정지 (D-45 원인 = 결과창 100 s 사이 z0 처치 26 → 47)
|
|||
|
|
[PASS] 가짜 RunEnded(Win) → 정지 시작(RunEndHeld=True RunEndHolds=1)
|
|||
|
|
[PASS] 가이드는 꺼진다(State=Off Dest=None) — 813w6 계약 유지
|
|||
|
|
[PASS] 🔴 정지 틱 → JoystickStatus=1(1 = 원본 자동 교전 접근 루프 차단 · PCActor.cs:139) Steering=True
|
|||
|
|
[PASS] 🔴 정지 틱 → 타깃 해제(isTarget=False RunEndTargetClears=1) = 자동 스킬 루프(PCActor.cs:93)도 돌지 않는다
|
|||
|
|
[PASS] 정지가 이어진다(틱 3 · 상한 전)
|
|||
|
|
[PASS] 🔴 가짜 RunStarted("restart") → 정지 해제(RunEndHeld=False 해제 1 사유 '런 시작')
|
|||
|
|
[PASS] 🔴 조종 원복 JoystickStatus=0(0 = 원본 그대로) Steering=False
|
|||
|
|
[PASS] 813w4 재유도는 그대로 산다(RestartGuides=1) — 정지 해제가 유도보다 앞
|
|||
|
|
[PASS] 🔴 상한 만료 자동 해제(199 s 유지 → 201 s 해제 · 사유 '상한 만료')
|
|||
|
|
[PASS] 만료 해제에서도 조종 원복(JoystickStatus=0)
|
|||
|
|
[PASS] JoystickStatus=2(스킬 이동 잠금)는 건드리지 않는다(=2 Steering=False)
|
|||
|
|
|
|||
|
|
── ④ 수리 ②-a 리젠 차단 판정(ShouldHoldZoneSpawn · 순수 함수)
|
|||
|
|
[PASS] IsRunZoneSpawner(813001)=true (런 사냥 존)
|
|||
|
|
[PASS] IsRunZoneSpawner(813005)=false (런 밖 존)
|
|||
|
|
[PASS] 🔴 게이트 **닫힘** + 런 밖 존 → 차단 안 함(= 813w6 이 만든 「다음 런 내내 차단」이 사라진다)
|
|||
|
|
[PASS] 🔴 게이트 열림 + **런 사냥 존** → 차단 안 함(D-45 재발 차단)
|
|||
|
|
[PASS] 게이트 열림 + 런 밖 존 → 차단(813w3 잡몹 유입 차단 의도 유지)
|
|||
|
|
[PASS] C8: 두 스위치 0 → 게이트 전 + 런 존도 차단 = 813w3 동작 그대로
|
|||
|
|
[PASS] C8: holdZoneSpawnNearArena=0 → 언제나 차단 0
|
|||
|
|
|
|||
|
|
── ⑤ 수리 ②-b 존 재무장(원본 리셋 API 없음 → MobActor.On_Regen = MobControlMgr.cs:221 과 같은 호출)
|
|||
|
|
감시 대상 2개: 813001 / 813002
|
|||
|
|
[PASS] 대상 = WLRunSettings.zoneSpawnerIds 전부(rearmZoneRunZonesOnly=1)
|
|||
|
|
[PASS] 첫 대상 = 존0(813001)
|
|||
|
|
[PASS] WaveSize(813001)=15 (테이블 n_MaxMonsterCount → 없으면 rearmZoneRegenMax 15 · 상한도 그 값)
|
|||
|
|
[PASS] alive=1 → 빈 시각 미기록(-1)
|
|||
|
|
[PASS] alive=0 → 빈 시각 100 기록
|
|||
|
|
[PASS] 임계(8s) 전 → 트리거 없음(빈 시각 그대로 100)
|
|||
|
|
[PASS] 🔴 임계 경과 → 재무장 트리거(빈 시각이 108.5 로 갱신 = RearmZone 호출)
|
|||
|
|
(에디트 모드는 ActorInfo.Ins 가 없어 실제 On_Regen 은 0마리 — 「언제 트리거되는가」까지 증명 · §미확인)
|
|||
|
|
[PASS] 런 밖(결과창)에서는 감시 정지(빈 시각 108.5 불변)
|
|||
|
|
[PASS] RearmZoneSpawns() 진입점 동작(재등장 0마리 · 에디트 모드라 0 · 목록 2개 재구축)
|
|||
|
|
|
|||
|
|
── ⑥ 수리 ③ 런 밖 처치가 존 카운터에 안 실린다(Q10: 결과창 동안 z0 26 → 47)
|
|||
|
|
[PASS] BossArena 누적은 계속 센다(1 → 22) = 813p 계약(리셋 금지) 유지
|
|||
|
|
[PASS] 런 밖 게이트 평가는 건너뛴다(GateSuspendedEvals 0 → 21)
|
|||
|
|
[PASS] 🔴 다음 런 시작 직후 존0 진행 = 0/18 — 런 밖 21처치가 한 건도 안 실렸다(StartRun 스냅샷 차감)
|
|||
|
|
[PASS] 런 안 처치 1건은 정상 반영(1/18)
|
|||
|
|
|
|||
|
|
── ⑦ GC 0 (틱 경로 · 각 100회)
|
|||
|
|
[PASS] 정지 틱 ×100 = 0 B
|
|||
|
|
[PASS] 빈 존 감시 ×100 = 0 B
|
|||
|
|
[PASS] 차단 판정 ×100 = 0 B (acc=False)
|
|||
|
|
[PASS] 런 존 판정 ×100 = 0 B (acc=False)
|
|||
|
|
|
|||
|
|
── ⑧ C8 롤백 (신규 스위치 0 → 813w6 동작 그대로)
|
|||
|
|
[PASS] holdPcOnRunEnd=0 → 정지 0(RunEndHeld=False RunEndHolds=0)
|
|||
|
|
[PASS] 조종도 잡지 않는다(JoystickStatus=0) = 813w6 그대로
|
|||
|
|
[PASS] 정지 중 스위치 off → 즉시 해제(사유 '스위치 off')
|
|||
|
|
[PASS] rearmZoneSpawnsEnabled=0 → 감시 무동작(빈 시각 -1)
|
|||
|
|
[PASS] RearmZoneSpawns() 도 0
|
|||
|
|
[PASS] rearmZoneSpawnsOnRestart=0 → [다음 런] 즉시 재무장 0
|
|||
|
|
[PASS] RunGuide RuntimeDisabled → Active=false
|
|||
|
|
[PASS] Tick 이 정지를 풀고 원본으로 돌려준다(RunEndHeld=False)
|
|||
|
|
[PASS] BossArena RuntimeDisabled → 감시 무동작
|
|||
|
|
|
|||
|
|
RESULT PASS
|