From 6a825fc9b7dced8920b3a756b2d7360819742123 Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 10 May 2026 01:25:12 +0900 Subject: [PATCH] =?UTF-8?q?fix(BT12-Dev):=20=ED=88=AC=EC=82=AC=EC=B2=B4=20?= =?UTF-8?q?damage=205=20=ED=95=98=ED=95=9C=20+=20Schedule=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=E2=80=94=20=EC=A0=81=20=EC=B2=98=EC=B9=98?= =?UTF-8?q?=C2=B7=EA=B2=BD=ED=97=98=EC=B9=98=C2=B7=EB=A0=88=EB=B2=A8?= =?UTF-8?q?=EC=97=85=20=EC=A0=95=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD 지시 (2026-05-10): - "여전히 내 투사체에 적이 죽지 않고, 경험치를 제공하지 않아" - "혹시 투사체 공격력이 없어서 그렇다면 기본 공격력을 5로 고정해(임시)" - "적이 죽으면 죽는 모션과 함께 소멸되어야 해" - "적이 죽으면 경험치를 제공해야 하고, 레벨업이 가능해야 해" 본 PM MCP 자율 진단: - Console 영역 [Health@Enemy] Decrement(damage=4) hp 4→0 정합 - 그러나 [ExperienceSystem] X·[PlayerProgression] X·[EnemyDeath] X - → Projectile.cs 영역 Schedule 호출 누락 확정 근본 fix 2종: 1. damage 5 하한 강제 (임시·PD 지시) — `int damage = Mathf.Max(_runtime.CalculateEffectiveDamage(), 5);` → balance-designer 정식 수치 영역 임시 영역 2. Schedule 추가 (근본·AttackHitbox.cs:70~76 패턴 정합) → Enemy hp 0 도달 시 EnemyDeath 체인 발동 → ExperienceSystem.OnEnemyKilled → 경험치·레벨업 검증 (MCP Play): - damage=5 hp 4→0 (1hit kill) ✅ - ExperienceSystem.OnEnemyKilled → GainXP +1 ✅ - PlayerProgression Lv.1→2→3→4 ✅ - SkillSelectionUI Show + 카드 확정 (파이어볼·추적 화염구) ✅ PD 지시 3가지 전부 정합. --- Assets/Scripts/Skills/Effectors/Projectile.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index bc0ef54..f9e6bfa 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -1,6 +1,8 @@ using System.Collections.Generic; using UnityEngine; using Platformer.Mechanics; +using Platformer.Gameplay; +using static Platformer.Core.Simulation; namespace EerieVillage.Skills.Effectors { @@ -62,7 +64,8 @@ namespace EerieVillage.Skills.Effectors _hitTargets.Add(other); // 유효 대미지 산출 (balance/01 v0.2 §3 공식 — ActiveSkillRuntime.CalculateEffectiveDamage()) - int damage = _runtime.CalculateEffectiveDamage(); + // BT12-Dev 2026-05-10 임시 (PD 지시): 기본 공격력 5 하한 강제. balance-designer 정식 수치 영역 임시 영역. + int damage = Mathf.Max(_runtime.CalculateEffectiveDamage(), 5); // 피해 적용 health.Decrement(damage); @@ -74,6 +77,13 @@ namespace EerieVillage.Skills.Effectors StatusApplier.Apply(_data, enemy); } + // BT12-Dev 2026-05-10 근본 fix — Enemy 즉사 시 EnemyDeath 체인 발동 (AttackHitbox.cs:70~76 패턴 정합). + // 누락 시 Enemy hp 0 도달 영역 시각 사망 X·Destroy X·ExperienceSystem.OnEnemyKilled X (경험치 X·레벨업 X). + if (!health.IsAlive && enemy != null) + { + Schedule().enemy = enemy; + } + // 단일 적 타격 후 소멸 (관통 미지원 — Phase 2 범위 내) SelfDestruct(); }