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"