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