Project_WL/AgentScripts/WL813i2_PROBE.txt

122 lines
6.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WL813i2 Probe 2026-09-09 21:48:12 (edit mode · Play 0 · 로그인 0)
playMode=False
## ⓐ 에셋 실측 (디스크 값 · 클론 아님)
[PASS] WLSurvivalSettings 로드 OK
[PASS] 신규 6필드 hitInv=True boss=0.6s mob=False/0.2s minLoss=1 log=False
[PASS] §1-3 값 autoPotionHpRatio = 0.55 (0.45 → 0.55)
· 참고: 임계 0.55 + 회복 0.5 = 1.05 → 만충 초과 5 % 낭비(실측)
[PASS] 기존 배율(F-17) boss=0.1 mob=0.1
[PASS] WLRunGuideSettings 로드 OK
[PASS] 신규 9필드 dodge=True states=boss_skill1charging|boss_skill2charging dist=3m/0.3s side=0 radius=14 cool=1.5 nav=2 log=True
## ⓑ 🔴 보스 5연타 0.52 s (Q10 §6 재현 · 원 피해 222 ×0.10)
| # | t(s) | 원 피해 | 결과 | HP after | via |
|---|---|---|---|---|---|
| 1 | 0.00 | 222 | 🔴 피격 22.2 | 288/310 | Scaled |
| 2 | 0.52 | 222 | 무적(흘림) | 288/310 | HitInv |
| 3 | 1.04 | 222 | 🔴 피격 22.2 | 266/310 | Scaled |
| 4 | 1.56 | 222 | 무적(흘림) | 266/310 | HitInv |
| 5 | 2.08 | 222 | 🔴 피격 22.2 | 243/310 | Scaled |
[PASS] 🔴 5연타 중 **실제 피격 3타** (창 0.6s · 발주서 §1-1 목표 「1~2타」 · 아래 스윕 표 참조)
[PASS] 무적이 막은 타수 = 2 (5 피격 3)
[PASS] 창 연 횟수 3(보스 3) = 피격 타수
[PASS] 🔴 5연타 후 생존 HP = 243/310 (Q10 실측 = 5대에 사망)
[PASS] 대조군(창 off) = 5타 전부 피격 · HP 199/310 → 창이 만든 차이 2타
| 창(초) | 피격 타수 | 5연타 후 HP | 흘린 타 |
|---|---|---|---|
| 0.00 | 5 | 199/310 | 0 |
| 0.30 | 5 | 199/310 | 0 |
| 0.53 | 3 | 243/310 | 2 |
| 0.60 | 3 | 243/310 | 2 |
| 0.80 | 3 | 243/310 | 2 |
| 1.05 | 2 | 266/310 | 3 | ← 발주서 목표 1~2타
| 1.30 | 2 | 266/310 | 3 | ← 발주서 목표 1~2타
| 1.60 | 2 | 266/310 | 3 | ← 발주서 목표 1~2타
| 2.10 | 1 | 288/310 | 4 | ← 발주서 목표 1~2타
· 🔴 에셋 값은 발주서 제안대로 **0.6 s** 로 두었다. 목표(1~2타)를 만드는 최소 창은 위 표의 실측값이다 — **값 결정은 Lead**(C3).
## ⓒ 무적 창 ms 실측
[PASS] 창 열림 t=100.000 → until=100.600 · 길이 600 ms
[PASS] 경계 직전 t=100.599(+599 ms) → 무적 True · 잔여 1.0 ms
[PASS] 경계 직전 피격 = 피해 0 (HP 288 유지)
[PASS] 경계 직후 t=100.601(+601 ms) → 무적 False
[PASS] 경계 직후 피격 = 정상 피해 22.2 (원 222 ×0.10)
[PASS] 창 안 피격은 창을 연장하지 않는다 until=101.201
## ⓓ 잡몹 피해 무적 0 (mobHitInvincible=0)
[PASS] 잡몹 5연타 = 5타 전부 피격 · 막은타 0 · 연 창 0 (실측상 잡몹은 한 방에 0.3~0.4 %)
[PASS] mobHitInvincible=1 로 뒤집으면 0.1 s 간격 5타 중 3타만 피격(창 0.2 s)
## ⓔ 최소 피해 게이트 · 부활 창 우선 · 런 경계
| 입력(boss · hpLost) | 창(초) |
|---|---|
| boss · 30 HP | 0.6 |
| boss · 0.5 HP(<minLoss 1) | 0 |
| mob · 30 HP (mobHitInv=0) | 0 |
| mob · 30 HP (mobHitInv=1) | 0.2 |
| SO null | 0 |
[PASS] HitInvincibleWindow 5분기 전부 기대값
[PASS] 실피해 0 인 타격은 창을 열지 않는다(연 창 0)
[PASS] 부활 창이 열리면 피격 창은 닫힌다(hitInv=False reviveInv=True)
[PASS] 겹칠 때 via=ReviveInv (부활 1 / 피격 0)
[PASS] 흘린 타의 진단 via=HitInv (새 값 HitInv=5)
[PASS] 런 경계에서 피격 창이 닫힌다
## ⓕ 예고(차징) 감지 — 공개 경로 = Actor.m_animation
[PASS] Anubis 컨트롤러 로드 Anubis_Animations_Check (Assets/ResWork/Suriyun/Monster Pack Pyramid/Animations/Anubis/Anubis_Animations_Check.controller)
· 컨트롤러 레이어 수 = 1
· "boss_skill1charging" → 레이어 0 (Base Layer)
· "boss_skill2charging" → 레이어 0 (Base Layer)
[PASS] 🔴 SO 상태 이름 boss_skill1charging · boss_skill2charging 가 실제 Anubis 컨트롤러에 **존재**(Animator.HasState · 전 레이어)
[PASS] Animator 상태 판정: charging=True idle=False
[PASS] IsBossTelegraphing ×200,000(실 Animator · 전 레이어) = 0 byte
[PASS] 안전 폴백 null=True 애니메이터 없음=True 컨트롤러 없음=True 이름목록 빔=True
| 컨트롤러 | boss_skill1charging | boss_skill2charging |
|---|---|---|
| Lusif_Animations_B | ✅ | — |
| Queen_Undead_Animations_Check | — | ✅ |
| Golem_Child_Animations_Check | — | ✅ |
| Flower Dryad_Animations_Check | ✅ | — |
| Forest_Shaga_Boss | — | ✅ |
| Angez_Boss | ✅ | — |
| Brother_Penguin_Boss | ✅ | — |
| Anubis_Animations_Check | ✅ | ✅ |
· 예고 상태를 가진 컨트롤러 8종 · Anubis(10006 · Q10 사망 14/14 의 보스)는 2종 다 보유
## ⓖ 회피 스텝 판정 (순수 함수 · 「예고 1건에 1회」)
| 입력(보스반경 · 예고 · PC준비 · 마지막스텝후) | 판정 |
|---|---|
| 안 · 예고 · 준비 · 99 s | kDodgeGo |
| 안 · 예고 · 준비 · 0.5 s(<쿨 1.5) | kDodgeCooldown |
| 밖 · 예고 · 준비 · 99 s | kDodgeNoBoss |
| 안 · 예고아님 · 준비 · 99 s | kDodgeNoTelegraph |
| 안 · 예고 · PC바쁨 · 99 s | kDodgePcBusy |
| dodgeStepEnabled=0 | kDodgeOff |
| cfg=null | kDodgeOff |
[PASS] 판정 7분기 전부 기대값
[PASS] 🔴 쿨 1.5s > 실측 차징 1.2 s → **예고 1건에 스텝 1회**
[PASS] 같은 예고 안(1.2 s 경과)의 두 번째 요청 = kDodgeCooldown
[PASS] 방향: away=(1.00, 0.00, 0.00) (보스 반대) · side=(0.00, 0.00, -1.00) (직교 · dot=0.000) · 스텝 지점 = PC + away×3m = (16.0, 0.0, 0.0)
· 계획 속도 = 3m / 0.3s = 10.0 m/s (NavMeshAgent.Move 등속)
[PASS] NavMesh/PC 없음 → 스텝 0(Dodging=False DodgeSteps=0) · 실이동 3 m 는 인게임 QA 몫(「미확인」)
## ⓗ GC 0 (핫 경로)
[PASS] TakeDamage(무적 창 경로 포함) ×200,000 = 0 byte
[PASS] IsHitInvincible ×200,000 = 0 byte
[PASS] DodgeDecision ×200,000 = 0 byte
[PASS] 대조군(64 KB 의도 할당) = 69632 byte(> 0 이어야 계측이 유효하다)
## ⓘ C8 롤백
[PASS] bossHitInvincibleSeconds=0 → 5연타 5타 전부 피격 · 창 0 = 813i 동작
[PASS] hitInvincibleEnabled=0 → 5타 전부 피격 · 창 0
[PASS] SO off → 배율·창 전부 무동작(원 피해 100 그대로 · PassDisabled=1)
[PASS] dodgeStepEnabled=0 → 판정 kDodgeOff · 스텝 0
## ⓙ 정리
[PASS] 임시 오브젝트 0 · 에셋 원복(Survival True · RunGuide True) · MyPC=null True · 씬 dirty False(시작 False) · Override 0
RESULT PASS