Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
calcSkillReuseDelay
#1
Помогите пожалуйста, нужно чтобы откат зависел от каста и\или скорости атаки, сделал такой код, но работает только на физический откат:
[SRC="java"] /** Calculate reuse delay (in milliseconds) for skills */
public static long calcSkillReuseDelay(Creature actor, Skill skill)
{
long reuseDelay = skill.getReuseDelay();
if(actor.isMonster())
reuseDelay = skill.getReuseForMonsters();
if(skill.isReuseDelayPermanent() || skill.isHandler() || skill.isItemSkill())
return reuseDelay;
if(actor.getSkillMastery(skill.getId()) == 1)
{
actor.removeSkillMastery(skill.getId());
return 0;
}
if(skill.isMagic())
return (int) actor.calcStat(Stats.MAGIC_REUSE_RATE, reuseDelay, null, skill);

reuseDelay *= 600.0 / (skill.isMagic() ? actor.getMAtkSpd() : actor.getPAtkSpd());


return (long) actor.calcStat(Stats.PHYSIC_REUSE_RATE, reuseDelay, null, skill);
}[/SRC]
Что неверно?

Добавлено через 4 минуты
Сделал так работает, а как разделить ну для магов такой каст нужен а для физиков такой?
[SRC="java"] if(skill.isMagic())
{
reuseDelay *= 600.0 / (skill.isMagic() ? actor.getMAtkSpd() : actor.getPAtkSpd());
return (int) actor.calcStat(Stats.MAGIC_REUSE_RATE, reuseDelay, null, skill);
}
else
{
reuseDelay *= 600.0 / (skill.isMagic() ? actor.getMAtkSpd() : actor.getPAtkSpd());
}[/SRC]
Ответ
#2
Может потому что (int) вместо (long)?
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#3
Спасибо, не заметил. :confused:
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  calcSkillReuseDelay Enjoooy 7 2,253 05-19-2017, 12:02 PM
Последний пост: DiagoD

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


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