mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +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:
+2
-2
@@ -212,13 +212,13 @@ Unlike normal organs, we're actually inside a persons limbs at all times
|
||||
///Store our old datum here for if our antennae are healed
|
||||
var/original_sprite_datum
|
||||
|
||||
/obj/item/organ/antennae/mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
/obj/item/organ/antennae/on_mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
. = ..()
|
||||
|
||||
RegisterSignal(receiver, COMSIG_HUMAN_BURNING, PROC_REF(try_burn_antennae))
|
||||
RegisterSignal(receiver, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(heal_antennae))
|
||||
|
||||
/obj/item/organ/antennae/mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
/obj/item/organ/antennae/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
. = ..()
|
||||
|
||||
UnregisterSignal(organ_owner, list(COMSIG_HUMAN_BURNING, COMSIG_LIVING_POST_FULLY_HEAL))
|
||||
|
||||
+2
-2
@@ -16,13 +16,13 @@
|
||||
|
||||
organ_flags = parent_type::organ_flags | ORGAN_EXTERNAL
|
||||
|
||||
/obj/item/organ/spines/mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
/obj/item/organ/spines/on_mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
// If we have a tail, attempt to add a tail spines overlay
|
||||
var/obj/item/organ/tail/our_tail = receiver.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)
|
||||
our_tail?.try_insert_tail_spines(our_tail.bodypart_owner)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/spines/mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
/obj/item/organ/spines/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
// If we have a tail, remove any tail spines overlay
|
||||
var/obj/item/organ/tail/our_tail = organ_owner.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)
|
||||
our_tail?.remove_tail_spines(our_tail.bodypart_owner)
|
||||
|
||||
+4
-5
@@ -22,11 +22,10 @@
|
||||
///The overlay for tail spines, if any
|
||||
var/datum/bodypart_overlay/mutant/tail_spines/tail_spines_overlay
|
||||
|
||||
/obj/item/organ/tail/mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
/obj/item/organ/tail/on_mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
. = ..()
|
||||
if(.)
|
||||
receiver.clear_mood_event("tail_lost")
|
||||
receiver.clear_mood_event("tail_balance_lost")
|
||||
receiver.clear_mood_event("tail_lost")
|
||||
receiver.clear_mood_event("tail_balance_lost")
|
||||
|
||||
if(!special) // if some admin wants to give someone tail moodles for tail shenanigans, they can spawn it and do it by hand
|
||||
original_owner ||= WEAKREF(receiver)
|
||||
@@ -77,7 +76,7 @@
|
||||
bodypart.remove_bodypart_overlay(tail_spines_overlay)
|
||||
QDEL_NULL(tail_spines_overlay)
|
||||
|
||||
/obj/item/organ/tail/on_mob_remove(mob/living/carbon/organ_owner, special)
|
||||
/obj/item/organ/tail/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
. = ..()
|
||||
|
||||
if(wag_flags & WAG_WAGGING)
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
QDEL_NULL(fly)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/wings/functional/mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
/obj/item/organ/wings/functional/on_mob_insert(mob/living/carbon/receiver, special, movement_flags)
|
||||
. = ..()
|
||||
|
||||
if(QDELETED(fly))
|
||||
fly = new
|
||||
fly.Grant(receiver)
|
||||
|
||||
/obj/item/organ/wings/functional/mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
/obj/item/organ/wings/functional/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
. = ..()
|
||||
fly?.Remove(organ_owner)
|
||||
if(wings_open)
|
||||
|
||||
Reference in New Issue
Block a user