mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Fixes multibrain weirdness
This commit is contained in:
@@ -105,7 +105,7 @@
|
||||
O.status |= ORGAN_CUT_AWAY
|
||||
if(!O.sterile)
|
||||
spread_germs_to_organ(O,user) // This wouldn't be any cleaner than the actual surgery
|
||||
O.forceMove(src)
|
||||
O.forceMove(get_turf(src))
|
||||
if(!(user.l_hand && user.r_hand))
|
||||
user.put_in_hands(removing)
|
||||
user.visible_message("<span class='danger'><b>[user]</b> extracts [removing] from [src] with [W]!")
|
||||
@@ -892,13 +892,13 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
// Attached organs also fly off.
|
||||
if(!ignore_children)
|
||||
for(var/obj/item/organ/external/O in children)
|
||||
O.remove()
|
||||
O.remove(victim)
|
||||
if(O)
|
||||
O.forceMove(src)
|
||||
|
||||
// Grab all the internal giblets too.
|
||||
for(var/obj/item/organ/internal/organ in internal_organs)
|
||||
organ.remove()
|
||||
organ.remove(victim)
|
||||
organ.forceMove(src)
|
||||
|
||||
release_restraints(victim)
|
||||
|
||||
@@ -9,19 +9,23 @@
|
||||
var/slot
|
||||
vital = 0
|
||||
var/organ_action_name = null
|
||||
var/non_primary = 0
|
||||
|
||||
/obj/item/organ/internal/New(var/mob/living/carbon/holder)
|
||||
if(istype(holder))
|
||||
insert(holder)
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/proc/insert(mob/living/carbon/M, special = 0)
|
||||
/obj/item/organ/internal/proc/insert(mob/living/carbon/M, special = 0, var/dont_remove_slot = 0)
|
||||
if(!iscarbon(M) || owner == M)
|
||||
return
|
||||
|
||||
var/obj/item/organ/internal/replaced = M.get_organ_slot(slot)
|
||||
if(replaced)
|
||||
replaced.remove(M, special = 1)
|
||||
if(dont_remove_slot)
|
||||
non_primary = 1
|
||||
else
|
||||
replaced.remove(M, special = 1)
|
||||
|
||||
owner = M
|
||||
|
||||
|
||||
Reference in New Issue
Block a user