Commit Graph

78 Commits

Author SHA1 Message Date
깃 관리자 c0c2cc3348 [WL-811o] 카메라 가림 해소: 각도/거리 값 · 가림 소품 숨김 · 이펙트 스케일 (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:59:49 +09:00
깃 관리자 77f13aec22 [WL-813w] 런 진행 가이드: 존 이동 · 보스 우선 · 리쉬 완화 · 보스 바 이름 (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:18:35 +09:00
깃 관리자 0e0c598356 Merge branch 'wl/gameplay/WL-813s-elite' 2026-09-09 09:48:17 +09:00
깃 관리자 3ba1c4c51b Merge branch 'wl/gameplay/WL-813z-death-freeze-hotfix' 2026-09-09 09:47:56 +09:00
깃 관리자 8bdd16a3d0 [WL-Q4b] Lead 값 핫픽스(F-8): hitStopPerSecondMax 3→6 (D-15 히트스톱 40 % 스로틀) (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 09:47:03 +09:00
깃 관리자 e8c32880cd [WL-813s] 엘리트 몹: 존별 배치 · 마커 · 드랍 (#813)
MonsterAppear.json 에 엘리트 스포너 새 행 4개(813021~813024) 추가 — 기존 52행 바이트 무변경
(813u 가 같은 파일의 존 행을 고치므로 「기존 행 값 수정 0」 · 단일 라인 JSON 이라 rebase 에서
전체 충돌 1회 → main(813u) 값을 기준으로 새 행만 재부착). 존1~4 에 Elite 1종씩 ·
동시 1마리 · 리젠 25 s.

🔴 HP 는 발주서 제안값(120~180 · Q3 보스 단일표적 DPS 15/s 기준)이 아니라 **470/540/610/680**
이다. 발주 시점 뒤에 813u 가 존 잡몹 HP 를 300/450/600/800 → 190/270/350/430 으로 내려서,
120~180 이면 엘리트가 같은 존 잡몹보다 약해진다. 813u 실측 존 총 DPS 171.8 HP/s 를
기준서 §E 3-2 규격(1발 명중 ≥3마리)으로 나눈 단일 표적 57.3 HP/s 기준 → 8.2/9.4/10.6/11.9 s
= 기준서 「엘리트 8~12 s」. 잡몹 대비 2.47/2.00/1.74/1.58배. ATK 는 813u 존 값과 동률
(6/8/10/12 · Q4-a D-1 사망 이슈 · ATK 밸런스는 813u 소유).

WL_Nature.prefab: maplv/e1~e4 스포너 노드 4기 신규(존 스포너와 같은 좌표 · MobGenRange 6 ·
Lv 라벨 렌더러 끔) — 기존 노드·좌표 무변경(+924 / −0).

EliteMarker.cs(신규 · 정적 · 러너 0 · GC 0): Spawned(isElite) → localScale = 테이블 기본
스케일 × 1.3(멱등 · NavMesh 반경 무변경) + 상시 색 등록, Killed(Elite) → 색 해제 + 처치
시간(TTK) 로그. 아웃라인은 QuickOutline 이 프로젝트에 없고 MK Toon 의 _RimColor 가
_MK_RIM_* shader_feature 게이팅이라 MPB 로 못 켠다 → 발주서 대체안대로 MPB 상시 색
(_EmissionColor 주 · _AlbedoColor 보조 · 새 셰이더/머티리얼 0). MobHitFlash 가 렌더러 MPB 의
단일 소유자라 합성 지점(SetEliteTint/ClearEliteTint)만 그 파일에 더했다(우선순위 = 점멸 > 상시).

킬캠(811d)·임팩트 티어(811gh)는 이미 Elite 분기가 열려 있어 코드 0(killCamOnElite=1 ·
bossKillIncludesElite=1 실측). 드랍은 WLLootSettings.asset 값만 eliteBurst 1~2 → 2~3.

검증: 게이트 PASS(oneshot · error CS 0줄) · 프로브 AgentScripts/WL813s_Probe.cs
(새 행 4/4 · 스포너 노드 4/4 · 크기 2.30→2.99 멱등 · 상시 색 O · 일반 몹 미적용 ·
킬캠 Elite 1 / 일반 0 · 드랍 버스트 2~3 · 0건 0회 · GC 0 B · C8 PASS · 원본 문자열 0).
Play 실측(인게임 화면)은 미확인 — 로그인 금지라 병합 후 QA. xlsm 동기화 안 함(백로그).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 09:34:25 +09:00
깃 관리자 a2c5a63bab [WL-813z] 핫픽스: 부활 워치독 · 팝업 최상단 · WL_btn_ok · 토스트 클램프 (#813) 2026-09-09 09:23:11 +09:00
깃 관리자 d3e1e87943 [WL-Q4a] Lead 값 핫픽스(F-7): 피해 배율 몹 0.5→0.2 · 보스 0.5→0.35(D-1) · 피격 비네트 알파 0.35→0.75(D-6) (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:59:59 +09:00
깃 관리자 18be826184 [WL-811gh] 후속: Light 티어 값(Lead F-6) hitStopMs 0→25 · shakeMultiplier 0→0.5 (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:52:02 +09:00
깃 관리자 e2b8fa205e Merge branch 'wl/gameplay/WL-811gh-impact-tiers' 2026-09-09 08:51:22 +09:00
깃 관리자 adc96e91aa [WL-811gh] 임팩트 티어 · PC 피격 림라이트/넉백 · 대시 잔상 (#813) 2026-09-09 08:46:12 +09:00
깃 관리자 e1749c738a [WL-813p] 후속: 런 밸런스 값(Lead F-5) zoneClearKills 12/14/12/8 · runSeconds 240 · openGateAtSec 150 (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:45:51 +09:00
깃 관리자 ee37211b18 [WL-813p] 3분 런 구조: RunEvents · RunDirector · 집계 · 재시작 (#813)
- Assets/WL/Combat/Run/ 신규 4파일: RunEvents(계약 허브) · RunDirector(상태 머신·집계) ·
  RunDirectorRunner(숨김 GO 1개) · WLRunSettings(값 전부 SO)
- 런 = 현행 필드 맵 오버레이(새 던전 타입·DungeonInfo·*MapConfig 무수정)
  진입 → 존 813001~813004 → 보스 게이트 → Anubis 처치=Win · runSeconds 초과=Timeout · 이탈=Abandon
- 존 진행 = BossArena.KillsOf 누적값의 런 시작 스냅샷 차감(BossArena 값 리셋 0)
- 원본 Assets/Script/** 0줄 · Core 0 · BossArena.cs +9(ResetGate) · AutoCombatOnEnter.cs +5(경계 원천 읽기 노출·동작 변경 0)
- C8: WLRunSettings.enabled=0 또는 코어 off 면 러너·구독 0

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:37:30 +09:00
깃 관리자 3d9c6f816e [WL-811i] 스킬 스펙터클 (#813)
4클래스 × 4슬롯(813n 프리셋 16행) 스킬의 차지·본체·착탄 3단 VFX 레이어 — 보유 Res_Addr/Effect 프리팹 33종만(새 아트 0) · 클래스 원소 MPB 곱셈 틴트 · EffectBudget.Heavy 행당 1슬롯(동시 2) · Medium 로컬 상한 · 절두체 밖 스킵 · 자체 풀(GC 0).

- Assets/WL/Combat/Reaction/WLSkillSpectacleSettings.cs (NEW · SO · 값 SOT · C8)
- Assets/WL/Combat/Reaction/SkillSpectacle.cs (NEW · SkillCast/SkillFired/HitboxHit/HitConfirmed/AttackStarted 구독자 · 원본 훅 0)
- Assets/WL/Combat/Reaction/SkillSpectacleRunner.cs (NEW · 틱 러너 + 풀 루트)
- Assets/WL/Combat/Settings/Resources/WL/WLSkillSpectacleSettings.asset (NEW · 16행 · 원소 4행)
- AgentScripts/WL811i_Probe.cs (NEW · Dump/EditProbe/PlayProbe/Status)

Actor.cs·PCActor.cs·Core 0 · Assets/Script 0 · 리터럴 4곳 SO 이관은 하지 않음(핫스팟 동결 · 보고서 목록만).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:12:55 +09:00
깃 관리자 1472316c37 [WL-813y] 후속: WLSurvivalSettings enabled 0→1 (813i 생존 시스템 활성 · Lead · #813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 08:04:45 +09:00
깃 관리자 b3a43ed18b [WL-813x] 핫픽스: 보스 스킬2 에러 · 자동전투 기본 ON (#813)
근거 = QA Q3 qa/W2-3_바퀴2.md D-1·D-2 · Q2 qa/W2-2_스모크.md D-4

D-1/D-4 (에러 팝업) 원인 사슬 — 실측
  Boss_Anubis.cs:114 Co_Skill2 → :140 JumpToPosition(onNavMesh:false)
  → Actor.cs:1867 Co_JumpToPosition 이 점프 동안 에이전트를 끄고 착지 보정은
    Snap_toNavMesh(맵 mobNavSnapRadius = 2 m)뿐 → 2 m 초과 이탈 시 NavMesh 밖으로 남음
  → 다음 Co_Skill2 의 Change_MobStatus(eMobStatus.Skill) = MobActor.cs:339 이
    가드 없이 isStopped=false(Resume) 대입 → 예외
  → Util/ErrorLogHookManager.cs:26-35 가 모든 Error 를 플레이어 모달 팝업으로 표시

변경
  · MobActor.cs:339 — 원본 1줄(≤2줄 예외 · 보고). 같은 switch :304·:309 및
    StopMove_Imm(Actor.cs:2149)과 동일한 isOnNavMesh 가드. 예외만 차단.
  · Assets/WL/Combat/Nav/MobNavRecovery.cs (신규) — 가드만으로는 보스가 NavMesh 밖에
    굳는 상태가 남는다. 에이전트 off/NavMesh 밖이 유예(1.5 s) 넘게 지속되면
    Set_Warp 으로 가장 가까운 NavMesh 위로 복구. 원본 훅 0 · 폴링.
  · Assets/WL/Combat/Auto/AutoCombatOnEnter.cs (신규) — D-2. 맵(런) 진입 경계에서
    자동전투가 꺼져 있으면 Actor.Set_Auto() 1회. 로비 제외 · 진입 뒤 수동 OFF 는 존중.
    전투 패드 아이콘(BattleUI.images[0])만 동기화(UI 파일 수정 0).
  · WLCombatCoreSettings(.cs/.asset) — 값 10개 전부 SO(C45). 각 플래그 0 = 롤백(C8).
    코어 스위치에는 의존하지 않는다(코어 A/B 중에도 팝업이 되살아나면 안 됨).
  · AgentScripts/WL813x_Probe.cs — 에디트 모드 검증 프로브(Play 0 · 로그인 0)

Core 수정 0 · Boss_*.cs 수정 0 · Actor.cs 수정 0 · UI 파일 수정 0

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 02:50:40 +09:00
깃 관리자 e255055800 Merge branch 'wl/gameplay/WL-813i-survival' 2026-09-09 02:33:35 +09:00
깃 관리자 c8787794a9 [WL-813i] 무적 해제·물약·사망/부활 (#813)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 02:16:38 +09:00
깃 관리자 353fc71640 [WL-813d] 보스전 게이트·아레나 (#813)
존 전멸 → 보스 등장 게이트 · 아레나 경계 · 추적 반경 데이터화 · 처치 후 정리.

- BossArena.cs (NEW) — CombatEvents.Killed/Spawned 구독으로 813e 존 5개(813001~813005)의
  생존/처치를 세고, 게이트 존(813004·813005) 전멸 또는 누적 처치 >= 54 면 보스를 등장시킨다.
- 원본 스포너 무수정 — FieldBossData.Start 훅 1줄이 자기 자신을 Action 으로 넘기고,
  게이트가 열릴 때 그 델리게이트를 다시 부른다. 스폰 로직 복제 0 이고 On_Regen 을 원본이
  부르므로 Spawned(isBoss) 가 등장 시점에 난다(811d 보스 캠 · 813c HP 바 · 813t 배너 구독).
- 아레나 — 등장 직전에 MonsterList 10006 행 f_BaseChaseRange 50 → 20(SO 값 · 코드 상수 0),
  보스/PC 가 아레나를 벗어나면 복귀(리셋) · 처치 후 RegenTime 코루틴 차단(리젠 없음).
- 값 = Assets/WL/Combat/Settings/Resources/WL/WLBossArenaSettings.asset (C8 · 29필드).
- Boss_*.cs / MobActor.cs / Actor.cs / Combat Core / 프리팹 변경 0.
2026-09-09 02:06:27 +09:00
깃 관리자 4aac9e09af Merge branch 'wl/gameplay/WL-811def-reactions' 2026-09-09 01:36:19 +09:00
깃 관리자 edb74f22a4 [WL-813f] 전리품 연출 + 드랍률 (#813)
CombatEvents.Killed 구독 → 드랍 산포(0.6~1.2 m · 등급별 튀는 높이 0.35+0.08/등급) ·
등급 4 이상 빔(보유 FX_LootDrop_Blue/Purple/Gold) + s015_GoldPowerUp ·
자동 줍기 반경 1.5 m(원본 자석 상태기를 리플렉션으로 켜기만) ·
보스 3~5 · 엘리트 1~2 폭발 드랍(RandomBag 재추첨 · 빈손이면 골드 25%).
값은 전부 WLLootSettings.asset(C45) · 동시 빔은 EffectBudget.Heavy 등록.

원본 수정 = DropItem.cs 2줄(Set 산포 훅 · ItemTouch 획득 통지 훅) 뿐.
Actor.cs · MobActor.cs · DropItemInfo.cs · Assets/WL/Combat/Core/** 0줄.

데이터(S): RandomBag.json 새 백 8130001 5행(총 드랍 20.95% · 기준서 15~25%) ·
MonsterAppear.json 813e 존 6행(813001~813005 · 813010)의 n_DropReward 만 새 백으로 ·
나머지 46행 · RandomBag 기존 197행 바이트 무변경. ⚠ butler.xlsm 동기화 필요.

검증: 게이트 PASS(oneshot 1.4분 · error CS 0 / resident up_to_date · 콘솔 error 0) ·
에디트 모드 프로브(AgentScripts/WL813f_Probe.cs · 덤프 WL813f_PROBE.txt):
산포 1000회 0.601~1.199 m · 폭발 2000회 boss 3~5 · elite 1~2 · normal 0 ·
가짜 Killed 3건 구독 동작 · 자석 리플렉션 OK(0→1 · 중복 방지) ·
줍기 경계 1.49 in / 1.51 out / 착지 전 제외 · 빔 4건 → Heavy 상한 2 스폰 · 2 스킵 →
CleanupAll 후 슬롯 0 · C8(RuntimeDisabled) 시 산포/빔/획득/폭발 전부 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 01:19:48 +09:00
깃 관리자 36679cc358 Merge branch 'wl/gameplay/WL-813k-levelup' 2026-09-09 00:54:49 +09:00
깃 관리자 cb4c189ec4 Merge branch 'wl/gameplay/WL-811b-fix' 2026-09-09 00:54:15 +09:00
깃 관리자 2a140f4a85 [WL-813k] 레벨업 폭발 (#813)
ServerClass.Add_Exp 레벨업 루프에 훅 1줄 → WL.Combat.Growth.GrowthEvents.RaiseLevelUp.
코어 CombatEvents.cs 무수정 — BossEvents 규약대로 새 파일 GrowthEvents.cs 가 CombatEventList<T> 를 재사용해
PlayerLevelUpEvent(레벨 · 스탯 포인트 · 팝업 스탯 3종 prev/new · HP/MP 스냅샷 · 위치)를 낸다.
LevelUpBurst 구독자 = FX_FireLevelUp 스폰(EffectBudget.Heavy · 연속 레벨업 스로틀) + HP/MP 전회복(원본 Heal/Heal_MP)
+ PC 스케일 펀치(카메라 미접촉). 값은 전부 WLGrowthSettings.asset(C45) · 에셋/스위치 off 면 원본 100%(C8).
2026-09-09 00:44:58 +09:00
깃 관리자 0fc9b18661 [WL-811b-fix] 코어 리뷰 FIX 6 + isKill 판정 (#813) 2026-09-09 00:36:54 +09:00
깃 관리자 f1c509616f [WL-811def] 전투 연출 3종 — 킬캠·보스 캠 · 연쇄 처치 이벤트 · 몹 점멸 MPB (#813)
- 811d CombatCameraDirector(Killed→줌 0.75×+슬로모 Cinematic · Spawned(isBoss)→1.2 s 오빗 · ComboStage(isLast)→리드 ×1.3) · WLCombatCameraSettings.asset NEW · RealCamera 무수정(공개 필드만) · CameraMoveLead.LeadMultiplier 2줄
- 811e KillChain(3 s 윈도우 · DOUBLE/TRIPLE/RAMPAGE/MASSACRE 티어 이벤트 · 군집 폭발 BoomHit · EffectBudget.ClusterBurst ≤1) · DamageAggregator(0.25 s 합산 Flushed 이벤트) · WLReactionSettings.asset NEW · HUD 표시 0
- 811f MobHitFlash(HitConfirmed→MPB _AlbedoColor/_EmissionColor 0.03 s · Killed→디졸브 _EdgeAroundHDR/_EdgeAround · Spawned→정리 · arr_Renderer 리플렉션 캐시 · 머티리얼 대입 0) · WLHitBlinkSettings.asset NEW
- 프로브 AgentScripts/WL811def_Probe.cs(Title Play 가짜 이벤트 · Props 셰이더 실측 · GC · Toggle · Budget)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 00:32:49 +09:00
깃 관리자 2b43190037 [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-09 00:19:55 +09:00
깃 관리자 ff208d6dbe [WL-811b] 전투 액션 코어 골격 (#811)
CombatEvents(이벤트 12종 + LevelUp API · 구조체 페이로드 · GC 0 · 예외 격리) · ComboTracker(PC Animator 상태 폴링) ·
TimeScaleArbiter(Pause > Cinematic > HitStop · D-1(a)) · EffectBudget(동시 상한) · WLCombatCoreSettings SO + 에셋.
원본 훅 9줄(D-5(a) · Actor.cs 5 / MobActor.cs 2 / ProjectileBase.cs 1 / MyActor.cs 1 · 이후 Actor.cs 동결) ·
편입: WLHitFeel = HitConfirmed 구독자(false 반환 규약 유지) · WLHitFeelRunner 히트스톱 중재자 경유 · DashDriver/WeaponTrailDriver 통지.
에셋 없음/enabled=false/RuntimeDisabled = 100% 기존 동작(C8). 프로브 WL811b_Probe(Watch/GcCheck/Arbiter/Toggle/Dump/Status).
게이트 oneshot PASS(error CS 0 · 로그 wl_compile_gate_20260908_231602.log).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 23:30:57 +09:00