From 884ea59d63c0880f2daa6684e2c9b715128ac867 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 12 Jan 2020 18:38:22 -0800 Subject: [PATCH] fix logic --- code/__DEFINES/misc.dm | 3 ++- code/controllers/subsystem/nightshift.dm | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 342e0321ee..d68fb9b490 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -539,7 +539,8 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define CANT_REENTER_ROUND -1 //Nightshift levels. -#define NIGHTSHIFT_AREA_NONE 0 //default +#define NIGHTSHIFT_AREA_FORCED 0 //ALWAYS nightshift if nightshift is enabled #define NIGHTSHIFT_AREA_PUBLIC 1 //hallways #define NIGHTSHIFT_AREA_RECREATION 2 //dorms common areas, etc #define NIGHTSHIFT_AREA_DEPARTMENT_HALLS 3 //interior hallways, etc +#define NIGHTSHIFT_AREA_NONE 4 //default/highest. diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm index a46fa54d16..1ecbbede1f 100644 --- a/code/controllers/subsystem/nightshift.dm +++ b/code/controllers/subsystem/nightshift.dm @@ -56,6 +56,8 @@ SUBSYSTEM_DEF(nightshift) max_level = max_level_override for(var/A in GLOB.apcs_list) var/obj/machinery/power/apc/APC = A - if(APC.area && (!max_level || !APC.area.nightshift_public_area || (APC.area.nightshift_public_area <= max_level)) && (APC.area.type in GLOB.the_station_areas)) - APC.set_nightshift(active) - CHECK_TICK + if(APC.area?.type in GLOB.the_station_areas) + var/their_level = APC.area.nightshift_public_area + if(!max_level || (their_level <= max_level)) //if max level is 0, it means public area-only config is disabled so hit everything. if their level is 0, it means they have nightshift forced. + APC.set_nightshift(active) + CHECK_TICK