Алгоритмы — различия между версиями

Материал из HeroesLAND
Перейти к: навигация, поиск
м (Вычисление "силы героя".)
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
<div style="width:1080px;">
 
<div style="width:1080px;">
<!-- Тут записываются информационные данные для других редакторов. -->
+
 
<!-- По вопросам разработки обращаться к герою Фартаэль. -->
+
__NOEDITSECTION__
+
<br clear=all><hr><hr>
+
<b><i><font color=red>Данная страница находится в разработке, дальнейшая информация временно недоступна.
+
Приносим извинения за временные неудобства.</font></i></b>
+
<br>
+
<hr><hr>
+
</div>
+
  
 
==Вычисление магического урона.==
 
==Вычисление магического урона.==
Строка 34: Строка 26:
 
2. Определяется модификатор урона MD_BAS, учитывающий разницу между атакой нападающего и защитой цели. На этом этапе применяются все модификаторы атаки (атака в окружении и пр.) и защиты (снижение защиты цели при атаке Бегемотов, свойство Ётунов и комплекта Титана, состояние обороны и пр.).
 
2. Определяется модификатор урона MD_BAS, учитывающий разницу между атакой нападающего и защитой цели. На этом этапе применяются все модификаторы атаки (атака в окружении и пр.) и защиты (снижение защиты цели при атаке Бегемотов, свойство Ётунов и комплекта Титана, состояние обороны и пр.).
  
*Если атака больше защиты, то урон увеличивается на 5% за каждую единицу разности, но не более, чем на 300%.
+
*Если атака больше защиты, то урон увеличивается на 5% за каждую единицу разности, но не более, чем на 400%.
  
*Если атака меньше защиты, то урон снижается на 2.5% за каждую единицу разности, но не более, чем до 70%.
+
*Если атака меньше защиты, то урон снижается на 2.5% за каждую единицу разности, но не более, чем до 60%.
  
 
3. Определяется модификатор M_OFF вторичных навыков у героя, владеющего атакующим отрядом, повышающих урон. Для контактной атаки это - "Нападение", для стрелковой - "Стрельба". Степень увеличение зависит от уровня владения навыком:  
 
3. Определяется модификатор M_OFF вторичных навыков у героя, владеющего атакующим отрядом, повышающих урон. Для контактной атаки это - "Нападение", для стрелковой - "Стрельба". Степень увеличение зависит от уровня владения навыком:  
Строка 80: Строка 72:
  
 
[[Файл:Сила героя.png|left]]
 
[[Файл:Сила героя.png|left]]
 +
