Рейтинг темы:
  • 1 Голос(ов) - 1 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
calcSkillReuseDelay
#1
[SRC="java"]/** Calculate reuse delay (in milliseconds) for skills */
public static long calcSkillReuseDelay(Creature actor, SkillEntry skill)
{
long reuseDelay = skill.getTemplate().getReuseDelay();
if(actor.isMonster())
reuseDelay = skill.getTemplate().getReuseForMonsters();
if(skill.getTemplate().isReuseDelayPermanent() || skill.getTemplate().isHandler() || skill.getTemplate().isItemSkill())
return reuseDelay;
if(actor.getSkillMastery(skill.getTemplate()).hasZeroReuse())
return 0;
if (skill.getTemplate().isMusic())
return (long) actor.calcStat(Stats.MUSIC_REUSE_RATE, reuseDelay, null, skill);
if(skill.getTemplate().isMagic())
return (long) actor.calcStat(Stats.MAGIC_REUSE_RATE, reuseDelay*(actor.getMAtkSpd()/1000), null, skill);

return (long) actor.calcStat(Stats.PHYSIC_REUSE_RATE, reuseDelay*(actor.getPAtkSpd(true)/1000), null, skill);
}[/SRC]

Сколько я способов только не пробовал, хотел сделать откат в зависимости от каста/скорости атаки, не получается, в чем проблема? какими способами это можно реализовать? Логика не доходит..

Т.е. как задумывалось, если каст 1000, то откат как прописан в xml, а если > 1000 то уменьшается, если < то увеличивается
Ответ
#2
На форуме видел пару раз решение, пользуйтесь поиском
Ответ
#3
Map Написал:На форуме видел пару раз решение, пользуйтесь поиском

Видел эти темы, там ставили вопрос, но на него так и никто не ответил..
Поэтому и создал новую
Ответ
#4
под овероподобную сборку
Разработка Lineage II Classic: Saviors 2.0
Ответ
#5
Mantra Написал:
под овероподобную сборку

Это придется везде calcSkillReuseDelay делать double?

Как это сделать без изменения в десятках файлах reuseDelay на double? И не только reuseDelay приходится менять на double.
Ответ
#6
зачем делать double? тут же сразу же все приводится к long в итоге
Ответ
#7
Gaikotsu Написал:зачем делать double? тут же сразу же все приводится к long в итоге

Потому что если откат меньше 1 сек, то он не делается меньше, а double решило бы эту проблему.

Long - только целые числа
Ответ
#8
Enjoooy Написал:Потому что если откат меньше 1 сек, то он не делается меньше, а double решило бы эту проблему.

Long - только целые числа

откат в миллисекундах, по этому нету необходимости делать дублеSmile
а если у вас он в секундах, то значит переделайте на милиSmile
open-team.ru - Freya, HighFive...
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  calcSkillReuseDelay L2J 2 1,716 07-15-2014, 02:54 PM
Последний пост: L2J

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)