From f72a93ed395a2c151514d8485ab9f67a1b66f128 Mon Sep 17 00:00:00 2001 From: Iajret Creature <122297233+Steals-The-PRs@users.noreply.github.com> Date: Wed, 22 May 2024 09:38:14 +0300 Subject: [PATCH] Ports an EMP Effect on the Crew Monitor (#2603) (#3431) * push * no more beeping : ( * Apply suggestions from code review * Update _under.dm * Update _under.dm * Update code/modules/clothing/under/_under.dm rogue space --------- Co-authored-by: Zergspower Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> --- code/game/machinery/computer/crew.dm | 16 +++++++++++++++- code/modules/clothing/under/_under.dm | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 016b2ab3d21..b26c2b19969 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -237,7 +237,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) continue // Check if their uniform is in a compatible mode. - if((uniform.has_sensor <= NO_SENSORS) || !uniform.sensor_mode) + if((uniform.has_sensor == NO_SENSORS) || !uniform.sensor_mode) // NOVA EDIT CHANGE - ORIGINAL if((uniform.has_sensor <= NO_SENSORS) || !uniform.sensor_mode) stack_trace("Human without active suit sensors is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform.type])") continue @@ -259,6 +259,20 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if (jobs[trim_assignment] != null) entry["ijob"] = jobs[trim_assignment] + // NOVA EDIT ADDITION START - EMP SENSORS + if(uniform.has_sensor == BROKEN_SENSORS) + entry["is_robot"] = rand(0,1) + entry["life_status"] = rand(0,1) + entry["area"] = pick_list (ION_FILE, "ionarea") + entry["oxydam"] = rand(0,1000) + entry["toxdam"] = rand(0,1000) + entry["burndam"] =rand(0,1000) + entry["brutedam"] = rand(0,1000) + entry["health"] = -50 + entry["can_track"] = tracked_living_mob.can_track() + results[++results.len] = entry + continue + // NOVA EDIT ADDITION END // NOVA EDIT BEGIN: Checking for robotic race if (issynthetic(tracked_human)) entry["is_robot"] = TRUE diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index d3ad7f6871e..97ce6650f46 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -141,12 +141,13 @@ if(severity <= EMP_HEAVY) has_sensor = BROKEN_SENSORS + sensor_mode = SENSOR_LIVING // NOVA EDIT ADDITION if(ismob(loc)) var/mob/M = loc to_chat(M,span_warning("[src]'s sensors short out!")) else - sensor_mode = pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS) + sensor_mode = clamp(sensor_mode + pick(-1,1), SENSOR_OFF, SENSOR_COORDS) // NOVA EDIT CHANGE - ORIGINAL: sensor_mode = pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS) if(ismob(loc)) var/mob/M = loc to_chat(M,span_warning("The sensors on the [src] change rapidly!"))