From ca5b1f6ca970e40b0a0dd4aab172857686dc08ac Mon Sep 17 00:00:00 2001 From: aidan Date: Tue, 7 Apr 2026 19:56:40 -0500 Subject: [PATCH] add overrides for setstage and updatevarps so that the journal updates if you cheat your way to the end. modify pin interact destinations. --- .../quest/elementalworkshop2/EW2Listeners.kt | 5 +++++ .../elementalworkshop2/ElementalWorkshop2.kt | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/EW2Listeners.kt b/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/EW2Listeners.kt index 4042a1eeb..d4a4ddb44 100644 --- a/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/EW2Listeners.kt +++ b/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/EW2Listeners.kt @@ -1319,5 +1319,10 @@ class EW2Listeners : InteractionListener { setDest(IntType.SCENERY, intArrayOf(Scenery.PIPING_18650), "use") { _, _ -> return@setDest Location.create(1953, 5167, 3) } + + // the double stacked pins and the cogs on them. + setDest(IntType.SCENERY, intArrayOf(Scenery.PIN_18665, Scenery.PIN_18666, Scenery.COG_18673, Scenery.COG_18674, Scenery.COG_18675, Scenery.COG_18667, Scenery.COG_18668, Scenery.COG_18669), "use") { _, _ -> + return@setDest Location.create(1958, 5157, 2) + } } } \ No newline at end of file diff --git a/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/ElementalWorkshop2.kt b/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/ElementalWorkshop2.kt index c1dac6f59..f5dc32f0a 100644 --- a/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/ElementalWorkshop2.kt +++ b/Server/src/main/content/region/kandarin/seers/quest/elementalworkshop2/ElementalWorkshop2.kt @@ -234,6 +234,12 @@ class ElementalWorkshop2 : Quest(Quests.ELEMENTAL_WORKSHOP_II, 53, 52, 1, EW2Sta line(player, "Creating the elemental mind helm", line++, stage > 11) line(player, "was easy with the book for instruction.", line++, stage > 11) } + + // quest complete + if (stage >= 100) { + line++ + line(player,"QUEST COMPLETE!", line) + } } // use ::setqueststage 53 0 to reset quest. @@ -250,6 +256,20 @@ class ElementalWorkshop2 : Quest(Quests.ELEMENTAL_WORKSHOP_II, 53, 52, 1, EW2Sta super.reset(player) } + override fun setStage(player: Player, stage: Int) { + super.setStage(player, stage) + this.updateVarps(player) + } + + override fun updateVarps(player: Player) { + // The quest stages are perfectly aligned with the varp + if (getQuestStage(player, Quests.ELEMENTAL_WORKSHOP_II) >= 11) { + setVarbit(player, EW2StageVarbit, 11, true) // except for stage 100 which is varp set to 11. + } else { + setVarbit(player, EW2StageVarbit, getQuestStage(player, Quests.ELEMENTAL_WORKSHOP_II), true) + } + } + override fun finish(player: Player) { var ln = 10 super.finish(player)