Сразу хочу предупредить, что информация в этой статье носит сугубо технический характер и, скорее всего, может пригодиться только программисту каких-либо покеигр. Итак, повреждение от атаки, нанесенной противником, вычисляется по следующей формуле (X -- временный результат):
X (min)=(5-10*a+(0.8+a)*УРОВЕНЬ АТАКУЮЩЕГО)*СИЛА АТАКИ/120
где a-случайное число в диапазоне от 0 до 0.2.
ПОВРЕЖДЕНИЕ=X*АТАКА АТАКУЮЩЕГО/ЗАЩИТА АТАКУЕМОГО
для нормальных/боевых/каменных/земляных/жуковых/летучих/призрачных/ядовитых/стальных атак или
ПОВРЕЖДЕНИЕ=X*СПЕЦАТАКА АТАКУЮЩЕГО/СПЕЦЗАЩИТА АТАКУЕМОГО
для всех остальных
1) Если атакуемый слаб к атакам этого типа, наносится двойное повреждение. Слаб по обем типам -- четверное. Обратно для устойчивых покемонов. Абсолютно устойчивым повреждения нет. Вот скриншот таблицы из Pokemon Netbattle:
[1]
2) Если тип атакующего покемона совпадает с типом атаки, то повреждение увеличивается в 1.5 раза.
3) Атаки, усиливающиеся при низком оставшемся HP, усиливаются в 1.5 раза.
4) Если покемон держит предмет, усиливающий атаки этого типа, то к повреждению добавляется 10% (исключение: LightBall усиливает электроатаки пикачу в 2 раза).
5) При использовании атакуемым LightScreen или Reflect атака ослабляется в 2 раза.
6) Погода усиливает или ослабляет атаки в 1.5 раза. Подробную информацию о ней можно найти на сайте lugia-island.ucoz.ru
7) Критический удар наносит двойное повреждение.
Рассмотрим на примере.
Возьмем вульпикса 100 уровня. Для начала атакуем им ретикейта, скажем, Flamethrower`ом (спецатака, сила = 95). Не знаю точную статистику, но пусть у вульпикса спецатака = 100, у ретикейта спецзацита = 25. Имеет место совпадение типов -- усиление в 1.5 раза Итак,
(5+0.8*100)*95/120 <= X <= (3+100)*95/120
67.3 <= X <= 81.5
67.3*100*1.5/25 <= ПОВРЕЖДЕНИЕ <= 81.5*100*1.5/25
Окончательно получаем:
404 <= ПОВРЕЖДЕНИЕ <= 489
Если заменим ретикейта на парасекта, дадим вульпиксу Charcoal, устроим ему критический удар в Sunny day, то получим повреждение в пределах от
404*(4*1.1*2*1.5)=5333 до 489*(4*1.1*2*1.5)=6455.
Вот, собственно, и все. Информация получена путем обработки в Excel данных из DamageDex в Pokemon NetBattle и неплохо с ними сходится. Желаю удачи всем разработчикам новых покеигр, к коим отношусь и сам =).