From 2507ed00e72c7d34277a62662536f4cc0ee99d68 Mon Sep 17 00:00:00 2001 From: Tooze Date: Sat, 11 Apr 2026 23:20:15 -0400 Subject: [PATCH] No Prayer allowed in arena --- .../minigame/barbassault/arena/BarbassaultSession.kt | 4 ++++ .../node/entity/player/link/prayer/PrayerType.java | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/Server/src/main/content/minigame/barbassault/arena/BarbassaultSession.kt b/Server/src/main/content/minigame/barbassault/arena/BarbassaultSession.kt index 0138e16a0..b0758b15b 100644 --- a/Server/src/main/content/minigame/barbassault/arena/BarbassaultSession.kt +++ b/Server/src/main/content/minigame/barbassault/arena/BarbassaultSession.kt @@ -61,6 +61,7 @@ class BarbassaultSession( val activity: BarbassaultActivity ? = null) :LogoutLi for (player in team.allPlayers()) { zone.enter(player) + val pRole = player.baSession?.team?.getRoleForPlayer(player) equipBARoleIcon(player, pRole!!) player.properties.teleportLocation = team.spawnLocationFor(player) //base.transform(36, 24, 0) @@ -148,6 +149,8 @@ class BarbassaultSession( val activity: BarbassaultActivity ? = null) :LogoutLi state = BarbassaultState.FORFEIT } + fun isBarbAssaultGame() = state == BarbassaultState.IN_ARENA + fun endGame(endReason: String){ eventBus.clear() scoreManager.resetAll() @@ -282,6 +285,7 @@ class BarbassaultSession( val activity: BarbassaultActivity ? = null) :LogoutLi val waveNum = player.getAttribute("barbass:wave", 1) val wornIconId = getItemFromEquipment(player, EquipmentSlot.CAPE)?.id val interfaceId = getIconInterfaceId(wornIconId ?: -1) + player.fullRestore() //waveLobbies[waveNum].randomWalkableLoc //todo consolidate logic. interfaceId?.let { diff --git a/Server/src/main/core/game/node/entity/player/link/prayer/PrayerType.java b/Server/src/main/core/game/node/entity/player/link/prayer/PrayerType.java index 41f7dfbf2..cef4061af 100644 --- a/Server/src/main/core/game/node/entity/player/link/prayer/PrayerType.java +++ b/Server/src/main/core/game/node/entity/player/link/prayer/PrayerType.java @@ -1,6 +1,7 @@ package core.game.node.entity.player.link.prayer; import content.data.Quests; +import content.minigame.barbassault.arena.BarbassaultSession; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.entity.skill.SkillBonus; import core.game.node.entity.skill.Skills; @@ -222,6 +223,15 @@ public enum PrayerType { * @return True if it is permitted. */ public boolean permitted(final Player player) { + BarbassaultSession session = player.getAttribute("ba-session"); + if (session != null) { + if (session.isBarbAssaultGame()) { + //todo find correct message here + sendMessage(player, "The barbarians do not allow the use of prayer in the arena."); + toggle(player,false); + return false; + } + } if (!hasLevelStat(player, Skills.PRAYER, level) || !hasLevelStat(player, Skills.DEFENCE, defenceReq)) { sendDialogue(player, "You need a " + (!hasLevelStat(player, Skills.PRAYER, level) ? "Prayer level of " + level + (!hasLevelStat(player, Skills.DEFENCE, defenceReq) ? " and a " : "") : "") + (!hasLevelStat(player, Skills.DEFENCE, defenceReq) ? "Defence level of " + defenceReq : "") + " to use " + StringUtils.formatDisplayName(name().toLowerCase().replace("_", " ")) + "."); return false;