Signpost improvements

Minor quest log fixes
Implemented map for talismans in Wizard Tower basement
This commit is contained in:
Oven Bread 2025-01-20 12:56:19 +00:00 committed by Ryan
parent d5c7d74767
commit eb3884180e
5 changed files with 129 additions and 40 deletions

View file

@ -16324,7 +16324,7 @@
"ids": "11629"
},
{
"examine": "South to Falador :: West to Taverley :: East to Varrock.",
"examine": "This tells you which way is which.",
"ids": "11630,11631,11632,11633"
},
{

View file

@ -11,18 +11,21 @@ class SignpostListener : InteractionListener {
override fun defineListeners() {
on(Scenery.SIGNPOST_18493, IntType.SCENERY, "read") { player, node ->
if (node.asScenery().location.equals(Location(3235, 3228))) {
// Authentic
setInterfaceText(player, "Head north towards Fred's farm, and the windmill.", 135, 3) // North
setInterfaceText(player, "South to the swamps of Lumbridge.", 135, 9) // South
setInterfaceText(player, "Cross the bridge and head east to Al Kharid or north to Varrock.", 135, 8) // East
setInterfaceText(player, "West to the Lumbridge Castle and Draynor Village. Beware the goblins!", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(3261, 3230))) {
// Authentic
setInterfaceText(player, "North to farms and Varrock.", 135, 3) // North
setInterfaceText(player, "The River Lum lies to the south.", 135, 9) // South
setInterfaceText(player, "East to Al Kharid - toll gate; bring some money.", 135, 8) // East
setInterfaceText(player, "West to Lumbridge.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(2983, 3278))) {
// Authentic
setInterfaceText(player, "North to the glorious White Knights' city of Falador.", 135, 3) // North
setInterfaceText(player, "South to Rimmington.", 135, 9) // South
setInterfaceText(player, "East to Port Sarim and Draynor Village.", 135, 8) // East
@ -45,12 +48,14 @@ class SignpostListener : InteractionListener {
}
on(Scenery.SIGNPOST_24263, IntType.SCENERY, "read") { player, node ->
if (node.asScenery().location.equals(Location(3268, 3332))) {
// Authentic
setInterfaceText(player, "Sheep lay this way.", 135, 3) // North
setInterfaceText(player, "South through farms to Al Kharid and Lumbridge.", 135, 9) // South
setInterfaceText(player, "East to Al Kharid mine and follow the path north to Varrock east gate.", 135, 8) // East
setInterfaceText(player, "West to Champion's Guild and Varrock south gate.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(3283, 3333))) {
// Authentic
setInterfaceText(player, "North to Varrock mine and Varrock east gate.", 135, 3) // North
setInterfaceText(player, "South to large Mining area and Al Kharid.", 135, 9) // South
setInterfaceText(player, "Follow the path east to the Dig Site.", 135, 8) // East
@ -66,7 +71,13 @@ class SignpostListener : InteractionListener {
return@on true
}
on(Scenery.SIGNPOST_4132, IntType.SCENERY, "read") { player, node ->
if (node.asScenery().location.equals(Location(3166, 3286))) {
if (node.asScenery().location.equals(Location(3223, 3427))) {
setInterfaceText(player, "North to Varrock Palace.", 135, 3) // North
setInterfaceText(player, "South to the Champion's Guild.", 135, 9) // South
setInterfaceText(player, "East to the Dig Site.", 135, 8) // East
setInterfaceText(player, "West to Barbarian Village and Falador.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(3166, 3286))) {
setInterfaceText(player, "North to the windmill.", 135, 3) // North
setInterfaceText(player, "South to a fishing pond next to Fred's farm.", 135, 9) // South
setInterfaceText(player, "East to Lumbridge.", 135, 8) // East
@ -85,16 +96,16 @@ class SignpostListener : InteractionListener {
setInterfaceText(player, "Follow the path west to Ardougne.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(2604, 3240))) {
setInterfaceText(player, "North to the Ardougne City Zoo.", 135, 3) // North
setInterfaceText(player, "North to Ardougne Zoo.", 135, 3) // North
setInterfaceText(player, "South to the Monastery.", 135, 9) // South
setInterfaceText(player, "East to the Tower of Life.", 135, 8) // East
setInterfaceText(player, "West to the Clocktower.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(2605, 3298))) {
setInterfaceText(player, "North to the Fishing Guild and Hemenster.", 135, 3) // North
setInterfaceText(player, "South to the Ardougne City Zoo.", 135, 9) // South
setInterfaceText(player, "East to Ardougne Market.", 135, 8) // East
setInterfaceText(player, "West to Ardougne Castle and West Ardougne.", 135, 12) // West
setInterfaceText(player, "North to the Fishing Guild and Baxtorian Falls.", 135, 3) // North
setInterfaceText(player, "South to Ardougne Zoo and Port Khazard.", 135, 9) // South
setInterfaceText(player, "East to Ardougne Market and Witchaven.", 135, 8) // East
setInterfaceText(player, "West to Ardougne Castle and Ardougne West.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else if (node.asScenery().location.equals(Location(2646, 3404))) {
setInterfaceText(player, "North to the Ranging Guild and Seer's Village.", 135, 3) // North
@ -122,7 +133,57 @@ class SignpostListener : InteractionListener {
setInterfaceText(player, "North to Edgeville.", 135, 3) // North
setInterfaceText(player, "South to Draynor Manor.", 135, 9) // South
setInterfaceText(player, "East to Varrock west gate.", 135, 8) // East
setInterfaceText(player, "West to Barbarian Village.", 135, 12) // West
setInterfaceText(player, "West to Barbarian Village and Falador.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else {
setInterfaceText(player, "North to unknown.", 135, 3) // North
setInterfaceText(player, "South to unknown.", 135, 9) // South
setInterfaceText(player, "East to unknown.", 135, 8) // East
setInterfaceText(player, "West to unknown.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
}
return@on true
}
on(Scenery.SIGNPOST_4135, IntType.SCENERY, "read") { player, node ->
if (node.asScenery().location.equals(Location(3448, 3486))) {
setInterfaceText(player, "North to the Slayer Tower.", 135, 3) // North
setInterfaceText(player, "South to Mort Myre Swamp.", 135, 9) // South
setInterfaceText(player, "East to Canifis.", 135, 8) // East
setInterfaceText(player, "West to Varrock.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else {
setInterfaceText(player, "North to unknown.", 135, 3) // North
setInterfaceText(player, "South to unknown.", 135, 9) // South
setInterfaceText(player, "East to unknown.", 135, 8) // East
setInterfaceText(player, "West to unknown.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
}
return@on true
}
on(Scenery.SIGNPOST_31296, IntType.SCENERY, "read") { player, node ->
if (node.asScenery().location.equals(Location(3304, 3109))) {
// Authentic
setInterfaceText(player, "North to Al Kharid.", 135, 3) // North
setInterfaceText(player, "South to the Desert Mining Camp and Pollnivneach.", 135, 9) // South
setInterfaceText(player, "East and across the river to the Ruins of Uzer.", 135, 8) // East
setInterfaceText(player, "West to the Kalphite Lair.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else {
setInterfaceText(player, "North to unknown.", 135, 3) // North
setInterfaceText(player, "South to unknown.", 135, 9) // South
setInterfaceText(player, "East to unknown.", 135, 8) // East
setInterfaceText(player, "West to unknown.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
}
return@on true
}
on(Scenery.STONE_SIGNPOST_11630, IntType.SCENERY, "read") { player, node ->
// Authentic // https://youtu.be/vvHXKTOh_g4
if (node.asScenery().location.equals(Location(2967, 3412))) {
setInterfaceText(player, "North to Goblin Village.", 135, 3) // North
setInterfaceText(player, "South to Falador.", 135, 9) // South
setInterfaceText(player, "East to Varrock.", 135, 8) // East
setInterfaceText(player, "West to Taverley.", 135, 12) // West
openInterface(player, Components.AIDE_COMPASS_135)
} else {
setInterfaceText(player, "North to unknown.", 135, 3) // North
@ -143,17 +204,17 @@ class SignpostListener : InteractionListener {
* SceneryDefinition.forId(4133).getHandlers().put("option:read", this);
* SceneryDefinition.forId(4134).getHandlers().put("option:read", this);
* SceneryDefinition.forId(4135).getHandlers().put("option:read", this);
* SceneryDefinition.forId(5164).getHandlers().put("option:read", this);
* SceneryDefinition.forId(10090).getHandlers().put("option:read", this);
* SceneryDefinition.forId(13873).getHandlers().put("option:read", this);
* SceneryDefinition.forId(15522).getHandlers().put("option:read", this);
* SceneryDefinition.forId(25397).getHandlers().put("option:read", this);
* SceneryDefinition.forId(30039).getHandlers().put("option:read", this);
* SceneryDefinition.forId(30040).getHandlers().put("option:read", this);
* SceneryDefinition.forId(31296).getHandlers().put("option:read", this);
* SceneryDefinition.forId(31298).getHandlers().put("option:read", this);
* SceneryDefinition.forId(31299).getHandlers().put("option:read", this);
* SceneryDefinition.forId(31300).getHandlers().put("option:read", this);
*
* SceneryDefinition.forId(5164).getHandlers().put("option:read", this); No
* SceneryDefinition.forId(10090).getHandlers().put("option:read", this); No
*
* SceneryDefinition.forId(13873).getHandlers().put("option:read", this); No
*
* SceneryDefinition.forId(15522).getHandlers().put("option:read", this); No
* SceneryDefinition.forId(25397).getHandlers().put("option:read", this); No
*
* SceneryDefinition.forId(30039).getHandlers().put("option:read", this); // ????
* SceneryDefinition.forId(30040).getHandlers().put("option:read", this); // ??????
* // ObjectDefinition.forId(31301).getConfigurations().put("option:read", this);//goblin village
* return this;
* }

View file

@ -15,18 +15,23 @@ class DoricsQuest : Quest("Doric's Quest", 17, 16, 1, 31, 0, 1, 100) {
override fun drawJournal(player: Player?, stage: Int) {
super.drawJournal(player, stage)
player ?: return
var line = 11
var line = 12
if(stage == 0) {
line(player, "I can start this quest by speaking to !!Doric?? who is !!North of??", line++)
line(player, "!!Falador??.", line++)
line++
line(player, "There aren't any requirements but !!Level 15 Mining?? will help.", line++)
} else {
if(stage in 1..99) {
line(player, "I have spoken to !!Doric??.", line++)
line(player, "I need to collect some items and bring them to !!Doric??:", line++)
line(player, "6 Clay", line++, inInventory(player, Items.CLAY_434, 6))
line(player, "4 Copper Ore", line++, inInventory(player, Items.COPPER_ORE_436, 4))
line(player, "2 Iron Ore", line++, inInventory(player, Items.IRON_ORE_440, 2))
// https://www.youtube.com/watch?v=vm4BEXtMoO0
line(player, "I have spoken to Doric. He agreed to let me use his anvils", line++, true)
line(player, "if I bring him some materials.", line++, true)
line++
line(player, "I need to collect the following materials and bring them all", line++)
line(player, "to !!Doric??:", line++)
line(player, "!!6 Clay.??", line++, inInventory(player, Items.CLAY_434, 6))
line(player, "!!4 Copper Ore.??", line++, inInventory(player, Items.COPPER_ORE_436, 4))
line(player, "!!2 Iron Ore.??", line++, inInventory(player, Items.IRON_ORE_440, 2))
}
if(stage == 100) {

View file

@ -29,7 +29,8 @@ public class RomeoJuliet extends Quest {
case 10:
line(player, "<str>I have agreed to find Juliet for Romeo and tell her how he", 4+ 7);
line(player, "<str>feels. For some reason he can't just do this himself.", 5+ 7);
line(player, BLUE + "All I need to do now is find " + RED + "Juliet.", 6+ 7);
// https://www.youtube.com/watch?v=ush_RVY4tvw
line(player, BLUE + "I should go and speak to " + RED + "Juliet" + BLUE + ", wherever she is?", 7+ 7);
break;
case 20:
line(player, "<str>I have agreed to find Juliet for Romeo and tell her how he", 4+ 7);
@ -113,6 +114,7 @@ public class RomeoJuliet extends Quest {
line(player, BLUE + "I have to find " + RED + "Romeo" + BLUE + " and tell him what's happened.", 18+ 7);
break;
case 100:
// https://www.youtube.com/watch?v=m4bZ4GmHxRs
line(player, "<str>Romeo and Juliet can be together in peace.", 4+ 7);
line(player, "<str>I went to the Apothecary regarding making this cadava", 5+ 7);
line(player, "<str>potion, and he told me to bring him some cadava berries.", 6+ 7);
@ -121,7 +123,7 @@ public class RomeoJuliet extends Quest {
line(player, "<str>I told Romeo what was going to happen, but I'm not exactly", 9+ 7);
line(player, "<str>sure he understood what was happening. Ah well, I was", 10+ 7);
line(player, "<str>rewarded for all of my help regardless.", 11+ 7);
line(player, "<col=FF0000>QUEST COMPLETE!", 12+ 7);
line(player, "<col=FF0000>QUEST COMPLETE!", 13+ 7);
break;
}
}

View file

@ -0,0 +1,21 @@
package content.region.misthalin.wiztower.handlers
import core.api.*
import core.game.interaction.InteractionListener
import org.rs09.consts.Scenery
import org.rs09.consts.Components
// http://youtu.be/T62dugdfzSQ
/** Map for talismans in Wizard Tower basement. I display everything, because let's be real, you can find this online... */
class TalismanMapInterface : InteractionListener {
override fun defineListeners() {
on(intArrayOf(Scenery.MAP_38421, Scenery.MAP_38422), SCENERY, "study") { player, node ->
openInterface(player, Components.RCGUILD_MAP_780)
// Air talisman to Death talisman
for(i in 35..48) {
setComponentVisibility(player, Components.RCGUILD_MAP_780, i, false)
}
return@on true
}
}
}