diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index bd17527334e..d79e27337d9 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -992,22 +992,22 @@ var/list/gamemode_cache = list()
if(!M)
log_debug("GAMEMODE: ERROR: [M] does not exist!")
continue
-
+
var/can_start = M.can_start()
if(can_start != GAME_FAILURE_NONE)
log_debug("GAMEMODE: [M.name] cannot start! Reason: [can_start]")
continue
-
+
if(!probabilities[M.config_tag])
log_debug("GAMEMODE: ERROR: [M.name] does not have a config associated with it!")
continue
-
+
if(probabilities[M.config_tag] <= 0)
log_debug("GAMEMODE: ERROR: [M.name] has a probability equal or less than 0!")
- continue
+ continue
runnable_modes |= M
-
+
return runnable_modes
/datum/configuration/proc/post_load()
@@ -1017,3 +1017,5 @@ var/list/gamemode_cache = list()
config.python_path = "/usr/bin/env python2"
else //probably windows, if not this should work anyway
config.python_path = "python"
+
+ revdata.generate_greeting_info()
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 9aae5e55d3c..0a71af06b77 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -40,8 +40,9 @@ var/datum/controller/subsystem/ticker/SSticker
var/delay_end = 0 //if set to nonzero, the round will not restart on it's own
var/triai = 0 //Global holder for Triumvirate
- var/tipped = 0 //Did we broadcast the tip of the day yet?
+ var/tipped = FALSE //Did we broadcast the tip of the day yet?
var/selected_tip // What will be the tip of the day?
+ var/testmerges_printed = FALSE
var/round_end_announced = 0 // Spam Prevention. Announce round end only once.
@@ -134,6 +135,10 @@ var/datum/controller/subsystem/ticker/SSticker
pregame_timeleft--
return
+ if (pregame_timeleft <= 20 && !testmerges_printed)
+ print_testmerges()
+ testmerges_printed = TRUE
+
if (pregame_timeleft <= 10 && !tipped)
send_tip_of_the_round()
tipped = TRUE
@@ -326,6 +331,12 @@ var/datum/controller/subsystem/ticker/SSticker
world << "Tip of the round: \
[html_encode(m)]"
+/datum/controller/subsystem/ticker/proc/print_testmerges()
+ var/data = revdata.testmerge_overview()
+
+ if (data)
+ to_world(data)
+
/datum/controller/subsystem/ticker/proc/pregame()
set waitfor = FALSE
sleep(1) // Sleep so the MC has a chance to update its init time.
diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm
index e4d90189cfe..fe1b166731f 100644
--- a/code/datums/helper_datums/getrev.dm
+++ b/code/datums/helper_datums/getrev.dm
@@ -5,6 +5,8 @@ var/global/datum/getrev/revdata = new()
var/revision
var/date
var/showinfo
+ var/list/datum/tgs_revision_information/test_merge/test_merges
+ var/greeting_info
/datum/getrev/New()
var/list/head_branch = file2list(".git/HEAD", "\n")
@@ -24,6 +26,13 @@ var/global/datum/getrev/revdata = new()
date = unix2date(unix_time)
break
+ var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
+
+ if (api)
+ test_merges = api.TestMerges()
+ else
+ test_merges = list()
+
world.log << "Running revision:"
world.log << branch
world.log << date
@@ -44,3 +53,62 @@ client/verb/showrevinfo()
src << "Revision unknown"
src << "Current Map: [current_map.full_name]"
+
+/datum/getrev/proc/testmerge_overview()
+ if (!test_merges.len)
+ return
+
+ var/list/out = list("
There are currently [test_merges.len] PRs being tested live.
", + {"PR #[tm.number]: \"[html_encode(tm.title)]\""
+ . += "
\tAuthor: [html_encode(tm.author)]"
+
+ if (config.githuburl)
+ . += "
\t\[Details...\]"
+
+ . += "
| Author: | [html_encode(tm.author)] |
|---|---|
| Merged: | [tm.time_merged] |
| Link to Github | |
| Description: | [html_encode(tm.body)] |