using System.Collections.Generic; namespace EerieVillage.Skills { /// /// 통합 플레이어 스탯. 패시브 보정이 모두 이 객체에 누적. /// ActiveSkillRuntime의 EffectiveCooldown·EffectiveDamage 산출 입력. /// BT12-Dev v1 §2-3 정합. /// public class PlayerStats { /// 전역 싱글톤 참조 (PlayerSkillInventory가 갱신). Phase 2-D 정식 통합 시 DI 전환 예정. public static PlayerStats Current = new PlayerStats(); /// 대미지 배율 — P01 봉황격·P02~P05 속성 강화 public float DamageMultiplier = 1.0f; /// 쿨다운 배율 — P06 연사술 (0.8 = 20% 단축). EffectiveCooldown = BaseCooldown * CooldownMultiplier public float CooldownMultiplier = 1.0f; /// 광역 배율 — P07 광역확장 public float AreaMultiplier = 1.0f; /// 추가 투사체 수 — P08 투사체증폭 public int ExtraProjectiles = 0; /// 크리티컬 확률 — P09 public float CritChance = 0f; /// 크리티컬 대미지 배율 — P10 public float CritDamage = 1.5f; /// 추가 최대 하트 수 — P12·P13 public int ExtraMaxHearts = 0; /// 피해 감소율 — P14 부적방패 public float DamageReduction = 0f; /// 회피 확률 — P15 회피술 public float EvasionChance = 0f; /// i-frame 연장 시간 (초) — P15 public float IFrameExtend = 0f; /// 이동속도 배율 — P18 질풍보 public float MoveSpeedMultiplier = 1.0f; /// 경험치 배율 — P19 선견지명 public float XPMultiplier = 1.0f; /// 보물 발견 보너스 — P20 재물복 public float TreasureFindBonus = 0f; /// 속성별 대미지 배율 (AttributeTag → float) public Dictionary AttributeMultiplier = new Dictionary { { AttributeTag.Physical, 1.0f }, { AttributeTag.Fire, 1.0f }, { AttributeTag.Frost, 1.0f }, { AttributeTag.Lightning, 1.0f }, { AttributeTag.Dark, 1.0f } }; } }