mogjtbosdopm ues

This commit is contained in:
Aurorablade
2016-03-13 08:08:15 -04:00
parent a653dfd69d
commit 2eaff84f42
6 changed files with 26 additions and 21 deletions

View File

@@ -8,8 +8,6 @@
w_class = 1
var/vision_flags = 0
var/darkness_view = 0
var/see_darkness = 1
var/list/eye_colour = list(0,0,0)
var/list/old_eye_colour = list(0,0,0)
var/flash_protect = 0

View File

@@ -81,7 +81,7 @@ var/list/organ_cache = list()
return
//Process infections
if ((status & ORGAN_ROBOT) || sterile == 1 ||(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

View File

@@ -312,7 +312,7 @@ This function completely restores a damaged organ to perfect condition.
// handle internal organs
for(var/obj/item/organ/internal/current_organ in internal_organs)
if(!istype(current_organ,/obj/item/organ/internal/cyberimp))
if(!istype(current_organ,/obj/item/organ/internal/cyberimp)|| !istype(current_organ,/obj/item/organ/internal/xenos) || !istype(current_organ,/obj/item/organ/internal/hivelord_core))
current_organ.rejuvenate()

View File

@@ -16,15 +16,12 @@
..()
/obj/item/organ/internal/process()
..()
/obj/item/organ/internal/proc/insert(mob/living/carbon/M, special = 0)
if(!iscarbon(M) || owner == M)
return
processing_objects -= src
var/obj/item/organ/internal/replaced = M.get_organ_slot(slot)
if(replaced)
replaced.remove(M, special = 1)
@@ -48,6 +45,8 @@
/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0)
owner = null
processing_objects |= src
if(M)
M.internal_organs -= src
if(vital && !special)
@@ -350,7 +349,7 @@
/obj/item/organ/internal/shadowtumor/New()
..()
processing_objects.Add(src)
processing_objects |= src
/obj/item/organ/internal/shadowtumor/Destroy()
processing_objects.Remove(src)
@@ -383,7 +382,7 @@
/obj/item/organ/internal/honktumor/New()
..()
processing_objects.Add(src)
processing_objects |= src
/obj/item/organ/internal/honktumor/insert(mob/living/carbon/M, special = 0)
..()

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/retract_skin, /datum/surgery_step/generic/cauterize)
possible_locs = list("chest","head","groin", "l_arm", "r_arm", "l_leg", "r_leg")
/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")
/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