Параметр "Сила героя" вычисляется по-разному для ПвЕ и ПвП битв. В информации о герое возле аватарки указывается "Сила героя" в ПвП битвах. Нажав на кнопку с изображением глаза, можно посмотреть правильно ли рассчитывается ваша сила согласно формуле. В случае несоответствия игроку необходимо обратиться в [http://forum.heroesland.com/viewforum.php?f=7&sid=ec3303f1bb2c0d4f51ea904d42cc3c66  <i>Мастерские</i>]. <br>
 +
"Силу героя" в ПвЕ битвах можно увидеть, если по завершении битвы навести указатель мыши на портрет героя во вкладке "Статистика".<br>
 +
[[Файл:ПвЕ Сила героя.png|300px|right]]
  
Увидеть параметр "Сила героя" можно в  информации о герое возле аватарки. Нажав на кнопку с изображением глаза, можно посмотреть правильно ли рассчитывается ваша сила согласно формуле. В случае несоответствия игроку необходимо обратиться в [http://forum.heroesland.com/viewforum.php?f=7&sid=ec3303f1bb2c0d4f51ea904d42cc3c66  <i>Мастерские</i>].
 
 
 
 
 
В ПвЕ битвах:
 
"Сила героя" = "Коэффициент влияния героя" * ( "Сила стартовой армии" + "Сила призванных юнитов" )
 
 
В ПвП битвах:
 
"Сила героя" = "Коэффициент влияния героя" * "Сила стартовой армии" + "Сила призванной армии" / 10
 
  
1. "Сила армии" равна суммарной харизме всех соответствующих отрядов.
+
"Сила героя" <b>в ПвЕ битвах:</b><br>
 +
1. Определяется "Сила армии" героя как сумма общей харизмы всех отрядов в армии и общей харизмы всех призванных в бою юнитов.<br>
 +
2. Определяются "Параметры героя" как сумма всех параметров героя (*), умноженных на индивидуальные коэффициенты.<br>
 +
3. Определяются "Заклинания героя" как Объем маны.<br>
 +
4. Определяется "Коэффициент влияния героя" = ( 1 + 0.012 * "Параметры героя" ) * ( 1 + 0.0019 * "Заклинания героя" ).<br>
 +
5. "ПвЕ сила героя" = "Коэффициент влияния героя" * "Сила армии".<br>
  
2. "Коэффициент влияния героя" = ( 1 + "Параметры героя" ) * ( 1 + "Заклинания героя" ), где "Параметры героя" = 0.012 * сумма всех параметров героя (кроме стартовых), влияющих на его армию, умноженных на индивидуальные коэффициенты.  
+
"Сила героя" <b>в ПвП битвах:</b><br>
 +
1. Определяется "Воинский потенциал" героя как сумма общей харизмы всех отрядов в армии и общей харизмы всех призванных в бою юнитов, умноженной на 0.2.<br>
 +
2. Определяется "Магический потенциал" героя, как сумма очков интеллекта всех заклинаний в книге героя в бою.<br>
 +
3. Определяется "Модификатор воинского потенциала" как сумма всех воинских параметров героя (*), умноженных на индивидуальные коэффициенты.<br>
 +
4. Определяется "Модификатор магического потенциала" как сумма всех магических параметров героя (*), умноженных на индивидуальные коэффициенты.<br>
 +
5. "ПвП сила героя" = 0.01 * "Воинский потенциал" * "Модификатор воинского потенциала" + 2.5 * "Магический потенциал" * "Модификатор магического потенциала".<br>
  
Учитываются параметры: атака (1), защита (1), сила магии (1), знания (1), скорость юнитов (3), здоровье юнитов (1), удача (0.5), мораль (0.5), сопротивление магии (0.2), расстояние стрельбы (0.5), снижение физического урона (0.2), увеличение физического урона (0.4), снижение магического урона (0.01), увеличение магического урона (0.05).
+
* Учитываемые параметры и их коэффициенты.<br>
 +
<b>Воинские</b> параметры:<br>
 +
атака ( 1 )<br>
 +
защита ( 1 )<br>
 +
скорость юнитов ( 15 )<br>
 +
здоровье юнитов ( 3 )<br>
 +
удача ( 5 )<br>
 +
мораль ( 5 )<br>
 +
сопротивление магии ( 0.5 )<br>
 +
расстояние стрельбы ( 2.0 )<br>
 +
снижение физического урона ( 1.0 )<br>
 +
увеличение физического урона ( 2.0 )<br>
 +
снижение магического урона ( 0.5 )<br>
  
"Заклинания героя" = 0.0038 * объём маны / 2.
+
<b>Магические</b> параметры:<br>
 +
сила магии ( 1 )<br>
 +
мана ( 0.1 )<br>
 +
увеличение магического урона ( 0.25 )<br>
  
 
==Вычисление размера динамической армии противника для героя.==
 
==Вычисление размера динамической армии противника для героя.==

Текущая версия на 02:49, 1 июня 2019


Вычисление магического урона.

Формула заклинания "Молния"

1. Вычисляется базовое значение урона по формуле из Справки.

2. Учитывается увеличение урона магией соответствующей школы ( от артефактов и пр. ).

3. Учитывается навык "Волшебство".

4. Для ПвЕ учитывается увеличение силы заклинаний урона: +2% за уровень героя.

5. Учитывается влияние магических медалей из достижений героя.

6. Учитывается возможная Специализация героя.

7. Учитывается модификатор снижения урона магией соответствующей школы по цели ( заклинания "Защита от магии ...", свойства юнитов и артефактов ).

8. Учитывается свойство "Уклонение от магического урона" у цели (вероятностное снижение урона).

Вычисление физического урона.

1. Определяется базовый урон D_BAS как случайное значение из диапазона от <количество юнитов в стеке * минимальный урон> до <количество юнитов в стеке * максимальный урон>.

2. Определяется модификатор урона MD_BAS, учитывающий разницу между атакой нападающего и защитой цели. На этом этапе применяются все модификаторы атаки (атака в окружении и пр.) и защиты (снижение защиты цели при атаке Бегемотов, свойство Ётунов и комплекта Титана, состояние обороны и пр.).

  • Если атака больше защиты, то урон увеличивается на 5% за каждую единицу разности, но не более, чем на 400%.
  • Если атака меньше защиты, то урон снижается на 2.5% за каждую единицу разности, но не более, чем до 60%.

3. Определяется модификатор M_OFF вторичных навыков у героя, владеющего атакующим отрядом, повышающих урон. Для контактной атаки это - "Нападение", для стрелковой - "Стрельба". Степень увеличение зависит от уровня владения навыком:

M_OFF = D_BAS * PCT / 100. 4. Определяется модификатор M_DEF снижения урона, зависящий от навыка "Доспехи" у героя, владеющего защищающимся отрядом. Степень снижения зависит от уровня владения навыком:

M_DEF = PCT / 100.

5. Учитывается модификатор сработавшего навыка "Удача" M_LUCK.

  • В случае выпадения положительной удачи M_LUCK = 1.5
  • Для отрицательной удачи M_LUCK = 0.75
  • При отсутствии Удачи M_LUCK = 1.0

6. Определяется промежуточный базовый урон

D = ( D_BAS + MD_BAS + M_OFF ) * M_LUCK * ( 1.0 - M_DEF )

7. Учитываются сумма модификаторов, увеличивающих урон (контактный или стрелковый) атакующего отряда (заклинания, свойства артефактов и юнитов)

D = D + D * I_DMG / 100.

8. Учитываются сумма модификаторов, снижающих получаемый урон (контактный или стрелковый) защищающимся отрядом (заклинания, свойства артефактов и юнитов)

D = D - D * R_DMG / 100.

9. Учитывается пенальти за стрельбу на дальнюю дистанцию ( 0.5 ) и сумма модификаторов, увеличивающие урон. Например, "Удар двойной силы" Рыцарей Сметри, "Атака в окружении" у Ётуновых Питомцев.

D = D * ( 1.0 - PENALTY ) * COEFF.

10. Учитывается влияние боевых медалей в достижениях героя, владеющего нападающим отрядом.

11. Учитываются свойство "Кавалерийский бонус" у нападающего (увеличение урона за каждую пройденную клетку).

12. Учитывается свойство "Глухая оборона" у защитника (снижение урона за каждую пройденную нападающим клетку). Например, от комплекта Ветерана.

13. Учитывается свойство "Уклонение от урона" у защитника (вероятностное снижение урона). Например, у Утонувших.

14. Результирующий урон не может быть меньше 1.

Вычисление "силы героя".

Сила героя.png

Параметр "Сила героя" вычисляется по-разному для ПвЕ и ПвП битв. В информации о герое возле аватарки указывается "Сила героя" в ПвП битвах. Нажав на кнопку с изображением глаза, можно посмотреть правильно ли рассчитывается ваша сила согласно формуле. В случае несоответствия игроку необходимо обратиться в Мастерские.
"Силу героя" в ПвЕ битвах можно увидеть, если по завершении битвы навести указатель мыши на портрет героя во вкладке "Статистика".

ПвЕ Сила героя.png


"Сила героя" в ПвЕ битвах:
1. Определяется "Сила армии" героя как сумма общей харизмы всех отрядов в армии и общей харизмы всех призванных в бою юнитов.
2. Определяются "Параметры героя" как сумма всех параметров героя (*), умноженных на индивидуальные коэффициенты.
3. Определяются "Заклинания героя" как Объем маны.
4. Определяется "Коэффициент влияния героя" = ( 1 + 0.012 * "Параметры героя" ) * ( 1 + 0.0019 * "Заклинания героя" ).
5. "ПвЕ сила героя" = "Коэффициент влияния героя" * "Сила армии".

"Сила героя" в ПвП битвах:
1. Определяется "Воинский потенциал" героя как сумма общей харизмы всех отрядов в армии и общей харизмы всех призванных в бою юнитов, умноженной на 0.2.
2. Определяется "Магический потенциал" героя, как сумма очков интеллекта всех заклинаний в книге героя в бою.
3. Определяется "Модификатор воинского потенциала" как сумма всех воинских параметров героя (*), умноженных на индивидуальные коэффициенты.
4. Определяется "Модификатор магического потенциала" как сумма всех магических параметров героя (*), умноженных на индивидуальные коэффициенты.
5. "ПвП сила героя" = 0.01 * "Воинский потенциал" * "Модификатор воинского потенциала" + 2.5 * "Магический потенциал" * "Модификатор магического потенциала".

  • Учитываемые параметры и их коэффициенты.

Воинские параметры:
атака ( 1 )
защита ( 1 )
скорость юнитов ( 15 )
здоровье юнитов ( 3 )
удача ( 5 )
мораль ( 5 )
сопротивление магии ( 0.5 )
расстояние стрельбы ( 2.0 )
снижение физического урона ( 1.0 )
увеличение физического урона ( 2.0 )
снижение магического урона ( 0.5 )

Магические параметры:
сила магии ( 1 )
мана ( 0.1 )
увеличение магического урона ( 0.25 )

Вычисление размера динамической армии противника для героя.

1.Определяется базовый коэффициент разброса CBase, как случайное число между 2.3 и 2.7.

2.Вычисляется базовая харизма будущей динамической армии CPBase = CP / CBase, где CP - общая харизма героя.

3. Вычисляется базовый случайный коэффициент CRandom, зависящий от уровня героя и лежащий в пределах от 1.5 до 2.0.

4. Определяется коэффициент CRace, зависящий от типа герои и равный сейчас 0.9-1.0.

5. Вычисляется коэффициент влияния параметров героя CParams (алгоритм приведен в Вычислении силы героя, "Параметры героя"). CParams не может быть выше 2.0.

6. Вычисляется коэффициент влияния заклинаний героя CSpells = 1.0 + 0.0038 * SUMSpells, где SUMSpells - сумма произведений количества набранных заклинаний на их стоимость в очках интеллекта. CSpells не может быть выше 2.0.

7. Вычисляется коэффициент влияния истории битв героя с юнитам того типа, из которых будет состоять динамическая армия CKills = 1.0 + 0.00002 * EXP / 1000, где EXP - общий опыт, ранее полученный героем за убийство юнитов указанных типов. CKills не может быть выше 2.0.

8. Вычисляется результирующий коэффициент CTotal = CRandom * CRace * CParams * CSpells * CKills * CAIHero, где CAIHero равен 1.0 для армии без ИИ героя, и зависит от уровня героя в противном случае: от 1.5 для 1-7 уровней, до 0.15 для 20+ уровней. CTotal не может быть выше 5.0 для охоты на Арене и 7.0 для боёв на карте.

9. Вычисляется суммарная харизма будущей динамической армии CPTotal = CPBase * Difficult * CTotal, где Difficult - уровень сложности, заданный в параметрах (юнитов, объектов на карте, события и т.п.).

10. Полученная суммарная харизма равномерно делится на все стеки будущей динамической армии в зависимости от их персональной харизмы. Округление всегда вверх.