mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-23 03:15:10 -06:00
Added zone restrictions for crash sites
This commit is contained in:
parent
418c326ec1
commit
ed2e13827b
1 changed files with 25 additions and 11 deletions
|
|
@ -1,9 +1,11 @@
|
|||
package content.global.travel.balloon
|
||||
|
||||
import core.api.MapArea
|
||||
import core.api.closeInterface
|
||||
import core.api.closeOverlay
|
||||
import core.api.closeTabInterface
|
||||
import core.api.getAttribute
|
||||
import core.api.getRegionBorders
|
||||
import core.api.openOverlay
|
||||
import core.api.playAudio
|
||||
import core.api.removeAttribute
|
||||
|
|
@ -19,6 +21,8 @@ import core.game.interaction.InteractionListener
|
|||
import core.game.node.entity.player.Player
|
||||
import core.game.system.task.Pulse
|
||||
import core.game.world.map.Location
|
||||
import core.game.world.map.zone.ZoneBorders
|
||||
import core.game.world.map.zone.ZoneRestriction
|
||||
import core.game.world.update.flag.context.Animation
|
||||
import core.net.packet.PacketRepository
|
||||
import core.net.packet.context.MinimapStateContext
|
||||
|
|
@ -31,6 +35,7 @@ import org.rs09.consts.Components
|
|||
*/
|
||||
|
||||
object BalloonCrashSites {
|
||||
const val CRASH_SITE_REGION = 7244
|
||||
const val SCENERY_OCEAN_PLANK = 19126
|
||||
const val SCENERY_WOODLAND_DIRT = 19125
|
||||
|
||||
|
|
@ -115,6 +120,7 @@ object BalloonCrashSites {
|
|||
|
||||
WoodlandExit.ARDOUGNE -> {
|
||||
teleport(player, WOODLAND_ARDOUGNE_EXIT)
|
||||
player.faceLocation(WOODLAND_ARDOUGNE_EXIT_FACE_LOCATION)
|
||||
// TODO: Placeholder message, find 09 source.
|
||||
sendPlayerDialogue(player, "The crash must have really sent us off course; I'm near Ardougne!")
|
||||
}
|
||||
|
|
@ -188,7 +194,7 @@ object BalloonCrashSites {
|
|||
|
||||
}
|
||||
|
||||
class BalloonCrashSiteListener : InteractionListener {
|
||||
class BalloonCrashSiteListener : InteractionListener, MapArea {
|
||||
override fun defineListeners() {
|
||||
on(BalloonCrashSites.SCENERY_OCEAN_PLANK, IntType.SCENERY, "use") { player, _ ->
|
||||
BalloonCrashSites.leaveOceanCrashSite(player)
|
||||
|
|
@ -211,6 +217,14 @@ class BalloonCrashSiteListener : InteractionListener {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
override fun defineAreaBorders(): Array<ZoneBorders> {
|
||||
return arrayOf(getRegionBorders(BalloonCrashSites.CRASH_SITE_REGION))
|
||||
}
|
||||
|
||||
override fun getRestrictions(): Array<ZoneRestriction> {
|
||||
return arrayOf(ZoneRestriction.TELEPORT)
|
||||
}
|
||||
}
|
||||
|
||||
class BalloonCrashDialogue : DialogueLabeller() {
|
||||
|
|
@ -225,18 +239,18 @@ class BalloonCrashDialogue : DialogueLabeller() {
|
|||
}
|
||||
|
||||
label("ocean_crash")
|
||||
npc("Great Scott! Ocean! Ahhh!")
|
||||
player("What happened?")
|
||||
npc("Crashed, off course. Ocean! Oh dear... I feel very...")
|
||||
player("Contemplative? Concerned for your life? Desperate?")
|
||||
npc("No...more along the lines of ill...You might want to swim away now. Use the plank...")
|
||||
player("How are you going to get back? What about the balloon?")
|
||||
npc("I'm sure a fishing trawler will come by and give me a lift. Don't worry, I shall return.")
|
||||
npc("Great Scott! Ocean! Ahhh!")
|
||||
player("What happened?")
|
||||
npc("Crashed, off course. Ocean! Oh dear... I feel very...")
|
||||
player("Contemplative? Concerned for your life? Desperate?")
|
||||
npc("No...more along the lines of ill...You might want to swim away now. Use the plank...")
|
||||
player("How are you going to get back? What about the balloon?")
|
||||
npc("I'm sure a fishing trawler will come by and give me a lift. Don't worry, I shall return.")
|
||||
|
||||
label("woodland_crash")
|
||||
npc("Well, that didn't go as planned.")
|
||||
player("So what now? How will we get the balloon back?")
|
||||
npc("I'll have to get one of the monks to come pick it up. You head back on your own; just follow the path. I'll meet you back at Entrana.")
|
||||
npc("Well, that didn't go as planned.")
|
||||
player("So what now? How will we get the balloon back?")
|
||||
npc("I'll have to get one of the monks to come pick it up. You head back on your own; just follow the path. I'll meet you back at Entrana.")
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue