[java]установка базовых характеристик чара
1 replies94 viewsCurrently viewing: 1
· 09/27/2009, 08:00 PM
Сборка: любая
Суть проблемы:
При делевеле чара с первой(второй, третьей - это неважно) профой до 1 уровня его ХМ, МП и ЦП становится равным 1.
Проиcходит сие безобразие потому, что в такой ситуации эти показатели уходят в минус, и поэтому выставляются сервером в единицу. В минус они уходят в следующем фрагменте Formulas.java
Код
L2PcTemplate t = (L2PcTemplate) env.player.getTemplate();
int lvl = env.player.getLevel() - t.classBaseLevel;
double hpmod = t.lvlHpMod * lvl;
double hpmax = (t.lvlHpAdd + hpmod) * lvl;
double hpmin = (t.lvlHpAdd * lvl) + hpmod;
env.value += (hpmax + hpmin) / 2;
int lvl = env.player.getLevel() - t.classBaseLevel;
double hpmod = t.lvlHpMod * lvl;
double hpmax = (t.lvlHpAdd + hpmod) * lvl;
double hpmin = (t.lvlHpAdd * lvl) + hpmod;
env.value += (hpmax + hpmin) / 2;
т.к. lvl в данной ситуации получается отрицательным числом. Суть фрагмента - к базовому количеству ХП для данной профы добавляется бонус ХП за каждый полученный уровень от базового (20+ для первой, 40+ - для второй, 76+ - для третьей).
Если чар третьей профы 1 уровня, то его уровень (env.player.getLevel()) = 1, а базовый уровень (t.classBaseLevel) = 76, за счёт чего результат и получается отрицательным.
Это можно как-то решить установкой вместо t.classBaseLevel подходящего значения. Хотелось бы ещё выставлять базовое значение ХП, но не могу найти, где оно устанавливается.
Вопрос:
1. Возможно, кто-нибудь сможет подсказать где.
2. Возможно, кто-нибудь подскажет, как с помощью getTemplate() получить шаблон не для чара, а для определённого класса.
0
Войдите или зарегистрируйтесь чтобы ответить
