diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index fdbaae21cc..06fd906ea8 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -68,33 +68,36 @@ for(var/obj/item/clothing/under/C in src.tracked) - var/turf/pos = get_turf(C) - if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && C.sensor_mode) + if((C) && (C.has_sensor) && (pos) && (pos.z == src.z) && (C.sensor_mode != SUIT_SENSOR_OFF)) if(istype(C.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C.loc if(H.w_uniform != C) continue - var/list/crewmemberData = list() + var/list/crewmemberData = list("dead"=0, "oxy"=-1, "tox"=-1, "fire"=-1, "brute"=-1, "area"="", "x"=-1, "y"=-1) crewmemberData["sensor_type"] = C.sensor_mode - crewmemberData["dead"] = H.stat > 1 - crewmemberData["oxy"] = round(H.getOxyLoss(), 1) - crewmemberData["tox"] = round(H.getToxLoss(), 1) - crewmemberData["fire"] = round(H.getFireLoss(), 1) - crewmemberData["brute"] = round(H.getBruteLoss(), 1) - crewmemberData["name"] = H.get_authentification_name(if_no_id="Unknown") crewmemberData["rank"] = H.get_authentification_rank(if_no_id="Unknown", if_no_job="No Job") crewmemberData["assignment"] = H.get_assignment(if_no_id="Unknown", if_no_job="No Job") - var/area/A = get_area(H) - crewmemberData["area"] = sanitize(A.name) - crewmemberData["x"] = pos.x - crewmemberData["y"] = pos.y + if(C.sensor_mode >= SUIT_SENSOR_BINARY) + crewmemberData["dead"] = H.stat > 1 + + if(C.sensor_mode >= SUIT_SENSOR_VITAL) + crewmemberData["oxy"] = round(H.getOxyLoss(), 1) + crewmemberData["tox"] = round(H.getToxLoss(), 1) + crewmemberData["fire"] = round(H.getFireLoss(), 1) + crewmemberData["brute"] = round(H.getBruteLoss(), 1) + + if(C.sensor_mode >= SUIT_SENSOR_TRACKING) + var/area/A = get_area(H) + crewmemberData["area"] = sanitize(A.name) + crewmemberData["x"] = pos.x + crewmemberData["y"] = pos.y crewmembers[++crewmembers.len] = crewmemberData diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index a57463eee7..a4fc0081c2 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -86,7 +86,7 @@ if(affecting.take_damage(5, 0)) H.UpdateDamageIcon() H.updatehealth() - if(!(H.species & NO_PAIN)) + if(!(H.species && (H.species.flags & NO_PAIN))) H.Weaken(3) ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 278fefa5e9..ce4c6d4272 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1299,7 +1299,7 @@ datum/preferences if("hair") if(species == "Human" || species == "Unathi" || species == "Tajara" || species == "Skrell") - var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as color|null + var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference", rgb(r_hair, g_hair, b_hair)) as color|null if(new_hair) r_hair = hex2num(copytext(new_hair, 2, 4)) g_hair = hex2num(copytext(new_hair, 4, 6)) @@ -1319,7 +1319,7 @@ datum/preferences h_style = new_h_style if("facial") - var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference") as color|null + var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference", rgb(r_facial, g_facial, b_facial)) as color|null if(new_facial) r_facial = hex2num(copytext(new_facial, 2, 4)) g_facial = hex2num(copytext(new_facial, 4, 6)) @@ -1364,7 +1364,7 @@ datum/preferences ShowChoices(user) if("eyes") - var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference") as color|null + var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference", rgb(r_eyes, g_eyes, b_eyes)) as color|null if(new_eyes) r_eyes = hex2num(copytext(new_eyes, 2, 4)) g_eyes = hex2num(copytext(new_eyes, 4, 6)) @@ -1379,7 +1379,7 @@ datum/preferences if("skin") if(species == "Unathi" || species == "Tajara" || species == "Skrell") - var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference") as color|null + var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference", rgb(r_skin, g_skin, b_skin)) as color|null if(new_skin) r_skin = hex2num(copytext(new_skin, 2, 4)) g_skin = hex2num(copytext(new_skin, 4, 6)) @@ -1745,4 +1745,4 @@ datum/preferences user << browse(dat, "window=saves;size=300x390") /datum/preferences/proc/close_load_dialog(mob/user) - user << browse(null, "window=saves") \ No newline at end of file + user << browse(null, "window=saves") diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index b9db05c3d0..42f9262461 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1898,10 +1898,10 @@ datum if(15 to 49) if(prob(50)) M.Weaken(2) - M.drowsyness = max(M.drowsyness, 20) + M.drowsyness = max(M.drowsyness, 20) if(50 to INFINITY) - M.Weaken(20) - M.drowsyness = max(M.drowsyness, 30) + M.sleeping = max(M.sleeping, 20) + M.drowsyness = max(M.drowsyness, 60) data++ ..() return @@ -1925,10 +1925,11 @@ datum if(1) M.confused += 2 M.drowsyness += 2 - if(2 to 199) + if(2 to 20) M.Weaken(30) - if(200 to INFINITY) - M.sleeping += 1 + M.eye_blurry = max(M.eye_blurry, 10) + if(20 to INFINITY) + M.sleeping = max(M.sleeping, 30) ..() return