Files
Aurora.3/code/global.dm
Mykhailo Bykhovtsev b23f17bc64 Fixing old/new bugs/runtimes (#5763)
Fixes #3410

Ranged hostile mob stop if they are in range of fire, instead of keep going to point blank range. They also try to get to person within 6 tiles, not point blank.

Hostile mobs also check if their target is in the view or not.

Fixes #4468

Fixes #2867

Fixes #2721

Fixes #2678

Character input limit in Security/Medecal records was increased from 1024 to 3027 for all fields, to keep it consistent with character setup records. Fixes #5766

Fixes Energy net turret sprites. Updates spawned ionrifle turret to allow for two modes, adds lethal turret sprite for ionrifle.
2018-12-16 15:23:42 +02:00

157 lines
5.9 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/datum/datacore/data_core = null
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(
"Standard",
"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()