From 0734c04745beddd9ba44b1f05385ddb379b0ad78 Mon Sep 17 00:00:00 2001 From: psyopcutie Date: Tue, 7 Jul 2026 18:53:24 +0200 Subject: [PATCH] today i drew: Constant suffix where it makes sense. Examine texts. Journal overhaul. Bowl spawn. --- Server/data/configs/ground_spawns.json | 2 +- Server/data/configs/npc_configs.json | 15 ++-- .../travel/balloon/BalloonCrashSites.kt | 36 ++++---- .../travel/balloon/BalloonFlightInterface.kt | 42 ++++----- .../travel/balloon/BalloonFlightScreens.kt | 88 +++++++++---------- .../travel/balloon/BalloonTravelInterface.kt | 37 ++++---- .../quest/EnlightenedJourney.kt | 63 +++++++------ 7 files changed, 149 insertions(+), 134 deletions(-) diff --git a/Server/data/configs/ground_spawns.json b/Server/data/configs/ground_spawns.json index 1893b6df3..a84f7bd97 100644 --- a/Server/data/configs/ground_spawns.json +++ b/Server/data/configs/ground_spawns.json @@ -457,7 +457,7 @@ }, { "item_id": "1923", - "loc_data": "{1,3208,3214,0,80}-{1,3140,3452,1,90}-" + "loc_data": "{1,3208,3214,0,80}-{1,2816,3351,1,80}-{1,3140,3452,1,90}-" }, { "item_id": "1925", diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json index 9fd067311..014274748 100644 --- a/Server/data/configs/npc_configs.json +++ b/Server/data/configs/npc_configs.json @@ -54831,23 +54831,28 @@ }, { "id": "5053", - "name": "Assistant Serf" + "name": "Assistant Serf", + "examine": "A helpful assistant." }, { "id": "5054", - "name": "Assistant Brock" + "name": "Assistant Brock", + "examine": "A helpful assistant." }, { "id": "5055", - "name": "Assistant Marrow" + "name": "Assistant Marrow", + "examine": "A helpful assistant." }, { "id": "5056", - "name": "Assistant Le Smith" + "name": "Assistant Le Smith", + "examine": "A helpful assistant." }, { "id": "5057", - "name": "Assistant Stan" + "name": "Assistant Stan", + "examine": "A helpful assistant." }, { "id": "5058", diff --git a/Server/src/main/content/global/travel/balloon/BalloonCrashSites.kt b/Server/src/main/content/global/travel/balloon/BalloonCrashSites.kt index e51bdba99..690da7806 100644 --- a/Server/src/main/content/global/travel/balloon/BalloonCrashSites.kt +++ b/Server/src/main/content/global/travel/balloon/BalloonCrashSites.kt @@ -38,15 +38,15 @@ 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 + const val CRASH_SITE_REGION_7244 = 7244 + const val SCENERY_OCEAN_PLANK_19126 = 19126 + const val SCENERY_WOODLAND_DIRT_19125 = 19125 - const val NPC_OCEAN_AUGUSTE = 5051 - const val NPC_WOODLAND_AUGUSTE = 5052 + const val NPC_OCEAN_AUGUSTE_5051 = 5051 + const val NPC_WOODLAND_AUGUSTE_5052 = 5052 - private const val SOUND_CRASH = 3244 - private const val RENDER_ANIMATION_SWIM = 188 + private const val SOUND_CRASH_3244 = 3244 + private const val RENDER_ANIMATION_SWIM_188 = 188 private val OCEAN_CRASH_LANDING = Location.create(1805, 4889, 0) private val OCEAN_CRASH_FACE_LOCATION = Location.create(1804, 4889, 0) @@ -78,7 +78,7 @@ object BalloonCrashSites { } fun crashAtOceanSite(player: Player) { - playAudio(player, SOUND_CRASH) + playAudio(player, SOUND_CRASH_3244) fadeTransition(player) { closeFlightInterface(player) teleport(player, OCEAN_CRASH_LANDING) @@ -100,7 +100,7 @@ object BalloonCrashSites { } fun crashAtWoodlandSite(player: Player, exit: WoodlandExit) { - playAudio(player, SOUND_CRASH) + playAudio(player, SOUND_CRASH_3244) setAttribute(player, ATTRIBUTE_WOODLAND_EXIT, exit.name) fadeTransition(player) { closeFlightInterface(player) @@ -179,7 +179,7 @@ object BalloonCrashSites { } private fun oceanSwimmingAnimations(player: Player) { - player.appearance.setAnimations(Animation(RENDER_ANIMATION_SWIM)) + player.appearance.setAnimations(Animation(RENDER_ANIMATION_SWIM_188)) player.appearance.sync() } @@ -187,22 +187,22 @@ object BalloonCrashSites { class BalloonCrashSiteListener : InteractionListener, MapArea { override fun defineListeners() { - on(BalloonCrashSites.SCENERY_OCEAN_PLANK, IntType.SCENERY, "use") { player, _ -> + on(BalloonCrashSites.SCENERY_OCEAN_PLANK_19126, IntType.SCENERY, "use") { player, _ -> BalloonCrashSites.leaveOceanCrashSite(player) return@on true } - on(BalloonCrashSites.SCENERY_WOODLAND_DIRT, IntType.SCENERY, "leave") { player, _ -> + on(BalloonCrashSites.SCENERY_WOODLAND_DIRT_19125, IntType.SCENERY, "leave") { player, _ -> BalloonCrashSites.leaveWoodlandCrashSite(player) return@on true } - on(BalloonCrashSites.NPC_OCEAN_AUGUSTE, IntType.NPC, "talk-to") { player, node -> + on(BalloonCrashSites.NPC_OCEAN_AUGUSTE_5051, IntType.NPC, "talk-to") { player, node -> DialogueLabeller.open(player, BalloonCrashDialogue(), node.asNpc()) return@on true } - on(BalloonCrashSites.NPC_WOODLAND_AUGUSTE, IntType.NPC, "talk-to") { player, node -> + on(BalloonCrashSites.NPC_WOODLAND_AUGUSTE_5052, IntType.NPC, "talk-to") { player, node -> DialogueLabeller.open(player, BalloonCrashDialogue(), node.asNpc()) return@on true } @@ -210,7 +210,7 @@ class BalloonCrashSiteListener : InteractionListener, MapArea { } override fun defineAreaBorders(): Array { - return arrayOf(getRegionBorders(BalloonCrashSites.CRASH_SITE_REGION)) + return arrayOf(getRegionBorders(BalloonCrashSites.CRASH_SITE_REGION_7244)) } override fun getRestrictions(): Array { @@ -220,12 +220,12 @@ class BalloonCrashSiteListener : InteractionListener, MapArea { class BalloonCrashDialogue : DialogueLabeller() { override fun addConversation() { - assignToIds(BalloonCrashSites.NPC_OCEAN_AUGUSTE) + assignToIds(BalloonCrashSites.NPC_OCEAN_AUGUSTE_5051) exec { player, npc -> when (npc.id) { - BalloonCrashSites.NPC_OCEAN_AUGUSTE -> loadLabel(player, "ocean_crash") - BalloonCrashSites.NPC_WOODLAND_AUGUSTE -> loadLabel(player, "woodland_crash") + BalloonCrashSites.NPC_OCEAN_AUGUSTE_5051 -> loadLabel(player, "ocean_crash") + BalloonCrashSites.NPC_WOODLAND_AUGUSTE_5052 -> loadLabel(player, "woodland_crash") } } diff --git a/Server/src/main/content/global/travel/balloon/BalloonFlightInterface.kt b/Server/src/main/content/global/travel/balloon/BalloonFlightInterface.kt index 9ae93527a..eded3b846 100644 --- a/Server/src/main/content/global/travel/balloon/BalloonFlightInterface.kt +++ b/Server/src/main/content/global/travel/balloon/BalloonFlightInterface.kt @@ -51,8 +51,8 @@ private enum class BalloonCrashLocation { class BalloonFlightInterface : InterfaceListener { companion object { - private const val BALLOON_FLIGHT_INTERFACE = 470 - private const val BALLOON_CONTROL_INTERFACE = 471 + private const val BALLOON_FLIGHT_INTERFACE_470 = 470 + private const val BALLOON_CONTROL_INTERFACE_471 = 471 private const val ATTRIBUTE_BALLOON_TOP = "enlightenedjourney_balloon_top" private const val ATTRIBUTE_BALLOON_BOTTOM = "enlightenedjourney_balloon_bottom" @@ -61,17 +61,17 @@ class BalloonFlightInterface : InterfaceListener { private const val ATTRIBUTE_FLIGHT_SCREEN = "enlightenedjourney_balloon_flight_screen" private const val ATTRIBUTE_FLIGHT_DESTINATION = "enlightenedjourney_balloon_flight_destination" - private const val SOUND_SANDBAG = 3249 - private const val SOUND_BURN_LOG = 3251 - private const val SOUND_RELAX = 3247 - private const val SOUND_ROPE = 3242 - private const val SOUND_RED_ROPE = 3239 + private const val SOUND_SANDBAG_3249 = 3249 + private const val SOUND_BURN_LOG_3251 = 3251 + private const val SOUND_RELAX_3247 = 3247 + private const val SOUND_ROPE_3242 = 3242 + private const val SOUND_RED_ROPE_3239 = 3239 // cant find source material for using these two: // zep_construct=3248 // zep_hammering_1=3250 - private const val MUSIC_FLOATING_FREE = 206 + private const val MUSIC_FLOATING_FREE_206 = 206 private val controlMoves = mapOf( BalloonFlightRoutes.BUTTON_SANDBAG to BalloonMove(1, -2), @@ -91,8 +91,8 @@ class BalloonFlightInterface : InterfaceListener { closeInterface(player) hideGameTabs(player) hideMinimap(player) - player.musicPlayer.unlock(MUSIC_FLOATING_FREE) - openInterface(player, BALLOON_FLIGHT_INTERFACE) + player.musicPlayer.unlock(MUSIC_FLOATING_FREE_206) + openInterface(player, BALLOON_FLIGHT_INTERFACE_470) } /** Post-quest flight from Entrana to a new unlockable destination. */ @@ -105,8 +105,8 @@ class BalloonFlightInterface : InterfaceListener { closeInterface(player) hideGameTabs(player) hideMinimap(player) - player.musicPlayer.unlock(MUSIC_FLOATING_FREE) - openInterface(player, BALLOON_FLIGHT_INTERFACE) + player.musicPlayer.unlock(MUSIC_FLOATING_FREE_206) + openInterface(player, BALLOON_FLIGHT_INTERFACE_470) } private fun getFlightDestination(player: Player): BalloonTravelLocation { @@ -463,11 +463,11 @@ class BalloonFlightInterface : InterfaceListener { private fun playControlSound(player: Player, buttonId: Int) { val sound = when (buttonId) { - BalloonFlightRoutes.BUTTON_SANDBAG -> SOUND_SANDBAG - BalloonFlightRoutes.BUTTON_BURN_LOG -> SOUND_BURN_LOG - BalloonFlightRoutes.BUTTON_RELAX -> SOUND_RELAX - BalloonFlightRoutes.BUTTON_NORMAL_ROPE -> SOUND_ROPE - BalloonFlightRoutes.BUTTON_RED_ROPE -> SOUND_RED_ROPE + BalloonFlightRoutes.BUTTON_SANDBAG -> SOUND_SANDBAG_3249 + BalloonFlightRoutes.BUTTON_BURN_LOG -> SOUND_BURN_LOG_3251 + BalloonFlightRoutes.BUTTON_RELAX -> SOUND_RELAX_3247 + BalloonFlightRoutes.BUTTON_NORMAL_ROPE -> SOUND_ROPE_3242 + BalloonFlightRoutes.BUTTON_RED_ROPE -> SOUND_RED_ROPE_3239 else -> return } playAudio(player, sound) @@ -503,12 +503,12 @@ class BalloonFlightInterface : InterfaceListener { } override fun defineInterfaceListeners() { - onOpen(BALLOON_FLIGHT_INTERFACE) { player, _ -> + onOpen(BALLOON_FLIGHT_INTERFACE_470) { player, _ -> val destination = getFlightDestination(player) val screen = getAttribute(player, ATTRIBUTE_FLIGHT_SCREEN, 1) val startPosition = getScreenPosition(destination, screen) player.lock() - openSingleTab(player, BALLOON_CONTROL_INTERFACE) + openSingleTab(player, BALLOON_CONTROL_INTERFACE_471) BalloonFlightScreens.clear(player) drawFlightScreen(player, destination, screen) BalloonFlightScreens.drawBalloon(player, startPosition.top, startPosition.bottom) @@ -516,7 +516,7 @@ class BalloonFlightInterface : InterfaceListener { true } - onClose(BALLOON_FLIGHT_INTERFACE) { player, _ -> + onClose(BALLOON_FLIGHT_INTERFACE_470) { player, _ -> BalloonFlightScreens.clear(player) clearFlightAttributes(player) closeTabInterface(player) @@ -525,7 +525,7 @@ class BalloonFlightInterface : InterfaceListener { true } - on(BALLOON_CONTROL_INTERFACE) { player, _, _, buttonId, _, _ -> + on(BALLOON_CONTROL_INTERFACE_471) { player, _, _, buttonId, _, _ -> handleRouteButton(player, buttonId) true } diff --git a/Server/src/main/content/global/travel/balloon/BalloonFlightScreens.kt b/Server/src/main/content/global/travel/balloon/BalloonFlightScreens.kt index 5d0e19cc1..4bff34984 100644 --- a/Server/src/main/content/global/travel/balloon/BalloonFlightScreens.kt +++ b/Server/src/main/content/global/travel/balloon/BalloonFlightScreens.kt @@ -9,20 +9,20 @@ import core.game.node.entity.player.Player */ object BalloonFlightScreens { - private const val BALLOON_FLIGHT_INTERFACE = 470 + private const val BALLOON_FLIGHT_INTERFACE_470 = 470 - private const val MODEL_WHITE_BIRD = 19779 - private const val MODEL_BROWN_BIRD = 19780 - private const val ANIMATION_BIRD = 341 - private const val MODEL_CLOUD_ANOMALY = 19781 - private const val ANIMATION_CLOUD_ANOMALY = 5141 - private const val MODEL_BALLOON_TOP = 19517 - private const val MODEL_BALLOON_BOTTOM = 19518 + private const val MODEL_WHITE_BIRD_19779 = 19779 + private const val MODEL_BROWN_BIRD_19780 = 19780 + private const val ANIMATION_BIRD_341 = 341 + private const val MODEL_CLOUD_ANOMALY_19781 = 19781 + private const val ANIMATION_CLOUD_ANOMALY_5141 = 5141 + private const val MODEL_BALLOON_TOP_19517 = 19517 + private const val MODEL_BALLOON_BOTTOM_19518 = 19518 /** Clears all model child slots used by the flight interface. */ fun clear(player: Player) { for (child in 78..237) { - player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE, child, 0) + player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE_470, child, 0) } } @@ -40,25 +40,25 @@ object BalloonFlightScreens { /** Draws the top and bottom balloon models at the given child slots. */ fun drawBalloon(player: Player, topChild: Int, bottomChild: Int) { - player.packetDispatch.sendModelOnInterface(MODEL_BALLOON_TOP, BALLOON_FLIGHT_INTERFACE, topChild, 2576) + player.packetDispatch.sendModelOnInterface(MODEL_BALLOON_TOP_19517, BALLOON_FLIGHT_INTERFACE_470, topChild, 2576) resetModelAngle(player, topChild) - player.packetDispatch.sendModelOnInterface(MODEL_BALLOON_BOTTOM, BALLOON_FLIGHT_INTERFACE, bottomChild, 2576) + player.packetDispatch.sendModelOnInterface(MODEL_BALLOON_BOTTOM_19518, BALLOON_FLIGHT_INTERFACE_470, bottomChild, 2576) resetModelAngle(player, bottomChild) } /** Clears the top and bottom balloon models at the given child slots. */ fun clearBalloon(player: Player, topChild: Int, bottomChild: Int) { - player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE, topChild, 0) - player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE, bottomChild, 0) + player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE_470, topChild, 0) + player.packetDispatch.sendModelOnInterface(-1, BALLOON_FLIGHT_INTERFACE_470, bottomChild, 0) } private fun resetModelAngle(player: Player, child: Int) { - player.packetDispatch.sendAngleOnInterface(BALLOON_FLIGHT_INTERFACE, child, 2576, 0, 0) + player.packetDispatch.sendAngleOnInterface(BALLOON_FLIGHT_INTERFACE_470, child, 2576, 0, 0) } private fun drawModels(player: Player, model: Int, vararg children: Int) { for (child in children) { - player.packetDispatch.sendModelOnInterface(model, BALLOON_FLIGHT_INTERFACE, child, 2576) + player.packetDispatch.sendModelOnInterface(model, BALLOON_FLIGHT_INTERFACE_470, child, 2576) resetModelAngle(player, child) } } @@ -73,9 +73,9 @@ object BalloonFlightScreens { vararg children: Int ) { for (child in children) { - player.packetDispatch.sendModelOnInterface(model, BALLOON_FLIGHT_INTERFACE, child, zoom) - player.packetDispatch.sendAngleOnInterface(BALLOON_FLIGHT_INTERFACE, child, zoom, pitch, yaw) - sendAnimationOnInterface(player, animation, BALLOON_FLIGHT_INTERFACE, child) + player.packetDispatch.sendModelOnInterface(model, BALLOON_FLIGHT_INTERFACE_470, child, zoom) + player.packetDispatch.sendAngleOnInterface(BALLOON_FLIGHT_INTERFACE_470, child, zoom, pitch, yaw) + sendAnimationOnInterface(player, animation, BALLOON_FLIGHT_INTERFACE_470, child) } } @@ -120,10 +120,10 @@ object BalloonFlightScreens { drawModels(player, 19572, 78) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 145, 148, 177, 209) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 145, 148, 177, 209) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 175, 230) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 175, 230) } private fun drawTaverleyScreenTwo(player: Player) { @@ -176,7 +176,7 @@ object BalloonFlightScreens { drawModels(player, 19526, 181, 203, 188) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 161, 179, 185, 204, 219) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 161, 179, 185, 204, 219) } private fun drawTaverleyScreenThree(player: Player) { @@ -218,10 +218,10 @@ object BalloonFlightScreens { drawModels(player, 19526, 171, 176, 214) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 146, 151, 192, 207, 208, 215) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 146, 151, 192, 207, 208, 215) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 191) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 191) } private fun drawCraftingGuildScreen(player: Player, screen: Int) { @@ -272,10 +272,10 @@ object BalloonFlightScreens { drawModels(player, 19631, 91) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 220, 221, 206, 175, 151, 171, 148) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 220, 221, 206, 175, 151, 171, 148) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 183) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 183) // Clouds drawModels(player, 19525, 162, 192, 233) @@ -317,10 +317,10 @@ object BalloonFlightScreens { drawModels(player, 19717, 97) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 161, 187, 216, 217, 171) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 161, 187, 216, 217, 171) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 127, 132, 188) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 127, 132, 188) } private fun drawCraftingGuildScreenThree(player: Player) { @@ -356,10 +356,10 @@ object BalloonFlightScreens { drawModels(player, 19524, 223, 167, 174, 229, 211) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 199, 120, 163, 209) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 199, 120, 163, 209) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 143, 104) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 143, 104) } private fun drawVarrockScreen(player: Player, screen: Int) { @@ -404,8 +404,8 @@ object BalloonFlightScreens { // Birds drawAnimatedModels( player, - MODEL_WHITE_BIRD, - ANIMATION_BIRD, + MODEL_WHITE_BIRD_19779, + ANIMATION_BIRD_341, 2567, 100, 300, @@ -428,7 +428,7 @@ object BalloonFlightScreens { drawModels(player, 19741, 55) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 139, 218, 214, 209, 190, 214, 154) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 139, 218, 214, 209, 190, 214, 154) // Trees drawModels(player, 19570, 119, 122, 134, 135, 137) @@ -464,7 +464,7 @@ object BalloonFlightScreens { drawModels(player, 19754, 149) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 187, 192, 236) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 187, 192, 236) } private fun drawVarrockScreenThree(player: Player) { @@ -482,7 +482,7 @@ object BalloonFlightScreens { drawModels(player, 19519, 81) // Birds - drawAnimatedModels(player, MODEL_BROWN_BIRD, ANIMATION_BIRD, 2567, 100, 300, 141, 199, 225, 230) + drawAnimatedModels(player, MODEL_BROWN_BIRD_19780, ANIMATION_BIRD_341, 2567, 100, 300, 141, 199, 225, 230) // Clouds drawModels(player, 19526, 198, 202) @@ -539,7 +539,7 @@ object BalloonFlightScreens { drawModels(player, 19526, 229, 183, 166, 170, 214, 177) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 140, 147, 207, 130, 193, 136) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 140, 147, 207, 130, 193, 136) } private fun drawCastleWarsScreenTwo(player: Player) { @@ -585,10 +585,10 @@ object BalloonFlightScreens { drawModels(player, 19526, 142, 159, 181, 191, 205, 217, 231) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 152, 156) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 152, 156) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 118, 197) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 118, 197) } private fun drawCastleWarsScreenThree(player: Player) { @@ -626,10 +626,10 @@ object BalloonFlightScreens { drawModels(player, 19526, 172, 186, 199, 211, 217, 223) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 140, 153, 179) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 140, 153, 179) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 138, 147) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 138, 147) } private fun drawGrandTreeScreen(player: Player, screen: Int) { @@ -672,10 +672,10 @@ object BalloonFlightScreens { drawModels(player, 19526, 188, 195, 203, 232) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 191, 229, 237, 144, 130) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 191, 229, 237, 144, 130) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 214) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 214) } private fun drawGrandTreeScreenTwo(player: Player) { @@ -715,10 +715,10 @@ object BalloonFlightScreens { drawModels(player, 19526, 192, 201, 205, 209, 217) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 219, 183, 154, 196, 197, 149, 150) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 219, 183, 154, 196, 197, 149, 150) // Cloud anomaly - drawAnimatedModels(player, MODEL_CLOUD_ANOMALY, ANIMATION_CLOUD_ANOMALY, 2567, 0, 300, 181, 220, 224, 228) + drawAnimatedModels(player, MODEL_CLOUD_ANOMALY_19781, ANIMATION_CLOUD_ANOMALY_5141, 2567, 0, 300, 181, 220, 224, 228) } private fun drawGrandTreeScreenThree(player: Player) { @@ -808,7 +808,7 @@ object BalloonFlightScreens { drawModels(player, 19526, 175, 200, 214) // Birds - drawAnimatedModels(player, MODEL_WHITE_BIRD, ANIMATION_BIRD, 2567, 100, 300, 178, 225) + drawAnimatedModels(player, MODEL_WHITE_BIRD_19779, ANIMATION_BIRD_341, 2567, 100, 300, 178, 225) } } \ No newline at end of file diff --git a/Server/src/main/content/global/travel/balloon/BalloonTravelInterface.kt b/Server/src/main/content/global/travel/balloon/BalloonTravelInterface.kt index 81580306c..81bfd59d5 100644 --- a/Server/src/main/content/global/travel/balloon/BalloonTravelInterface.kt +++ b/Server/src/main/content/global/travel/balloon/BalloonTravelInterface.kt @@ -46,11 +46,11 @@ import org.rs09.consts.NPCs * @author Edith */ -private const val ASSISTANT_STAN_WRAPPER = 5062 -private const val ASSISTANT_MARROW_WRAPPER = 5063 -private const val ASSISTANT_LE_SMITH_WRAPPER = 5064 -private const val ASSISTANT_BROCK_WRAPPER = 5065 -private const val ASSISTANT_SERF_WRAPPER = 5066 +private const val ASSISTANT_STAN_WRAPPER_5062 = 5062 +private const val ASSISTANT_MARROW_WRAPPER_5063 = 5063 +private const val ASSISTANT_LE_SMITH_WRAPPER_5064 = 5064 +private const val ASSISTANT_BROCK_WRAPPER_5065 = 5065 +private const val ASSISTANT_SERF_WRAPPER_5066 = 5066 private const val VARROCK_MEDIUM_DIARY = 1 @@ -77,16 +77,16 @@ private val BALLOON_BASKET_LOCS = intArrayOf(19128, 19129) class BalloonTravelInterface : InterfaceListener, InteractionListener { companion object { - private const val BALLOON_MAP_INTERFACE = 469 - private const val BALLOON_MAP_MODEL = 12 + private const val BALLOON_MAP_INTERFACE_469 = 469 + private const val BALLOON_MAP_MODEL_12 = 12 private const val ATTRIBUTE_BALLOON_START = "balloon_travel_start" /** Opens the balloon map interface. */ fun open(player: Player, start: BalloonTravelLocation) { setAttribute(player, ATTRIBUTE_BALLOON_START, start) - openInterface(player, BALLOON_MAP_INTERFACE) - setComponentVisibility(player, BALLOON_MAP_INTERFACE, start.mapComponent, false) + openInterface(player, BALLOON_MAP_INTERFACE_469) + setComponentVisibility(player, BALLOON_MAP_INTERFACE_469, start.mapComponent, false) } /** Checks the saved route unlock state. */ @@ -160,9 +160,9 @@ class BalloonTravelInterface : InterfaceListener, InteractionListener { val duration = animationDuration(Animation(animation)) lock(player, duration) - setComponentVisibility(player, BALLOON_MAP_INTERFACE, start.mapComponent, true) - setComponentVisibility(player, BALLOON_MAP_INTERFACE, BALLOON_MAP_MODEL, false) - animateInterface(player, BALLOON_MAP_INTERFACE, BALLOON_MAP_MODEL, animation) + setComponentVisibility(player, BALLOON_MAP_INTERFACE_469, start.mapComponent, true) + setComponentVisibility(player, BALLOON_MAP_INTERFACE_469, BALLOON_MAP_MODEL_12, false) + animateInterface(player, BALLOON_MAP_INTERFACE_469, BALLOON_MAP_MODEL_12, animation) queueScript(player, duration, QueueStrength.SOFT) { closeInterface(player) @@ -199,7 +199,7 @@ class BalloonTravelInterface : InterfaceListener, InteractionListener { } override fun defineInterfaceListeners() { - on(BALLOON_MAP_INTERFACE) { player, _, _, selectId, _, _ -> + on(BALLOON_MAP_INTERFACE_469) { player, _, _, selectId, _, _ -> val destination = BalloonTravelLocation.fromSelectId(selectId) ?: return@on false val start = getAttribute(player, ATTRIBUTE_BALLOON_START, BalloonTravelLocation.ENTRANA) @@ -226,6 +226,7 @@ class BalloonTravelInterface : InterfaceListener, InteractionListener { override fun defineListeners() { on(BALLOON_VISIBLE_NPCS, IntType.NPC, "fly") { player, node -> if (!isQuestComplete(player, Quests.ENLIGHTENED_JOURNEY)) { + sendMessage(player, "You should speak to Auguste first.") return@on true } @@ -281,7 +282,7 @@ enum class BalloonTravelLocation( 10, 50, EnlightenedJourney.VARBIT_CASTLEWARS_BALLOON_2869, - ASSISTANT_MARROW_WRAPPER, + ASSISTANT_MARROW_WRAPPER_5063, 19137, ), GRAND_TREE( @@ -292,7 +293,7 @@ enum class BalloonTravelLocation( 3, 60, EnlightenedJourney.VARBIT_GRANDTREE_BALLOON_2870, - ASSISTANT_LE_SMITH_WRAPPER, + ASSISTANT_LE_SMITH_WRAPPER_5064, 19139, ), CRAFTING_GUILD( @@ -303,7 +304,7 @@ enum class BalloonTravelLocation( 10, 30, EnlightenedJourney.VARBIT_CRAFTINGGUILD_BALLOON_2871, - ASSISTANT_BROCK_WRAPPER, + ASSISTANT_BROCK_WRAPPER_5065, 19141, ), ENTRANA( @@ -325,7 +326,7 @@ enum class BalloonTravelLocation( 1, 20, EnlightenedJourney.VARBIT_TAVERLEY_BALLOON_2868, - ASSISTANT_STAN_WRAPPER, + ASSISTANT_STAN_WRAPPER_5062, 19135, ), VARROCK( @@ -336,7 +337,7 @@ enum class BalloonTravelLocation( 10, 40, EnlightenedJourney.VARBIT_VARROCK_BALLOON_2872, - ASSISTANT_SERF_WRAPPER, + ASSISTANT_SERF_WRAPPER_5066, 19143, ); diff --git a/Server/src/main/content/region/misc/entrana/quest/enlightenedjourney/quest/EnlightenedJourney.kt b/Server/src/main/content/region/misc/entrana/quest/enlightenedjourney/quest/EnlightenedJourney.kt index 23748d4ee..3b39482de 100644 --- a/Server/src/main/content/region/misc/entrana/quest/enlightenedjourney/quest/EnlightenedJourney.kt +++ b/Server/src/main/content/region/misc/entrana/quest/enlightenedjourney/quest/EnlightenedJourney.kt @@ -114,57 +114,67 @@ class EnlightenedJourney : Quest(Quests.ENLIGHTENED_JOURNEY, 55, 54, 1, 0, } if (stage >= STAGE_QUEST_STARTED) { - line(player, "I have agreed to help Auguste build an !!air balloon??.", line++, stage > STAGE_GATHER_MATERIALS) - line(player, "I have no idea what he's talking about.", line++, stage > STAGE_GATHER_MATERIALS) - line(player, "Auguste thinks if he pumps hot air into a sack it will rise and", line++, stage > STAGE_GATHER_MATERIALS) - line(player, "take us along with it.", line++, stage > STAGE_GATHER_MATERIALS) - line(player, "But we're going to run some tests first. Thank goodness.", line++, stage > STAGE_GATHER_MATERIALS) - line++ + line(player, "I have agreed to help Auguste build an !!air balloon??.", line++, stage > STAGE_QUEST_STARTED) + line(player, "I have no idea what he's talking about.", line++, stage > STAGE_QUEST_STARTED) + line(player, "Auguste thinks if he pumps hot air into a sack it will rise and", line++, stage > STAGE_QUEST_STARTED) + line(player, "take us along with it.", line++, stage > STAGE_QUEST_STARTED) + line(player, "But we're going to run some tests first. Thank goodness.", line++, stage > STAGE_QUEST_STARTED) } - if (stage >= STAGE_GATHER_MATERIALS) { + if (stage in STAGE_GATHER_MATERIALS until STAGE_ORIGAMI_BALLOON) { line(player, "I need to gather the materials Auguste required:", line++, stage > STAGE_GATHER_MATERIALS) line(player, "three sheets of papyrus", line++, stage > STAGE_GATHER_MATERIALS || inInventory(player, Items.PAPYRUS_970, 3)) line(player, "a ball of wool", line++, stage > STAGE_GATHER_MATERIALS || inInventory(player, Items.BALL_OF_WOOL_1759)) line(player, "a full sack of potatoes", line++, stage > STAGE_GATHER_MATERIALS || inInventory(player, Items.POTATOES10_5438)) line(player, "one unlit candle.", line++, stage > STAGE_GATHER_MATERIALS || inInventory(player, Items.CANDLE_36)) - line++ } if (stage >= STAGE_ORIGAMI_BALLOON) { - line(player, "I made an !!origami balloon??.", line++, stage > STAGE_ORIGAMI_BALLOON || inInventory(player, Items.ORIGAMI_BALLOON_9934)) - line(player, "Auguste said I could make these any time I want if", line++, stage > STAGE_ORIGAMI_BALLOON) - line(player, "I have the materials.", line++, stage > STAGE_ORIGAMI_BALLOON) - line++ + line(player, "I gathered all the materials Auguste required:", line++, true) + line(player, "three sheets of papyrus, a ball of wool,", line++, true) + line(player, "a full sack of potatoes and one unlit candle.", line++, true) + } + + if (stage in STAGE_ORIGAMI_BALLOON until STAGE_FIRST_EXPERIMENT) { + line(player, "I need to make the first test balloon with the ball of wool,", line++) + line(player, "a sheet of papyrus and an unlit candle and then give it to", line++) + line(player, "Auguste.", line++) + } + + if (stage >= STAGE_FIRST_EXPERIMENT) { + line(player, "I made an !!origami balloon??.", line++, true) + line(player, "Auguste said I could make these any time I want if", line++, true) + line(player, "I have the materials.", line++, true) } if (stage >= STAGE_FIRST_EXPERIMENT) { line(player, "Auguste conducted the first experiment.", line++, stage > STAGE_FIRST_EXPERIMENT) line(player, "There was an awful lot of fire.", line++, stage > STAGE_FIRST_EXPERIMENT) - line++ + } + + if (stage in STAGE_FIRST_EXPERIMENT until STAGE_SECOND_EXPERIMENT) { + line(player, "I need to give Auguste two sheets of papyrus and a full", line++) + line(player, "sack of potatoes.", line++) } if (stage >= STAGE_SECOND_EXPERIMENT) { line(player, "Auguste conducted the second experiment.", line++, stage > STAGE_SECOND_EXPERIMENT) line(player, "A flash mob appeared. They seem to have a grudge against", line++, stage > STAGE_SECOND_EXPERIMENT) line(player, "science.", line++, stage > STAGE_SECOND_EXPERIMENT) - line++ } - if (stage >= STAGE_MAIN_BALLOON) { - line(player, "I need to gather the supplies for Auguste's main balloon:", line++, stage > STAGE_MAIN_BALLOON) - line(player, "red dye", line++, stage > STAGE_MAIN_BALLOON || inInventory(player, Items.RED_DYE_1763)) - line(player, "yellow dye", line++, stage > STAGE_MAIN_BALLOON || inInventory(player, Items.YELLOW_DYE_1765)) - line(player, "ten pieces of silk", line++, stage > STAGE_MAIN_BALLOON || inInventory(player, Items.SILK_950, 10)) - line(player, "a bowl", line++, stage > STAGE_MAIN_BALLOON || inInventory(player, Items.BOWL_1923)) - line(player, "eight sandbags", line++, stage > STAGE_MAIN_BALLOON || inInventory(player, Items.SANDBAG_9943, 8)) - line++ + if (stage in STAGE_MAIN_BALLOON until STAGE_WILLOW_BASKET) { + line(player, "I need to gather the supplies for Auguste's main balloon:", line++) + line(player, "red dye", line++, getAttribute(player, ATTRIBUTE_RED_DYE_DELIVERED, false) || inInventory(player, Items.RED_DYE_1763)) + line(player, "yellow dye", line++, getAttribute(player, ATTRIBUTE_YELLOW_DYE_DELIVERED, false) || inInventory(player, Items.YELLOW_DYE_1765)) + line(player, "ten pieces of silk", line++, getAttribute(player, ATTRIBUTE_SILK_DELIVERED, false) || inInventory(player, Items.SILK_950, 10)) + line(player, "a bowl", line++, getAttribute(player, ATTRIBUTE_BOWL_DELIVERED, false) || inInventory(player, Items.BOWL_1923)) + line(player, "eight sandbags", line++, getAttribute(player, ATTRIBUTE_SANDBAGS_DELIVERED, false) || inInventory(player, Items.SANDBAG_9943, 8)) } - if (stage >= STAGE_WILLOW_BASKET) { - line(player, "I need to make the basket for the balloon:", line++, stage > STAGE_WILLOW_BASKET) - line(player, "twelve willow branches", line++, stage > STAGE_WILLOW_BASKET || inInventory(player, Items.WILLOW_BRANCH_5933, 12)) - line++ + if (stage in STAGE_WILLOW_BASKET until STAGE_FLIGHT) { + line(player, "I've given all the materials to Auguste, now I just need to", line++) + line(player, "use the 12 willow branches to build the basket.", line++) } if (stage >= STAGE_FLIGHT) { @@ -172,7 +182,6 @@ class EnlightenedJourney : Quest(Quests.ENLIGHTENED_JOURNEY, 55, 54, 1, 0, line(player, "balloon.", line++, stage > STAGE_FLIGHT) line(player, "The balloon is all made and looks impressive!", line++, stage > STAGE_FLIGHT) line(player, "Let's hope it doesn't end the way the experiments did.", line++, stage > STAGE_FLIGHT) - line++ } if (stage >= STAGE_CLAIM_REWARD) {