Commit Graph

6 Commits

Author SHA1 Message Date
깃 관리자 3c5a3bce31 fix(BT12-Dev): A06 독 늪 IsFlying 강제 재 check (PD 진단 2026-05-15)
PD 추가 보고: "여전히 독 늪이 공중 몬스터의 Y 위치에 발생되고 있어.
공격 가능한 적이 없을 경우(공중 몬스터만 있을 경우 등) 독 늪이
플레이어 X 위치에서 이동 가능한 영역 바닥에 생성 되도록 해줘."

원인: 직전 commit 2516ef9 의 e.IsFlying check 영역 — Enemy.Awake/Start
호출 순서·controller late assign race 시 IsFlying=false 잔존 가능 →
박쥐 nearest 후보 영역 → 박쥐 y 위치 spawn (Raycast hit 후 ground y 사용
하더라도 박쥐가 ground 위에 있다면 박쥐 위치 그대로).

정정: PoisonSwampSpawner.Trigger 루프 영역 e.RecheckFlyingFromAnimator()
강제 호출. Animator.runtimeAnimatorController.name 영역 flyingControllerNames
list 매칭 → IsFlying 즉시 갱신.

검증 시나리오 (Play 모드):
- 비박쥐 Enemy 13기 사망 처리 (Player 주변 박쥐 1기만 남김)
- 박쥐 1기 IsFlying=True 정합
- A06 발사 → spawn pos=(-15.14, -2.61) = Player.x(-15.14) + ground.y(-2.61)
- 박쥐 y=-2.00 위치 영역 spawn 안 됨 (차단 정합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 12:07:10 +09:00
깃 관리자 2516ef9cb1 fix(BT12-Dev): A06 독 늪 ground 영역만 spawn (PD 지시 2026-05-15)
PD 보고: "독 늪은 공중에 생성 되지 않도록 수정해줘. (플레이어나
몬스터가 밟고 이동할 수 있는 영역에만 생성 가능해야 함)"

정정 PoisonSwampSpawner.Trigger:
1. nearest Enemy 탐색에서 IsFlying=true (박쥐 등) skip
   - 공중 박쥐 위치 spawn 후보 제외
2. spawn 후보 (nearest 또는 Player 위치 + OffsetXY) 에서
   Vector2.down Raycast (거리 20, groundLayerMask Layer 0 + Layer 16)
3. Raycast hit X → return (spawn 차단)
4. Raycast hit O → spawnPos.y = groundHit.point.y (ground 표면 위)

groundLayerMask = (1 << 0) | (1 << 16):
- Layer 0 : Level Tilemap (메인 ground)
- Layer 16: Floating 발판 (Foreground)

검증 (Play 모드):
- 시나리오 1 (Player 지면): spawn 1기·pos.y=-2.88 (ground 위)
- 시나리오 2 (Player y=50 공중·모든 Enemy IsFlying): spawn 증가 0 (차단)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 11:08:30 +09:00
깃 관리자 e2b446e0f4 feat(BT12-Dev): A06·A11 판정 박스 시각화 + A11 OverlapBox 전환 + 페이드 (PD 지시 2026-05-14)
PD 발화 2건:
1. "독 늪 소환의 판정(중독 효과 발생 가능한 범위)와 정령불의
   판정 범위도 박스 형태로 보여줘 (정령불의 범위에 있는 적은
   정령불이 유지되는 동안 일정한 피해 간격마다 피해를 입어야 해)"
2. "정령불 이펙트는 소멸되기 0.5초 전부터 알파값을 증가시키고
   크기를 최대 현재 크기 기준으로 최대 50%까지 줄어들며 사라지도록
   해줘."

A06 독 늪 (PoisonSwampInstance):
- PoisonSwampHitbox_Debug 자식 GO 신규 — BoxCollider2D.size 일관
  SpriteRenderer (1, 0, 0, 0.35) · sortingOrder 100 · ShowDebugVisuals 토글

A11 정령불 (SpiritFireSpawner / Instance):
- OverlapCircle → OverlapBox (HitboxSize 사용·박스 시각 ↔ 판정 정합)
- AuraRadius 의존 제거 · _radius (float) → _boxSize (Vector2)
- SpiritFireHitbox_Debug Player 자식 GO — Player 이동 동조
- 피해 간격 = DotInterval (기본 1초·Inspector 조절)
- 소멸 0.5초 전 페이드 (PD 의도 "투명도 증가" = alpha 1→0):
  · FADE_DURATION=0.5 · alphaMul = 1-t · scaleMul = 1-0.5t
  · Renderer·MaterialPropertyBlock·_baseAlphas 캐싱 (Projectile 동일 패턴)
  · _TintColor 또는 _Color 자동 분기

PlayerSkillInventory.StaleSpawnNames:
- PoisonSwampHitbox_Debug·SpiritFireHitbox_Debug·MeleeHitbox_Debug2 추가
- 게임 재실행 시 cleanup catch 정합

