diff --git a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java index 234e49a71..019ad27a1 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java +++ b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java @@ -8,11 +8,13 @@ import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.impl.Projectile; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; +import core.game.system.task.Pulse; 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 rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks; +import rs09.game.world.GameWorld; import java.util.ArrayList; import java.util.List; @@ -62,8 +64,15 @@ public final class Prayer { player.getConfigManager().set(type.getConfig(), 0); } getActive().clear(); - player.getAppearance().setHeadIcon(-1); - player.getAppearance().sync(); + // 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; + } + }); } /** @@ -119,6 +128,7 @@ public final class Prayer { if(prayerActiveTicks > 0 && prayerActiveTicks % 2 == 0){ if(getPlayer().getSkills().getPrayerPoints() == 0){ + getPlayer().getAudioManager().send(2672); reset(); return; } @@ -190,4 +200,4 @@ public final class Prayer { return active; } -} \ No newline at end of file +}