From 197d90e1dc6d8610432323939ab8e1ae2a156e60 Mon Sep 17 00:00:00 2001 From: Gary Lafortune Date: Mon, 18 Mar 2019 04:32:39 -0500 Subject: [PATCH 1/2] Adds an automatic FPS limiter to SSyogs --- yogstation/code/controllers/subsystem/yogs.dm | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/yogstation/code/controllers/subsystem/yogs.dm b/yogstation/code/controllers/subsystem/yogs.dm index 0571a551bb11..64949539c1d2 100644 --- a/yogstation/code/controllers/subsystem/yogs.dm +++ b/yogstation/code/controllers/subsystem/yogs.dm @@ -18,14 +18,37 @@ SUBSYSTEM_DEF(Yogs) return ..() /datum/controller/subsystem/Yogs/fire(resumed = 0) + //SHIFT ENDER if(world.time > (ROUND_END_ANNOUNCEMENT_TIME*600) && !endedshift) priority_announce("Crew, your shift has come to an end. \n You may call the shuttle whenever you find it appropriate.", "End of shift announcement", 'sound/ai/commandreport.ogg') endedshift = TRUE + //UNCLAIMED TICKET BWOINKING if(world.time - last_rebwoink > REBWOINK_TIME*10) last_rebwoink = world.time for(var/datum/admin_help/bwoink in GLOB.unclaimed_tickets) if(bwoink.check_owner()) GLOB.unclaimed_tickets -= bwoink + + //FPS MANAGEMENT + var/playernum = GLOB.player_list.len + var/oldfps = world.fps + switch(playernum) + if(1 to 30) + world.fps = 22 + if(31 to 50) + world.fps = 21 + if(51 to 70) + world.fps = 20 + if(71 to 80) + world.fps = 19 + if(81 to 90) + world.fps = 18 + if(91 to INFINITY) + world.fps = 17 + if(oldfps != world.fps) + var/msg = "SSYogs has modified world.fps from [oldfps] to [world.fps], since the player count has reached [playernum]." + log_admin(msg, 0) + message_admins(msg, 0) return From 71b483f786624cbebcfa8e604b2c33163bf81648 Mon Sep 17 00:00:00 2001 From: Gary Lafortune Date: Mon, 18 Mar 2019 04:48:51 -0500 Subject: [PATCH 2/2] Makes the auto-FPS be based on the default FPS set in config --- yogstation/code/controllers/subsystem/yogs.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/yogstation/code/controllers/subsystem/yogs.dm b/yogstation/code/controllers/subsystem/yogs.dm index 64949539c1d2..755423cb2d55 100644 --- a/yogstation/code/controllers/subsystem/yogs.dm +++ b/yogstation/code/controllers/subsystem/yogs.dm @@ -33,19 +33,20 @@ SUBSYSTEM_DEF(Yogs) //FPS MANAGEMENT var/playernum = GLOB.player_list.len var/oldfps = world.fps + var/cfgfps = CONFIG_GET(number/fps) switch(playernum) if(1 to 30) - world.fps = 22 + world.fps = cfgfps + 2 if(31 to 50) - world.fps = 21 + world.fps = cfgfps + 1 if(51 to 70) - world.fps = 20 + world.fps = cfgfps if(71 to 80) - world.fps = 19 + world.fps = cfgfps - 1 if(81 to 90) - world.fps = 18 + world.fps = cfgfps - 2 if(91 to INFINITY) - world.fps = 17 + world.fps = cfgfps - 3 if(oldfps != world.fps) var/msg = "SSYogs has modified world.fps from [oldfps] to [world.fps], since the player count has reached [playernum]." log_admin(msg, 0)