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>
원인: 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>
원인 추정:
- 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>
신규 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>