mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 09:31:13 +00:00
This PR is depending on #4868 for it's ui framework. This PR mostly makes new SSrecords subsystem responsible for storing records. This should replace old datacore. Make new SSrecords. Make things use SSrecords and whole code compile Made VueUi button <vui-button> to push parameters as JSON, preserving client side data stricture. Add new records console and admin record management. I am mostly looking for feedback regarding SSrecords and it's data storage mechanism criticism (It's using lists for storage)
155 lines
5.8 KiB
Plaintext
155 lines
5.8 KiB
Plaintext
//#define TESTING
|
|
#if DM_VERSION < 512
|
|
#error Your version of BYOND is too old to compile the code. At least BYOND 512 is required.
|
|
#endif
|
|
|
|
|
|
// Items that ask to be called every cycle.
|
|
var/global/list/processing_power_items = list()
|
|
var/global/list/med_hud_users = list() // List of all entities using a medical HUD.
|
|
var/global/list/sec_hud_users = list() // List of all entities using a security HUD.
|
|
var/global/list/hud_icon_reference = list()
|
|
var/global/list/janitorial_supplies = list() // List of all the janitorial supplies on the map that the PDA cart may be tracking.
|
|
var/global/list/world_phylactery = list() //List of all phylactery in the world, used by liches
|
|
|
|
var/global/list/listening_objects = list() // List of objects that need to be able to hear, used to avoid recursive searching through contents.
|
|
|
|
var/global/list/global_mutations = list() // List of hidden mutation things.
|
|
|
|
var/global/datum/universal_state/universe = new
|
|
|
|
var/global/list/global_map = null
|
|
|
|
// Noises made when hit while typing.
|
|
var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
|
|
|
|
var/diary = null
|
|
var/diary_runtime = null
|
|
var/diary_date_string = null
|
|
var/href_logfile = null
|
|
var/game_version = "Aurorastation"
|
|
var/changelog_hash = ""
|
|
var/game_year = (text2num(time2text(world.realtime, "YYYY")) + 442)
|
|
|
|
var/round_progressing = 1
|
|
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/host = null //only here until check @ code\modules\ghosttrap\trap.dm:112 is fixed
|
|
|
|
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()
|
|
|
|
var/list/monkeystart = list()
|
|
var/list/wizardstart = list()
|
|
var/turf/newplayer_start = null
|
|
|
|
//Spawnpoints.
|
|
var/list/latejoin = list()
|
|
var/list/latejoin_gateway = list()
|
|
var/list/latejoin_cryo = list()
|
|
var/list/latejoin_cyborg = list()
|
|
var/list/latejoin_merchant = list()
|
|
var/list/kickoffsloc = 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 at these.
|
|
var/list/asteroid_spawn = list() // Asteroid "Dungeons" spawn at these.
|
|
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/ninjastart = list()
|
|
|
|
var/list/cardinal = list(NORTH, SOUTH, EAST, WEST)
|
|
var/list/cornerdirs = list(NORTHWEST, SOUTHEAST, NORTHEAST, SOUTHWEST)
|
|
var/list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
|
|
var/list/reverse_dir = list( // reverse_dir[dir] = reverse of dir
|
|
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/configuration/config = null
|
|
|
|
var/list/combatlog = list()
|
|
var/list/IClog = list()
|
|
var/list/OOClog = list()
|
|
var/list/adminlog = list()
|
|
|
|
var/Debug2 = 0
|
|
var/datum/debug/debugobj
|
|
|
|
var/datum/moduletypes/mods = new()
|
|
|
|
var/gravity_is_on = 1
|
|
|
|
var/datum/server_greeting/server_greeting = null
|
|
|
|
var/list/awaydestinations = list() // Away missions. A list of landmarks that the warpgate can take you to.
|
|
|
|
// 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 along with /hook/startup/proc/load_databases().
|
|
// Ideally, the connection dies when the server restarts (After feedback logging.).
|
|
var/DBConnection/dbcon
|
|
|
|
// 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")
|
|
|
|
// Used by robots and robot preferences.
|
|
var/list/robot_module_types = list(
|
|
"Engineering",
|
|
"Construction",
|
|
"Medical",
|
|
"Rescue",
|
|
"Mining",
|
|
"Custodial",
|
|
"Service",
|
|
"Clerical",
|
|
"Security",
|
|
"Research"
|
|
)
|
|
|
|
// 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!
|
|
var/max_explosion_range = 14
|
|
|
|
// Announcer intercom, because too much stuff creates an intercom for one message then hard del()s it.
|
|
var/global/obj/item/device/radio/intercom/global_announcer = new(null)
|
|
|
|
var/list/station_departments = list("Command", "Medical", "Engineering", "Science", "Security", "Cargo", "Civilian")
|
|
|
|
//List of exosuit tracking beacons, to save performance
|
|
var/global/list/exo_beacons = list()
|