Classic fixes

This commit is contained in:
Fermi
2019-11-21 03:16:18 +00:00
parent ef78757ed8
commit 18e1246fd0
10 changed files with 60 additions and 51 deletions
+1 -1
View File
@@ -57531,7 +57531,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"nWU" = (
/obj/machinery/smartfridge/organ,
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/sleeper)
"oce" = (
@@ -103794,10 +103794,10 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"dsI" = (
/obj/machinery/smartfridge/organ,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/surgery)
"dsJ" = (
+1 -1
View File
@@ -83998,7 +83998,7 @@
/turf/open/floor/plating,
/area/maintenance/port)
"qnB" = (
/obj/machinery/smartfridge/organ,
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/surgery)
"qqg" = (
@@ -42881,7 +42881,9 @@
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"uvp" = (
/obj/machinery/smartfridge/organ,
/obj/machinery/smartfridge/organ/preloaded{
pixel_y = 2
},
/turf/closed/wall,
/area/medical/medbay/zone3)
"uxJ" = (
@@ -55675,7 +55675,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"jdA" = (
/obj/machinery/smartfridge/organ,
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/surgery)
"jeq" = (
+5 -3
View File
@@ -190,10 +190,12 @@
var/tdelta = round(world.time - timeofdeath)
if(tdelta < (DEFIB_TIME_LIMIT * 10))
var/obj/item/organ/heart/He = getorgan(/obj/item/organ/heart)
if(!He || He.organ_flags & ORGAN_FAILING)
holder.icon_state = "huddefibheart"
else
if(He)
holder.icon_state = "huddefib"
if(He.organ_flags & ORGAN_FAILING)
holder.icon_state = "huddefibheart"
else
holder.icon_state = "huddefibheart"
return
holder.icon_state = "huddead"
else
+43 -39
View File
@@ -150,11 +150,10 @@ SLIME SCANNER
msg += "\t<span class='alert'>Subject appears to have [M.getCloneLoss() > 30 ? "Severe" : "Minor"] cellular damage.</span>\n"
if(advanced)
msg += "\t<span class='info'>Cellular Damage Level: [M.getCloneLoss()].</span>\n"
if (!M.getorgan(/obj/item/organ/brain))
to_chat(user, "\t<span class='alert'>Subject lacks a brain.</span>") //Unsure how this won't proc for 50% of the cit playerbase (This is a joke everyone on cit a cute.)
to_chat(user, msg)
msg = ""
// Body part damage report
var/list/dmgreport = list()
@@ -180,7 +179,7 @@ SLIME SCANNER
<td><font color='red'>[(org.brute_dam > 0) ? "[org.brute_dam]" : "0"]</font></td>\
<td><font color='orange'>[(org.burn_dam > 0) ? "[org.burn_dam]" : "0"]</font></td></tr>"
dmgreport += "</table>\n"
msg += dmgreport
to_chat(user, dmgreport.Join())
//Organ damages report
@@ -190,6 +189,7 @@ SLIME SCANNER
for(var/organ in C.internal_organs)
var/temp_message
var/damage_message
var/obj/item/organ/O = organ
//EYES
@@ -197,15 +197,15 @@ SLIME SCANNER
var/obj/item/organ/eyes/eyes = O
if(advanced)
if(HAS_TRAIT(C, TRAIT_BLIND))
temp_message += "\t<span class='alert'>Subject is blind.</span>"
temp_message += " <span class='alert'>Subject is blind.</span>"
if(HAS_TRAIT(C, TRAIT_NEARSIGHT))
temp_message += "\t<span class='alert'>Subject is nearsighted.</span>"
temp_message += " <span class='alert'>Subject is nearsighted.</span>"
if(eyes.damage > 30)
temp_message += "\t<span class='alert'>Subject has severe eye damage.</span>"
damage_message += " <span class='alert'>Subject has severe eye damage.</span>"
else if(eyes.damage > 20)
temp_message += "\t<span class='alert'>Subject has significant eye damage.</span>"
damage_message += " <span class='alert'>Subject has significant eye damage.</span>"
else if(eyes.damage)
temp_message += "\t<span class='alert'>Subject has minor eye damage.</span>"
damage_message += " <span class='alert'>Subject has minor eye damage.</span>"
//EARS
@@ -213,28 +213,28 @@ SLIME SCANNER
var/obj/item/organ/ears/ears = O
if(advanced)
if(HAS_TRAIT_FROM(C, TRAIT_DEAF, GENETIC_MUTATION))
temp_message += "\t<span class='alert'>Subject is genetically deaf.</span>"
temp_message += " <span class='alert'>Subject is genetically deaf.</span>"
else if(HAS_TRAIT(C, TRAIT_DEAF))
temp_message += "\t<span class='alert'>Subject is deaf.</span>"
temp_message += " <span class='alert'>Subject is deaf.</span>"
else
if(ears.damage)
temp_message += "\t<span class='alert'>Subject has [ears.damage > ears.maxHealth ? "permanent ": "temporary "]hearing damage.</span>"
damage_message += " <span class='alert'>Subject has [ears.damage > ears.maxHealth ? "permanent ": "temporary "]hearing damage.</span>"
if(ears.deaf)
temp_message += "\t<span class='alert'>Subject is [ears.damage > ears.maxHealth ? "permanently ": "temporarily "] deaf.</span>"
damage_message += " <span class='alert'>Subject is [ears.damage > ears.maxHealth ? "permanently ": "temporarily "] deaf.</span>"
//BRAIN
if(istype(O, /obj/item/organ/brain))
if (C.getOrganLoss(ORGAN_SLOT_BRAIN) >= 200)
temp_message += "\t<span class='alert'>Subject's brain function is non-existent. Neurine injection recomended.</span>"
damage_message += " <span class='alert'>Subject's brain function is non-existent. Neurine injection recomended.</span>"
else if (C.getOrganLoss(ORGAN_SLOT_BRAIN) >= 120)
temp_message += "\t<span class='alert'>Severe brain damage detected. Subject likely to have mental traumas.</span>"
damage_message += " <span class='alert'>Severe brain damage detected. Subject likely to have mental traumas.</span>"
else if (C.getOrganLoss(ORGAN_SLOT_BRAIN) >= 45)
temp_message += "\t<span class='alert'>Brain damage detected.</span>"
else
temp_message += "\t<span class='alert'>Functional Brain detected.</span>"
damage_message += " <span class='alert'>Brain damage detected.</span>"
else if(!advanced)
damage_message += " <span class='info'>Functional Brain detected.</span>"
if(advanced)
temp_message += "\t<span class='info'>Brain Activity Level: [(200 - M.getOrganLoss(ORGAN_SLOT_BRAIN))/2]%.</span>"
temp_message += " <span class='info'>Brain Activity Level: [(200 - M.getOrganLoss(ORGAN_SLOT_BRAIN))/2]%.</span>"
//TRAUMAS
if(LAZYLEN(C.get_traumas()))
@@ -250,40 +250,42 @@ SLIME SCANNER
trauma_desc += "permanent "
trauma_desc += B.scan_desc
trauma_text += trauma_desc
temp_message += "\t<span class='alert'>Cerebral traumas detected: subject appears to be suffering from [english_list(trauma_text)].</span>"
temp_message += " <span class='alert'>Cerebral traumas detected: subject appears to be suffering from [english_list(trauma_text)].</span>"
if(C.roundstart_quirks.len)
temp_message += "\t<span class='info'>Subject has the following physiological traits: [C.get_trait_string()].</span>"
temp_message += " <span class='info'>Subject has the following physiological traits: [C.get_trait_string()].</span>"
if(ishuman(C) && advanced)
var/mob/living/carbon/human/H = M
//MON PETIT CHAUFFEUR
if(H.hallucinating())
temp_message += "\t<span class='info'>Subject is hallucinating.</span>"
temp_message += " <span class='info'>Subject is hallucinating.</span>"
//MKUltra
if(H.has_status_effect(/datum/status_effect/chem/enthrall))
temp_message += "\t<span class='info'>Subject has abnormal brain fuctions.</span>"
temp_message += " <span class='info'>Subject has abnormal brain fuctions.</span>"
//Astrogen shenanigans
if(H.reagents.has_reagent("astral"))
if(H.mind)
temp_message += "\t<span class='danger'>Warning: subject may be possesed.</span>"
temp_message += " <span class='danger'>Warning: subject may be possesed.</span>"
else
temp_message += "\t<span class='notice'>Subject appears to be astrally projecting.</span>"
temp_message += " <span class='notice'>Subject appears to be astrally projecting.</span>"
//LIVER
if(istype(O, /obj/item/organ/liver))
var/obj/item/organ/liver/L = O
if(H.undergoing_liver_failure() && H.stat != DEAD) //might be depreciated
msg += "<span class='danger'>Subject is suffering from liver failure: Apply Corazone and begin a liver transplant immediately!</span>"
if(L.swelling > 20)
msg += "\t<span class='danger'>Subject is suffering from an enlarged liver.</span>" //i.e. shrink their liver or give them a transplant.
msg += " <span class='danger'>Subject is suffering from an enlarged liver.</span>" //i.e. shrink their liver or give them a transplant.
//HEART
if(ishuman(M) && (istype(O, /obj/item/organ/heart)))
var/obj/item/organ/heart/He = O
var/mob/living/carbon/human/H = M
if(H.undergoing_cardiac_arrest() && H.stat != DEAD)
msg += "\t<span class='danger'>Subject suffering from heart attack: Apply defibrillation or other electric shock <b>immediately!</b></span>"
msg += " <span class='danger'>Subject suffering from heart attack: Apply defibrillation or other electric shock <b>immediately!</b></span>"
if(He.organ_flags & ORGAN_FAILING)
heart_ded = TRUE
@@ -291,30 +293,32 @@ SLIME SCANNER
if(istype(O, /obj/item/organ/tongue))
var/obj/item/organ/tongue/T = O
if(T.name == "fluffy tongue")
msg += "\t<span class='danger'>Subject is suffering from a fluffified tongue. Suggested cure: Yamerol or a tongue transplant.</span>"
msg += " <span class='danger'>Subject is suffering from a fluffified tongue. Suggested cure: Yamerol or a tongue transplant.</span>"
//HECK
if(istype(O, /obj/item/organ/genital/penis))
var/obj/item/organ/genital/penis/P = O
if(P.length>20)
msg += "\t<span class='info'>Subject has a sizeable gentleman's organ at [P.length] inches.</span>"
msg += " <span class='info'>Subject has a sizeable gentleman's organ at [P.length] inches.</span>"
if(istype(O, /obj/item/organ/genital/breasts))
var/obj/item/organ/genital/breasts/Br = O
if(Br.cached_size>5)
msg += "\t<span class='info'>Subject has a sizeable bosom with a [Br.size] cup.</span>"
msg += " <span class='info'>Subject has a sizeable bosom with a [Br.size] cup.</span>"
//GENERAL HANDLER
var/damage_message
if(O.organ_flags & ORGAN_FAILING)
damage_message += "\t<span class='alert'><b>End Stage [O.name] failure detected.</b></span>"
else if(O.damage > O.high_threshold)
damage_message += "\t<span class='alert'><b>Chronic [O.name] failure detected.</b></span>"
else if(O.damage > O.low_threshold && advanced)
damage_message += "\t<font color='red'><b>Acute [O.name] failure detected.</b></span>"
if(!damage_message)
if(O.organ_flags & ORGAN_FAILING)
damage_message += " <span class='alert'><b>End Stage [uppertext(O.name)] failure detected.</b></span>"
else if(O.damage > O.high_threshold)
damage_message += " <span class='alert'><b>Chronic [uppertext(O.name)] failure detected.</b></span>"
else if(O.damage > O.low_threshold && advanced)
damage_message += " <font color='red'><b>Acute [uppertext(O.name)] failure detected.</b></span>"
if(temp_message || damage_message)
msg += "[O.name]: [damage_message] [temp_message]\n"
msg += "<b>[uppertext(O.name)]</b>: [damage_message] [temp_message]\n"
@@ -418,7 +422,7 @@ SLIME SCANNER
if(cyberimp_detect)
msg += "<span class='notice'>Detected cybernetic modifications:</span>\n"
msg += "<span class='notice'>[cyberimp_detect]</span>\n"
msg += "*---------*</span>"
msg += "<span class='notice'>*---------*</span>"
to_chat(user, msg)
SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, FALSE)
@@ -426,7 +426,7 @@
if(istype(AM))
AM.organ_flags &= ~ORGAN_FROZEN
/obj/machinery/smartfridge/chemistry/preloaded
/obj/machinery/smartfridge/organ/preloaded
initial_contents = list(
/obj/item/organ/random = 1,
/obj/item/reagent_containers/medspray/synthtissue = 1,
@@ -235,6 +235,7 @@
if(delta > 0)
if(damage >= maxHealth)
organ_flags |= ORGAN_FAILING
owner.med_hud_set_status()
return now_failing
if(damage > high_threshold && prev_damage <= high_threshold)
return high_threshold_passed
@@ -242,6 +243,7 @@
return low_threshold_passed
else
organ_flags &= ~ORGAN_FAILING
owner.med_hud_set_status()
if(!owner)//Processing is stopped when the organ is dead and outside of someone. This hopefully should restart it if a removed organ is repaired outside of a body.
START_PROCESSING(SSobj, src)
if(prev_damage > low_threshold && damage <= low_threshold)
@@ -368,12 +370,11 @@
/obj/item/organ/random
name = "Illegal organ"
desc = "Something fucked up"
desc = "Something hecked up"
/obj/item/organ/random/Initialize()
..()
var/list = subtypesof(/obj/item/organ)
list -= /obj/item/organ/random
var/list = (/obj/item/organ/tongue, /obj/item/organ/brain, /obj/item/organ/heart, /obj/item/organ/liver, /obj/item/organ/ears, /obj/item/organ/eyes, /obj/item/organ/tail, /obj/item/organ/stomach)
var/newtype = pick(list)
new newtype(loc)
return INITIALIZE_HINT_QDEL
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB