mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-25 08:51:41 +00:00
mogjtbosdopm ues
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user