Project_WL/AgentScripts/WL813h_PROBE.txt

69 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

[WL-813h] 보스 페이즈·예고·쿨 데이터화 (#813) - Assets/WL/Combat/Boss/BossEvents.cs (NEW): BossPhase 통지 허브. 코어 CombatEvents.cs 는 무수정 — 811d~j 와 충돌 방지. 같은 규약(정적 · struct 페이로드 in 전달 · 사전 할당 구독자 배열 · 예외 격리 · WLCombatCoreSettings enabled/RuntimeDisabled 준수). 실측 GC = 1000회 디스패치 0 byte. - Assets/WL/Combat/Boss/BossPatternTable.cs (NEW): 보스 패턴 JSON 로더. 스폰(On_Regen) 시 그 Boss_*.cs 가 직접 선언한 public float/int/bool 필드에만 대입(DeclaredOnly) → Boss_*.cs 수정 0 · 프리팹 값 변경 0. 행이 없으면 무동작. - Assets/WL/Combat/Settings/Resources/WL/WL813h_BossPattern.json (NEW): 보스 12행(10001~10012). 813b 실측(프리팹 인스펙터) 값 그대로이며, Anubis(10006) 의 예고(차징) 3 s → 1.2 s 만 발주서 제안값으로 데이터에서 바꾼다. 페이즈 임계 기본 [1.0, 0.7, 0.4] · 스킬 해금 임계 기본 0.9 / 0.7(원본과 동일). - Assets/Script/Character/Mob/BossMobActor.cs: 훅 3줄(로더 적용 1 · 임계 조회 1 · 페이즈 통지 1). 원본 라인은 그대로 둬서 C8 시 100% 원본 동작. - AgentScripts/WL813h_Probe.cs + WL813h_PROBE.txt: 에디트 모드 프로브와 실행 덤프 (로더 적용 · 행 없음 원복 · 페이즈 3회 · GC 0 · RuntimeDisabled 롤백 전부 PASS). 게이트 A PASS(oneshot · exit 0 · error CS 0줄 · 0.8분) · 콘솔 error 0 · Play 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 15:19:49 +00:00
===== WL-813h 보스 패턴 로더 · 페이즈 통지 프로브 =====
playMode=False time=2026-09-09 00:18:21
── ① 로더 상태
코어 Enabled = True
로더 Enabled = True
RowCount = 12
ParseFailed = False
── ① 임계 조회표 (skill1 / skill2 = 해금 임계 · phases = 페이즈 임계)
ID 이름 skill1 skill2 phases 필드수
10001 Lusif 0.9 0.7 [1, 0.7, 0.4] 8
10002 Lusif_B 0.9 0.7 [1, 0.7, 0.4] 7
10003 Mega_Ice_Golem 0.9 0.7 [1, 0.7, 0.4] 11
10004 Minotos 0.9 0.7 [1, 0.7, 0.4] 7
10005 Golem_Child 0.9 0.7 [1, 0.7, 0.4] 8
10006 Anubis 0.9 0.7 [1, 0.7, 0.4] 9
10007 Queen_Undead 0.9 0.7 [1, 0.7, 0.4] 10
10008 Flower Dryad 0.9 0.7 [1, 0.7, 0.4] 15
10009 Angez_B 0.9 0.7 [1, 0.7, 0.4] 11
10010 Angez_C 0.9 0.7 [1, 0.7, 0.4] 9
10011 Brother_Penguin_C 0.9 0.7 [1, 0.7, 0.4] 14
10012 Shaga_B 0.9 0.7 [1, 0.7, 0.4] 12
── ② Anubis(10006) 프리팹 인스턴스에 행 적용 (LoadPrefabContents · 저장 없음)
대상 = Boss_Anubis on 'Anubis'
ApplyById(10006) → 적용 필드 9개 · 미지원 키 0개
필드 프리팹값 → 적용후 (변화)
Skill1CoolTime 18 → 18
Skill1Dmg 2.2 → 2.2
Skill1ChargingTime 3 → 1.2 <<< 변경
Perforation_Line False → False
Skill2CoolTime 15 → 15
Skill2ChargingTime 3 → 1.2 <<< 변경
Skill2AttackDelay 1 → 1
Skill2Dmg 3 → 3
Skill2Speed 15 → 15
── ③ 행 없음(ID 99999) → 값 유지 검증
Revert(10006) = 9개 되돌림 (프리팹 원본 값으로 복구)
ApplyById(99999) = -1 (1 = 무동작) · 변경된 필드 0개
판정 = PASS (행 없으면 프리팹 값 그대로)
── ④ BossPhase 통지 (가짜 HP 100 → 70 → 40 %)
#1 phase 0→1/3 id=10006 hp=100 % 임계=1 spawn=True
#2 phase 1→2/3 id=10006 hp=70 % 임계=0.7 spawn=False
#3 phase 2→3/3 id=10006 hp=40 % 임계=0.4 spawn=False
이벤트 3회 · Raised=3 Dispatched=3 최종 페이즈=3
판정 = PASS (100→70→40 · 3회 · 회복 시 되돌림 없음)
── ④ 스킬 해금 임계 (원본 0.9 / 0.7 · 행이 값을 주면 그 값)
HP 100 % → CanUseSkill1=False CanUseSkill2=False
HP 95 % → CanUseSkill1=False CanUseSkill2=False
HP 90 % → CanUseSkill1=True CanUseSkill2=False
HP 80 % → CanUseSkill1=True CanUseSkill2=False
HP 70 % → CanUseSkill1=True CanUseSkill2=True
HP 50 % → CanUseSkill1=True CanUseSkill2=True
── ⑤ 디스패치 GC (Raise 1000회 · 구독자는 카운터만 = 로그 문자열 할당 배제)
구독자 1명 · 수신 1000회 · 할당 델타 = 0 byte (회당 0 byte)
── ⑥ C8 롤백 (RuntimeDisabled = true → 로더·통지 무동작)
로더 Enabled=False · ApplyById=-1 · 변경 필드=0 · 게이트(HP 10%)=False/False · UpdatePhase=0 · 이벤트=0
판정 = PASS (프리팹 값 · 원본 게이트 · 통지 0)
===== 끝 =====