From 15ff32f0df6b65b2f3e65cab5350094844090565 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 31 Dec 2017 10:04:00 -0700 Subject: [PATCH 1/4] Reduce shuttle cheese Once you up to red, you have to wait 5 minutes before you can call the shuttle. --- code/controllers/Processes/shuttles.dm | 5 +++++ code/modules/security_levels/security levels.dm | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/code/controllers/Processes/shuttles.dm b/code/controllers/Processes/shuttles.dm index 4f47bda014c..f9eaa77e576 100644 --- a/code/controllers/Processes/shuttles.dm +++ b/code/controllers/Processes/shuttles.dm @@ -13,6 +13,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12 var/emergencyCallTime = 6000 //time taken for emergency shuttle to reach the station when called (in deciseconds) var/emergencyDockTime = 1800 //time taken for emergency shuttle to leave again once it has docked (in deciseconds) var/emergencyEscapeTime = 1200 //time taken for emergency shuttle to reach a safe distance after leaving station (in deciseconds) + var/emergency_sec_level_time = 0 // time sec level was last raised to red or higher var/area/emergencyLastCallLoc var/emergencyNoEscape @@ -134,6 +135,10 @@ DECLARE_GLOBAL_CONTROLLER(shuttle, shuttle_master) var/area/signal_origin = get_area(user) var/emergency_reason = "\nNature of emergency:\n\n[call_reason]" if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) // There is a serious threat we gotta move no time to give them five minutes. + if(world.time - emergency_sec_level_time < emergencyCallTime * 0.5) + // It hasn't been five minutes since the alert was raised! They're cheesing the shuttle. + to_chat(user, "A priority emergency shuttle is being prepared. Please wait another [abs(round(((emergency_sec_level_time + emergencyCallTime * 0.5) - world.time)/600))] minutes before trying again.") + return emergency.request(null, 0.5, signal_origin, html_decode(emergency_reason), 1) else emergency.request(null, 1, signal_origin, html_decode(emergency_reason), 0) diff --git a/code/modules/security_levels/security levels.dm b/code/modules/security_levels/security levels.dm index fa1e6b6c841..1f0177691e3 100644 --- a/code/modules/security_levels/security levels.dm +++ b/code/modules/security_levels/security levels.dm @@ -27,6 +27,10 @@ //Will not be announced if you try to set to the same level as it already is if(level >= SEC_LEVEL_GREEN && level <= SEC_LEVEL_DELTA && level != security_level) + if(level >= SEC_LEVEL_RED && security_level < SEC_LEVEL_RED) + // Mark down this time to prevent shuttle cheese + shuttle_master.emergency_sec_level_time = world.time + switch(level) if(SEC_LEVEL_GREEN) security_announcement_down.Announce("All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.","Attention! Security level lowered to green.") From e5f83007b5d0ba0ea547d02f1691cc5860ca8188 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 28 Jan 2018 21:04:04 -0600 Subject: [PATCH 2/4] Use Spartan's shuttle lore --- code/controllers/Processes/shuttles.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/Processes/shuttles.dm b/code/controllers/Processes/shuttles.dm index f9eaa77e576..8bb466b755c 100644 --- a/code/controllers/Processes/shuttles.dm +++ b/code/controllers/Processes/shuttles.dm @@ -137,7 +137,7 @@ DECLARE_GLOBAL_CONTROLLER(shuttle, shuttle_master) if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) // There is a serious threat we gotta move no time to give them five minutes. if(world.time - emergency_sec_level_time < emergencyCallTime * 0.5) // It hasn't been five minutes since the alert was raised! They're cheesing the shuttle. - to_chat(user, "A priority emergency shuttle is being prepared. Please wait another [abs(round(((emergency_sec_level_time + emergencyCallTime * 0.5) - world.time)/600))] minutes before trying again.") + to_chat(user, "The NTV Charon Emergency Shuttle is being relocated to a Rapid Response Location due to your Code Red Emergency. Please wait another [abs(round(((emergency_sec_level_time + emergencyCallTime * 0.5) - world.time)/600))] minutes before trying again.") return emergency.request(null, 0.5, signal_origin, html_decode(emergency_reason), 1) else From 8b904db3975040f3a32def2dd70391ecad2d2246 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 30 Jan 2018 18:04:30 -0600 Subject: [PATCH 3/4] Add time to priority shuttle call instead --- code/controllers/Processes/shuttles.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/controllers/Processes/shuttles.dm b/code/controllers/Processes/shuttles.dm index 8bb466b755c..54b76779377 100644 --- a/code/controllers/Processes/shuttles.dm +++ b/code/controllers/Processes/shuttles.dm @@ -135,11 +135,11 @@ DECLARE_GLOBAL_CONTROLLER(shuttle, shuttle_master) var/area/signal_origin = get_area(user) var/emergency_reason = "\nNature of emergency:\n\n[call_reason]" if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) // There is a serious threat we gotta move no time to give them five minutes. - if(world.time - emergency_sec_level_time < emergencyCallTime * 0.5) - // It hasn't been five minutes since the alert was raised! They're cheesing the shuttle. - to_chat(user, "The NTV Charon Emergency Shuttle is being relocated to a Rapid Response Location due to your Code Red Emergency. Please wait another [abs(round(((emergency_sec_level_time + emergencyCallTime * 0.5) - world.time)/600))] minutes before trying again.") - return - emergency.request(null, 0.5, signal_origin, html_decode(emergency_reason), 1) + var/extra_minutes = 0 + var/priority_time = emergencyCallTime * 0.5 + if(world.time - emergency_sec_level_time < priority_time) + extra_minutes = abs(round(((emergency_sec_level_time + priority_time) - world.time)/600)) + 1 + emergency.request(null, 0.5 + extra_minutes / (emergencyCallTime / 600), signal_origin, html_decode(emergency_reason), 1) else emergency.request(null, 1, signal_origin, html_decode(emergency_reason), 0) From 4a7e06fa6d6716adcb05982c2225f76dfb6b0d8b Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 20 Feb 2018 21:40:22 -0600 Subject: [PATCH 4/4] Use tiger's system instead --- code/controllers/Processes/shuttles.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/Processes/shuttles.dm b/code/controllers/Processes/shuttles.dm index 54b76779377..57ca886d6e1 100644 --- a/code/controllers/Processes/shuttles.dm +++ b/code/controllers/Processes/shuttles.dm @@ -138,7 +138,7 @@ DECLARE_GLOBAL_CONTROLLER(shuttle, shuttle_master) var/extra_minutes = 0 var/priority_time = emergencyCallTime * 0.5 if(world.time - emergency_sec_level_time < priority_time) - extra_minutes = abs(round(((emergency_sec_level_time + priority_time) - world.time)/600)) + 1 + extra_minutes = 5 emergency.request(null, 0.5 + extra_minutes / (emergencyCallTime / 600), signal_origin, html_decode(emergency_reason), 1) else emergency.request(null, 1, signal_origin, html_decode(emergency_reason), 0)