mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
New turf proc: assume_gas(). Maps to air.adjust_gas_temp(). Lots of optimizations to processing, fire, lighting, HasEntered() and more. Zones now process all fire data and existance in one go, fire objects only handle spreading. Most code has been ported straight so some of it mightn't be ideally structured for the new gas_mixtures. Signed-off-by: Mloc-Argent <colmohici@gmail.com>
263 lines
9.2 KiB
Plaintext
263 lines
9.2 KiB
Plaintext
//#define TESTING
|
|
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
|
|
|
var/global/obj/effect/datacore/data_core = null
|
|
|
|
|
|
var/global/list/active_areas = list()
|
|
var/global/list/all_areas = list()
|
|
var/global/list/machines = list()
|
|
var/global/list/processing_objects = list()
|
|
var/global/list/active_diseases = list()
|
|
var/global/list/events = list()
|
|
//items that ask to be called every cycle
|
|
|
|
var/global/defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event
|
|
|
|
var/global/list/global_map = null
|
|
//list/global_map = list(list(1,5),list(4,3))//an array of map Z levels.
|
|
//Resulting sector map looks like
|
|
//|_1_|_4_|
|
|
//|_5_|_3_|
|
|
//
|
|
//1 - SS13
|
|
//4 - Derelict
|
|
//3 - AI satellite
|
|
//5 - empty space
|
|
|
|
|
|
//////////////
|
|
var/list/paper_tag_whitelist = list("center","p","div","span","h1","h2","h3","h4","h5","h6","hr","pre", \
|
|
"big","small","font","i","u","b","s","sub","sup","tt","br","hr","ol","ul","li","caption","col", \
|
|
"table","td","th","tr")
|
|
var/list/paper_blacklist = list("java","onblur","onchange","onclick","ondblclick","onfocus","onkeydown", \
|
|
"onkeypress","onkeyup","onload","onmousedown","onmousemove","onmouseout","onmouseover", \
|
|
"onmouseup","onreset","onselect","onsubmit","onunload")
|
|
|
|
var/BLINDBLOCK = 0
|
|
var/DEAFBLOCK = 0
|
|
var/HULKBLOCK = 0
|
|
var/TELEBLOCK = 0
|
|
var/FIREBLOCK = 0
|
|
var/XRAYBLOCK = 0
|
|
var/CLUMSYBLOCK = 0
|
|
var/FAKEBLOCK = 0
|
|
var/COUGHBLOCK = 0
|
|
var/GLASSESBLOCK = 0
|
|
var/EPILEPSYBLOCK = 0
|
|
var/TWITCHBLOCK = 0
|
|
var/NERVOUSBLOCK = 0
|
|
var/MONKEYBLOCK = 27
|
|
|
|
var/BLOCKADD = 0
|
|
var/DIFFMUT = 0
|
|
|
|
var/HEADACHEBLOCK = 0
|
|
var/NOBREATHBLOCK = 0
|
|
var/REMOTEVIEWBLOCK = 0
|
|
var/REGENERATEBLOCK = 0
|
|
var/INCREASERUNBLOCK = 0
|
|
var/REMOTETALKBLOCK = 0
|
|
var/MORPHBLOCK = 0
|
|
var/BLENDBLOCK = 0
|
|
var/HALLUCINATIONBLOCK = 0
|
|
var/NOPRINTSBLOCK = 0
|
|
var/SHOCKIMMUNITYBLOCK = 0
|
|
var/SMALLSIZEBLOCK = 0
|
|
|
|
var/skipupdate = 0
|
|
///////////////
|
|
var/eventchance = 10 //% per 5 mins
|
|
var/event = 0
|
|
var/hadevent = 0
|
|
var/blobevent = 0
|
|
///////////////
|
|
|
|
var/diary = null
|
|
var/diaryofmeanpeople = null
|
|
var/href_logfile = null
|
|
var/station_name = "NSS Exodus"
|
|
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( )
|
|
var/list/admin_log = list ( )
|
|
var/list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
|
|
var/list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was
|
|
var/list/reg_dna = list( )
|
|
// list/traitobj = list( )
|
|
|
|
var/mouse_respawn_time = 5 //Amount of time that must pass between a player dying as a mouse and repawning as a mouse. In minutes.
|
|
|
|
var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: 0.02 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
|
|
//It's a conversion constant. power_used*CELLRATE = charge_provided, or charge_used/CELLRATE = power_provided
|
|
var/CHARGELEVEL = 0.0005 // Cap for how fast cells charge, as a percentage-per-tick (0.01 means cellcharge is capped to 1% per second)
|
|
|
|
var/shuttle_z = 2 //default
|
|
var/airtunnel_start = 68 // default
|
|
var/airtunnel_stop = 68 // default
|
|
var/airtunnel_bottom = 72 // default
|
|
var/list/monkeystart = list()
|
|
var/list/wizardstart = list()
|
|
var/list/newplayer_start = list()
|
|
|
|
//Spawnpoints.
|
|
var/list/latejoin = list()
|
|
var/list/latejoin_gateway = list()
|
|
var/list/latejoin_cryo = 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.
|
|
// list/mazewarp = list()
|
|
var/list/tdome1 = list()
|
|
var/list/tdome2 = list()
|
|
var/list/tdomeobserve = list()
|
|
var/list/tdomeadmin = list()
|
|
var/list/prisonsecuritywarp = list() //prison security goes to these
|
|
var/list/prisonwarped = list() //list of players already warped
|
|
var/list/blobstart = list()
|
|
var/list/ninjastart = list()
|
|
// list/traitors = list() //traitor list
|
|
var/list/cardinal = list( NORTH, SOUTH, EAST, WEST )
|
|
var/list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
|
|
// reverse_dir[dir] = reverse of dir
|
|
var/list/reverse_dir = list(2, 1, 3, 8, 10, 9, 11, 4, 6, 5, 7, 12, 14, 13, 15, 32, 34, 33, 35, 40, 42, 41, 43, 36, 38, 37, 39, 44, 46, 45, 47, 16, 18, 17, 19, 24, 26, 25, 27, 20, 22, 21, 23, 28, 30, 29, 31, 48, 50, 49, 51, 56, 58, 57, 59, 52, 54, 53, 55, 60, 62, 61, 63)
|
|
|
|
var/datum/station_state/start_state = null
|
|
var/datum/configuration/config = null
|
|
var/datum/sun/sun = null
|
|
|
|
var/list/combatlog = list()
|
|
var/list/IClog = list()
|
|
var/list/OOClog = list()
|
|
var/list/adminlog = list()
|
|
|
|
|
|
var/list/powernets = list()
|
|
|
|
var/Debug = 0 // global debug switch
|
|
var/Debug2 = 0
|
|
|
|
var/datum/debug/debugobj
|
|
|
|
var/datum/moduletypes/mods = new()
|
|
|
|
var/wavesecret = 0
|
|
var/gravity_is_on = 1
|
|
|
|
var/shuttlecoming = 0
|
|
|
|
var/join_motd = null
|
|
var/forceblob = 0
|
|
|
|
// nanomanager, the manager for Nano UIs
|
|
var/datum/nanomanager/nanomanager = new()
|
|
|
|
//airlockWireColorToIndex takes a number representing the wire color, e.g. the orange wire is always 1, the dark red wire is always 2, etc. It returns the index for whatever that wire does.
|
|
//airlockIndexToWireColor does the opposite thing - it takes the index for what the wire does, for example AIRLOCK_WIRE_IDSCAN is 1, AIRLOCK_WIRE_POWER1 is 2, etc. It returns the wire color number.
|
|
//airlockWireColorToFlag takes the wire color number and returns the flag for it (1, 2, 4, 8, 16, etc)
|
|
var/list/globalAirlockWireColorToFlag = RandomAirlockWires()
|
|
var/list/globalAirlockIndexToFlag
|
|
var/list/globalAirlockIndexToWireColor
|
|
var/list/globalAirlockWireColorToIndex
|
|
var/list/APCWireColorToFlag = RandomAPCWires()
|
|
var/list/APCIndexToFlag
|
|
var/list/APCIndexToWireColor
|
|
var/list/APCWireColorToIndex
|
|
var/list/BorgWireColorToFlag = RandomBorgWires()
|
|
var/list/BorgIndexToFlag
|
|
var/list/BorgIndexToWireColor
|
|
var/list/BorgWireColorToIndex
|
|
var/list/AAlarmWireColorToFlag = RandomAAlarmWires()
|
|
var/list/AAlarmIndexToFlag
|
|
var/list/AAlarmIndexToWireColor
|
|
var/list/AAlarmWireColorToIndex
|
|
|
|
#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
|
|
|
|
//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
|
|
|
|
//away missions
|
|
var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
|
|
|
|
// MySQL configuration
|
|
|
|
var/sqladdress = "localhost"
|
|
var/sqlport = "3306"
|
|
var/sqldb = "tgstation"
|
|
var/sqllogin = "root"
|
|
var/sqlpass = ""
|
|
|
|
// 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.
|
|
|
|
var/forumsqladdress = "localhost"
|
|
var/forumsqlport = "3306"
|
|
var/forumsqldb = "tgstation"
|
|
var/forumsqllogin = "root"
|
|
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.
|
|
var/fileaccess_timer = 0
|
|
var/custom_event_msg = null
|
|
|
|
//Database connections
|
|
//A connection is established on world creation. Ideally, the connection dies when the server restarts (After feedback logging.).
|
|
var/DBConnection/dbcon = new() //Feedback database (New database)
|
|
var/DBConnection/dbcon_old = new() //Tgstation database (Old database) - See the files in the SQL folder for information what goes where.
|
|
|
|
// Reference list for disposal sort junctions. Filled up by sorting junction's New()
|
|
/var/list/tagger_locations = list()
|
|
|
|
//added for Xenoarchaeology, might be useful for other stuff
|
|
var/global/list/alphabet_uppercase = list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
|