# Attribute Reference ## Purpose Этот документ фиксирует атрибуты в компактной рабочей форме: что делает каждый атрибут, какие derived stats он двигает, от каких систем зависит и куда отдает влияние. ## Related Docs - `docs/gameplay/attribute-system-gdd.md` - `docs/gameplay/stat-catalog-mvp.md` - `docs/gameplay/combat-resolution-gdd.md` ## System Position Атрибуты находятся между базовой конфигурацией персонажа и итоговыми боевыми расчетами. Поток данных: `Class Definition / Level / Equipment / Buffs / Skills` -> `Attributes` -> `Derived Stats / Resource Pools` -> `Combat Resolution` ## Attribute Sources Каждый атрибут может получать значение из следующих источников: - базовое стартовое значение персонажа - класс и class affinity - уровень персонажа - экипировка - временные бафы и дебафы - weapon-specific modifiers - skill-specific modifiers ## Attribute Rules - атрибуты не должны напрямую дублировать друг друга - offensive и defensive ценность должны быть разведены - derived stats считаются из атрибутов по stat buckets, а не через один общий полный пересчет - `Мастерство` не заменяет основной классовый атрибут, а усиливает специализацию ## Attributes ### Мощь Роль: - силовое давление - пробивание защиты - тяжелая физическая подача Основные derived stats: - `Damage` для melee - `Heavy Projectile Scaling` - `Armor Penetration` - `Block Power` Вторичные эффекты: - усиление силовых weapon skills - усиление shield/guard-oriented действий Зависит от: - класса - уровня персонажа - оружия - экипировки - временных offensive бафов Влияет на системы: - базовый урон оружия - skill damage scaling - penetration pass в combat resolution - блок, щит и guard interactions Основные классы: - Воин: основной - Лучник: вторичный для heavy build - Маг: почти не нужен ### Ловкость Роль: - скорость действий - точность и контроль оружия - качество критических окон Основные derived stats: - `Attack Speed` - `Crit Chance` - `Crit Quality` - `Projectile Speed` - `Move Speed` Вторичные эффекты: - reload/draw speed - precision handling - ограниченные anti-slow бонусы Зависит от: - класса - уровня персонажа - оружия - экипировки - mobility и precision бафов Влияет на системы: - attack cadence - crit resolution - projectile handling - movement utility Основные классы: - Лучник: основной - Воин: вторичный - Маг: ситуативный для battle-mage ### Фокус Роль: - магическая сила - контроль каста - мана и статусное давление Основные derived stats: - `Mana` - `Mana Regen` - `Spell Power` - `Status Power` - часть `Magic Resist` Вторичные эффекты: - `Cast Speed` - AOE scaling там, где это задается skill archetype - spell penetration hooks через mastery/skill layer - часть магической защиты через совместный scaling с `Мастерством` Зависит от: - класса - уровня персонажа - оружия или cast source - экипировки - caster-бафов Влияет на системы: - mana-based skill resource hooks - spell damage scaling - status application - magic mitigation Основные классы: - Маг: основной - Воин: нужен гибридам - Лучник: почти не нужен ### Стойкость Роль: - выживание - удержание темпа боя - сопротивление срывам действий Основные derived stats: - `HP` - `HP Regen` - `Stamina` - `Armor` - `Control Resist` - `Stagger Resist` Вторичные эффекты: - `Debuff Duration Reduction` - small mitigation - interrupt resistance - часть физической выносливости и recovery stability Зависит от: - класса - уровня персонажа - экипировки - defensive бафов Влияет на системы: - max health pool - stamina pool support - defense pass - control and stagger resolution - sustain Основные классы: - Воин: основной или второй основной - Маг: defensive stat - Лучник: defensive stat ### Мастерство Роль: - качество билда - class-specific специализация - усиление archetype identity Основные derived stats: - `Mastery Bonus` - `Weak Spot Bonus` - `Projectile Control` - `Cast Refinement` - часть `Magic Resist` - class-specific scaling hooks Вторичные эффекты: - cleave quality - bleed/stagger intensity - precision bonuses - spell shaping - resource efficiency hooks по archetype Зависит от: - класса - weapon archetype - skill archetype - экипировки - mastery-бафов Влияет на системы: - class mechanic scaling - skill specialization - weak spot logic - status quality - magic mitigation synergy - weapon-specific hooks Основные классы: - важен для всех - масштабируется по-разному по archetype ## Dependency Map ### Resource Links - `Стойкость` -> `HP`, `HP Regen`, `Stamina Pool` - `Ловкость` -> `Stamina Regen`, tempo recovery, mobility efficiency - `Фокус` -> `Mana`, `Mana Regen`, spell-facing resource scaling, part of magic mitigation - `Мастерство` -> class-specific resource efficiency hooks `Magic Resist` собирается не из одного источника, а из сочетания `Фокуса`, `Мастерства` и экипировки. `HP`, `Stamina` и `Mana` являются разными ресурсными пулами. `Фокус` не является главным источником `Stamina`. `Stamina` не должна выступать постоянным налогом на базовый loop. В MVP она ограничивает сильные физические действия, dodge/sprint и weapon-heavy commitments. ### Upstream To Attributes - `Class Definition` задает стартовые значения и приоритеты - `Level Progression` добавляет рост или allocation points - `Equipment` дает flat и percent modifiers - `Buff System` дает временные modifiers - `Weapon` и `Skill` могут добавлять context-specific modifiers ### Attributes To Derived Stats - `Мощь` -> physical offense bucket - `Ловкость` -> speed/crit/projectile bucket и stamina recovery hooks - `Фокус` -> caster/mana bucket и part of magic mitigation - `Стойкость` -> defense/sustain bucket и stamina pool support - `Мастерство` -> specialization hooks, quality modifiers и part of magic mitigation ### Derived Stats To Combat Systems - offense stats -> damage build, crit resolution, penetration - caster stats -> mana checks, spell scaling, status apply - defense stats -> mitigation, HP pool, stamina pool, control resistance - mastery hooks -> weak spot, proc quality, archetype-specific modifiers ## Implementation Notes - атрибуты должны быть каноническим intermediate layer между class/equipment data и combat formulas - derived stats нельзя рассчитывать напрямую из UI или отдельных skill-скриптов - каждая система должна брать итоговые derived stats, а не заново интерпретировать атрибуты по своим правилам ## Final Position Атрибуты должны быть компактным и стабильным слоем данных: немного входов, предсказуемые выходы, минимум дублирования. Основные связи должны идти через общие derived stat buckets и общий combat pipeline.