Files
2026-04-09 11:11:52 +07:00

309 lines
8.8 KiB
Markdown

# 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.