검증 (Play 모드):
- A06 발사 → PoisonSwampHitbox_Debug visible=True (parent FX_Venom_Swamp)
- A11 발사 → SpiritFireHitbox_Debug visible=True (parent Player·scale 2.5,2.5)
- A11 HitboxSize=(2.5, 2.5)·DotInterval=1·MinionLifetime=8 정합

SOT (스킬_이펙트_확정_v1.md) §4 변경 이력 갱신.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 23:14:05 +09:00
깃 관리자 6ed6efe6a2 fix(BT12-Dev): fx ParticleSystem.scalingMode = Hierarchy 전수 적용 (PD 지시 2026-05-13)
원인: fx.transform.localScale *= HitFxScale 영역 적용·그러나 ParticleSystem.MainModule.scalingMode 영역 = Local·Shape 영역 영역 영역 root scale 영역 영역 X·ParticleSystem 영역 자체 size 영역 영역 영역 영역.

fix: 모든 fx spawn 영역 ParticleSystem foreach 영역 영역 ScalingMode = Hierarchy 설정 + Play(true) 동시. Hierarchy 영역 = parent Transform scale 영역 정합 적용.

전수 적용 (7 파일):
- Projectile.OnTriggerEnter2D — OnHitFx
- ProjectileSpawner.Trigger — CastFx + ProjectilePrefab
- MeleeAreaSpawner.Trigger — fxGo
- LightningStrikeSpawner — OnHitFx + ExtraHitFx
- LaserSpawner.Trigger — fx
- PoisonSwampSpawner — swampGo + Marker.Tick fx
- SpiritFireSpawner — shieldGo

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:58:39 +09:00
깃 관리자 b1b476a061 fix(BT12-Dev Phase B): FX 재생 X — ParticleSystem 명시 Play + Collider 자식 분리 (PD 보고 2026-05-13)
원인 추정:
- PoisonSwampInstance 영역 BoxCollider2D·Rigidbody2D 영역 FX root 직접 부착 → ParticleSystem 영역 영향 가능
- Instantiate playOnAwake 정합·그러나 명시 Play() 호출 안전망 영역 누락

fix:
- PoisonSwampSpawner.Trigger — FX root 영역 GetComponentsInChildren<ParticleSystem>(true) 영역 명시 ps.Play(true)
- PoisonSwampInstance — BoxCollider2D·Rigidbody2D 영역 자식 GO 분리 (PoisonSwamp_Collider)·FX root 영역 visualRoot 보관·duration 종료 시 함께 Destroy
- PoisonedEnemyMarker.Tick — FX_Venom_Spray 영역 동일 ParticleSystem.Play(true) 명시 호출
- SpiritFireSpawner.Trigger — 동일 명시 Play(true) 호출

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:10:32 +09:00
깃 관리자 f292eb4fb3 feat(BT12-Dev Phase B): A06 독 늪·A11 정령불 신규 + 1키·2키 매핑 (PD 지시 2026-05-13)
신규 Effector 2종:
- PoisonSwampSpawner — Category C (PlacementPersistent)
  · 가장 가까운 적 위치 spawn·6초 유지·BoxCollider2D isTrigger·Kinematic Rigidbody2D
  · PoisonSwampInstance — OnTriggerStay 영역 적 마킹·PoisonedEnemyMarker 부착·duration 5초 갱신
  · PoisonedEnemyMarker — 매 초 10 피해·FX_Venom_Spray 자식 spawn (DotFxPrefab)·duration 만료 시 자가 소멸
- SpiritFireSpawner — Category D (Minion)
  · Player 자식 spawn·8초 유지·OverlapCircle radius 2.5
  · SpiritFireInstance — 매 초 근접 적 5 피해·Time.unscaledTime 영역 lifecycle

SkillFireEvent.Execute switch 확장:
- PlacementPersistent case → PoisonSwampSpawner
- Minion case → SpiritFireSpawner

A06 독 늪 .asset 신규 — Category 2·BaseCooldown 10·BaseDamage 10·OnHitFxPrefab=FX_Venom_Swamp·OnDotFxPrefab=FX_Venom_Spray
A11 정령불 .asset 신규 — Category 3·BaseCooldown 15·BaseDamage 5·MinionLifetime 8·OnHitFxPrefab=FX_Rotating shield

SkillRuntimeFactory.AvailableCardIds — A06·A11 추가 (7→9종)
TestSkillFireOn1to5 — PoisonSwamp·SpiritFire 인스턴스 신규·Category 분기 추가 (CardId 기반 MeleeArea 분기 정합)

PD Inspector 영역 — Player.prefab TestSkillFireOn1to5 Skill1=A06·Skill2=A11 .asset drag&drop 필요.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:06:59 +09:00