|
I. Увеличение параметров с ростом опыта
Используемые обозначения:
- Skill - новое значение параметра
- BSkill - базовое значение параметра
- Exp - общее количество опыта юнита
- Pct - доля опыта (в %) идущая на увеличение параметра
Формула, связывающая параметры юнитов с опытом, зависит от уровня опыта.
если (Exp * Pct / 100) < 800, то
Skill = BSkill + sqrt(Exp * Pct / 100) / 3
в противном случае
Skill = BSkill + log2(Exp * Pct / 100)
С ростом опыта у юнитов изменяются только
AP, Атака и Зашита. Пропорции распределения опыта специфичны для каждой игровой расы.
Кроме того опыт влияет на увеличение Скорости восстановления Выстрелов у стрелков.
Каждый час восстанавливается выстрелов:
(1 + sqrt(Опыт) / 10) * МаксимальныеВыстрелы / 24
II. Наносимые повреждения
Используемые обозначения:
- Att - атака нападающего
- Def - защита обороняющегося
- MinDam - минимальный урон, наносимый нападающим
- MaxDam - максимальный урон, наносимый нападающим
- BDam - базовый урон, наносимый нападающим
- Dam - общий урон, наносимый нападающим
- HAtt - высота, занимаемая нападающим
- HDef - высота, занимаемая обороняющимся
Последовательность вычислений:
- Базовое повреждение:
BDam = rand(MinDam, MaxDam)
- Влияние разности Атаки и Защиты:
- если (Att > Def), то
Dam = BDam * (100 + 5 * (Att - Def)) / 100
+5% на единицу разности, но не больше, чем до 400%
- если (Att < Def), то
Dam = BDam * (100 - 2 * (Def - Att)) / 100
-2% на единицу разности, но не меньше, чем до 30%
- Влияние разности занимаемых высот:
Dam = Dam * (100 + (20 * (HAtt - HDef)) / 100, если HAtt > HDef
Dam = Dam * (100 - (10 * (HDef - HAtt)) / 100, если HAtt < HDef
- Dam = max(1, Dam)
урон не может быть меньше 1
Количество нанесённых атакующим повреждений вычитается из HP обороняющегося.
III. Нападение на города и объекты
- Параметры ответного удара у Города (при нападении на пустой город)
- Att = 0.0005 * Население * (Настроение / 100)
- Def = 0.001 * Население * (Настроение / 100)
- MinDam = 5
- MaxDam = 10
Ни Атака, ни Защита Города не может быть меньше 1.
- Потеря населения и денег (Dam - урон, нанесенный атакующим юнитом;
Нас - население города)
- Погибшее Население = 20 * Dam * sqrt(Нас) / 100 + 2
- Разграбленная Сумма = 0.0001 * Dam * Казна
- Параметры Городских укреплений (при наличии в городе юнита)
- Att = 0 (нет ответных повреждений)
- Def = 100
- Параметры объектов (Мосты и Стены)
- Att (Мост и Стена) = 0 (нет ответных повреждений)
- Def (Мост) = 100
- Def (Стена) = 100
IV. Экономические вычисления
Используемые обозначения:
- Нас - население города
- Настр - настроение населения (%) в городе
- Когорта - размер "когорты налогоплательщиков"
- Налог - налог с населения
- МНалог - максимальный налог с населения
(без трат на роскошь), при котором Настроение будет 100%
- Доход - доход от населения
- Роскошь - доля дохода, направленная на роскошь (в монетах)
- Коррупция - процент дохода, пропадающий из-за удаленности от Столицы
Столицей считается самый старый Город логина.
Переносить Столицу можно только в город, где построен Дворец, который кроме того удваивает доход от населения.
Если в Городе есть специальное строение (Суд), то коррупция сокращается на 30%.
Доход от населения:
Когорта = 0.4 * Население ^ (2 / 3)
Доход = (Нас / Когорта) * (Налог / 100) * (Настр / 100)
Доход зависит от степени застроенности карты в пределах экрана вокруг города:
Доход = Доход * 100 / (ШтрафныеОчки + 100)
Каждый город или форт "стоит" 20 штрафных очков, любой объект - 5 очков.
Например, город, окруженный рядом стен, теряет в доходе 29%, если остальная часть видимой карты не занята.
Доход города, вся карта вокруг которого застроена стенами, равен 14% от максимально возможного.
Кроме того, на доход влияет коррупция в городе:
Коррупция (%) = 100 / (1 + 150000 * exp(-ЧислоГородов / 2.4))
Схема вычисления дохода города следующая:
1. Вычисляется базовый доход от населения.
2. Доход уменьшается в соответствии с занятостью карты вокруг города.
3. Доход уменьшается с учетом коррупции.
4. Доход удваивается, если в городе построен Дворец.
Полученный доход - это и будет доход от населения.
Прирост населения:
Нас = Нас + (ln(30000*Настр/100) - ln(Нас))*(0.003*Нас + 0.4*ln(Нас))/2
Изменение настроения:
МНалог = -10 * ln(Нас / (1 + 3 * Роскошь)) + 110
Настр = Настр + 0.2 * (МНалог-Налог)
Все экономические параметры пересчитываюися
каждый час.
V. Вычисление цены найма юнита
Используемые обозначения:
- БЦена - базовая цена юнита
- Юниты - количество юнитов такого типа имеющихся в городе.
Для Колонистов - это общее количество Колонистов + количество городов.
Цена = (БЦена - 1) + [0.4 * LN(БЦена) + 0.4] ^ [(Юниты - 1) / 5]
Цена на Колонистов одинакова в любом городе Игрока.
VI. Вычисление количества населения, требуемого для найма юнита
Используемые обозначения:
- БНас - базовое колитчество населения для найма юнита
- Юниты - количество юнитов такого типа имеющихся в городе.
Население = БНас * exp[ln(БНас) * Юниты / (100 / sqrt(БНас))]
Для Колонистов - количество населения всегда равно базовому.
На количество юнитов в этой формуле влияет количество
городов: каждые два города после 30 добавляют по 1 в параметр Юниты.
VII. Вычисление содержания юнита
Используемые обозначения:
- Базовое - базовое содержание юнита.
- Опыт - общий опыт юнита.
- Порог - опыт юнита, начиная с которого растет его содержание.
Содержание = Базовое + max(0, (Опыт - Порог) / 20)
VIII. Вычисление суммы, поступающей в город из Мешка с деньгами
Используемые обозначения:
- СуммаВМешке - сколько монет было положено в мешок при его создании
- Расстояние - количество клеток (по прямой) между городами,
где Мешок создан и куда его затолкали
Сумма = СуммаВМешке * (50 + 2 * Расстояние) / 100
То есть, за каждую "протолканную" клетку добавляется по 2 процента к основным 50-ти.
И, если протолкать Мешок 25 клеток, то в город переведётся 100% начальной суммы.
IX. Вычисление рейтинга Игрока
Используемые обозначения:
- БР (базовый ретинг) = sqrt(Население) * (Казна / (Казна + Население)) / 1.5
- ЭР (экономика) = 1 + 5 * БалансЗаЧас / Казна
- ТР (территория) = 1 + ln(КоличествоГородов * 10 + Территория) / 10
- ВР (война) = 1 + КоличествоСнесенныхГородов * ln(ИхСреднийВозаст) / 500
Рейтинг = БР * ЭР * ТР * ВР
|
|