mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 04:28:12 +01:00
Merge remote-tracking branch 'upstream/dev' into 150614-MakingYourLifeEvenEasierApplyDirectlyToForehead
Conflicts: code/modules/mob/living/simple_animal/simple_animal.dm
This commit is contained in:
@@ -26,6 +26,27 @@ var/list/organ_cache = list()
|
||||
var/datum/dna/dna
|
||||
var/datum/species/species
|
||||
|
||||
/obj/item/organ/Destroy()
|
||||
if(!owner)
|
||||
return ..()
|
||||
|
||||
if((owner.internal_organs) && (src in owner.internal_organs))
|
||||
owner.internal_organs -= src
|
||||
|
||||
if((owner.internal_organs_by_name) && (src in owner.internal_organs_by_name))
|
||||
owner.internal_organs_by_name -= src
|
||||
|
||||
if((owner.organs) && (src in owner.organs))
|
||||
owner.organs -= src
|
||||
|
||||
if((owner.organs_by_name) && (src in owner.organs_by_name))
|
||||
owner.organs_by_name -= src
|
||||
|
||||
if(src in owner.contents)
|
||||
owner.contents -= src
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/proc/update_health()
|
||||
return
|
||||
|
||||
|
||||
@@ -51,6 +51,20 @@
|
||||
var/can_grasp
|
||||
var/can_stand
|
||||
|
||||
/obj/item/organ/external/Destroy()
|
||||
if(parent && parent.children)
|
||||
parent.children -= src
|
||||
|
||||
if(children)
|
||||
for(var/obj/item/organ/external/C in children)
|
||||
qdel(C)
|
||||
|
||||
if(internal_organs)
|
||||
for(var/obj/item/organ/O in internal_organs)
|
||||
qdel(O)
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/external/attack_self(var/mob/user)
|
||||
if(!contents.len)
|
||||
return ..()
|
||||
@@ -85,12 +99,12 @@
|
||||
switch(stage)
|
||||
if(0)
|
||||
if(istype(W,/obj/item/weapon/scalpel))
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cuts [src] open with [W]!")
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cuts [src] open with [W]!</span>")
|
||||
stage++
|
||||
return
|
||||
if(1)
|
||||
if(istype(W,/obj/item/weapon/retractor))
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cracks [src] open like an egg with [W]!")
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cracks [src] open like an egg with [W]!</span>")
|
||||
stage++
|
||||
return
|
||||
if(2)
|
||||
@@ -100,9 +114,9 @@
|
||||
removing.loc = get_turf(user.loc)
|
||||
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]!")
|
||||
user.visible_message("<span class='danger'><b>[user]</b> extracts [removing] from [src] with [W]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='danger'><b>[user]</b> fishes around fruitlessly in [src] with [W].")
|
||||
user.visible_message("<span class='danger'><b>[user]</b> fishes around fruitlessly in [src] with [W].</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user