Ivor Barhansky 2020-10-21 21:23:35 +00:00
parent f1f2a843ad
commit 8cba5e87a7

@ -1,10 +1,9 @@
# Статы и зависящие величины # Статы и зависящие величины
|Стат|Базовый|Влияние| |Стат|Базовый|Влияние|
|===|:===:|===| |-|:-:|-|
|Сила|10|+1 очко выше 10 → +5% профильного урона, +10 максимального веса (+1 слот рюкзака)| |Сила|10|+1 очко выше 10 → +5% профильного урона, +10 максимального веса (+1 слот рюкзака)|
|Ловкость|10|+1 очко выше 10 → +5% профильного урона| |Ловкость|10|+1 очко выше 10 → +5% профильного урона|
|Интуиция|10|+1 очко выше 10 → +1% шанса крита, +1 к инициативе((Целое число. определяет очередность ходов.)) Или просто понижаем таймер между ходами.| |Интуиция|10|+1 очко выше 10 → +1% шанса крита, +1 к инициативе[^1] Или просто понижаем таймер между ходами.|
|Выносливость|10|+1 очко выше 10 → + формула здоровья| |Выносливость|10|+1 очко выше 10 → + формула здоровья|
|Интеллект|10|+1 очко выше 10 → +5% профильного урона| |Интеллект|10|+1 очко выше 10 → +5% профильного урона|
|Мудрость|10|+1 очко выше 10 → +1 слот для приёмов + формула маны| |Мудрость|10|+1 очко выше 10 → +1 слот для приёмов + формула маны|
@ -23,100 +22,81 @@ Parry = Шанс автоудара при блокировке
`30 + 15 * (level - 1) + 5 * ((level - 1) * (level - 2) / 2)` `30 + 15 * (level - 1) + 5 * ((level - 1) * (level - 2) / 2)`
|level|math|formula| |level|math|formula|
|===|===|===| |-:|-|-|
|1|`30`| :initial: | |1|30| initial |
|2|`30+15`|`30+(15*1)+(5*0)`| |2|30+15|30+(15\*1)+(5\*0)|
|3|`30+15+20`|`30+(15*2)+(5*1)`| |3|30+15+20|30+(15\*2)+(5\*1)|
|4|`30+15+20+25`|`30+(15*3)+(5*3)`| |4|30+15+20+25|30+(15\*3)+(5\*3)|
|5|`30+15+20+25+30`|`30+(15*4)+(5*6)`| |5|30+15+20+25+30|30+(15\*4)+(5\*6)|
|6|`30+15+20+25+30+35`|`30+(15*5)+(5*10)`| |6|30+15+20+25+30+35|30+(15\*5)+(5\*10)|
|7|`30+15+20+25+30+35+40`|`30+(15*6)+(5*15)`| |7|30+15+20+25+30+35+40|30+(15\*6)+(5\*15)|
<code php> ``` PHP
function health($level, $endurance = 10) { function health($level, $endurance = 10) {
return round(($vit*3) + ($vit/2) * ($level - 1) + ($vit/5) * (($level - 1) * ($level - 2) / 2)).PHP_EOL; return round(($vit*3) + ($vit/2) * ($level - 1) + ($vit/5) * (($level - 1) * ($level - 2) / 2));
} }
/* vit10 ```
1 30 Используя функцию выше, получаем:
2 35
3 42
4 51
5 62
6 75
7 90
8 107
9 126
10 147
11 170
12 195
13 222
14 251
15 282
16 315
17 350
18 387
19 426
20 467
50 2627
vit40 |Уровень|Здоровье при [Выносливость=10]|Здоровье при [Выносливость=40]|
1 120 |-:|:-:|:-:|
2 140 |1|30|120|
3 168 |2|35|140|
4 204 |3|42|168|
5 248 |4|51|204|
6 300 |5|62|248|
7 360 |6|75|300|
8 428 |7|90|360|
9 504 |8|107|428|
10 588 |9|126|504|
11 680 |10|147|588|
12 780 |11|170|680|
13 888 |12|195|780|
14 1004 |13|222|888|
15 1128 |14|251|1004|
16 1260 |15|282|1128|
17 1400 |16|315|1260|
18 1548 |17|350|1400|
19 1704 |18|387|1548|
20 1868 |19|426|1704|
50 10508 |20|467|1868|
*/ |50|2627|10508|
</code>
==== Профильный урон ====
* **Сила** — наносит урон физическому щиту, потом здоровью. Можно бить только того, кто перед тобой.
* **Ловкость** — наносит урон физическому щиту, потом здоровью. Можно бить любого по выбору.
* **Интеллект** — наносит урон магическому щиту, потом здоровью. Можно бить любого по выбору.
**Удар кулаком** — базовый урон всегда равен ''1-2''. ## Профильный урон
* **Сила** — наносит урон физическому щиту, потом здоровью. Можно бить только того, кто перед тобой.
* **Ловкость** — наносит урон физическому щиту, потом здоровью. Можно бить любого по выбору.
* **Интеллект** — наносит урон магическому щиту, потом здоровью. Можно бить любого по выбору.
==== Шанс Крита ==== **Удар кулаком** — базовый урон всегда равен `1-2`.
### Шанс Крита
Шанс нанести дополнительный урон. Каждое оружие имеет свой базовый шанс крита, который изменяется в зависимости от **Интуиции** персонажа и от одетых предметов. Критический урон повышает не сам урон, а высчитывает бонус к урону. Например: 180% критического урона меняет урон стандратного удара в 10 на новое значение 18. Шанс нанести дополнительный урон. Каждое оружие имеет свой базовый шанс крита, который изменяется в зависимости от **Интуиции** персонажа и от одетых предметов. Критический урон повышает не сам урон, а высчитывает бонус к урону. Например: 180% критического урона меняет урон стандратного удара в 10 на новое значение 18.
Абстрактная формула расчёта критического урона: ''(Base Damage)*(1+Elemental Bonus%)*(1+Attribute Bonus%+Weapon Skill Bonus%+Misc Bonuses%)*(1 + Crit Bonus%)''. Абстрактная формула расчёта критического урона: `(Base Damage)*(1+Elemental Bonus%)*(1+Attribute Bonus%+Weapon Skill Bonus%+Misc Bonuses%)*(1 + Crit Bonus%)`.
==== Полоски здоровья ==== ## Полоски здоровья
=== Здоровье === ### Здоровье
Основная полоска. Когда здоровье достигает 0, персонаж погибает в бою. Основная полоска. Когда здоровье достигает 0, персонаж погибает в бою.
=== Мана (техническое название) ===
Мана тратится на применение заклинаний. \\ ### Мана (техническое название в коде упомниается как «Пыль»)
Мана тратится в случае магического урона по персонажу. \\ Мана тратится на применение заклинаний.
Мана тратится в случае магического урона по персонажу.
Пока у персонажа есть Мана, магические атаки не наносят физического урона. Это сделано, чтобы как-то сбалансировать заклинания, которые всегда бьют без промаха и которые невозможно заблокировать. Пока у персонажа есть Мана, магические атаки не наносят физического урона. Это сделано, чтобы как-то сбалансировать заклинания, которые всегда бьют без промаха и которые невозможно заблокировать.
==== Защита от стихий ==== ## Защита от стихий
Любой стихийный урон уменьшается в зависимости от процента защит от стихий. Для каждого значения выше 100% стихийный урон будет лечить персонажа на соответствующее количество единиц. Например, если в персонажа прилетела молния, которая нанесла 500 урона электричеством, а у него защита от воздуха 150%, то персонаж получит лечение на 250 единиц. Любой стихийный урон уменьшается в зависимости от процента защит от стихий. Для каждого значения выше 100% стихийный урон будет лечить персонажа на соответствующее количество единиц. Например, если в персонажа прилетела молния, которая нанесла 500 урона электричеством, а у него защита от воздуха 150%, то персонаж получит лечение на 250 единиц.
Пока что рассматриваются стандартные стихии: Пока что рассматриваются стандартные стихии:
* Огонь * Огонь
* Вода * Вода
* Воздух * Воздух
* Земля * Земля
Отдельно присматриваюсь ещё к трём: Отдельно присматриваюсь ещё к трём:
* Яд — наносит повторяющийся несколько раз урон. * Яд — наносит повторяющийся несколько раз урон.
* Космос — объединение всех стихий. Если процент защиты от космоса выше стихийной, идёт подмена значения. Например, есть персонаж с защитами Огонь 10%, Вода 25%, Земля 30%, Воздух 5% получает защиту Космос 20%. Конечный уровень защит будет: Огонь <del>10%</del>20%, Вода 25%, Земля 30%, Воздух <del>5%</del>20%. Космический урон наносит стихийное повреждение, ориентируясь на самую низкую защиту от стихийного урона. То есть при защитах Огонь 10%, Вода 25%, Земля 30%, Воздух 5% космический урон будет снижен на 5%. * Космос — объединение всех стихий. Если процент защиты от космоса выше стихийной, идёт подмена значения. Например, есть персонаж с защитами Огонь 10%, Вода 25%, Земля 30%, Воздух 5% получает защиту Космос 20%. Конечный уровень защит будет: Огонь ~~10%~~ 20%, Вода 25%, Земля 30%, Воздух ~~5%~~ 20%. Космический урон наносит стихийное повреждение, ориентируясь на самую низкую защиту от стихийного урона. То есть при защитах Огонь 10%, Вода 25%, Земля 30%, Воздух 5% космический урон будет снижен на 5%.
* Пустота — абсолютный стихийный урон, игнорирующий любую стихийную защиту. * Пустота — абсолютный стихийный урон, игнорирующий любую стихийную защиту.
//Стоит рассмотреть вариант, когда Космос использует среднее арифметическое от стихий, а Пустота — абсолютное значение. Или не усложнять сверх меры и похоронить обе стихии.//
*Стоит рассмотреть вариант, когда Космос использует среднее арифметическое от стихий, а Пустота — абсолютное значение. Или не усложнять сверх меры и похоронить обе стихии.*
[^1]: Целое число. определяет очередность ходов.