feat(BT12-Dev Phase A): A12 정화의 빛 신규·A08 저주의 화살 이펙트 적용 (PD 지시 2026-05-13)

신규 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) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-13 23:01:24 +09:00
parent b23e00fd65
commit 5077f5dd3f
5 changed files with 93 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -72,7 +72,9 @@ namespace EerieVillage.Skills
/// </summary>
static readonly HashSet<string> AvailableCardIds = new HashSet<string>
{
"A02", "A13", "A04", "A05", "A_Laser"
"A02", "A13", "A04", "A05", "A_Laser",
// PD 지시 2026-05-13 Phase A — A08 저주의 화살·A12 정화의 빛 신규 추가
"A08", "A12"
};
/// <summary>