From 7a2f91df3da49620c2366ffc54b4ee7d2ed1eb1a Mon Sep 17 00:00:00 2001 From: vddcore <573729-vddcore@users.noreply.gitlab.com> Date: Sun, 3 Jul 2022 06:37:34 +0000 Subject: [PATCH] Fixed the long missing Lumbridge Achivement Diary store-browsing task --- .../player/link/diary/DiaryEventHook.kt | 29 +++++++------------ .../command/sets/DevelopmentCommandSet.kt | 13 +++++++++ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Server/src/main/kotlin/rs09/game/node/entity/player/link/diary/DiaryEventHook.kt b/Server/src/main/kotlin/rs09/game/node/entity/player/link/diary/DiaryEventHook.kt index ebbe588b9..7518c8d64 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/player/link/diary/DiaryEventHook.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/player/link/diary/DiaryEventHook.kt @@ -16,8 +16,9 @@ import rs09.game.Event import rs09.game.system.command.Privilege private const val TASK_DRAYNOR_BANK = 15 +private const val TASK_LUMBRIDGE_GENERAL_STORE = 18 -class DiaryEventHook : LoginListener, Commands { +class DiaryEventHook : LoginListener { override fun login(player: Player) { player.hook(Event.ResourceProduced, DiaryGatherHooks) player.hook(Event.Teleport, DiaryTeleportHooks) @@ -58,6 +59,15 @@ class DiaryEventHook : LoginListener, Commands { TASK_DRAYNOR_BANK ) } + + 12850 -> if (event.component.id == Components.SHOP_TEMPLATE_620) { + finishTask( + entity, + DiaryType.LUMBRIDGE, + 0, + TASK_LUMBRIDGE_GENERAL_STORE + ) + } } } } @@ -424,21 +434,4 @@ class DiaryEventHook : LoginListener, Commands { finishTask(entity, DiaryType.SEERS_VILLAGE, 1, 6) } } - - override fun defineCommands() { - define("cleardiary", Privilege.ADMIN) { player, _ -> - // I know this sucks but it's only for debugging. - // Please don't slap me, daddy. - // - for (type in DiaryType.values()) { - val diary = player.achievementDiaryManager.getDiary(type) - for (level in 0 until diary.levelStarted.size) { - for (task in 0 until diary.taskCompleted[level].size) { - diary.resetTask(player, level, task) - } - } - } - sendMessage(player, "All achievement diaries cleared successfully.") - } - } } diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/DevelopmentCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/DevelopmentCommandSet.kt index cf759915d..91bf7da96 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/DevelopmentCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/DevelopmentCommandSet.kt @@ -9,6 +9,7 @@ import core.cache.def.impl.Struct import core.game.node.entity.combat.ImpactHandler.HitsplatType import core.game.node.entity.player.Player import core.game.node.entity.player.link.SpellBookManager +import core.game.node.entity.player.link.diary.DiaryType import core.game.node.item.Item import core.net.packet.context.PlayerContext import core.net.packet.out.ResetInterface @@ -38,6 +39,18 @@ class DevelopmentCommandSet : CommandSet(Privilege.ADMIN) { } } + define("cleardiary", Privilege.ADMIN) { player, _ -> + for (type in DiaryType.values()) { + val diary = player.achievementDiaryManager.getDiary(type) + for (level in 0 until diary.levelStarted.size) { + for (task in 0 until diary.taskCompleted[level].size) { + diary.resetTask(player, level, task) + } + } + } + sendMessage(player, "All achievement diaries cleared successfully.") + } + define("region") {player, args -> sendMessage(player, "Region ID: ${player.viewport.region.regionId}") }