Project_WL/AgentScripts/WL813l_PROBE.txt

93 lines
6.0 KiB
Plaintext
Raw 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.

# WL813l Probe 2026-09-09 12:54:55 (edit mode · Play 0 · 로그인 0)
playMode=False
── ⓪ 설정 에셋 (C45 · 값 전부 SO)
[OK] 에셋 로드 Assets/WL/UI/Settings/Resources/WL/WLPowerDeltaSettings.asset
enabled_=True toastEnabled=True statPopupLineEnabled=True hitsPerKillEnabled=True
산식 스탯: atk=BaseDmg(폴백 ATK) cri=CRI criDmg=CRI_DMG_Multiplier(useCritDamage=True) aspd=ATK_SPD_Multiplier(base 1) hp=MaxHP
계수: critWeight=1 aspdWeight=1 hpWeight=0.1 powerScale=1
토스트: offset=430px lines=2 font=52px 2s poll=0.5s 최소 0.5%
타수: source=HitConfirmed window=60s minKills=5 감소 하한 1방 · 존 클리어 표시=True
문구: "전투력 +{0}%" / "전투력 {0} → {1} ({2}%)" / "이제 {0}방 → {1}방"
[OK] WLPowerDeltaSettings.Enabled
[OK] 대역 회피 — 내 토스트 [340, 460] · 스탯 팝업 위 328 · 연쇄 아래 472 · 전리품 -120
── 준비
[OK] 가짜 메인 PC IsMainPC()=true · MyValue.bMyPC=True
[OK] 구독 ON · PC 스탯=null(에디트 모드 — 산식은 §① 에서 손으로 채운 ActorStatInfo 로 잰다)
── ① 전투력 산식 (🔴 원본에 CP 없음 = 「추정」 · 발주서 §1-1 대안)
[OK] atk100 cri0 aspd1 hp1000 → 200.00 (기대 200.00)
[OK] 치명 20%×50% → 210.00 (기대 210.00 · +5%)
[OK] 공속 1.3 → 230.00 (기대 230.00 · +15%)
[OK] 전 스탯 2배급 → 486.00 (기대 486.00)
[OK] 증가율 200→230 = 15.00% (기대 15.00)
[OK] 이전 0 → 0%(나눗셈 방지)
[OK] ActorStatInfo 읽기 → atk=500.0 cri=0.150 criDmg=0.600 aspd=1.200 hp=8000.0 → power=1454.0 (기대 1454.00)
[OK] BaseDmg 우선(ATK 400 이 아니라 500)
[OK] BaseDmg 0 → ATK 폴백 400
[OK] 스탯 null → false(로비 안전)
── ② 전투력 % 토스트
기준값 1,000(probe) ← 기준값
[OK] 1000 → 1150 · 문구 "전투력 +15.0%" · 노드 없음(문구만 기록) — "전투력 +15.0%"
[OK] 잡음 차단 — +0.43% 는 안 띄운다(SkippedSmall=1)
[OK] 하락 무시(showOnPowerDown=False · SkippedDown=1)
[OK] 쿨다운 병합 1건(연타해도 토스트가 도배되지 않는다)
[OK] 마감 문구 "전투력 +10.0%" (직전 표시값 1100 → 1210 = +10.0% · 중복 계상 0)
[OK] 잔변화 누적 — 0.40% 대기 후 0.80% 로 표시 "전투력 +0.8%"
[OK] 레벨업 프레임 토스트 생략(중복 표시 0 · Suppressed=1 Toast=0)
[OK] GrowthEvents.LevelUp 수신 1회(PC 스탯이 없어 전투력 값은 안 읽힌다 = 에디트 모드 한계)
Bound=False (에디트 모드 · NewGameUI 없음 — 문구만 기록)
── ③ 레벨업 팝업 전투력 줄 (813y StatPopup · 1줄 추가)
init: 구독 ON · box pos=(0.00, 180.00) size=(1080.00, 296.00) rows=3 power=on unitsPerPx=1.0000 titleFont=72.0 edge[LiberationSans SDF Material (WL813y Edge) shader=TextMeshPro/Mobile/Distance Field outlineW=0.260 outlineC=0D0805FF underlay=000000BF off(0.45,-0.45) soft=0.20 UNDERLAY_ON=True]
[OK] StatPopup.PowerLineOn(에셋 · enabled_ · statPopupLineEnabled)
[OK] 배치 — box pos=(0.00, 180.00) size=(1080.00, 296.00) rows=3 power=on unitsPerPx=1.0000 titleFont=72.0 edge[LiberationSans SDF Material (WL813y Edge) shader=TextMeshPro/Mobile/Distance Field outlineW=0.260 outlineC=0D0805FF underlay=000000BF off(0.45,-0.45) soft=0.20 UNDERLAY_ON=True]
[OK] PowerRow 노드 생성(스탯 줄 3개는 그대로)
[OK] 마지막 스탯 줄 아래 y=-254.4(스탯 줄 -198.4) · font=44.0 color=RGBA(1.000, 0.840, 0.350, 1.000)
Show: level=7 rows=1 power="" text="LEVEL 7 / MaxHP +12" pos=(0.00, 180.00)
[OK] 스탯 줄 1개(813y 동작 불변)
전투력 줄="" (PC 스탯 null → 빈 줄이 정상 · 실값은 인게임 QA)
[OK] 문구 조립 "전투력 12,000 → 13,800 (+15.0%)"
[OK] 변화 없을 때 "전투력 12,000"
── ③-b 토스트 노드 배치 (프리팹 diff 0 · 런타임 생성)
bind: 연결 IngameUIs/WL_HUD · lines=2 offset=430px unitsPerPx=1.0000 font=52.0 edge[LiberationSans SDF Material (WL813y Edge) shader=TextMeshPro/Mobile/Distance Field outlineW=0.260 outlineC=08080FFF underlay=00000000 off(0.55,-0.55) soft=0.20 UNDERLAY_ON=False]
[OK] 노드 연결(부모 경로 "IngameUIs/WL_HUD")
[OK] WL_PowerDeltaToast 노드
[OK] hideFlags=DontSave(씬·프리팹에 굽지 않는다) · layer=5
[OK] 줄 노드 2개(SO toastLines=2)
Line0 y=430.0 size=(1080.00, 60.00) alpha=0.00 font=52.0
Line1 y=370.0 size=(1080.00, 60.00) alpha=0.00 font=52.0
[OK] 표시 "전투력 +25.0%" alpha=1.00 color=RGBA(1.000, 0.840, 0.350, 1.000) scale=1.250(펀치)
[OK] 둘째 줄 "이제 3방 → 2방" y=370.0(첫 줄 430.0 · 간격 60px)
[OK] 2s 뒤 전부 사라짐(alpha=0.00 · 보이는 줄 0)
── ④ 처치 타수 비교 (기준서 §E 5-3 「타수 1」)
창1 누적 hits=30 attacks=30 kills=10
[OK] 성장 시점에 기준선 확정 — 기준 타수 3.00(30/10)
[OK] 새 창 리셋(kills=0)
[OK] 창2 마감 — 타수 감소 3 → 2 · 비교 문구 무장
[OK] ZoneCleared → "이제 3방 → 2방" (1회)
[OK] 다음 존에서 다시 뜨지 않는다(무장 1회 소모 · 1회)
[OK] 표본 부족(kills=2) — 창 버림 (minKills=5)
[OK] 3.00 → 2.90 은 무장 안 함 — 타수 변화 없음(3.00 → 2.90)
[OK] 몹이 죽인 것은 표본에서 제외(kills=0)
── ⑤ GC 0 (폴링 · 카운터)
[OK] Tick × 1000 → GetTotalMemory 0 B · MonoUsedSize 0 B (폴링 2회)
[OK] AttackStarted+HitConfirmed+Killed 2,200발 → 0 B · 0 B (헬퍼 반환 문자열 1개 제외하면 카운터는 int 증가뿐 · hits=1000)
대조군 new object() × 1000 = 20480 B (0 이 아니어야 측정이 살아 있다) · keep=1000
── ⑥ C8 롤백 (WLPowerDeltaSettings.enabled_ = 0 → 표시 0)
[OK] Enabled=false
[OK] 전투력 2배 변화에도 토스트 0회
[OK] 레벨업 무시(LevelUpSeen=0)
[OK] StatPopup.PowerLineOn=false → 팝업 전투력 줄 0
[OK] 팝업 전투력 줄 ""(빈 문자열)
[OK] BuildStatPopupLine()=null
[OK] 롤백 해제 — 다시 Enabled=true
RESULT PASS