diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 35701e7f5b3..19af05f12af 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -89,6 +89,6 @@ #define SUPERMATTER_NORMAL 1 // Normal operation #define SUPERMATTER_NOTIFY 2 // Ambient temp > 80% of CRITICAL_TEMPERATURE #define SUPERMATTER_WARNING 3 // Ambient temp > CRITICAL_TEMPERATURE OR integrity damaged -#define SUPERMATTER_DANGER 4 // Integrity < 50% -#define SUPERMATTER_EMERGENCY 5 // Integrity < 25% -#define SUPERMATTER_DELAMINATING 6 // Pretty obvious. +#define SUPERMATTER_DANGER 4 // Integrity < 75% +#define SUPERMATTER_EMERGENCY 5 // Integrity < 50% +#define SUPERMATTER_DELAMINATING 6 // Pretty obvious, Integrity < 25% diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index cd2ad3103db..db9081f6ad1 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -18,6 +18,8 @@ var/new_status = get_status() if(last_status != new_status) last_status = new_status + if(last_status == SUPERMATTER_ERROR) + last_status = SUPERMATTER_INACTIVE ui_header = "smmon_[last_status].gif" program_icon_state = "smmon_[last_status]" if(istype(computer)) @@ -38,7 +40,7 @@ var/turf/T = get_turf(nano_host()) if(!T) return - for(var/obj/machinery/power/supermatter_shard/S in atmos_machinery) + for(var/obj/machinery/power/supermatter_shard/S in SSair.atmos_machinery) // Delaminating, not within coverage, not on a tile. if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !istype(S.loc, /turf/simulated/))) continue @@ -53,7 +55,7 @@ . = max(., S.get_status()) /datum/computer_file/program/supermatter_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open) + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) var/datum/asset/assets = get_asset_datum(/datum/asset/simple/headers) assets.send(user) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index c9ceeb95816..6bd582703d7 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -102,7 +102,7 @@ poi_list |= src //Added to the atmos_machine process as the SM is highly coupled with the atmospherics system. //Having the SM run at a different rate then atmospherics causes odd behavior. - atmos_machinery += src + SSair.atmos_machinery += src radio = new(src) radio.listening = 0 investigate_log("has been created.", "supermatter") @@ -138,7 +138,7 @@ emergency_lighting(0) QDEL_NULL(radio) poi_list.Remove(src) - atmos_machinery -= src + SSair.atmos_machinery -= src return ..() /obj/machinery/power/supermatter_shard/proc/explode() @@ -436,9 +436,12 @@ return SUPERMATTER_ERROR if(get_integrity() < 25) - return SUPERMATTER_EMERGENCY + return SUPERMATTER_DELAMINATING if(get_integrity() < 50) + return SUPERMATTER_EMERGENCY + + if(get_integrity() < 75) return SUPERMATTER_DANGER if((get_integrity() < 100) || (air.temperature > CRITICAL_TEMPERATURE)) diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi index d1357a58406..a6e3223a8d0 100644 Binary files a/icons/obj/modular_tablet.dmi and b/icons/obj/modular_tablet.dmi differ