From 2eaff84f42aba91458cd05fdbb3fe73eeca66a1e Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 13 Mar 2016 08:08:15 -0400 Subject: [PATCH] mogjtbosdopm ues --- .../changeling/powers/augmented_eyesight.dm | 6 ++--- code/modules/surgery/organs/augments_eyes.dm | 2 -- code/modules/surgery/organs/organ.dm | 2 +- code/modules/surgery/organs/organ_external.dm | 2 +- code/modules/surgery/organs/organ_internal.dm | 13 +++++------ code/modules/surgery/other.dm | 22 +++++++++++++------ 6 files changed, 26 insertions(+), 21 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index 21d703b9a83..c7a858d7be7 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -13,7 +13,6 @@ if(!istype(user)) return if(user.get_int_organ(/obj/item/organ/internal/cyberimp/eyes/thermals/ling)) - user << "Our eyes are protected from flashes." var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() O.insert(user) @@ -65,8 +64,6 @@ implant_overlay = null origin_tech = "biotech=5;magnets=5" slot = "eye_ling" - darkness_view = 8 - see_darkness = 0 status = 0 aug_message = "We feel a minute twitch in our eyes, and darkness creeps away." @@ -78,9 +75,12 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner H.weakeyes = 1 + if(!H.vision_type) + H.vision_type = new /datum/vision_override/nightvision /obj/item/organ/internal/cyberimp/eyes/thermals/ling/remove(mob/living/carbon/M, special = 0) if(ishuman(owner)) var/mob/living/carbon/human/H = owner H.weakeyes = 0 + H.vision_type = null ..() \ No newline at end of file diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index f3cf645f3a0..6dcd76bedfa 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -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 diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index eceb5d03737..5209237339f 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -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 diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index f7c51acc6d7..7060cfa034f 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -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() diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 33dd362f81b..bff48e21bc4 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -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) ..() diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 004cea35e59..f5859bd6541 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -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