From 2bd882c48eabaff816659c04588f0a66ea35621b Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Thu, 9 Apr 2026 10:36:06 +0700 Subject: [PATCH] [Fix] HP Stamina Mana Attribute --- docs/gameplay/attribute-reference.md | 22 ++++++++---- .../attribute-stats-visibility-mvp.md | 22 ++++++++---- docs/gameplay/attribute-system-gdd.md | 34 +++++++++++++++---- docs/gameplay/combat-resolution-gdd.md | 12 ++++++- docs/gameplay/stat-catalog-mvp.md | 28 +++++++++++---- docs/tasks/items/TASK-0027.md | 6 +++- 6 files changed, 95 insertions(+), 29 deletions(-) diff --git a/docs/gameplay/attribute-reference.md b/docs/gameplay/attribute-reference.md index b54869dc..747f3a6e 100644 --- a/docs/gameplay/attribute-reference.md +++ b/docs/gameplay/attribute-reference.md @@ -16,7 +16,7 @@ Поток данных: -`Class Definition / Level / Equipment / Buffs / Skills` -> `Attributes` -> `Derived Stats` -> `Combat Resolution` +`Class Definition / Level / Equipment / Buffs / Skills` -> `Attributes` -> `Derived Stats / Resource Pools` -> `Combat Resolution` ## Attribute Sources @@ -129,12 +129,12 @@ - магическая сила - контроль каста -- ресурс и статусное давление +- мана и статусное давление Основные derived stats: -- `Resource` -- `Resource Regen` +- `Mana` +- `Mana Regen` - `Spell Power` - `Status Power` - `Magic Resist` @@ -156,6 +156,7 @@ Влияет на системы: - skill resource hooks +- mana-based skill resource hooks - spell damage scaling - status application - magic mitigation @@ -254,6 +255,15 @@ ## Dependency Map +### Resource Links + +- `Стойкость` -> `HP`, `HP Regen`, `Stamina Pool` +- `Ловкость` -> `Stamina Regen`, tempo recovery, mobility efficiency +- `Фокус` -> `Mana`, `Mana Regen`, spell-facing resource scaling +- `Мастерство` -> class-specific resource efficiency hooks + +`HP`, `Stamina` и `Mana` являются разными ресурсными пулами. `Фокус` не является главным источником `Stamina`. + ### Upstream To Attributes - `Class Definition` задает стартовые значения и приоритеты @@ -266,14 +276,14 @@ - `Мощь` -> physical offense bucket - `Ловкость` -> speed/crit/projectile bucket -- `Фокус` -> caster/resource bucket +- `Фокус` -> caster/mana bucket - `Стойкость` -> defense/sustain bucket - `Мастерство` -> specialization hooks и quality modifiers ### Derived Stats To Combat Systems - offense stats -> damage build, crit resolution, penetration -- caster stats -> resource checks, spell scaling, status apply +- caster stats -> mana checks, spell scaling, status apply - defense stats -> mitigation, HP pool, control resistance - mastery hooks -> weak spot, proc quality, archetype-specific modifiers diff --git a/docs/gameplay/attribute-stats-visibility-mvp.md b/docs/gameplay/attribute-stats-visibility-mvp.md index 13d186e9..028573e9 100644 --- a/docs/gameplay/attribute-stats-visibility-mvp.md +++ b/docs/gameplay/attribute-stats-visibility-mvp.md @@ -45,7 +45,8 @@ Пример групп пересчета: - offensive bucket: damage, attack speed, crit, penetration -- caster bucket: spell power, resource, resource regen, cast speed, status power +- resource bucket: mana, mana regen, stamina, stamina regen +- caster bucket: spell power, cast speed, status power - defense bucket: HP, HP regen, armor, control resist, stagger resist - utility bucket: move speed, projectile speed, reload modifiers, class-specific mastery bonuses @@ -56,7 +57,8 @@ Это основные числа, которые стоит показывать в базовом MVP UI. - `HP` -- `Resource` +- `Stamina` +- `Mana` - `Damage` - `Attack Speed` - `Armor` @@ -65,7 +67,8 @@ Правила показа: - `Damage` должен быть приведен к понятной игроку форме, без раскрытия всех внутренних коэффициентов -- `Resource` должен отображаться как основной кастерский или классовый ресурс +- `Stamina` должна отображаться как физический ресурс действий и темпа +- `Mana` должна отображаться как магический ресурс каста и spell-oriented умений - `Armor` лучше показывать как единое защитное число для MVP, если отдельный breakdown еще не нужен - `Move Speed` полезен, потому что напрямую ощущается руками в top-down action RPG @@ -81,7 +84,8 @@ Эти статы не обязаны быть видны в основном экране, но могут отображаться в detail view, tooltip, расширенной панели или отладочном UI. - `HP Regen` -- `Resource Regen` +- `Stamina Regen` +- `Mana Regen` - `Cast Speed` - `Crit Chance` - `Magic Resist` @@ -137,8 +141,9 @@ - `Мощь` в основном проявляется через `Damage` - `Ловкость` в основном проявляется через `Attack Speed` и частично `Move Speed` -- `Фокус` в основном проявляется через `Resource` +- `Фокус` в основном проявляется через `Mana` - `Стойкость` в основном проявляется через `HP` и частично `Armor` +- `Stamina` в основном читается как отдельный физический ресурс, который поддерживается `Стойкостью`, `Ловкостью`, классом и экипировкой - `Мастерство` в основном проявляется через контекстный `Mastery Bonus` в advanced view, а не как центральный main stat Это дает игроку понятную обратную связь, но не заставляет UI раскрывать весь внутренний combat math. @@ -162,6 +167,7 @@ - derived stats пересчитываются только по dirty-группам - UI обновляется только если изменились отображаемые main или advanced stats - hidden runtime stats могут обновляться вместе со своим bucket, но не должны триггерить лишние UI refresh +- ресурсные пулы и их автопополнение должны обновляться отдельно от offense/defense bucket, если изменение не затрагивает другие группы Для MVP нежелательно: @@ -175,14 +181,16 @@ - `MVP Main Stats` - `HP` - - `Resource` + - `Stamina` + - `Mana` - `Damage` - `Attack Speed` - `Armor` - `Move Speed` - `Advanced Stats` - `HP Regen` - - `Resource Regen` + - `Stamina Regen` + - `Mana Regen` - `Cast Speed` - `Crit Chance` - `Magic Resist` diff --git a/docs/gameplay/attribute-system-gdd.md b/docs/gameplay/attribute-system-gdd.md index 42c080e2..d593eb95 100644 --- a/docs/gameplay/attribute-system-gdd.md +++ b/docs/gameplay/attribute-system-gdd.md @@ -27,7 +27,7 @@ | --- | --- | --- | --- | | Мощь | давление и силовой урон | melee damage, heavy projectile scaling, armor penetration, shield/block power | Воин, heavy Лучник | | Ловкость | скорость и контроль оружия | attack speed, projectile handling, crit quality, move speed in soft cap | Лучник, mobile Воин | -| Фокус | магическая сила и контроль ресурса | spell power, cast resource, resource regen, status power, limited magic resistance | Маг, hybrid классы | +| Фокус | магическая сила и контроль маны | spell power, mana pool, mana regen, status power, limited magic resistance | Маг, hybrid классы | | Стойкость | живучесть и удержание темпа боя | HP, HP regen, debuff resistance, stagger resistance, small general mitigation | Воин, defensive сборки | | Мастерство | качество билда и class-specific scaling | weapon/skill specialization, class mechanic efficiency, application quality | все классы | @@ -37,7 +37,7 @@ - `Мощь` отвечает за силовое давление и пробивание защиты. - `Ловкость` отвечает за скорость, контроль и отзывчивость оружия. -- `Фокус` отвечает за магию, ресурс и статусное давление. +- `Фокус` отвечает за магию, ману и статусное давление. - `Стойкость` отвечает за выживание и стабильность в бою. - `Мастерство` отвечает за качество применения архетипа, оружия и умений. @@ -45,6 +45,27 @@ ## Attribute Details +## Resource Model + +В MVP используются три отдельные ресурсные оси: + +- `HP` - запас жизни, в основном зависит от `Стойкости` +- `Stamina` - ресурс физических, мобильных и weapon-heavy действий +- `Mana` - ресурс магии, каста и spell-oriented действий + +У каждого ресурса есть свой стат автопополнения: + +- `HP Regen` +- `Stamina Regen` +- `Mana Regen` + +Правила модели: + +- `Фокус` усиливает `Mana` и `Mana Regen`, а не любой абстрактный ресурс +- `Stamina` не является магическим ресурсом и не должна жить внутри `Фокуса` +- `Стойкость` отвечает за `HP` и поддерживает физическую выносливость через `Stamina Pool` +- `Ловкость` поддерживает темп физических действий через `Stamina Regen` и связанные recovery-модификаторы + ### Мощь `Мощь` - это атрибут силы удара и продавливания защиты. @@ -103,13 +124,13 @@ ### Фокус -`Фокус` - это атрибут магической силы, контроля заклинания и ресурса. +`Фокус` - это атрибут магической силы, контроля заклинания и маны. Что усиливает: - силу заклинаний -- максимальную ману, энергию каста или другой кастерский ресурс -- реген кастерского ресурса +- максимальную ману +- реген маны - силу или размер AOE-навыков, если это уместно для конкретного skill archetype - шанс наложить статус, силу статуса или надежность применения status effects - небольшой объем сопротивления магии @@ -224,7 +245,7 @@ - `Мощь`: melee damage, heavy projectile scaling, armor penetration, block/shield power - `Ловкость`: attack speed, reload/draw speed, crit quality, projectile speed, limited move speed bonus -- `Фокус`: spell power, resource pool, resource regen, status application, limited magic resistance +- `Фокус`: spell power, mana pool, mana regen, status application, limited magic resistance - `Стойкость`: max HP, HP regen, control resistance, debuff duration reduction, stagger resistance, small mitigation - `Мастерство`: class mechanic efficiency, weapon/skill specialization, archetype-specific bonuses @@ -300,7 +321,6 @@ - какие soft caps нужны для move speed, attack speed и cast speed - в каком виде `Мастерство` задается в коде: единый stat с archetype-specific conversion rules или набор class-owned scaling hooks -- нужно ли различать mana и energy на уровне ресурсов или `Фокус` должен работать с единым кастерским ресурсом в MVP ## Final Position diff --git a/docs/gameplay/combat-resolution-gdd.md b/docs/gameplay/combat-resolution-gdd.md index f7b5eb05..5d0819c1 100644 --- a/docs/gameplay/combat-resolution-gdd.md +++ b/docs/gameplay/combat-resolution-gdd.md @@ -41,6 +41,14 @@ - area effect - block/guard reaction +Перед выполнением действия проверяется resource gate. + +Проверяется: + +- использует ли действие `Mana`, `Stamina` или не использует отдельный ресурс +- хватает ли нужного ресурса для старта +- есть ли специальные cost modifiers от класса, оружия, навыка или `Мастерства` + На этом этапе определяются: - источник действия @@ -48,6 +56,8 @@ - weapon archetype - skill archetype - target rules +- resource type +- resource cost ### 2. Contact Resolution @@ -307,7 +317,7 @@ PRD используется только для chance-based событий. ### Skills To Combat - задают execution pattern -- задают resource consumption +- задают mana consumption или stamina consumption - задают coefficients и status hooks - задают mastery-specific behavior diff --git a/docs/gameplay/stat-catalog-mvp.md b/docs/gameplay/stat-catalog-mvp.md index a322a7bc..8413d730 100644 --- a/docs/gameplay/stat-catalog-mvp.md +++ b/docs/gameplay/stat-catalog-mvp.md @@ -26,7 +26,7 @@ | --- | --- | --- | --- | --- | | `Мощь` | Primary Attribute | class, level, equipment, buffs | physical offense, penetration, block power | weapons, skills, combat damage, guard | | `Ловкость` | Primary Attribute | class, level, equipment, buffs | speed, crit, projectile handling | attacks, crit resolution, movement | -| `Фокус` | Primary Attribute | class, level, equipment, buffs | resource, spell power, status power | skills, casting, status system | +| `Фокус` | Primary Attribute | class, level, equipment, buffs | mana, spell power, status power | skills, casting, status system | | `Стойкость` | Primary Attribute | class, level, equipment, buffs | HP, defense, sustain, resist | survivability, control, defense | | `Мастерство` | Primary Attribute | class, equipment, archetype bonuses, buffs | specialization quality, weak spot, class hooks | classes, weapon archetypes, skill archetypes | @@ -35,7 +35,8 @@ | Stat | Layer | Depends On | Used By | UI | | --- | --- | --- | --- | --- | | `HP` | Core Visible | `Стойкость`, level, gear, buffs | health system, survivability | main | -| `Resource` | Core Visible | `Фокус`, class, gear, buffs | skills, casting, ability gates | main | +| `Stamina` | Core Visible | `Стойкость`, class, gear, buffs | physical actions, mobility, weapon abilities | main | +| `Mana` | Core Visible | `Фокус`, class, gear, buffs | spells, casting, ability gates | main | | `Damage` | Core Visible | `Мощь`, `Фокус`, weapon, skill, mastery hooks | damage build | main | | `Attack Speed` | Core Visible | `Ловкость`, weapon cadence, buffs | attack execution | main | | `Armor` | Core Visible | `Стойкость`, gear, buffs | defense pass | main | @@ -46,7 +47,8 @@ | Stat | Layer | Depends On | Used By | UI | | --- | --- | --- | --- | --- | | `HP Regen` | Advanced | `Стойкость`, gear, buffs | sustain | advanced | -| `Resource Regen` | Advanced | `Фокус`, class, gear, buffs | sustain, cast flow | advanced | +| `Stamina Regen` | Advanced | `Ловкость`, `Стойкость`, class, gear, buffs | physical tempo sustain | advanced | +| `Mana Regen` | Advanced | `Фокус`, class, gear, buffs | sustain, cast flow | advanced | | `Cast Speed` | Advanced | `Фокус`, `Ловкость`, skill hooks, buffs | cast execution | advanced | | `Crit Chance` | Advanced | `Ловкость`, gear, buffs, mastery hooks | crit roll via PRD | advanced | | `Magic Resist` | Advanced | `Фокус`, gear, buffs | magic defense pass | advanced | @@ -62,6 +64,11 @@ | Stat | Layer | Depends On | Used By | Notes | | --- | --- | --- | --- | --- | | `Crit Quality` | Hidden Runtime | `Ловкость`, `Мастерство`, weapon, skill | crit damage bonus | не определяет факт crit | +| `Mana Cost Modifier` | Hidden Runtime | `Фокус`, gear, skill, mastery | mana spending | cost tuning | +| `Stamina Cost Modifier` | Hidden Runtime | `Ловкость`, gear, skill, mastery | stamina spending | cost tuning | +| `Mana Efficiency` | Hidden Runtime | `Фокус`, mastery, buffs | cast economy | hidden for MVP | +| `Stamina Efficiency` | Hidden Runtime | `Ловкость`, `Мастерство`, buffs | physical economy | hidden for MVP | +| `Resource Type Tag` | Hidden Runtime | weapon, skill, class | action gating | mana/stamina/none | | `Weak Spot Bonus` | Hidden Runtime | `Мастерство`, weapon, hit zone logic | precision damage | skill-based layer | | `Headshot Precision Bonus` | Hidden Runtime | weapon type, hit zone, mastery | ranged precision | contextual | | `Heavy Projectile Scaling` | Hidden Runtime | `Мощь`, weapon archetype | heavy ranged damage | mostly heavy ranged only | @@ -138,8 +145,10 @@ Навыки используют: -- `Resource` -- `Resource Regen` +- `Mana` для spell-oriented действий +- `Mana Regen` для магического темпа +- `Stamina` для физических и weapon-heavy действий +- `Stamina Regen` для физического темпа - `Spell Power` - `Status Power` - `Cast Speed` @@ -161,6 +170,13 @@ Combat pipeline использует: Для легковесного runtime-обновления рекомендуется группировать статы так: +- `Resource Bucket` + - `Stamina` + - `Stamina Regen` + - `Mana` + - `Mana Regen` + - `Mana Cost Modifier` + - `Stamina Cost Modifier` - `Offense Bucket` - `Damage` - `Crit Chance` @@ -168,8 +184,6 @@ Combat pipeline использует: - `Armor Penetration` - `Stagger Power` - `Caster Bucket` - - `Resource` - - `Resource Regen` - `Spell Power` - `Status Power` - `Cast Speed` diff --git a/docs/tasks/items/TASK-0027.md b/docs/tasks/items/TASK-0027.md index 71cac7bc..cca25f70 100644 --- a/docs/tasks/items/TASK-0027.md +++ b/docs/tasks/items/TASK-0027.md @@ -41,7 +41,7 @@ Combat core и классовая система пока не имеют кан ## Expected Outcome -В проекте существует единая система пяти атрибутов: `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство`. Атрибуты конвертируются в понятные боевые эффекты, а классы Воин, Маг и Лучник используют их как часть стартовой конфигурации и class identity. +В проекте существует единая система пяти атрибутов: `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство`. Атрибуты конвертируются в понятные боевые эффекты, а классы Воин, Маг и Лучник используют их как часть стартовой конфигурации и class identity. Ресурсная модель явно разделяет `HP`, `Stamina` и `Mana`, причем у каждого ресурса есть свое автопополнение. ## Current Context @@ -72,6 +72,8 @@ Combat core и классовая система пока не имеют кан - базовая runtime-модель пяти атрибутов персонажа - конвертация атрибутов в derived combat stats по каноническим направлениям +- явное разделение `HP`, `Stamina` и `Mana` как разных runtime resource pools +- автопополнение для `HP`, `Stamina` и `Mana` - стартовые или базовые классовые приоритеты атрибутов для Воина, Мага и Лучника - интеграция атрибутов в class definition и стартовую конфигурацию персонажа - точки расширения для weapon scaling, skill scaling и будущих гибридных классов @@ -105,6 +107,8 @@ Combat core и классовая система пока не имеют кан - в системе существуют `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство` как канонические runtime-атрибуты - атрибуты влияют на боевые параметры по правилам, совместимым с GDD +- `HP`, `Stamina` и `Mana` существуют как разные runtime resource pools +- у `HP`, `Stamina` и `Mana` есть отдельные механики автопополнения - классы Воин, Маг и Лучник имеют явную интеграцию с системой атрибутов - downstream системы могут использовать атрибуты без дублирования class-specific формул