From 5077f5dd3f92782b7f4c90f99f14027df254114e Mon Sep 17 00:00:00 2001 From: swrring Date: Wed, 13 May 2026 23:01:24 +0900 Subject: [PATCH] =?UTF-8?q?feat(BT12-Dev=20Phase=20A):=20A12=20=EC=A0=95?= =?UTF-8?q?=ED=99=94=EC=9D=98=20=EB=B9=9B=20=EC=8B=A0=EA=B7=9C=C2=B7A08=20?= =?UTF-8?q?=EC=A0=80=EC=A3=BC=EC=9D=98=20=ED=99=94=EC=82=B4=20=EC=9D=B4?= =?UTF-8?q?=ED=8E=99=ED=8A=B8=20=EC=A0=81=EC=9A=A9=20(PD=20=EC=A7=80?= =?UTF-8?q?=EC=8B=9C=202026-05-13)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 신규 ActiveSkillData 필드: - CastFxPrefab — 시전 FX (발사 시점 Player 위치 spawn·비주얼 전용) - ProjectileSpawner.Trigger 영역 CastFxPrefab spawn 처리 (HitFxScale·FxRotation·FxAutoDestroyUnscaled 2초 cap) A08 저주의 화살 이펙트 적용 (.asset 수정): - ProjectilePrefab = FX_PinkMagicArrow - OnHitFxPrefab = FX_PinkMagicArrow_Hit - CastFxPrefab = FX_PinkArrow_Shoot - MaxRange 6·ProjectileSpeed 8 (단거리 빠른 발사) - OffsetDistance float 0.5 → Vector2 (0,0) (직전 필드 전환 정합) A12 정화의 빛 신규 (.asset 신규): - Category 1 (MeleeArea·MeleeAreaSpawner 발동) - BaseCooldown 5·BaseDamage 15·HitboxSize 4×4·AttributeTags 4 (Frost) - OnHitFxPrefab = FX_Icelight_Seal SkillRuntimeFactory.AvailableCardIds — A08·A12 추가 (카드 풀 5→7종) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Skills/Active/A08_jeoju_hwasal.asset | 15 +++-- .../Skills/Active/A12_jeonghwauibit.asset | 66 +++++++++++++++++++ Assets/Scripts/Skills/Data/ActiveSkillData.cs | 4 ++ .../Skills/Effectors/ProjectileSpawner.cs | 9 +++ .../Skills/Runtime/SkillRuntimeFactory.cs | 4 +- 5 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 Assets/Resources/Skills/Active/A12_jeonghwauibit.asset diff --git a/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset b/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset index 0bdb922..645d41b 100644 --- a/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset +++ b/Assets/Resources/Skills/Active/A08_jeoju_hwasal.asset @@ -27,8 +27,8 @@ MonoBehaviour: Trigger: 0 BaseCooldown: 0.8 BaseDamage: 2 - HitboxSize: {x: 1.5, y: 3} - OffsetDistance: 0.5 + HitboxSize: {x: 1.5, y: 0.6} + OffsetDistance: {x: 0, y: 0} Trajectory: 0 MinionPrefab: {fileID: 0} ChainCount: 0 @@ -47,8 +47,15 @@ MonoBehaviour: DebuffStackLimit: 5 FireProbability: 1 Range: 1 - ProjectilePrefab: {fileID: 0} - OnHitFxPrefab: {fileID: 0} + MaxRange: 6 + ProjectileSpeed: 8 + ProjectilePrefab: {fileID: 225334597330228334, guid: 4cd9b403d8e5fa64c877498c9188e1c1, + type: 3} + OnHitFxPrefab: {fileID: 1108032389789601088, guid: aaba98a2ef6fecc46be2d3f1d41f9c75, + type: 3} + ExtraHitFxPrefab: {fileID: 0} + CastFxPrefab: {fileID: 1571108645336829551, guid: cab9ba2d706d3c04dab2b559425bac6a, + type: 3} OnDotFxPrefab: {fileID: 0} DotDamageMultiplier: 0.25 ProjectileFxScale: 1 diff --git a/Assets/Resources/Skills/Active/A12_jeonghwauibit.asset b/Assets/Resources/Skills/Active/A12_jeonghwauibit.asset new file mode 100644 index 0000000..9c0fdee --- /dev/null +++ b/Assets/Resources/Skills/Active/A12_jeonghwauibit.asset @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69566f3f65e99394d8a0ccd0b395ac77, type: 3} + m_Name: A12_jeonghwauibit + m_EditorClassIdentifier: Assembly-CSharp::EerieVillage.Skills.ActiveSkillData + CardId: A12 + DisplayName: "정화의 빛" + EnglishName: Purifying Light + Icon: {fileID: 0} + Description: "5초마다 플레이어 주위에 정화의 + 빛을 생성해 범위 내 모든 적에게 + 피해를 입힌다." + AttributeTags: 4 + TypeTags: 2 + maxLevel: 5 + Category: 1 + Trigger: 0 + BaseCooldown: 5 + BaseDamage: 15 + HitboxSize: {x: 4, y: 4} + OffsetDistance: {x: 0, y: 0} + Trajectory: 0 + MinionPrefab: {fileID: 0} + ChainCount: 0 + DotDuration: 0 + DotInterval: 0.5 + StunDuration: 0 + SlowDuration: 0 + SlowMultiplier: 0.5 + KnockbackForce: 0 + MaxConcurrent: 1 + MinionLifetime: 10 + AuraTickInterval: 0.5 + AuraRadius: 3 + CritDamageMultiplier: 2 + IFrameDuration: 0 + DebuffStackLimit: 3 + FireProbability: 1 + Range: 2 + MaxRange: 10 + ProjectileSpeed: 6 + ProjectilePrefab: {fileID: 0} + OnHitFxPrefab: {fileID: 215796562487493921, guid: 6feaf69c2a503264891db456856c2ee4, + type: 3} + ExtraHitFxPrefab: {fileID: 0} + CastFxPrefab: {fileID: 0} + OnDotFxPrefab: {fileID: 0} + DotDamageMultiplier: 0.25 + ProjectileFxScale: 1 + HitFxScale: 1 + DotFxScale: 1 + FxRotation: 0 + OffsetXY: {x: 0, y: 0} + DamageFrameDelay: 0 + EnableRepeatDamage: 0 + MaxHitCount: 1 + RepeatFrameInterval: 30 diff --git a/Assets/Scripts/Skills/Data/ActiveSkillData.cs b/Assets/Scripts/Skills/Data/ActiveSkillData.cs index 8d32e7c..70d7ae4 100644 --- a/Assets/Scripts/Skills/Data/ActiveSkillData.cs +++ b/Assets/Scripts/Skills/Data/ActiveSkillData.cs @@ -106,6 +106,10 @@ namespace EerieVillage.Skills [Tooltip("추가 피격 FX — 비주얼 전용 (예: A04 번개 충격 FX_Thunder Smoke 동반 spawn)")] public GameObject ExtraHitFxPrefab; + // PD 지시 2026-05-13 — 시전 이펙트 (발사 직전 Player 위치 spawn·비주얼 전용) + [Tooltip("시전 FX — 발사 시점 Player 위치 spawn (예: A08 저주의 화살 FX_PinkArrow_Shoot)")] + public GameObject CastFxPrefab; + [Tooltip("DoT 적용 시 적 자식으로 Instantiate 되는 ParticleSystem prefab")] public GameObject OnDotFxPrefab; diff --git a/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs b/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs index 64eed74..ec4761d 100644 --- a/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs +++ b/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs @@ -35,6 +35,15 @@ namespace EerieVillage.Skills.Effectors + perpDir * data.OffsetDistance.y + data.OffsetXY; + // PD 지시 2026-05-13 — 시전 FX (A08 저주의 화살 등) Player 위치 spawn + if (data.CastFxPrefab != null) + { + var castFx = Object.Instantiate(data.CastFxPrefab, playerTransform.position, Quaternion.Euler(0f, 0f, data.FxRotation)); + castFx.hideFlags = HideFlags.DontSave; + castFx.transform.localScale *= data.HitFxScale; + FxAutoDestroyUnscaled.Attach(castFx, 2f); + } + // 프리팹 로드 (data.ProjectilePrefab 우선·없으면 fallback) GameObject prefab = LoadProjectilePrefab(data); diff --git a/Assets/Scripts/Skills/Runtime/SkillRuntimeFactory.cs b/Assets/Scripts/Skills/Runtime/SkillRuntimeFactory.cs index 1e5a7a1..b305f53 100644 --- a/Assets/Scripts/Skills/Runtime/SkillRuntimeFactory.cs +++ b/Assets/Scripts/Skills/Runtime/SkillRuntimeFactory.cs @@ -72,7 +72,9 @@ namespace EerieVillage.Skills /// static readonly HashSet AvailableCardIds = new HashSet { - "A02", "A13", "A04", "A05", "A_Laser" + "A02", "A13", "A04", "A05", "A_Laser", + // PD 지시 2026-05-13 Phase A — A08 저주의 화살·A12 정화의 빛 신규 추가 + "A08", "A12" }; ///