From 236286ba65ede7d47a2c594ca4a0d0f484f9cc70 Mon Sep 17 00:00:00 2001 From: NovaBot <154629622+NovaBot13@users.noreply.github.com> Date: Sat, 8 Jun 2024 20:24:56 -0400 Subject: [PATCH] [MIRROR] Adds a chat message for fishing in a chasm with a normal and rescue hook [MDB IGNORE] (#2936) * Adds a chat message for fishing in a chasm with a normal and rescue hook (#83781) ## About The Pull Request Title, warns you if you have anormal hook and gives you a heads up it might work otherwise. ## Why It's Good For The Game Everyone knows 'fish in chasm to get body', but not many people know 'you can ONLY use the rescue hook to get body'. This clarifies that! It reduces misinformation and confusion. ## Changelog :cl: qol: Adds a chat message for fishing in a chasm with a normal and rescue hook, to clarify that only rescue hooks can drag up corpses. /:cl: * Adds a chat message for fishing in a chasm with a normal and rescue hook --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> Co-authored-by: NovaBot13 --- code/datums/components/fishing_spot.dm | 2 ++ code/modules/fishing/sources/_fish_source.dm | 4 ++++ code/modules/fishing/sources/source_types.dm | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm index fb20588f8c5..414c17b6d15 100644 --- a/code/datums/components/fishing_spot.dm +++ b/code/datums/components/fishing_spot.dm @@ -84,6 +84,8 @@ if(denial_reason) to_chat(user, span_warning(denial_reason)) return COMPONENT_NO_AFTERATTACK + // In case the fishing source has anything else to do before beginning to fish. + fish_source.on_start_fishing(rod, user, parent) start_fishing_challenge(rod, user) return COMPONENT_NO_AFTERATTACK diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm index 887b8f3a2a3..eb681dc16cb 100644 --- a/code/modules/fishing/sources/_fish_source.dm +++ b/code/modules/fishing/sources/_fish_source.dm @@ -69,6 +69,10 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( /datum/fish_source/proc/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent) return rod.reason_we_cant_fish(src) +/// Called below above proc, in case the fishing source has anything to do that isn't denial +/datum/fish_source/proc/on_start_fishing(obj/item/fishing_rod/rod, mob/fisherman, atom/parent) + return + /** * Calculates the difficulty of the minigame: * diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm index 23b34b962e8..9328f87be69 100644 --- a/code/modules/fishing/sources/source_types.dm +++ b/code/modules/fishing/sources/source_types.dm @@ -196,6 +196,13 @@ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 5 +/datum/fish_source/chasm/on_start_fishing(obj/item/fishing_rod/rod, mob/fisherman, atom/parent) + . = ..() + if(istype(rod.hook, /obj/item/fishing_hook/rescue)) + to_chat(fisherman, span_notice("The rescue hook falls straight down the chasm! Hopefully it catches a corpse.")) + return + to_chat(fisherman, span_danger("Your fishing hook makes a soft 'thud' noise as it gets stuck on the wall of the chasm. It doesn't look like it's going to catch much of anything, except maybe some detritus.")) + /datum/fish_source/chasm/roll_reward(obj/item/fishing_rod/rod, mob/fisherman) var/rolled_reward = ..() @@ -204,6 +211,8 @@ return rod.hook.chasm_detritus_type +/datum/fish_source/chasm + /datum/fish_source/lavaland catalog_description = "Lava vents" background = "background_lavaland"