Added message when running out of prayer points

Improved handling of running out of prayer points
This commit is contained in:
Player Name
2024-01-20 11:31:18 +00:00
committed by Ryan
parent 6763758196
commit 86973b6d36
@@ -14,6 +14,7 @@ import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Graphics;
import core.tools.RandomFunction;
import core.game.event.*;
import core.game.world.GameWorld;
import org.rs09.consts.Sounds;
@@ -63,19 +64,21 @@ public final class Prayer {
* Method used to reset this prayer managers cached prayers.
*/
public void reset() {
// Immediately clear the lights on the client interface and terminate any bonuses
for (PrayerType type : getActive()) {
setVarp(player, type.getConfig(), 0, false);
setVarp(player, type.getConfig(), 0, false);
player.dispatch(new PrayerDeactivatedEvent(type));
}
getActive().clear();
// Clear the overhead prayer icon a tick later
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
player.getAppearance().setHeadIcon(-1);
player.getAppearance().sync();
return true;
}
});
// Clear the overhead prayer icon a tick later
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
player.getAppearance().setHeadIcon(-1);
player.getAppearance().sync();
return true;
}
});
}
/**
@@ -131,7 +134,8 @@ public final class Prayer {
if(prayerActiveTicks > 0 && prayerActiveTicks % 2 == 0){
if(getPlayer().getSkills().getPrayerPoints() == 0){
playAudio(getPlayer(), Sounds.PRAYER_DRAIN_2672);
playAudio(getPlayer(), Sounds.PRAYER_DRAIN_2672);
getPlayer().sendMessage("You have run out of prayer points; you must recharge at an altar.");
reset();
return;
}