Ещё раз всем привет. Вопрос: как прописать invul персонажу на определенное время при совершении какого-либо действия?
Например, при воскрешении добавляю строку player.setInvul(true), но это делает персонажа неуязвимым навсегда, как ограничить его одной секундой? Думаю это что-то похожее на эффекты паралича при входе в мир на некоторых серверах
Например, при воскрешении добавляю строку player.setInvul(true), но это делает персонажа неуязвимым навсегда, как ограничить его одной секундой? Думаю это что-то похожее на эффекты паралича при входе в мир на некоторых серверах
Код:
public static final void revive(final Player player, int hpPercent, int mpPercent, boolean setSoulsickness) {
player.setPlayerResActivate(false);
player.getLifeStats().setCurrentHpPercent(hpPercent);
player.getLifeStats().setCurrentMpPercent(mpPercent);
if (player.getCommonData().getDp() > 0)
player.getCommonData().setDp(0);
player.getLifeStats().triggerRestoreOnRevive();
if (setSoulsickness) {
player.getController().updateSoulSickness();
}
player.getAggroList().clear();
player.getController().onBeforeSpawn();
//unset isflyingbeforedeath
player.setIsFlyingBeforeDeath(false);
if(player.isInGroup2()){
TeamMoveUpdater.getInstance().startTask(player);
}
PacketSendUtility.sendPacket(player, new SM_EMOTION(player, EmotionType.RESURRECT));
//тут добавляю и после первой смерти персонаж остается в invul навсегда
player.setInvul(true);
}
