You can use a fishing rod to snatch organs during organ manipulation surgery (feat organs sanity fix) (#87774)

## About The Pull Request
This allows you to use a fishing rod during the "manipulate organs" step
of the aforementioned surgery to snatch organs from a target.

Unlike other fish sources, this one has a negative fishing difficulty of
-20, which when summed with the default minigame difficulty should still
result in a negative difficulty. In layman terms, this means the
minigame is skipped here (unless you're wearing some clunky stuff like
insulated or boxing gloves). It also has a wait time of 8 to 13 seconds
versus the more random standard 3 to 25 seconds.

A small side-effect of this is that explosions during the "manipulate
organs" step will basically disembowel you, but it kinda fits anyway.

By the by, because of this, there is a tiny chance bluespace fishing
rods can yield you random organs. Worry not, they're newly generated, so
you won't be snatching it from another player by accident (at least for
now).

## Why It's Good For The Game
It adds more possible weird and rare shenanigans involving surgery.

## Changelog

🆑
Add: You can use a fishing rod to snatch organs during organ
manipulation surgery
/🆑
This commit is contained in:
Ghom
2024-11-20 22:13:18 +00:00
committed by GitHub
parent 538463ffbc
commit 6272b3680c
57 changed files with 286 additions and 215 deletions
+2 -5
View File
@@ -200,13 +200,10 @@
var/mob/living/carbon/human/organ_receiver = target
var/succeed = FALSE
if(organ_receiver.surgeries.len)
for(var/datum/surgery/procedure as anything in organ_receiver.surgeries)
for(var/datum/surgery/organ_manipulation/procedure in organ_receiver.surgeries)
if(procedure.location != organ.zone)
continue
if(!istype(procedure, /datum/surgery/organ_manipulation))
continue
var/datum/surgery_step/surgery_step = procedure.get_surgery_step()
if(!istype(surgery_step, /datum/surgery_step/manipulate_organs))
if(!ispath(procedure.steps[procedure.status], /datum/surgery_step/manipulate_organs))
continue
succeed = TRUE
break