diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 3532bf7bcd..a2d2ed352d 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -83,6 +83,7 @@
var/limitalienplayers = 0
var/alien_to_human_ratio = 0.5
+ var/guests_allowed = 1
var/debugparanoid = 0
var/server
@@ -118,6 +119,8 @@
var/use_loyalty_implants = 0
+ var/welder_vision = 1
+
//Used for modifying movement speed for mobs.
//Unversal modifiers
var/run_speed = 0
@@ -145,6 +148,8 @@
var/comms_password = ""
+ var/enter_allowed = 1
+
var/use_irc_bot = 0
var/irc_bot_host = ""
var/main_irc = ""
@@ -170,6 +175,12 @@
// 15, 45, 70 minutes respectively
var/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000)
+ var/aliens_allowed = 0
+ var/ninjas_allowed = 0
+ var/abandon_allowed = 1
+ var/ooc_allowed = 1
+ var/dooc_allowed = 1
+ var/dsay_allowed = 1
/datum/configuration/New()
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
@@ -367,7 +378,22 @@
config.guest_jobban = 1
if ("guest_ban")
- guests_allowed = 0
+ config.guests_allowed = 0
+
+ if ("disable_ooc")
+ config.ooc_allowed = 0
+
+ if ("disable_entry")
+ config.enter_allowed = 0
+
+ if ("disable_dead_ooc")
+ config.dooc_allowed = 0
+
+ if ("disable_dsay")
+ config.dsay_allowed = 0
+
+ if ("disable_respawn")
+ config.abandon_allowed = 0
if ("usewhitelist")
config.usewhitelist = 1
@@ -381,6 +407,12 @@
if ("traitor_scaling")
config.traitor_scaling = 1
+ if ("aliens_allowed")
+ config.aliens_allowed = 1
+
+ if ("ninjas_allowed")
+ config.ninjas_allowed = 1
+
if ("objectives_disabled")
config.objectives_disabled = 1
@@ -544,6 +576,9 @@
if("expected_round_length")
config.expected_round_length = MinutesToTicks(text2num(value))
+ if("disable_welder_vision")
+ config.welder_vision = 0
+
if("event_custom_start_mundane")
var/values = text2numlist(value, ";")
config.event_first_run[EVENT_LEVEL_MUNDANE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2]))
diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm
index d5503890a2..679c7a09bc 100644
--- a/code/controllers/voting.dm
+++ b/code/controllers/voting.dm
@@ -67,14 +67,6 @@ datum/controller/vote
current_votes.Cut()
additional_text.Cut()
- /* if(auto_muted && !ooc_allowed)
- auto_muted = 0
- ooc_allowed = !( ooc_allowed )
- world << "The OOC channel has been automatically enabled due to vote end."
- log_admin("OOC was toggled automatically due to vote end.")
- message_admins("OOC has been toggled on automatically.")
- */
-
proc/get_result()
//get the highest number of votes
var/greatest_votes = 0
@@ -262,27 +254,6 @@ datum/controller/vote
if(mode == "gamemode" && going)
going = 0
world << "Round start has been delayed."
- /* if(mode == "crew_transfer" && ooc_allowed)
- auto_muted = 1
- ooc_allowed = !( ooc_allowed )
- world << "The OOC channel has been automatically disabled due to a crew transfer vote."
- log_admin("OOC was toggled automatically due to crew_transfer vote.")
- message_admins("OOC has been toggled off automatically.")
- if(mode == "gamemode" && ooc_allowed)
- auto_muted = 1
- ooc_allowed = !( ooc_allowed )
- world << "The OOC channel has been automatically disabled due to the gamemode vote."
- log_admin("OOC was toggled automatically due to gamemode vote.")
- message_admins("OOC has been toggled off automatically.")
- if(mode == "custom" && ooc_allowed)
- auto_muted = 1
- ooc_allowed = !( ooc_allowed )
- world << "The OOC channel has been automatically disabled due to a custom vote."
- log_admin("OOC was toggled automatically due to custom vote.")
- message_admins("OOC has been toggled off automatically.")
- */
-
-
time_remaining = round(config.vote_period/10)
return 1
diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm
index 534d6d109c..e2c41fcbb4 100644
--- a/code/game/gamemodes/autotraitor/autotraitor.dm
+++ b/code/game/gamemodes/autotraitor/autotraitor.dm
@@ -70,7 +70,6 @@
/datum/game_mode/traitor/autotraitor/post_setup()
..()
- abandon_allowed = 1
traitorcheckloop()
/datum/game_mode/traitor/autotraitor/proc/traitorcheckloop()
diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm
index 59aede3ac9..26e38476b7 100644
--- a/code/game/gamemodes/events.dm
+++ b/code/game/gamemodes/events.dm
@@ -26,7 +26,7 @@
var/eventNumbersToPickFrom = list(1,2,4,5,6,7,8,9,10,11,12,13,14, 15) //so ninjas don't cause "empty" events.
- if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
+ if((world.time/10)>=3600 && config.ninjas_allowed && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
eventNumbersToPickFrom += 3
switch(pick(eventNumbersToPickFrom))
if(1)
@@ -74,7 +74,7 @@
del(P)
*/
if(3)
- if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
+ if((world.time/10)>=3600 && config.ninjas_allowed && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
space_ninja_arrival()//Handled in space_ninja.dm. Doesn't announce arrival, all sneaky-like.
if(4)
mini_blob_event()
diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm
index 59cca0df8b..d8b22e629c 100644
--- a/code/game/gamemodes/events/space_ninja.dm
+++ b/code/game/gamemodes/events/space_ninja.dm
@@ -90,7 +90,6 @@ I decided to scrap round-specific objectives since keeping track of them would r
When I already created about 4 new objectives, this doesn't seem terribly important or needed.
*/
-/var/global/toggle_space_ninja = 0//If ninjas can spawn or not.
/var/global/sent_ninja_to_station = 0//If a ninja is already on the station.
var/ninja_selection_id = 1
@@ -437,7 +436,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
if(!ticker)
alert("Wait until the game starts")
return
- if(!toggle_space_ninja)
+ if(!config.ninjas_allowed)
alert("Space Ninjas spawning is disabled.")
return
@@ -467,7 +466,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
if(!ticker.mode)
alert("The game hasn't started yet!")
return
- if(!toggle_space_ninja)
+ if(!config.ninjas_allowed)
alert("Space Ninjas spawning is disabled.")
return
if(alert("Are you sure you want to send in a space ninja?",,"Yes","No")=="No")
diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm
index 1c8f8b9b40..77b6d67357 100644
--- a/code/game/gamemodes/malfunction/malfunction.dm
+++ b/code/game/gamemodes/malfunction/malfunction.dm
@@ -181,7 +181,7 @@
usr << "You are unable to access the self-destruct system as you don't control the station yet."
return
- if(ticker.mode:explosion_in_progress || ticker.mode:station_was_nuked)
+ if(ticker.mode.explosion_in_progress || ticker.mode:station_was_nuked)
usr << "The self-destruct countdown is already triggered!"
return
@@ -192,7 +192,7 @@
usr << "\red Self-Destruct sequence initialised!"
ticker.mode:to_nuke_or_not_to_nuke = 0
- ticker.mode:explosion_in_progress = 1
+ ticker.mode.explosion_in_progress = 1
for(var/mob/M in player_list)
M << 'sound/machines/Alarm.ogg'
@@ -235,16 +235,15 @@
R.autosay(msg, AN)
if(abort)
- ticker.mode:explosion_in_progress = 0
+ ticker.mode.explosion_in_progress = 0
set_security_level("red") //Delta's over
return
- enter_allowed = 0
if(ticker)
ticker.station_explosion_cinematic(0,null)
if(ticker.mode)
ticker.mode:station_was_nuked = 1
- ticker.mode:explosion_in_progress = 0
+ ticker.mode.explosion_in_progress = 0
return
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index cc57ccd855..ef78dd4286 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -389,8 +389,6 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
ticker.mode.explosion_in_progress = 1
sleep(100)
- enter_allowed = 0
-
var/off_station = 0
var/turf/bomb_location = get_turf(src)
if(bomb_location && (bomb_location.z in config.station_levels))
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 56e5327079..cdc7b26bbf 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -345,7 +345,7 @@ Alien plants should do something if theres a lot of poison
var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive
/obj/effect/alien/egg/New()
- if(aliens_allowed)
+ if(config.aliens_allowed)
..()
spawn(rand(MIN_GROWTH_TIME,MAX_GROWTH_TIME))
Grow()
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 83ec023b89..e1b6428712 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -20,14 +20,14 @@
return
if(!holder)
- if(!ooc_allowed)
- src << "\red OOC is globally muted"
+ if(!config.ooc_allowed)
+ src << "OOC is globally muted."
return
- if(!dooc_allowed && (mob.stat == DEAD))
- usr << "\red OOC for dead mobs has been turned off."
+ if(!config.dooc_allowed && (mob.stat == DEAD))
+ usr << "OOC for dead mobs has been turned off."
return
if(prefs.muted & MUTE_OOC)
- src << "\red You cannot use OOC (muted)."
+ src << "You cannot use OOC (muted)."
return
if(handle_spam_prevention(msg,MUTE_OOC))
return
@@ -85,14 +85,14 @@
return
if(!holder)
- if(!ooc_allowed)
- src << "\red OOC is globally muted"
+ if(!config.ooc_allowed)
+ src << "OOC is globally muted."
return
- if(!dooc_allowed && (mob.stat == DEAD))
- usr << "\red OOC for dead mobs has been turned off."
+ if(!config.dooc_allowed && (mob.stat == DEAD))
+ usr << "OOC for dead mobs has been turned off."
return
if(prefs.muted & MUTE_OOC)
- src << "\red You cannot use OOC (muted)."
+ src << "You cannot use OOC (muted)."
return
if(handle_spam_prevention(msg,MUTE_OOC))
return
@@ -106,7 +106,7 @@
var/mob/source = src.mob
var/list/heard = get_mobs_in_view(7, source)
-
+
var/display_name = source.key
if(holder && holder.fakekey)
display_name = holder.fakekey
diff --git a/code/global.dm b/code/global.dm
index 71d613a7b8..19ddbbe289 100644
--- a/code/global.dm
+++ b/code/global.dm
@@ -39,6 +39,8 @@ var/list/paper_blacklist = list("java","onblur","onchange","onclick","ondblclick
"onkeypress","onkeyup","onload","onmousedown","onmousemove","onmouseout","onmouseover", \
"onmouseup","onreset","onselect","onsubmit","onunload")
+// The way blocks are handled badly needs a rewrite, this is horrible.
+// Too much of a project to handle at the moment, TODO for later.
var/BLINDBLOCK = 0
var/DEAFBLOCK = 0
var/HULKBLOCK = 0
@@ -85,26 +87,13 @@ var/game_version = "Baystation12"
var/changelog_hash = ""
var/game_year = (text2num(time2text(world.realtime, "YYYY")) + 544)
-var/datum/air_tunnel/air_tunnel1/SS13_airtunnel = null
var/going = 1.0
var/master_mode = "extended"//"extended"
var/secret_force_mode = "secret" // if this is anything but "secret", the secret rotation will forceably choose this mode
-var/datum/engine_eject/engine_eject_control = null
var/host = null
-var/aliens_allowed = 0
-var/ooc_allowed = 1
-var/dsay_allowed = 1
-var/dooc_allowed = 1
-var/traitor_scaling = 1
-//var/goonsay_allowed = 0
-var/dna_ident = 1
-var/abandon_allowed = 1
-var/enter_allowed = 1
-var/guests_allowed = 1
var/shuttle_frozen = 0
var/shuttle_left = 0
-var/tinted_weldhelh = 1
var/list/jobMax = list()
var/list/bombers = list( )
@@ -136,7 +125,7 @@ var/list/latejoin_cyborg = list()
var/list/prisonwarp = list() //prisoners go to these
var/list/holdingfacility = list() //captured people go here
-var/list/xeno_spawn = list()//Aliens spawn at these.
+var/list/xeno_spawn = list()//Aliens spawn at ahahthese.
// list/mazewarp = list()
var/list/tdome1 = list()
var/list/tdome2 = list()
@@ -184,59 +173,26 @@ var/datum/nanomanager/nanomanager = new()
// event manager, the manager for events
var/datum/event_manager/event_manager = new()
-#define SPEED_OF_LIGHT 3e8 //not exact but hey!
-#define SPEED_OF_LIGHT_SQ 9e+16
-#define FIRE_DAMAGE_MODIFIER 0.0215 //Higher values result in more external fire damage to the skin (default 0.0215)
-#define AIR_DAMAGE_MODIFIER 2.025 //More means less damage from hot air scalding lungs, less = more damage. (default 2.025)
-#define INFINITY 1.#INF
-#define BACKGROUND_ENABLED 0 // The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary.
- // 1 will enable set background. 0 will disable set background.
-
- //Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
-#define MAX_MESSAGE_LEN 1024
-#define MAX_PAPER_MESSAGE_LEN 3072
-#define MAX_BOOK_MESSAGE_LEN 9216
-#define MAX_NAME_LEN 26
-
-#define shuttle_time_in_station 1800 // 3 minutes in the station
-#define shuttle_time_to_arrive 6000 // 10 minutes to arrive
-
-#define EVENT_LEVEL_MUNDANE 1
-#define EVENT_LEVEL_MODERATE 2
-#define EVENT_LEVEL_MAJOR 3
-
-// Suit sensor levels
-#define SUIT_SENSOR_OFF 0
-#define SUIT_SENSOR_BINARY 1
-#define SUIT_SENSOR_VITAL 2
-#define SUIT_SENSOR_TRACKING 3
-
- //away missions
+//away missions
var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
- // MySQL configuration
-
+// MySQL configuration
var/sqladdress = "localhost"
var/sqlport = "3306"
var/sqldb = "tgstation"
var/sqllogin = "root"
var/sqlpass = ""
- // Feedback gathering sql connection
-
+// Feedback gathering sql connection
var/sqlfdbkdb = "test"
var/sqlfdbklogin = "root"
var/sqlfdbkpass = ""
-
var/sqllogging = 0 // Should we log deaths, population stats, etc?
-
-
- // Forum MySQL configuration (for use with forum account/key authentication)
- // These are all default values that will load should the forumdbconfig.txt
- // file fail to read for whatever reason.
-
+// Forum MySQL configuration (for use with forum account/key authentication)
+// These are all default values that will load should the forumdbconfig.txt
+// file fail to read for whatever reason.
var/forumsqladdress = "localhost"
var/forumsqlport = "3306"
var/forumsqldb = "tgstation"
@@ -245,8 +201,8 @@ var/forumsqlpass = ""
var/forum_activated_group = "2"
var/forum_authenticated_group = "10"
- // For FTP requests. (i.e. downloading runtime logs.)
- // However it'd be ok to use for accessing attack logs and such too, which are even laggier.
+// For FTP requests. (i.e. downloading runtime logs.)
+// However it'd be ok to use for accessing attack logs and such too, which are even laggier.
var/fileaccess_timer = 0
var/custom_event_msg = null
@@ -270,6 +226,7 @@ var/list/cheartstopper = list("potassium_chloride") //this stops the heart when
//Used by robots and robot preferences.
var/list/robot_module_types = list("Standard", "Engineering", "Construction", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Clerical", "Security")
+// Some scary sounds.
var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg','sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg')
// Bomb cap!
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index 59e4182ac5..f1005b59a5 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -5,7 +5,7 @@ world/IsBanned(key,address,computer_id)
return ..()
//Guest Checking
- if(!guests_allowed && IsGuestKey(key))
+ if(!config.guests_allowed && IsGuestKey(key))
log_access("Failed Login: [key] - Guests not allowed")
message_admins("\blue Failed Login: [key] - Guests not allowed")
return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.")
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 07bca59995..9c3acb9c78 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -735,8 +735,8 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="Globally Toggles OOC"
set name="Toggle OOC"
- ooc_allowed = !( ooc_allowed )
- if (ooc_allowed)
+ config.ooc_allowed = !(config.ooc_allowed)
+ if (config.ooc_allowed)
world << "The OOC channel has been globally enabled!"
else
world << "The OOC channel has been globally disabled!"
@@ -749,8 +749,8 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="Globally Toggles DSAY"
set name="Toggle DSAY"
- dsay_allowed = !( dsay_allowed )
- if (dsay_allowed)
+ config.dsay_allowed = !(config.dsay_allowed)
+ if (config.dsay_allowed)
world << "Deadchat has been globally enabled!"
else
world << "Deadchat has been globally disabled!"
@@ -760,11 +760,10 @@ var/global/floorIsLava = 0
/datum/admins/proc/toggleoocdead()
set category = "Server"
- set desc="Toggle dis bitch"
+ set desc="Toggle Dead OOC."
set name="Toggle Dead OOC"
- dooc_allowed = !( dooc_allowed )
-
- log_admin("[key_name(usr)] toggled OOC.")
+ config.dooc_allowed = !( config.dooc_allowed )
+ log_admin("[key_name(usr)] toggled Dead OOC.")
message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1)
feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -772,9 +771,9 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="Toggle traitor scaling"
set name="Toggle Traitor Scaling"
- traitor_scaling = !traitor_scaling
- log_admin("[key_name(usr)] toggled Traitor Scaling to [traitor_scaling].")
- message_admins("[key_name_admin(usr)] toggled Traitor Scaling [traitor_scaling ? "on" : "off"].", 1)
+ config.traitor_scaling = !config.traitor_scaling
+ log_admin("[key_name(usr)] toggled Traitor Scaling to [config.traitor_scaling].")
+ message_admins("[key_name_admin(usr)] toggled Traitor Scaling [config.traitor_scaling ? "on" : "off"].", 1)
feedback_add_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/startnow()
@@ -798,8 +797,8 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="People can't enter"
set name="Toggle Entering"
- enter_allowed = !( enter_allowed )
- if (!( enter_allowed ))
+ config.enter_allowed = !(config.enter_allowed)
+ if (!(config.enter_allowed))
world << "New players may no longer enter the game."
else
world << "New players may now enter the game."
@@ -825,13 +824,13 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="Respawn basically"
set name="Toggle Respawn"
- abandon_allowed = !( abandon_allowed )
- if (abandon_allowed)
+ config.abandon_allowed = !(config.abandon_allowed)
+ if(config.abandon_allowed)
world << "You may now respawn."
else
world << "You may no longer respawn :("
- message_admins("\blue [key_name_admin(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].", 1)
- log_admin("[key_name(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].")
+ message_admins("\blue [key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].", 1)
+ log_admin("[key_name(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].")
world.update_status()
feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -839,18 +838,18 @@ var/global/floorIsLava = 0
set category = "Server"
set desc="Toggle alien mobs"
set name="Toggle Aliens"
- aliens_allowed = !aliens_allowed
- log_admin("[key_name(usr)] toggled Aliens to [aliens_allowed].")
- message_admins("[key_name_admin(usr)] toggled Aliens [aliens_allowed ? "on" : "off"].", 1)
+ config.aliens_allowed = !config.aliens_allowed
+ log_admin("[key_name(usr)] toggled Aliens to [config.aliens_allowed].")
+ message_admins("[key_name_admin(usr)] toggled Aliens [config.aliens_allowed ? "on" : "off"].", 1)
feedback_add_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/toggle_space_ninja()
set category = "Server"
set desc="Toggle space ninjas spawning."
set name="Toggle Space Ninjas"
- toggle_space_ninja = !toggle_space_ninja
- log_admin("[key_name(usr)] toggled Space Ninjas to [toggle_space_ninja].")
- message_admins("[key_name_admin(usr)] toggled Space Ninjas [toggle_space_ninja ? "on" : "off"].", 1)
+ config.ninjas_allowed = !config.ninjas_allowed
+ log_admin("[key_name(usr)] toggled Space Ninjas to [config.ninjas_allowed].")
+ message_admins("[key_name_admin(usr)] toggled Space Ninjas [config.ninjas_allowed ? "on" : "off"].", 1)
feedback_add_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/delay()
@@ -1048,26 +1047,26 @@ var/global/floorIsLava = 0
set category = "Debug"
set desc="Reduces view range when wearing welding helmets"
set name="Toggle tinted welding helmes"
- tinted_weldhelh = !( tinted_weldhelh )
- if (tinted_weldhelh)
- world << "The tinted_weldhelh has been enabled!"
+ config.welder_vision = !( config.welder_vision )
+ if (config.welder_vision)
+ world << "Reduced welder vision has been enabled!"
else
- world << "The tinted_weldhelh has been disabled!"
- log_admin("[key_name(usr)] toggled tinted_weldhelh.")
- message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1)
+ world << "Reduced welder vision has been disabled!"
+ log_admin("[key_name(usr)] toggled welder vision.")
+ message_admins("[key_name_admin(usr)] toggled welder vision.", 1)
feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/toggleguests()
set category = "Server"
set desc="Guests can't enter"
set name="Toggle guests"
- guests_allowed = !( guests_allowed )
- if (!( guests_allowed ))
+ config.guests_allowed = !(config.guests_allowed)
+ if (!(config.guests_allowed))
world << "Guests may no longer enter the game."
else
world << "Guests may now enter the game."
- log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.")
- message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1)
+ log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.")
+ message_admins("\blue [key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.", 1)
feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/output_ai_laws()
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 46a36c4678..8a8ee1b50a 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2228,7 +2228,7 @@
if("aliens")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","AL")
- if(aliens_allowed)
+ if(config.aliens_allowed)
new /datum/event/alien_infestation
message_admins("[key_name_admin(usr)] has spawned aliens", 1)
if("spiders")
@@ -2248,7 +2248,7 @@
if("spaceninja")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SN")
- if(toggle_space_ninja)
+ if(config.ninjas_allowed)
if(space_ninja_arrival())//If the ninja is actually spawned. They may not be depending on a few factors.
message_admins("[key_name_admin(usr)] has sent in a space ninja", 1)
if("carp")
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 4a63323115..6d44bae161 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -367,9 +367,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
set category = "Server"
set name = "Toggle Aliens"
- aliens_allowed = !aliens_allowed
- log_admin("[key_name(src)] has turned aliens [aliens_allowed ? "on" : "off"].")
- message_admins("[key_name_admin(src)] has turned aliens [aliens_allowed ? "on" : "off"].", 0)
+ config.aliens_allowed = !config.aliens_allowed
+ log_admin("[key_name(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].")
+ message_admins("[key_name_admin(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].", 0)
feedback_add_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_grantfullaccess(var/mob/M in mob_list)
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index 4fa4db8b18..a8efe68418 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -110,7 +110,7 @@
if(byond_version < MIN_CLIENT_VERSION) //Out of date client.
return null
- if(!guests_allowed && IsGuestKey(key))
+ if(!config.guests_allowed && IsGuestKey(key))
alert(src,"This server doesn't allow guest accounts to play. Please go to http://www.byond.com/ and register for a key.","Guest","OK")
del(src)
return
diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm
index e9134ea709..408c85900e 100644
--- a/code/modules/events/event.dm
+++ b/code/modules/events/event.dm
@@ -38,12 +38,12 @@
return total_weight
/datum/event_meta/alien/get_weight(var/list/active_with_role)
- if(aliens_allowed)
+ if(config.aliens_allowed)
return ..(active_with_role)
return 0
/datum/event_meta/ninja/get_weight(var/list/active_with_role)
- if(toggle_space_ninja)
+ if(config.ninjas_allowed)
return ..(active_with_role)
return 0
diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm
index e24fd00e8a..07cebea073 100644
--- a/code/modules/events/event_dynamic.dm
+++ b/code/modules/events/event_dynamic.dm
@@ -89,9 +89,9 @@ var/list/event_last_fired = list()
if(active_with_role["Security"] > 0)
if(!sent_spiders_to_station)
possibleEvents[/datum/event/spider_infestation] = max(active_with_role["Security"], 5) + 5
- if(aliens_allowed && !sent_aliens_to_station)
+ if(config.aliens_allowed && !sent_aliens_to_station)
possibleEvents[/datum/event/alien_infestation] = max(active_with_role["Security"], 5) + 2.5
- if(!sent_ninja_to_station && toggle_space_ninja)
+ if(!sent_ninja_to_station && config.ninjas_allowed)
possibleEvents[/datum/event/space_ninja] = max(active_with_role["Security"], 5)
for(var/event_type in event_last_fired) if(possibleEvents[event_type])
diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm
index 1d92926f53..8c16691dc6 100644
--- a/code/modules/mob/emote.dm
+++ b/code/modules/mob/emote.dm
@@ -93,16 +93,16 @@
/mob/proc/emote_dead(var/message)
if(client.prefs.muted & MUTE_DEADCHAT)
- src << "\red You cannot send deadchat emotes (muted)."
+ src << "You cannot send deadchat emotes (muted)."
return
if(!(client.prefs.toggles & CHAT_DEAD))
- src << "\red You have deadchat muted."
+ src << "You have deadchat muted."
return
if(!src.client.holder)
- if(!dsay_allowed)
- src << "\red Deadchat is globally muted"
+ if(!config.dsay_allowed)
+ src << "Deadchat is globally muted."
return
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 660614a224..03dae189d9 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1379,7 +1379,7 @@
if(eye_blurry) client.screen += global_hud.blurry
if(druggy) client.screen += global_hud.druggy
- if(tinted_weldhelh)
+ if(config.welder_vision)
var/found_welder
if(istype(glasses, /obj/item/clothing/glasses/welding))
var/obj/item/clothing/glasses/welding/O = glasses
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
index d7eaf07a0b..da591f0570 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
@@ -38,7 +38,7 @@ var/const/MAX_ACTIVE_TIME = 400
Attach(M)
/obj/item/clothing/mask/facehugger/New()
- if(aliens_allowed)
+ if(config.aliens_allowed)
..()
else
del(src)
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
index e23bdfbd8f..d53343b4c2 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm
@@ -83,7 +83,7 @@
set desc = "Lay an egg to produce huggers to impregnate prey with."
set category = "Abilities"
- if(!aliens_allowed)
+ if(!config.aliens_allowed)
src << "You begin to lay an egg, but hesitate. You suspect it isn't allowed."
verbs -= /mob/living/carbon/human/proc/lay_egg
return
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 356036e1de..f414fbf915 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -392,14 +392,14 @@ var/list/slot_equipment_priority = list( \
set name = "Respawn"
set category = "OOC"
- if (!( abandon_allowed ))
- usr << "\blue Respawn is disabled."
+ if (!( config.abandon_allowed ))
+ usr << "Respawn is disabled."
return
if ((stat != 2 || !( ticker )))
- usr << "\blue You must be dead to use this!"
+ usr << "You must be dead to use this!"
return
if (ticker.mode.name == "meteor" || ticker.mode.name == "epidemic") //BS12 EDIT
- usr << "\blue Respawn is disabled for this roundtype."
+ usr << "Respawn is disabled for this roundtype."
return
else
var/deathtime = world.time - src.timeofdeath
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index c72639a5b0..a07e538e1e 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -162,8 +162,11 @@
if(href_list["SelectedJob"])
- if(!enter_allowed)
- usr << "\blue There is an administrative lock on entering the game!"
+ if(!config.enter_allowed)
+ usr << "There is an administrative lock on entering the game!"
+ return
+ else if(ticker && ticker.mode && ticker.mode.explosion_in_progress)
+ usr << "The station is currently exploding. Joining would go poorly."
return
if(client.prefs.species != "Human")
@@ -293,8 +296,8 @@
if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
usr << "\red The round is either not ready, or has already finished..."
return 0
- if(!enter_allowed)
- usr << "\blue There is an administrative lock on entering the game!"
+ if(!config.enter_allowed)
+ usr << "There is an administrative lock on entering the game!"
return 0
if(!IsJobAvailable(rank))
src << alert("[rank] is not available. Please try another.")
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 8a7b7aa962..532ffd4f2d 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -44,16 +44,16 @@
/mob/proc/say_dead(var/message)
if(say_disabled) //This is here to try to identify lag problems
- usr << "\red Speech is currently admin-disabled."
+ usr << "Speech is currently admin-disabled."
return
if(!src.client.holder)
- if(!dsay_allowed)
- src << "\red Deadchat is globally muted"
+ if(!config.dsay_allowed)
+ src << "Deadchat is globally muted."
return
if(client && !(client.prefs.toggles & CHAT_DEAD))
- usr << "\red You have deadchat muted."
+ usr << "You have deadchat muted."
return
say_dead_direct("[pick("complains","moans","whines","laments","blubbers")], \"[message]\"", src)
diff --git a/code/setup.dm b/code/setup.dm
index 88d647766a..c3ab2739a8 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -776,3 +776,29 @@ var/list/be_special_flags = list(
//Chemistry
#define CHEM_SYNTH_ENERGY 500 //How much energy does it take to synthesize 1 unit of chemical, in J
+
+
+#define SPEED_OF_LIGHT 3e8 //not exact but hey!
+#define SPEED_OF_LIGHT_SQ 9e+16
+#define FIRE_DAMAGE_MODIFIER 0.0215 //Higher values result in more external fire damage to the skin (default 0.0215)
+#define AIR_DAMAGE_MODIFIER 2.025 //More means less damage from hot air scalding lungs, less = more damage. (default 2.025)
+#define INFINITY 1.#INF
+#define BACKGROUND_ENABLED 0 // The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary.
+ // 1 will enable set background. 0 will disable set background.
+
+//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
+#define MAX_MESSAGE_LEN 1024
+#define MAX_PAPER_MESSAGE_LEN 3072
+#define MAX_BOOK_MESSAGE_LEN 9216
+#define MAX_NAME_LEN 26
+
+// Event defines.
+#define EVENT_LEVEL_MUNDANE 1
+#define EVENT_LEVEL_MODERATE 2
+#define EVENT_LEVEL_MAJOR 3
+
+// Suit sensor levels
+#define SUIT_SENSOR_OFF 0
+#define SUIT_SENSOR_BINARY 1
+#define SUIT_SENSOR_VITAL 2
+#define SUIT_SENSOR_TRACKING 3
\ No newline at end of file
diff --git a/code/world.dm b/code/world.dm
index 520aef1bbf..f53e039e4f 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -108,8 +108,8 @@ var/world_topic_spam_protect_time = world.timeofday
var/list/s = list()
s["version"] = game_version
s["mode"] = master_mode
- s["respawn"] = config ? abandon_allowed : 0
- s["enter"] = enter_allowed
+ s["respawn"] = config.abandon_allowed
+ s["enter"] = config.enter_allowed
s["vote"] = config.allow_vote_mode
s["ai"] = config.allow_ai
s["host"] = host ? host : null
@@ -264,9 +264,6 @@ var/world_topic_spam_protect_time = world.timeofday
config.load("config/game_options.txt","game_options")
config.loadsql("config/dbconfig.txt")
config.loadforumsql("config/forumdbconfig.txt")
- // apply some settings from config..
- abandon_allowed = config.respawn
-
/hook/startup/proc/loadMods()
world.load_mods()
@@ -316,10 +313,10 @@ var/world_topic_spam_protect_time = world.timeofday
else
features += "STARTING"
- if (!enter_allowed)
+ if (!config.enter_allowed)
features += "closed"
- features += abandon_allowed ? "respawn" : "no respawn"
+ features += config.abandon_allowed ? "respawn" : "no respawn"
if (config && config.allow_vote_mode)
features += "vote"
diff --git a/config/example/config.txt b/config/example/config.txt
index ed2f0c0ae3..eb9ab2195f 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -297,3 +297,27 @@ EVENT_CUSTOM_START_MAJOR 80;100
## designed for environments where you have testers but don't want them
## able to use the more powerful debug options.
#DEBUG_PARANOID
+
+## Uncomment to allow aliens to spawn.
+#ALIENS_ALLOWED
+
+## Uncomment to allow xenos to spawn.
+#NINJAS_ALLOWED
+
+## Uncomment to disable the restrictive weldervision overlay.
+#DISABLE_WELDER_VISION
+
+## Uncomment to prevent anyone from joining the round by default.
+#DISABLE_ENTRY
+
+## Uncomment to disable the OOC channel by default.
+#DISABLE_OOC
+
+## Uncomment to disable the dead OOC channel by default.
+#DISABLE_DEAD_OOC
+
+## Uncomment to disable ghost chat by default.
+#DISABLE_DSAY
+
+## Uncomment to disable respawning by default.
+#DISABLE_RESPAWN
\ No newline at end of file