From 2776270c7f0ceb8b0b17282355fa889746f97db6 Mon Sep 17 00:00:00 2001 From: Player Name Date: Fri, 31 May 2024 10:16:28 +0000 Subject: [PATCH] Added the basement area of Tutorial 2 (Learning the Ropes) for the lore --- Server/data/configs/npc_spawns.json | 10 ++-- Server/data/configs/object_configs.json | 8 +++ .../lumbridge/dialogue/SirVantDialogue.kt | 53 +++++++++++++++++++ .../game/global/action/SpecialLadders.java | 3 +- 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 Server/src/main/content/region/misthalin/lumbridge/dialogue/SirVantDialogue.kt diff --git a/Server/data/configs/npc_spawns.json b/Server/data/configs/npc_spawns.json index 7bae16b92..7e2a320fa 100644 --- a/Server/data/configs/npc_spawns.json +++ b/Server/data/configs/npc_spawns.json @@ -1,7 +1,7 @@ [ { "npc_id": "0", - "loc_data": "{3221,3218,0,1,0}-{2522,5000,0,0,4}-" + "loc_data": "{3221,3218,0,1,0}-" }, { "npc_id": "1", @@ -1711,10 +1711,6 @@ "npc_id": "598", "loc_data": "{2943,3384,0,1,3}-" }, - { - "npc_id": "599", - "loc_data": "{2522,5001,0,0,4}-" - }, { "npc_id": "600", "loc_data": "{2449,3511,1,1,6}-" @@ -11671,6 +11667,10 @@ "npc_id": "7891", "loc_data": "{3207,3250,0,0,0}-{3208,3250,0,0,0}-{3209,3250,0,0,0}-" }, + { + "npc_id": "7942", + "loc_data": "{3294,4937,0,0,6}-" + }, { "npc_id": "7959", "loc_data": "{3188,3425,0,1,0}-" diff --git a/Server/data/configs/object_configs.json b/Server/data/configs/object_configs.json index 6c887b349..07f318a72 100644 --- a/Server/data/configs/object_configs.json +++ b/Server/data/configs/object_configs.json @@ -20059,6 +20059,10 @@ "examine": "Home sweet home?", "ids": "15748" }, + { + "examine": "Danger - Possibly deadly creatures below!", + "ids": "16083,16151,16117" + }, { "examine": "Large urn.", "ids": "17362" @@ -20191,6 +20195,10 @@ "examine": "I wonder what this spooky contains.", "ids": "37051" }, + { + "examine": "The mine has collapsed.", + "ids": "37634" + }, { "examine": "It really was this big!", "ids": "40043" diff --git a/Server/src/main/content/region/misthalin/lumbridge/dialogue/SirVantDialogue.kt b/Server/src/main/content/region/misthalin/lumbridge/dialogue/SirVantDialogue.kt new file mode 100644 index 000000000..8b61bea29 --- /dev/null +++ b/Server/src/main/content/region/misthalin/lumbridge/dialogue/SirVantDialogue.kt @@ -0,0 +1,53 @@ +package content.region.misthalin.lumbridge.dialogue + +import core.api.* +import core.game.dialogue.DialogueBuilder +import core.game.dialogue.DialogueBuilderFile +import core.game.dialogue.DialoguePlugin +import core.game.dialogue.FacialExpression +import core.game.node.entity.player.Player +import core.plugin.Initializable +import org.rs09.consts.Items +import org.rs09.consts.NPCs + +/** + * Sir Vant Dialogue + * + * @comments + * I'll be honest, this is a waste of time. + * Sir Vant is part of the new tutorial between 14 July 2008 and 17 Sept 2009, a.k.a. Tutorial 2(Learing the Ropes). + * Learning the Ropes was no longer in use by the time 530 came around. They were already working on Tutorial 3(Unstable Foundations) with a different dialogue that was fully voiced. Learning the Ropes was removed eventually. + * I'm doing this to preserve the dialogue during this period, as there are sceneries left around for this. + * So much effort was put into Tutorial 1(Tutorial Island), that this shouldn't replace it. In fact, modern RS3 has tried to multiple times between 2016 and 2022, but they always end up going back to Tutorial Island. For example, Tutorial Island was removed on 28 November 2012, returned as a special underwater version on 14 December 2015, and was fully reinstated on 14 May 2018. + */ +@Initializable +class SirVantDialogue (player: Player? = null) : DialoguePlugin(player) { + override fun handle(interfaceId: Int, buttonId: Int): Boolean { + openDialogue(player, SirVantDialogueFile(), npc) + return true + } + override fun newInstance(player: Player): DialoguePlugin { + return SirVantDialogue(player) + } + override fun getIds(): IntArray { + return intArrayOf(NPCs.SIR_VANT_7942) + } +} + +class SirVantDialogueFile : DialogueBuilderFile() { + override fun create(b: DialogueBuilder) { + b.onPredicate { true } + .npcl(FacialExpression.HAPPY,"Hello there. I'm Sir Vant.") + .playerl(FacialExpression.THINKING, "Why are you down in this cave?") + .npcl("I'm guarding the entrance to the dragon's lair.") + .playerl(FacialExpression.WORRIED, "Dragon?") + .npcl("Yes, but not just any dragon - this one has three heads.") + .playerl("So why don't you kill it?") + .npc(FacialExpression.SAD,"I'm too exhausted, but I can hold it off. I've sent for", "more help from Falador, but it might be a while before", "the message gets there.") + .playerl("I could kill the dragon for you.") // Technically you have a list of options, but they are all a repeat of tutorial with an action cutscene. + .npc("Thank you very much for the offer; however, I would", "be remiss in my duties as a White Knight of Falador if", "I were to let you do that.") + //.npc("Thank you very much for the offer; however, I would", " be remiss in my duties as a White Knight of Falador if", "I were to let you do that. Here, for your kind thoughts", "you may have these old lamps.") + // He gives you 2 exp lamps of 250XP each, but I didn't want to implement it. + .end() + } +} \ No newline at end of file diff --git a/Server/src/main/core/game/global/action/SpecialLadders.java b/Server/src/main/core/game/global/action/SpecialLadders.java index 467ad84d4..c54b2e100 100644 --- a/Server/src/main/core/game/global/action/SpecialLadders.java +++ b/Server/src/main/core/game/global/action/SpecialLadders.java @@ -18,7 +18,8 @@ public enum SpecialLadders implements LadderAchievementCheck { SWENSEN_UP(Location.create(2665, 10037, 0),Location.create(2649, 3661, 0)), FOG_ENTER(Location.create(3240,3575,0),Location.create(1675,5599,0)), FOG_LEAVE(Location.create(1673,5598,0),Location.create(3242, 3574, 0)), - INTRO_LEAVE(Location.create(2522, 4999, 0),Location.create(3230, 3240, 0)), + INTRO_ENTER(Location.create(3230,3241,0),Location.create(3290, 4936, 0)), + INTRO_LEAVE(Location.create(3290, 4935, 0),Location.create(3230, 3240, 0)), JATIZSO_MINE_UP(Location.create(2406,10188,0),Location.create(2397, 3811, 0)), JATIZSO_MINE_DOWN(Location.create(2397, 3812, 0), Location.create(2405, 10188, 0)), JATIZSO_SHOUT_TOWER_UP(Location.create(2373, 3800, 2),Location.create(2374, 3800, 0)),