Project_WL/AgentScripts/WL813k_PROBE.txt

95 lines
4.5 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.

# WL-813k 레벨업 폭발 프로브 — 2026-09-09 00:42:21 · Unity 6000.3.23f1 · isPlaying=False
## ① 설정 에셋 · 프리팹
core asset = found · WLCombatCoreSettings.Enabled = True
growth asset= found · WLGrowthSettings.Enabled = True · GrowthEvents.Enabled = True
burstPrefab = FX_FireLevelUp · path = Assets/ResWork/EricWang/FX_FireSkill/Prefab/FX_FireLevelUp.prefab
ParticleSystem = 9 · Renderer = 9
{
"enabled": true,
"verboseLog": false,
"forwardToCombatEvents": true,
"burstPrefab": {
"instanceID": 84270
},
"burstParentToPc": true,
"burstOffset": {
"x": 0.0,
"y": 0.10000000149011612,
"z": 0.0
},
"burstScale": 1.0,
"burstLifetimeSeconds": 0.0,
"burstLifetimeMaxSeconds": 6.0,
"burstMinIntervalSeconds": 0.5,
"useEffectBudget": true,
"hpRecoverRate": 1.0,
"mpRecoverRate": 1.0,
"showRecoverHud": true,
"scalePunch": 1.1200000047683716,
"scalePunchDuration": 0.2199999988079071,
"statA": 10,
"statB": 18,
"statC": 8,
"refreshStatOnLevelUp": false
}
stat 3종 = MaxHP / MaxMP / ATK (enum int 10/18/8)
EffectBudget.Heavy limit = 2 · count = 0
## ② 가짜 LevelUp 발행 → 이펙트 스폰
subscribed = True · LevelUp.Count = 1
fake SD_PC: Lv=6 · Get_Point()=25 · Get_UsePoint()=0
Raised=1 Dispatched=1 TotalRaised=1 last=LevelUp
payload: prev→new = 6→7 · levelsGained=1 · statPointTotal=25
core forward: CombatEvents.LevelUp.Raised=1 last=LevelUp
burst instance = FX_FireLevelUp(Clone) · pos = (0.00, 0.10, 0.00) · 수명(측정) = 6.00 s
스폰된 ParticleSystem = 9 · Heavy 슬롯 count = 1
counters: Handled=1 BurstSpawned=1 SkippedBudget=0 SkippedThrottle=0 SkippedNoPrefab=0
HP/MP 전회복: pc=null(에디트 모드 · 월드 PC 없음) → healHp=0 healMp=0 (실제 Heal 호출은 Play 필요 — 계산식은 §④에서 검증)
정리 후 Heavy count = 0 · instance = False
## ③ 이펙트 상한 · 연속 레벨업 스로틀
(a) Heavy 슬롯 선점 2/2 → count=2
BurstSpawned=0 SkippedBudget=1 Handled=1 note=budget
슬롯 반납 후 count=0
(b) 연속 5회 (interval=0.5s): Handled=5 BurstSpawned=1 SkippedThrottle=4
levelsGained(마지막)=5 · Raised=5 Dispatched=5
정리 후 Heavy count=0
## ④ HP/MP 전회복 계산식 (LevelUpBurst.ComputeRecovery · 순수 함수)
설정 비율: hpRecoverRate=1 mpRecoverRate=1 showRecoverHud=True
| HP/MaxHP | MP/MaxMP | 비율 | healHP | healMP | 결과 HP | 결과 MP |
| 1/1000 | 5/200 | 1/1 | +999 | +195 | 1000 | 200 |
| 370/1000 | 120/200 | 1/1 | +630 | +80 | 1000 | 200 |
| 1000/1000 | 200/200 | 1/1 | +0 | +0 | 1000 | 200 |
| 0/1000 | 0/200 | 1/1 | +1000 | +200 | 1000 | 200 |
| 370/1000 | 120/200 | 0.5/0.5 | +500 | +80 | 870 | 200 |
| 370/1000 | 120/200 | 0/0 | +0 | +0 | 370 | 120 |
## ⑤ GC (구독자 1 = LevelUpBurst · 스로틀 구간)
(a) RaiseLevelUp(data=null) × 1000 → GC 델타 = 0 B (회당 0.00 B)
(b) RaiseLevelUp(data=SD_PC) × 1000 → GC 델타 = 0 B (회당 0.00 B)
※ (b)(a) 는 페이로드의 statPointTotal 이 부르는 **원본** SD_PC.Get_Point() → Get_UsePoint() 의 LINQ(Select/Sum) 할당이다.
(c) 원본 SD_PC.Get_Point() × 1000 (이벤트 없이) → GC 델타 = 0 B (회당 0.00 B)
BurstSpawned=1 SkippedThrottle=2005(측정 구간은 전부 스로틀)
## ⑥ C8 롤백 (원본 100% 복귀)
(a) WLGrowthSettings.RuntimeDisabled=true → Enabled=False Raised=0 TotalRaised=0 Handled=0 BurstSpawned=0
(b) WLCombatCoreSettings.RuntimeDisabled=true → Enabled=False Raised=0 TotalRaised=0 Handled=0 BurstSpawned=0
(c) 에셋 없음(Instance=null) → WLGrowthSettings.Enabled=False GrowthEvents.Enabled=False Raised=0 TotalRaised=0 Handled=0 BurstSpawned=0
ClearCache 복구 → Instance=found Enabled=True
(d) 복구 후 → Raised=1 Handled=1 BurstSpawned=1 instance=True
## ⑦ 정리
구독 해제 = True · Heavy count = 0 · Acquired/Denied = 5/1
활성 씬 = (none) · dirty = False (저장하지 않는다)
잔존 FX_FireLevelUp 파티클 = 0
# WL-813k GC 재측정 — 00:43:04
대조군 new object() × 1000 → GC.GetTotalMemory 델타 = 4096 B · Profiler.MonoUsed 델타 = 4096 B
대조군 원본 SD_PC.Get_Point() × 1000 (LINQ Select/Sum) → GC.GetTotalMemory 델타 = 0 B · Profiler.MonoUsed 델타 = 0 B
RaiseLevelUp(null) × 1000 → GC.GetTotalMemory 델타 = 0 B · Profiler.MonoUsed 델타 = 0 B
RaiseLevelUp(SD_PC) × 1000 → GC.GetTotalMemory 델타 = 0 B · Profiler.MonoUsed 델타 = 0 B
BurstSpawned=2 SkippedThrottle=2000
Heavy count = 0 · 구독 해제 = True