diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 3b2345c1be7..2eb1bb72b34 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -200,6 +200,9 @@ var/list/sacrificed = list()
if(cultists.len >= 9)
log_and_message_admins_many(cultists, "summoned Nar-sie.")
new /obj/singularity/narsie/large(src.loc)
+
+ // Can't summon a singular entity twice.
+ cult.allow_narsie = 0
return
else
return fizzle()
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index 69e061bfde7..851150f0c5d 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -7,7 +7,7 @@
name = "Body Scanner"
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "body_scanner_0"
- density = 0
+ density = 1
anchored = 1
use_power = 1
@@ -200,7 +200,7 @@
name = "Body Scanner Console"
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "body_scannerconsole"
- density = 1
+ density = 0
anchored = 1
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 92e03f01851..819d0020ce2 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -614,3 +614,6 @@ What a mess.*/
/obj/machinery/computer/secure_data/detective_computer
icon = 'icons/obj/computer.dmi'
icon_state = "messyfiles"
+
+ light_range_on = 0
+ light_power_on = 0
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 2da0496848f..f250f350f21 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -181,7 +181,7 @@
var/mob/occupant = null // Person waiting to be despawned.
var/orient_right = null // Flips the sprite.
- var/time_till_despawn = 18000 // 30 minutes-ish safe period before being despawned.
+ var/time_till_despawn = 9000 // 15 minutes-ish safe period before being despawned.
var/time_entered = 0 // Used to keep track of the safe period.
var/obj/item/device/radio/intercom/announce //
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index cb35bd0de5c..2cc351424aa 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -9,6 +9,7 @@ var/list/admin_verbs_default = list(
/client/proc/cmd_mentor_check_new_players
)
var/list/admin_verbs_admin = list(
+ /client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game.*/
/client/proc/player_panel_new, /*shows an interface for all players, with links to various panels*/
/client/proc/invisimin, /*allows our mob to go invisible/visible*/
// /datum/admins/proc/show_traitor_panel, /*interface which shows a mob's mind*/ -Removed due to rare practical use. Moved to debug verbs ~Errorage
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 0008640c9f6..41ed12bcc6d 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -169,7 +169,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
announce_ghost_joinleave(ghostize(1))
else
var/response
- if(src.client && src.client.holder)
+ if(check_rights((R_MOD|R_ADMIN), 0))
response = alert(src, "You have the ability to Admin-Ghost. The regular Ghost verb will announce your presence to dead chat. Both variants will allow you to return to your body using 'aghost'.\n\nWhat do you wish to do?", "Are you sure you want to ghost?", "Ghost", "Admin Ghost", "Stay in body")
if(response == "Admin Ghost")
if(!src.client)
diff --git a/code/world.dm b/code/world.dm
index 6148324b93b..587e6bb49de 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -589,9 +589,9 @@ var/world_topic_spam_protect_time = world.timeofday
s += "[station_name()]";
s += " ("
- s += "" //Change this to wherever you want the hub to link to.
+ s += "" //Change this to wherever you want the hub to link to.
// s += "[game_version]"
- s += "Default" //Replace this with something else. Or ever better, delete it and uncomment the game version.
+ s += "Forums" //Replace this with something else. Or ever better, delete it and uncomment the game version.
s += ""
s += ")"
@@ -654,11 +654,17 @@ var/world_topic_spam_protect_time = world.timeofday
/proc/initialize_database_object(var/filename)
if (!filename)
- return 0
+ // The code is written in a manner that is spasses out whenever dbcon = null, so we just make a dummy DB object.
+ return new/DBConnection()
var/list/data = list("address", "port", "database", "login", "password")
var/list/Lines = file2list(filename)
+
+ if (!Lines)
+ // Return dummy object for safety.
+ return new/DBConnection()
+
for (var/t in Lines)
if (!t)
continue
@@ -684,11 +690,6 @@ var/world_topic_spam_protect_time = world.timeofday
else
log_misc("Unknown setting while setting up database connection. Filename: '[filename]', value: '[value]'.")
- //Validate the data before proceeding.
- for (var/d in data)
- if (!data[d] || data[d] == null)
- return 0
-
return new/DBConnection(data["address"], data["port"], data["database"], data["login"], data["password"])
/proc/setup_database_connection(var/DBConnection/con)