Falconry Glove is now removed when leaving area

This commit is contained in:
Beck
2026-04-19 09:36:32 +00:00
committed by Ryan
parent 6479afde2d
commit 8fd363a43c
2 changed files with 49 additions and 0 deletions
@@ -0,0 +1,13 @@
package content.global.skill.hunter.falconry
import core.game.node.Node
import core.game.world.map.zone.ZoneBorders
/**
* Used to define the zoneBorders for an MapArea listener
*/
object FalconryZone {
val piscatorisFalconryZones = arrayOf(
ZoneBorders(2364, 3573, 2394, 3620, 0)
)
}
@@ -0,0 +1,36 @@
package content.global.skill.hunter.falconry
import core.api.*
import core.api.MapArea
import core.game.activity.ActivityManager
import core.game.node.entity.Entity
import core.game.world.map.zone.ZoneBorders
import core.game.node.entity.player.Player
import org.rs09.consts.Items
class PiscFalconryListener: MapArea {
override fun defineAreaBorders(): Array<ZoneBorders> {
return FalconryZone.piscatorisFalconryZones
}
/**
* When player leaves by any method other than logout/disconnect.
*/
override fun areaLeave(entity: Entity, logout: Boolean) {
if (entity is Player) {
if (!logout) {
// Legacy compatibility of FalconryActivityPlugin.java
removeAttribute(entity, "falconry")
// Compatibility with StileShortcut.kt
ActivityManager.getActivity("falconry").leave(entity, false)
removeAll(entity, Items.FALCONERS_GLOVE_10023)
removeAll(entity, Items.FALCONERS_GLOVE_10023, Container.EQUIPMENT)
removeAll(entity, Items.FALCONERS_GLOVE_10024)
removeAll(entity, Items.FALCONERS_GLOVE_10024, Container.EQUIPMENT)
}
}
}
}