mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 16:14:08 +01:00
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:
@@ -93,8 +93,6 @@
|
||||
|
||||
var/datum/port/output/user_port
|
||||
|
||||
var/datum/weakref/user
|
||||
|
||||
var/obj/item/organ/cyberimp/bci/bci
|
||||
|
||||
/obj/item/circuit_component/bci_core/populate_ports()
|
||||
@@ -111,19 +109,18 @@
|
||||
|
||||
/obj/item/circuit_component/bci_core/proc/update_charge_action()
|
||||
CIRCUIT_TRIGGER
|
||||
var/mob/living/carbon/resolved_owner = user?.resolve()
|
||||
if (show_charge_meter.value)
|
||||
if (charge_action)
|
||||
return
|
||||
charge_action = new(src)
|
||||
if (resolved_owner)
|
||||
charge_action.Grant(resolved_owner)
|
||||
if (bci.owner)
|
||||
charge_action.Grant(bci.owner)
|
||||
bci.actions += charge_action
|
||||
else
|
||||
if (!charge_action)
|
||||
return
|
||||
if (resolved_owner)
|
||||
charge_action.Remove(resolved_owner)
|
||||
if (bci.owner)
|
||||
charge_action.Remove(bci.owner)
|
||||
bci.actions -= charge_action
|
||||
QDEL_NULL(charge_action)
|
||||
|
||||
@@ -139,9 +136,8 @@
|
||||
bci = shell
|
||||
|
||||
if (charge_action)
|
||||
var/mob/living/carbon/resolved_owner = user?.resolve()
|
||||
if (resolved_owner)
|
||||
charge_action.Remove(resolved_owner)
|
||||
if (bci.owner)
|
||||
charge_action.Remove(bci.owner)
|
||||
bci.actions -= charge_action
|
||||
QDEL_NULL(charge_action)
|
||||
|
||||
@@ -158,14 +154,13 @@
|
||||
if (!sent_message)
|
||||
return
|
||||
|
||||
var/mob/living/carbon/resolved_owner = user?.resolve()
|
||||
if (isnull(resolved_owner))
|
||||
if (isnull(bci.owner))
|
||||
return
|
||||
|
||||
if (resolved_owner.stat == DEAD)
|
||||
if (bci.owner.stat == DEAD)
|
||||
return
|
||||
|
||||
to_chat(resolved_owner, "<i>You hear a strange, robotic voice in your head...</i> \"[span_robot("[html_encode(sent_message)]")]\"")
|
||||
to_chat(bci.owner, "<i>You hear a strange, robotic voice in your head...</i> \"[span_robot("[html_encode(sent_message)]")]\"")
|
||||
|
||||
/obj/item/circuit_component/bci_core/proc/on_organ_implanted(datum/source, mob/living/carbon/owner)
|
||||
SIGNAL_HANDLER
|
||||
@@ -173,7 +168,6 @@
|
||||
update_charge_action()
|
||||
|
||||
user_port.set_output(owner)
|
||||
user = WEAKREF(owner)
|
||||
|
||||
RegisterSignal(owner, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(on_borg_charge))
|
||||
@@ -183,7 +177,6 @@
|
||||
SIGNAL_HANDLER
|
||||
|
||||
user_port.set_output(null)
|
||||
user = null
|
||||
|
||||
UnregisterSignal(owner, list(
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
|
||||
Reference in New Issue
Block a user