Merge pull request #3849 from Aurorablade/BeepBeep

god its late Fixes #3908
This commit is contained in:
Fox McCloud
2016-03-18 21:40:53 -04:00
7 changed files with 58 additions and 13 deletions
@@ -30,9 +30,6 @@
user << "<span class='userdanger'>Somehow, this MMI still has a brain in it. Report this to the bug tracker.</span>"
log_to_dd("[user] tried to stick a [O] into [src] in [get_area(src)], but the held brain variable wasn't cleared")
return
if(B.status & ORGAN_DEAD) // As it stood, a brain would never become unviable for MMI usage. Perhaps we should keep it that way?
user << "<span class='warning'>This [B] is dead</span>"
return
for(var/mob/V in viewers(src, null))
V.show_message("<span class='notice'>[user] sticks \a [O] into \the [src].</span>")
brainmob = B.brainmob
-1
View File
@@ -385,7 +385,6 @@
var/mob/living/carbon/C = src
C.handcuffed = initial(C.handcuffed)
C.heart_attack = 0
C.brain_op_stage = 0
// restore all of the human's blood and reset their shock stage
if(ishuman(src))
+1 -1
View File
@@ -81,7 +81,7 @@ var/list/organ_cache = list()
return
//Process infections
if ((status & ORGAN_ROBOT) || (sterile) ||(owner && owner.species && (owner.species.flags & IS_PLANT)))
if ((status & ORGAN_ROBOT) || sterile ||(owner && owner.species && (owner.species.flags & IS_PLANT)))
germ_level = 0
return
@@ -194,6 +194,24 @@
parent_organ = "head"
slot = "eyes"
/obj/item/organ/internal/diona_receptor/remove(var/mob/living/user,special = 0)
if(!special)
owner.disabilities |= NEARSIGHTED
owner.sdisabilities |= BLIND
owner.eye_blind = 20
owner.eye_blurry = 40
..()
/obj/item/organ/internal/diona_receptor/surgeryize()
if(!owner)
return
owner.disabilities &= ~NEARSIGHTED
owner.sdisabilities &= ~BLIND
owner.eye_blurry = 0
owner.eye_blind = 0
//TODO:Make absorb rads on insert
/obj/item/organ/internal/liver/diona
@@ -129,6 +129,26 @@
robotize()
..()
/obj/item/organ/internal/optical_sensor/remove(var/mob/living/user,special = 0)
if(!special)
owner.disabilities |= NEARSIGHTED
owner.sdisabilities |= BLIND
owner.eye_blind = 20
owner.eye_blurry = 40
owner << "Error 404:Optical Sensors not found."
..()
/obj/item/organ/internal/optical_sensor/surgeryize()
if(!owner)
return
owner.disabilities &= ~NEARSIGHTED
owner.sdisabilities &= ~BLIND
owner.eye_blurry = 0
owner.eye_blind = 0
// Used for an MMI or posibrain being installed into a human.
/obj/item/organ/internal/brain/mmi_holder
name = "brain"
+15 -7
View File
@@ -2,10 +2,16 @@
//////////////////////////////////////////////////////////////////
// INTERNAL WOUND PATCHING //
//////////////////////////////////////////////////////////////////
/datum/surgery/infection
name = "external infection treatment/autopsy"
steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/cauterize)
possible_locs = list("chest","head","groin", "l_arm", "r_arm", "l_leg", "r_leg", "r_hand", "l_hand", "r_foot", "l_foot")
/datum/surgery/bleeding
name = "internal bleeding"
steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders,/datum/surgery_step/generic/retract_skin,/datum/surgery_step/fix_vein,/datum/surgery_step/generic/cauterize)
possible_locs = list("chest","head","groin")
possible_locs = list("chest","head","groin", "l_arm", "r_arm", "l_leg", "r_leg", "r_hand", "l_hand", "r_foot", "l_foot")
/datum/surgery/bleeding/can_start(mob/user, mob/living/carbon/target)
if(ishuman(target))
@@ -14,9 +20,10 @@
if(!affected) return 0
var/internal_bleeding = 0
for(var/datum/wound/W in affected.wounds) if(W.internal)
internal_bleeding = 1
break
for(var/datum/wound/W in affected.wounds)
if(W.internal)
internal_bleeding = 1
break
if(internal_bleeding)
return 1
return 0
@@ -37,9 +44,10 @@
if(!affected) return 0
var/internal_bleeding = 0
for(var/datum/wound/W in affected.wounds) if(W.internal)
internal_bleeding = 1
break
for(var/datum/wound/W in affected.wounds)
if(W.internal)
internal_bleeding = 1
break
return affected.open == 2 && internal_bleeding