Added a new surgery- Head reattachment, for the decapitationally challenged. Performed via retractor, fix-o-vein, hemostat, cautery, head. Fixed logs and messages for decapitated brain removal - No longer shows as the head cutting the head open, and no longer shows the debrainee as the debrainer to admins.

This commit is contained in:
Nanai
2013-10-28 07:57:24 -04:00
parent 751aaa21f4
commit 504e49ffb2
2 changed files with 209 additions and 21 deletions
+21 -21
View File
@@ -181,7 +181,7 @@
var/result = update_icon()
return result
/*
This function completely restores a damaged organ to perfect condition.
*/
@@ -191,21 +191,21 @@ This function completely restores a damaged organ to perfect condition.
perma_injury = 0
brute_dam = 0
burn_dam = 0
// handle internal organs
for(var/datum/organ/internal/current_organ in internal_organs)
current_organ.rejuvenate()
// remove embedded objects and drop them on the floor
for(var/obj/implanted_object in implants)
if(!istype(implanted_object,/obj/item/weapon/implant)) // We don't want to remove REAL implants. Just shrapnel etc.
implanted_object.loc = owner.loc
implants -= implanted_object
owner.updatehealth()
update_icon()
/datum/organ/external/proc/createwound(var/type = CUT, var/damage)
if(damage == 0) return
@@ -886,17 +886,17 @@ obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob)
switch(brain_op_stage)
if(0)
for(var/mob/O in (oviewers(brainmob) - user))
O.show_message("\red [brainmob] is beginning to have \his head cut open with [src] by [user].", 1)
brainmob << "\red [user] begins to cut open your head with [src]!"
user << "\red You cut [brainmob]'s head open with [src]!"
O.show_message("\red [brainmob] is beginning to have \his head cut open with [W] by [user].", 1)
brainmob << "\red [user] begins to cut open your head with [W]!"
user << "\red You cut [brainmob]'s head open with [W]!"
brain_op_stage = 1
if(2)
for(var/mob/O in (oviewers(brainmob) - user))
O.show_message("\red [brainmob] is having \his connections to the brain delicately severed with [src] by [user].", 1)
brainmob << "\red [user] begins to cut open your head with [src]!"
user << "\red You cut [brainmob]'s head open with [src]!"
O.show_message("\red [brainmob] is having \his connections to the brain delicately severed with [W] by [user].", 1)
brainmob << "\red [user] begins to cut open your head with [W]!"
user << "\red You cut [brainmob]'s head open with [W]!"
brain_op_stage = 3.0
else
@@ -905,20 +905,20 @@ obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob)
switch(brain_op_stage)
if(1)
for(var/mob/O in (oviewers(brainmob) - user))
O.show_message("\red [brainmob] has \his skull sawed open with [src] by [user].", 1)
brainmob << "\red [user] begins to saw open your head with [src]!"
user << "\red You saw [brainmob]'s head open with [src]!"
O.show_message("\red [brainmob] has \his skull sawed open with [W] by [user].", 1)
brainmob << "\red [user] begins to saw open your head with [W]!"
user << "\red You saw [brainmob]'s head open with [W]!"
brain_op_stage = 2
if(3)
for(var/mob/O in (oviewers(brainmob) - user))
O.show_message("\red [brainmob] has \his spine's connection to the brain severed with [src] by [user].", 1)
brainmob << "\red [user] severs your brain's connection to the spine with [src]!"
user << "\red You sever [brainmob]'s brain's connection to the spine with [src]!"
O.show_message("\red [brainmob] has \his spine's connection to the brain severed with [W] by [user].", 1)
brainmob << "\red [user] severs your brain's connection to the spine with [W]!"
user << "\red You sever [brainmob]'s brain's connection to the spine with [W]!"
user.attack_log += "\[[time_stamp()]\]<font color='red'> Debrained [brainmob.name] ([brainmob.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>"
brainmob.attack_log += "\[[time_stamp()]\]<font color='orange'> Debrained by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>"
msg_admin_attack("[brainmob] ([brainmob.ckey]) debrained [user] ([user.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
user.attack_log += "\[[time_stamp()]\]<font color='red'> Debrained [brainmob.name] ([brainmob.ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)])</font>"
brainmob.attack_log += "\[[time_stamp()]\]<font color='orange'> Debrained by [user.name] ([user.ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)])</font>"
msg_admin_attack("[user] ([user.ckey]) debrained [brainmob] ([brainmob.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
var/obj/item/brain/B = new(loc)
B.transfer_identity(brainmob)