From b85c5de1375fadd2eff4de1a69f098354b584b1e Mon Sep 17 00:00:00 2001 From: Chompstation Bot Date: Tue, 20 Jul 2021 01:06:44 +0000 Subject: [PATCH] Xenomorph Overhaul and fixes from Gurgstation --- code/controllers/configuration.dm | 2290 +++++ code/game/machinery/doors/airlock.dm | 3072 +++++++ code/game/objects/effects/alien/aliens.dm | 132 + .../objects/structures/alien/alien egg.dm | 96 + code/game/objects/structures/alien/alien.dm | 62 + code/modules/mob/living/carbon/alien/alien.dm | 8 + .../living/carbon/alien/diona/progression.dm | 5 + .../mob/living/carbon/alien/larva/larva.dm | 13 + .../living/carbon/alien/larva/progression.dm | 9 + code/modules/mob/living/carbon/alien/life.dm | 6 + .../carbon/human/species/species_attack.dm | 6 +- .../human/species/xenomorphs/alien_embryo.dm | 161 - .../human/species/xenomorphs/alien_powers.dm | 40 +- .../human/species/xenomorphs/alien_species.dm | 86 +- .../human/species/xenomorphs/xenomorphs.dm | 36 + code/modules/projectiles/projectile/energy.dm | 6 +- code/modules/surgery/organs_internal.dm | 5 + .../submaps/pois_vr/debris_field/derelict.dmm | 1 - .../debris_field/new_escapepod_xeno.dmm | 1 - .../mountains/crashed_ufo_frigate.dmm | 312 + .../surface_submaps/mountains/vault4.dmm | 48 + .../surface_submaps/mountains/vault5.dmm | 50 + sound/machines/door/airlock_tear_apart.ogg | Bin 0 -> 272254 bytes sound/weapons/alien_spitacid.ogg | Bin 0 -> 48062 bytes sound/weapons/effects/alien_spit_wall.ogg | Bin 0 -> 12731 bytes vorestation.dme | 8116 +++++++++++++++++ 26 files changed, 14391 insertions(+), 170 deletions(-) create mode 100644 code/game/objects/structures/alien/alien egg.dm create mode 100644 code/game/objects/structures/alien/alien.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm create mode 100644 sound/machines/door/airlock_tear_apart.ogg create mode 100644 sound/weapons/alien_spitacid.ogg create mode 100644 sound/weapons/effects/alien_spit_wall.ogg diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 037664027a..7e81359cb8 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD var/list/gamemode_cache = list() /datum/configuration @@ -1149,3 +1150,2292 @@ var/list/gamemode_cache = list() config.python_path = "/usr/bin/env python2" else //probably windows, if not this should work anyway config.python_path = "python" +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +var/list/gamemode_cache = list() + +/datum/configuration + var/static/server_name = null // server name (for world name / status) + var/static/server_suffix = 0 // generate numeric suffix based on server port + + var/static/nudge_script_path = "nudge.py" // where the nudge.py script is located + + var/static/log_ooc = 0 // log OOC channel + var/static/log_access = 0 // log login/logout + var/static/log_say = 0 // log client say + var/static/log_admin = 0 // log admin actions + var/static/log_debug = 1 // log debug output + var/static/log_game = 0 // log game events + var/static/log_vote = 0 // log voting + var/static/log_whisper = 0 // log client whisper + var/static/log_emote = 0 // log emotes + var/static/log_attack = 0 // log attack messages + var/static/log_adminchat = 0 // log admin chat messages + var/static/log_adminwarn = 0 // log warnings admins get about bomb construction and such + var/static/log_pda = 0 // log pda messages + var/static/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits + var/static/log_runtime = 0 // logs world.log to a file + var/static/log_world_output = 0 // log to_world_log(messages) + var/static/log_graffiti = 0 // logs graffiti + var/static/sql_enabled = 0 // for sql switching + var/static/allow_admin_ooccolor = 0 // Allows admins with relevant permissions to have their own ooc colour + var/static/allow_vote_restart = 0 // allow votes to restart + var/static/ert_admin_call_only = 0 + var/static/allow_vote_mode = 0 // allow votes to change mode + var/static/allow_admin_jump = 1 // allows admin jumping + var/static/allow_admin_spawning = 1 // allows admin item spawning + var/static/allow_admin_rev = 1 // allows admin revives + var/static/pregame_time = 180 // pregame time in seconds + var/static/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default) + var/static/vote_period = 600 // length of voting period (deciseconds, default 1 minute) + var/static/vote_autotransfer_initial = 108000 // Length of time before the first autotransfer vote is called + var/static/vote_autotransfer_interval = 36000 // length of time before next sequential autotransfer vote + var/static/vote_autogamemode_timeleft = 100 //Length of time before round start when autogamemode vote is called (in seconds, default 100). + var/static/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) + var/static/vote_no_dead = 0 // dead people can't vote (tbi) +// var/static/enable_authentication = 0 // goon authentication + var/static/del_new_on_log = 1 // del's new players if they log before they spawn in + var/static/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard + var/static/traitor_scaling = 0 //if amount of traitors scales based on amount of players + var/static/objectives_disabled = 0 //if objectives are disabled or not + var/static/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other + var/static/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. + var/static/allow_Metadata = 0 // Metadata is supported. + var/static/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. + var/static/fps = 20 + var/static/tick_limit_mc_init = TICK_LIMIT_MC_INIT_DEFAULT //SSinitialization throttling + var/static/Tickcomp = 0 + var/static/socket_talk = 0 // use socket_talk to communicate with other processes + var/static/list/resource_urls = null + var/static/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. + var/static/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. + var/static/list/mode_names = list() + var/static/list/modes = list() // allowed modes + var/static/list/votable_modes = list() // votable modes + var/static/list/probabilities = list() // relative probability of each mode + var/static/list/player_requirements = list() // Overrides for how many players readied up a gamemode needs to start. + var/static/list/player_requirements_secret = list() // Same as above, but for the secret gamemode. + var/static/humans_need_surnames = 0 + var/static/allow_random_events = 0 // enables random events mid-round when set to 1 + var/static/enable_game_master = 0 // enables the 'smart' event system. + var/static/allow_ai = 1 // allow ai job + var/static/allow_ai_shells = FALSE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. + var/static/give_free_ai_shell = FALSE // allows a specific spawner object to instantiate a premade AI Shell + var/static/hostedby = null + + var/static/respawn = 1 + var/static/respawn_time = 3000 // time before a dead player is allowed to respawn (in ds, though the config file asks for minutes, and it's converted below) + var/static/respawn_message = "Make sure to play a different character, and please roleplay correctly!" + + var/static/guest_jobban = 1 + var/static/usewhitelist = 0 + var/static/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 + var/static/show_mods = 0 + var/static/show_devs = 0 + var/static/show_event_managers = 0 + var/static/mods_can_tempban = 0 + var/static/mods_can_job_tempban = 0 + var/static/mod_tempban_max = 1440 + var/static/mod_job_tempban_max = 1440 + var/static/load_jobs_from_txt = 0 + var/static/ToRban = 0 + var/static/automute_on = 0 //enables automuting/spam prevention + var/static/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. + + var/static/cult_ghostwriter = 1 //Allows ghosts to write in blood in cult rounds... + var/static/cult_ghostwriter_req_cultists = 10 //...so long as this many cultists are active. + + var/static/character_slots = 10 // The number of available character slots + var/static/loadout_slots = 3 // The number of loadout slots per character + + var/static/max_maint_drones = 5 //This many drones can spawn, + var/static/allow_drone_spawn = 1 //assuming the admin allow them to. + var/static/drone_build_time = 1200 //A drone will become available every X ticks since last drone spawn. Default is 2 minutes. + + var/static/disable_player_mice = 0 + var/static/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech + + var/static/usealienwhitelist = 0 + var/static/limitalienplayers = 0 + var/static/alien_to_human_ratio = 0.5 + var/static/allow_extra_antags = 0 + var/static/guests_allowed = 1 + var/static/debugparanoid = 0 + var/static/panic_bunker = 0 + var/static/paranoia_logging = 0 + + var/static/ip_reputation = FALSE //Should we query IPs to get scores? Generates HTTP traffic to an API service. + var/static/ipr_email //Left null because you MUST specify one otherwise you're making the internet worse. + var/static/ipr_block_bad_ips = FALSE //Should we block anyone who meets the minimum score below? Otherwise we just log it (If paranoia logging is on, visibly in chat). + var/static/ipr_bad_score = 1 //The API returns a value between 0 and 1 (inclusive), with 1 being 'definitely VPN/Tor/Proxy'. Values equal/above this var are considered bad. + var/static/ipr_allow_existing = FALSE //Should we allow known players to use VPNs/Proxies? If the player is already banned then obviously they still can't connect. + var/static/ipr_minimum_age = 5 //How many days before a player is considered 'fine' for the purposes of allowing them to use VPNs. + + var/static/serverurl + var/static/server + var/static/banappeals + var/static/wikiurl + var/static/wikisearchurl + var/static/forumurl + var/static/githuburl + var/static/discordurl + var/static/rulesurl + var/static/mapurl + + //Alert level description + var/static/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." + var/static/alert_desc_yellow_upto = "A minor security emergency has developed. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + var/static/alert_desc_yellow_downto = "Code yellow procedures are now in effect. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + var/static/alert_desc_violet_upto = "A major medical emergency has developed. Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey all relevant instructions from medical staff." + var/static/alert_desc_violet_downto = "Code violet procedures are now in effect; Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey relevant instructions from medical staff." + var/static/alert_desc_orange_upto = "A major engineering emergency has developed. Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + var/static/alert_desc_orange_downto = "Code orange procedures are now in effect; Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + var/static/alert_desc_blue_upto = "A major security emergency has developed. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + var/static/alert_desc_blue_downto = "Code blue procedures are now in effect. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + var/static/alert_desc_red_upto = "There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised." + var/static/alert_desc_red_downto = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised." + var/static/alert_desc_delta = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." + + var/static/forbid_singulo_possession = 0 + + //game_options.txt configs + + var/static/health_threshold_softcrit = 0 + var/static/health_threshold_crit = 0 + var/static/health_threshold_dead = -100 + + var/static/organ_health_multiplier = 1 + var/static/organ_regeneration_multiplier = 1 + var/static/organs_decay + var/static/default_brain_health = 400 + var/static/allow_headgibs = FALSE + + //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, + //so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. + var/static/organ_damage_spillover_multiplier = 0.5 + + var/static/bones_can_break = 0 + var/static/limbs_can_break = 0 + + var/static/revival_pod_plants = 1 + var/static/revival_cloning = 1 + var/static/revival_brain_life = -1 + + var/static/use_loyalty_implants = 0 + + var/static/welder_vision = 1 + var/static/generate_map = 0 + var/static/no_click_cooldown = 0 + + //Used for modifying movement speed for mobs. + //Unversal modifiers + var/static/run_speed = 0 + var/static/walk_speed = 0 + + //Mob specific modifiers. NOTE: These will affect different mob types in different ways + var/static/human_delay = 0 + var/static/robot_delay = 0 + var/static/monkey_delay = 0 + var/static/alien_delay = 0 + var/static/slime_delay = 0 + var/static/animal_delay = 0 + + var/static/footstep_volume = 0 + + var/static/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt + var/static/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt + var/static/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database + var/static/use_age_restriction_for_antags = 0 //Do antags use account age restrictions? --requires database + + var/static/simultaneous_pm_warning_timeout = 100 + + var/static/use_recursive_explosions //Defines whether the server uses recursive or circular explosions. + var/static/multi_z_explosion_scalar = 0.5 //Multiplier for how much weaker explosions are on neighboring z levels. + + var/static/assistant_maint = 0 //Do assistants get maint access? + var/static/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour. + var/static/ghost_interaction = 0 + + var/static/comms_password = "" + + var/static/enter_allowed = 1 + + var/use_irc_bot = 0 + var/use_node_bot = 0 + var/irc_bot_port = 0 + var/irc_bot_host = "" + var/irc_bot_export = 0 // whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge + var/main_irc = "" + var/admin_irc = "" + var/python_path = "" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix + var/use_lib_nudge = 0 //Use the C library nudge instead of the python nudge. + var/use_overmap = 0 + + var/static/list/engine_map = list("Supermatter Engine", "Edison's Bane") // Comma separated list of engines to choose from. Blank means fully random. + + // Event settings + var/static/expected_round_length = 3 * 60 * 60 * 10 // 3 hours + // If the first delay has a custom start time + // No custom time, no custom time, between 80 to 100 minutes respectively. + var/static/list/event_first_run = list(EVENT_LEVEL_MUNDANE = null, EVENT_LEVEL_MODERATE = null, EVENT_LEVEL_MAJOR = list("lower" = 48000, "upper" = 60000)) + // The lowest delay until next event + // 10, 30, 50 minutes respectively + var/static/list/event_delay_lower = list(EVENT_LEVEL_MUNDANE = 6000, EVENT_LEVEL_MODERATE = 18000, EVENT_LEVEL_MAJOR = 30000) + // The upper delay until next event + // 15, 45, 70 minutes respectively + var/static/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000) + + var/static/aliens_allowed = 0 + var/static/ninjas_allowed = 0 + var/static/abandon_allowed = 1 + var/static/ooc_allowed = 1 + var/static/looc_allowed = 1 + var/static/dooc_allowed = 1 + var/static/dsay_allowed = 1 + + var/persistence_disabled = FALSE + var/persistence_ignore_mapload = FALSE + + var/allow_byond_links = 0 + var/allow_discord_links = 0 + var/allow_url_links = 0 // honestly if I were you i'd leave this one off, only use in dire situations + + var/starlight = 0 // Whether space turfs have ambient light or not + + var/static/list/ert_species = list(SPECIES_HUMAN) + + var/static/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" + + var/static/aggressive_changelog = 0 + + var/static/list/language_prefixes = list(",","#")//Default language prefixes + + var/static/show_human_death_message = 1 + + var/static/radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB // 0:1 subtraction:division for computing effective radiation on a turf + var/static/radiation_decay_rate = 1 //How much radiation is reduced by each tick + var/static/radiation_resistance_multiplier = 8.5 //VOREstation edit + var/static/radiation_material_resistance_divisor = 1 + var/static/radiation_lower_limit = 0.35 //If the radiation level for a turf would be below this, ignore it. + + var/static/random_submap_orientation = FALSE // If true, submaps loaded automatically can be rotated. + var/static/autostart_solars = FALSE // If true, specifically mapped in solar control computers will set themselves up when the round starts. + + // New shiny SQLite stuff. + // The basics. + var/static/sqlite_enabled = FALSE // If it should even be active. SQLite can be ran alongside other databases but you should not have them do the same functions. + + // In-Game Feedback. + var/static/sqlite_feedback = FALSE // Feedback cannot be submitted if this is false. + var/static/list/sqlite_feedback_topics = list("General") // A list of 'topics' that feedback can be catagorized under by the submitter. + var/static/sqlite_feedback_privacy = FALSE // If true, feedback submitted can have its author name be obfuscated. This is not 100% foolproof (it's md5 ffs) but can stop casual snooping. + var/static/sqlite_feedback_cooldown = 0 // How long one must wait, in days, to submit another feedback form. Used to help prevent spam, especially with privacy active. 0 = No limit. + var/static/sqlite_feedback_min_age = 0 // Used to block new people from giving feedback. This metric is very bad but it can help slow down spammers. + + var/static/defib_timer = 10 // How long until someone can't be defibbed anymore, in minutes. + var/static/defib_braindamage_timer = 2 // How long until someone will get brain damage when defibbed, in minutes. The closer to the end of the above timer, the more brain damage they get. + + // disables the annoying "You have already logged in this round, disconnect or be banned" popup for multikeying, because it annoys the shit out of me when testing. + var/static/disable_cid_warn_popup = FALSE + + // whether or not to use the nightshift subsystem to perform lighting changes + var/static/enable_night_shifts = FALSE + + // How strictly the loadout enforces object species whitelists + var/loadout_whitelist = LOADOUT_WHITELIST_LAX + + var/static/vgs_access_identifier = null // VOREStation Edit - VGS + var/static/vgs_server_port = null // VOREStation Edit - VGS + + var/disable_webhook_embeds = FALSE + + var/static/list/jukebox_track_files + +/datum/configuration/New() + var/list/L = typesof(/datum/game_mode) - /datum/game_mode + for (var/T in L) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + var/datum/game_mode/M = new T() + if (M.config_tag) + gamemode_cache[M.config_tag] = M // So we don't instantiate them repeatedly. + if(!(M.config_tag in modes)) // ensure each mode is added only once + log_misc("Adding game mode [M.name] ([M.config_tag]) to configuration.") + modes += M.config_tag + mode_names[M.config_tag] = M.name + probabilities[M.config_tag] = M.probability + player_requirements[M.config_tag] = M.required_players + player_requirements_secret[M.config_tag] = M.required_players_secret + if (M.votable) + src.votable_modes += M.config_tag + src.votable_modes += "secret" + +/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist + var/list/Lines = file2list(filename) + + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + if(type == "config") + switch (name) + if ("resource_urls") + config.resource_urls = splittext(value, " ") + + if ("admin_legacy_system") + config.admin_legacy_system = 1 + + if ("ban_legacy_system") + config.ban_legacy_system = 1 + + if ("use_age_restriction_for_jobs") + config.use_age_restriction_for_jobs = 1 + + if ("use_age_restriction_for_antags") + config.use_age_restriction_for_antags = 1 + + if ("jobs_have_minimal_access") + config.jobs_have_minimal_access = 1 + + if ("use_recursive_explosions") + use_recursive_explosions = 1 + + if ("multi_z_explosion_scalar") + multi_z_explosion_scalar = text2num(value) + + if ("log_ooc") + config.log_ooc = 1 + + if ("log_access") + config.log_access = 1 + + if ("sql_enabled") + config.sql_enabled = 1 + + if ("log_say") + config.log_say = 1 + + if ("debug_paranoid") + config.debugparanoid = 1 + + if ("log_admin") + config.log_admin = 1 + + if ("log_debug") + config.log_debug = text2num(value) + + if ("log_game") + config.log_game = 1 + + if ("log_vote") + config.log_vote = 1 + + if ("log_whisper") + config.log_whisper = 1 + + if ("log_attack") + config.log_attack = 1 + + if ("log_emote") + config.log_emote = 1 + + if ("log_adminchat") + config.log_adminchat = 1 + + if ("log_adminwarn") + config.log_adminwarn = 1 + + if ("log_pda") + config.log_pda = 1 + + if ("log_world_output") + config.log_world_output = 1 + + if ("log_hrefs") + config.log_hrefs = 1 + + if ("log_runtime") + config.log_runtime = 1 + + if ("log_graffiti") + config.log_graffiti = 1 + + if ("generate_map") + config.generate_map = 1 + + if ("no_click_cooldown") + config.no_click_cooldown = 1 + + if("allow_admin_ooccolor") + config.allow_admin_ooccolor = 1 + + if ("allow_vote_restart") + config.allow_vote_restart = 1 + + if ("allow_vote_mode") + config.allow_vote_mode = 1 + + if ("allow_admin_jump") + config.allow_admin_jump = 1 + + if("allow_admin_rev") + config.allow_admin_rev = 1 + + if ("allow_admin_spawning") + config.allow_admin_spawning = 1 + + if ("allow_byond_links") + allow_byond_links = 1 + + if ("allow_discord_links") + allow_discord_links = 1 + + if ("allow_url_links") + allow_url_links = 1 + + if ("no_dead_vote") + config.vote_no_dead = 1 + + if ("default_no_vote") + config.vote_no_default = 1 + + if ("pregame_time") + config.pregame_time = text2num(value) + + if ("vote_delay") + config.vote_delay = text2num(value) + + if ("vote_period") + config.vote_period = text2num(value) + + if ("vote_autotransfer_initial") + config.vote_autotransfer_initial = text2num(value) + + if ("vote_autotransfer_interval") + config.vote_autotransfer_interval = text2num(value) + + if ("vote_autogamemode_timeleft") + config.vote_autogamemode_timeleft = text2num(value) + + if("ert_admin_only") + config.ert_admin_call_only = 1 + + if ("allow_ai") + config.allow_ai = 1 + + if ("allow_ai_shells") + config.allow_ai_shells = TRUE + + if("give_free_ai_shell") + config.give_free_ai_shell = TRUE + +// if ("authentication") +// config.enable_authentication = 1 + + if ("norespawn") + config.respawn = 0 + + if ("respawn_time") + var/raw_minutes = text2num(value) + config.respawn_time = raw_minutes MINUTES + + if ("respawn_message") + config.respawn_message = "[value]" + + if ("servername") + config.server_name = value + + if ("serversuffix") + config.server_suffix = 1 + + if ("nudge_script_path") + config.nudge_script_path = value + + if ("hostedby") + config.hostedby = value + + if ("serverurl") + config.serverurl = value + + if ("server") + config.server = value + + if ("banappeals") + config.banappeals = value + + if ("wikiurl") + config.wikiurl = value + + if ("wikisearchurl") + config.wikisearchurl = value + + if ("forumurl") + config.forumurl = value + + if ("rulesurl") + config.rulesurl = value + + if ("mapurl") + config.mapurl = value + + if ("githuburl") + config.githuburl = value + + if ("discordurl") + config.discordurl = value + + if ("guest_jobban") + config.guest_jobban = 1 + + if ("guest_ban") + config.guests_allowed = 0 + + if ("disable_ooc") + config.ooc_allowed = 0 + config.looc_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 + + if ("feature_object_spell_system") + config.feature_object_spell_system = 1 + + if ("allow_metadata") + config.allow_Metadata = 1 + + 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 + + if("protect_roles_from_antagonist") + config.protect_roles_from_antagonist = 1 + + if("persistence_disabled") + config.persistence_disabled = TRUE // Previously this forcibly set persistence enabled in the saves. + + if("persistence_ignore_mapload") + config.persistence_ignore_mapload = TRUE + + if ("probability") + var/prob_pos = findtext(value, " ") + var/prob_name = null + var/prob_value = null + + if (prob_pos) + prob_name = lowertext(copytext(value, 1, prob_pos)) + prob_value = copytext(value, prob_pos + 1) + if (prob_name in config.modes) + config.probabilities[prob_name] = text2num(prob_value) + else + log_misc("Unknown game mode probability configuration definition: [prob_name].") + else + log_misc("Incorrect probability configuration definition: [prob_name] [prob_value].") + + if ("required_players", "required_players_secret") + var/req_pos = findtext(value, " ") + var/req_name = null + var/req_value = null + var/is_secret_override = findtext(name, "required_players_secret") // Being extra sure we're not picking up an override for Secret by accident. + + if(req_pos) + req_name = lowertext(copytext(value, 1, req_pos)) + req_value = copytext(value, req_pos + 1) + if(req_name in config.modes) + if(is_secret_override) + config.player_requirements_secret[req_name] = text2num(req_value) + else + config.player_requirements[req_name] = text2num(req_value) + else + log_misc("Unknown game mode player requirement configuration definition: [req_name].") + else + log_misc("Incorrect player requirement configuration definition: [req_name] [req_value].") + + if("allow_random_events") + config.allow_random_events = 1 + + if("enable_game_master") + config.enable_game_master = 1 + + if("kick_inactive") + config.kick_inactive = text2num(value) + + if("show_mods") + config.show_mods = 1 + + if("show_devs") + config.show_devs = 1 + + if("show_event_managers") + config.show_event_managers = 1 + + if("mods_can_tempban") + config.mods_can_tempban = 1 + + if("mods_can_job_tempban") + config.mods_can_job_tempban = 1 + + if("mod_tempban_max") + config.mod_tempban_max = text2num(value) + + if("mod_job_tempban_max") + config.mod_job_tempban_max = text2num(value) + + if("load_jobs_from_txt") + load_jobs_from_txt = 1 + + if("alert_red_upto") + config.alert_desc_red_upto = value + + if("alert_red_downto") + config.alert_desc_red_downto = value + + if("alert_blue_downto") + config.alert_desc_blue_downto = value + + if("alert_blue_upto") + config.alert_desc_blue_upto = value + + if("alert_green") + config.alert_desc_green = value + + if("alert_delta") + config.alert_desc_delta = value + + if("forbid_singulo_possession") + forbid_singulo_possession = 1 + + if("popup_admin_pm") + config.popup_admin_pm = 1 + + if("allow_holidays") + Holiday = 1 + + if("use_irc_bot") + use_irc_bot = 1 + + if("use_node_bot") + use_node_bot = 1 + + if("irc_bot_port") + config.irc_bot_port = value + + if("irc_bot_export") + irc_bot_export = 1 + + if("ticklag") + var/ticklag = text2num(value) + if(ticklag > 0) + fps = 10 / ticklag + + if("tick_limit_mc_init") + tick_limit_mc_init = text2num(value) + + if("allow_antag_hud") + config.antag_hud_allowed = 1 + if("antag_hud_restricted") + config.antag_hud_restricted = 1 + + if("socket_talk") + socket_talk = text2num(value) + + if("tickcomp") + Tickcomp = 1 + + if("humans_need_surnames") + humans_need_surnames = 1 + + if("tor_ban") + ToRban = 1 + + if("automute_on") + automute_on = 1 + + if("usealienwhitelist") + usealienwhitelist = 1 + + if("alien_player_ratio") + limitalienplayers = 1 + alien_to_human_ratio = text2num(value) + + if("assistant_maint") + config.assistant_maint = 1 + + if("gateway_delay") + config.gateway_delay = text2num(value) + + if("continuous_rounds") + config.continous_rounds = 1 + + if("ghost_interaction") + config.ghost_interaction = 1 + + if("disable_player_mice") + config.disable_player_mice = 1 + + if("uneducated_mice") + config.uneducated_mice = 1 + + if("comms_password") + config.comms_password = value + + if("irc_bot_host") + config.irc_bot_host = value + + if("main_irc") + config.main_irc = value + + if("admin_irc") + config.admin_irc = value + + if("python_path") + if(value) + config.python_path = value + + if("use_lib_nudge") + config.use_lib_nudge = 1 + + if("allow_cult_ghostwriter") + config.cult_ghostwriter = 1 + + if("req_cult_ghostwriter") + config.cult_ghostwriter_req_cultists = text2num(value) + + if("character_slots") + config.character_slots = text2num(value) + + if("loadout_slots") + config.loadout_slots = text2num(value) + + if("allow_drone_spawn") + config.allow_drone_spawn = text2num(value) + + if("drone_build_time") + config.drone_build_time = text2num(value) + + if("max_maint_drones") + config.max_maint_drones = text2num(value) + + if("use_overmap") + config.use_overmap = 1 + + if("engine_map") + config.engine_map = splittext(value, ",") +/* + if("station_levels") + using_map.station_levels = text2numlist(value, ";") + + if("admin_levels") + using_map.admin_levels = text2numlist(value, ";") + + if("contact_levels") + using_map.contact_levels = text2numlist(value, ";") + + if("player_levels") + using_map.player_levels = text2numlist(value, ";") +*/ + if("expected_round_length") + config.expected_round_length = MinutesToTicks(text2num(value)) + + if("disable_welder_vision") + config.welder_vision = 0 + + if("allow_extra_antags") + config.allow_extra_antags = 1 + + 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])) + + if("event_custom_start_moderate") + var/values = text2numlist(value, ";") + config.event_first_run[EVENT_LEVEL_MODERATE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) + + if("event_custom_start_major") + var/values = text2numlist(value, ";") + config.event_first_run[EVENT_LEVEL_MAJOR] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) + + if("event_delay_lower") + var/values = text2numlist(value, ";") + config.event_delay_lower[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) + config.event_delay_lower[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) + config.event_delay_lower[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) + + if("event_delay_upper") + var/values = text2numlist(value, ";") + config.event_delay_upper[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) + config.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) + config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) + + if("starlight") + value = text2num(value) + config.starlight = value >= 0 ? value : 0 + + if("ert_species") + config.ert_species = splittext(value, ";") + if(!config.ert_species.len) + config.ert_species += SPECIES_HUMAN + + if("law_zero") + law_zero = value + + if("aggressive_changelog") + config.aggressive_changelog = 1 + + if("default_language_prefixes") + var/list/values = splittext(value, " ") + if(values.len > 0) + language_prefixes = values + + if("radiation_lower_limit") + radiation_lower_limit = text2num(value) + + if("radiation_resistance_calc_divide") + radiation_resistance_calc_mode = RAD_RESIST_CALC_DIV + + if("radiation_resistance_calc_subtract") + radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB + + if("radiation_resistance_multiplier") + radiation_resistance_multiplier = text2num(value) + + if("radiation_material_resistance_divisor") + radiation_material_resistance_divisor = text2num(value) + + if("radiation_decay_rate") + radiation_decay_rate = text2num(value) + + if ("panic_bunker") + config.panic_bunker = 1 + + if ("paranoia_logging") + config.paranoia_logging = 1 + + if("ip_reputation") + config.ip_reputation = 1 + + if("ipr_email") + config.ipr_email = value + + if("ipr_block_bad_ips") + config.ipr_block_bad_ips = 1 + + if("ipr_bad_score") + config.ipr_bad_score = text2num(value) + + if("ipr_allow_existing") + config.ipr_allow_existing = 1 + + if("ipr_minimum_age") + config.ipr_minimum_age = text2num(value) + + if("random_submap_orientation") + config.random_submap_orientation = 1 + + if("autostart_solars") + config.autostart_solars = TRUE + + if("sqlite_enabled") + config.sqlite_enabled = TRUE + + if("sqlite_feedback") + config.sqlite_feedback = TRUE + + if("sqlite_feedback_topics") + config.sqlite_feedback_topics = splittext(value, ";") + if(!config.sqlite_feedback_topics.len) + config.sqlite_feedback_topics += "General" + + if("sqlite_feedback_privacy") + config.sqlite_feedback_privacy = TRUE + + if("sqlite_feedback_cooldown") + config.sqlite_feedback_cooldown = text2num(value) + + if("defib_timer") + config.defib_timer = text2num(value) + + if("defib_braindamage_timer") + config.defib_braindamage_timer = text2num(value) + + if("disable_cid_warn_popup") + config.disable_cid_warn_popup = TRUE + + if("enable_night_shifts") + config.enable_night_shifts = TRUE + + if("jukebox_track_files") + config.jukebox_track_files = splittext(value, ";") + + // VOREStation Edit Start - Can't be in _vr file because it is loaded too late. + if("vgs_access_identifier") + config.vgs_access_identifier = value + if("vgs_server_port") + config.vgs_server_port = text2num(value) + // VOREStation Edit End + + else + log_misc("Unknown setting in configuration: '[name]'") + + else if(type == "game_options") + if(!value) + log_misc("Unknown value for setting [name] in [filename].") + value = text2num(value) + + switch(name) + if("health_threshold_crit") + config.health_threshold_crit = value + if("health_threshold_softcrit") + config.health_threshold_softcrit = value + if("health_threshold_dead") + config.health_threshold_dead = value + if("show_human_death_message") + config.show_human_death_message = 1 + if("revival_pod_plants") + config.revival_pod_plants = value + if("revival_cloning") + config.revival_cloning = value + if("revival_brain_life") + config.revival_brain_life = value + if("organ_health_multiplier") + config.organ_health_multiplier = value / 100 + if("organ_regeneration_multiplier") + config.organ_regeneration_multiplier = value / 100 + if("organ_damage_spillover_multiplier") + config.organ_damage_spillover_multiplier = value / 100 + if("organs_can_decay") + config.organs_decay = 1 + if("default_brain_health") + config.default_brain_health = text2num(value) + if(!config.default_brain_health || config.default_brain_health < 1) + config.default_brain_health = initial(config.default_brain_health) + if("bones_can_break") + config.bones_can_break = value + if("limbs_can_break") + config.limbs_can_break = value + if("allow_headgibs") + config.allow_headgibs = TRUE + + if("run_speed") + config.run_speed = value + if("walk_speed") + config.walk_speed = value + + if("human_delay") + config.human_delay = value + if("robot_delay") + config.robot_delay = value + if("monkey_delay") + config.monkey_delay = value + if("alien_delay") + config.alien_delay = value + if("slime_delay") + config.slime_delay = value + if("animal_delay") + config.animal_delay = value + + if("footstep_volume") + config.footstep_volume = text2num(value) + + if("use_loyalty_implants") + config.use_loyalty_implants = 1 + + if("loadout_whitelist") + config.loadout_whitelist = text2num(value) + + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/loadsql(filename) // -- TLE + var/list/Lines = file2list(filename) + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + switch (name) + if ("address") + sqladdress = value + if ("port") + sqlport = value + if ("database") + sqldb = value + if ("login") + sqllogin = value + if ("password") + sqlpass = value + if ("feedback_database") + sqlfdbkdb = value + if ("feedback_login") + sqlfdbklogin = value + if ("feedback_password") + sqlfdbkpass = value + if ("enable_stat_tracking") + sqllogging = 1 + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/loadforumsql(filename) // -- TLE + var/list/Lines = file2list(filename) + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + switch (name) + if ("address") + forumsqladdress = value + if ("port") + forumsqlport = value + if ("database") + forumsqldb = value + if ("login") + forumsqllogin = value + if ("password") + forumsqlpass = value + if ("activatedgroup") + forum_activated_group = value + if ("authenticatedgroup") + forum_authenticated_group = value + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/pick_mode(mode_name) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + for (var/game_mode in gamemode_cache) + var/datum/game_mode/M = gamemode_cache[game_mode] + if (M.config_tag && M.config_tag == mode_name) + return M + return gamemode_cache["extended"] + +/datum/configuration/proc/get_runnable_modes() + var/list/runnable_modes = list() + for(var/game_mode in gamemode_cache) + var/datum/game_mode/M = gamemode_cache[game_mode] + if(M && M.can_start() && !isnull(config.probabilities[M.config_tag]) && config.probabilities[M.config_tag] > 0) + runnable_modes |= M + return runnable_modes + +/datum/configuration/proc/post_load() + //apply a default value to config.python_path, if needed + if (!config.python_path) + if(world.system_type == UNIX) + config.python_path = "/usr/bin/env python2" + else //probably windows, if not this should work anyway + config.python_path = "python" +======= +var/list/gamemode_cache = list() + +/datum/configuration + var/static/server_name = null // server name (for world name / status) + var/static/server_suffix = 0 // generate numeric suffix based on server port + + var/static/nudge_script_path = "nudge.py" // where the nudge.py script is located + + var/static/log_ooc = 0 // log OOC channel + var/static/log_access = 0 // log login/logout + var/static/log_say = 0 // log client say + var/static/log_admin = 0 // log admin actions + var/static/log_debug = 1 // log debug output + var/static/log_game = 0 // log game events + var/static/log_vote = 0 // log voting + var/static/log_whisper = 0 // log client whisper + var/static/log_emote = 0 // log emotes + var/static/log_attack = 0 // log attack messages + var/static/log_adminchat = 0 // log admin chat messages + var/static/log_adminwarn = 0 // log warnings admins get about bomb construction and such + var/static/log_pda = 0 // log pda messages + var/static/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits + var/static/log_runtime = 0 // logs world.log to a file + var/static/log_world_output = 0 // log to_world_log(messages) + var/static/log_graffiti = 0 // logs graffiti + var/static/sql_enabled = 0 // for sql switching + var/static/allow_admin_ooccolor = 0 // Allows admins with relevant permissions to have their own ooc colour + var/static/allow_vote_restart = 0 // allow votes to restart + var/static/ert_admin_call_only = 0 + var/static/allow_vote_mode = 0 // allow votes to change mode + var/static/allow_admin_jump = 1 // allows admin jumping + var/static/allow_admin_spawning = 1 // allows admin item spawning + var/static/allow_admin_rev = 1 // allows admin revives + var/static/pregame_time = 180 // pregame time in seconds + var/static/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default) + var/static/vote_period = 600 // length of voting period (deciseconds, default 1 minute) + var/static/vote_autotransfer_initial = 108000 // Length of time before the first autotransfer vote is called + var/static/vote_autotransfer_interval = 36000 // length of time before next sequential autotransfer vote + var/static/vote_autogamemode_timeleft = 100 //Length of time before round start when autogamemode vote is called (in seconds, default 100). + var/static/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) + var/static/vote_no_dead = 0 // dead people can't vote (tbi) +// var/static/enable_authentication = 0 // goon authentication + var/static/del_new_on_log = 1 // del's new players if they log before they spawn in + var/static/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard + var/static/traitor_scaling = 0 //if amount of traitors scales based on amount of players + var/static/objectives_disabled = 0 //if objectives are disabled or not + var/static/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other + var/static/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. + var/static/allow_Metadata = 0 // Metadata is supported. + var/static/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. + var/static/fps = 20 + var/static/tick_limit_mc_init = TICK_LIMIT_MC_INIT_DEFAULT //SSinitialization throttling + var/static/Tickcomp = 0 + var/static/socket_talk = 0 // use socket_talk to communicate with other processes + var/static/list/resource_urls = null + var/static/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. + var/static/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. + var/static/list/mode_names = list() + var/static/list/modes = list() // allowed modes + var/static/list/votable_modes = list() // votable modes + var/static/list/probabilities = list() // relative probability of each mode + var/static/list/player_requirements = list() // Overrides for how many players readied up a gamemode needs to start. + var/static/list/player_requirements_secret = list() // Same as above, but for the secret gamemode. + var/static/humans_need_surnames = 0 + var/static/allow_random_events = 0 // enables random events mid-round when set to 1 + var/static/enable_game_master = 0 // enables the 'smart' event system. + var/static/allow_ai = 1 // allow ai job + var/static/allow_ai_shells = FALSE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. + var/static/give_free_ai_shell = FALSE // allows a specific spawner object to instantiate a premade AI Shell + var/static/hostedby = null + + var/static/respawn = 1 + var/static/respawn_time = 3000 // time before a dead player is allowed to respawn (in ds, though the config file asks for minutes, and it's converted below) + var/static/respawn_message = "Make sure to play a different character, and please roleplay correctly!" + + var/static/guest_jobban = 1 + var/static/usewhitelist = 0 + var/static/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 + var/static/show_mods = 0 + var/static/show_devs = 0 + var/static/show_event_managers = 0 + var/static/mods_can_tempban = 0 + var/static/mods_can_job_tempban = 0 + var/static/mod_tempban_max = 1440 + var/static/mod_job_tempban_max = 1440 + var/static/load_jobs_from_txt = 0 + var/static/ToRban = 0 + var/static/automute_on = 0 //enables automuting/spam prevention + var/static/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. + + var/static/cult_ghostwriter = 1 //Allows ghosts to write in blood in cult rounds... + var/static/cult_ghostwriter_req_cultists = 10 //...so long as this many cultists are active. + + var/static/character_slots = 10 // The number of available character slots + var/static/loadout_slots = 3 // The number of loadout slots per character + + var/static/max_maint_drones = 5 //This many drones can spawn, + var/static/allow_drone_spawn = 1 //assuming the admin allow them to. + var/static/drone_build_time = 1200 //A drone will become available every X ticks since last drone spawn. Default is 2 minutes. + + var/static/disable_player_mice = 0 + var/static/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech + + var/static/usealienwhitelist = 0 + var/static/limitalienplayers = 0 + var/static/alien_to_human_ratio = 0.5 + var/static/allow_extra_antags = 0 + var/static/guests_allowed = 1 + var/static/debugparanoid = 0 + var/static/panic_bunker = 0 + var/static/paranoia_logging = 0 + + var/static/ip_reputation = FALSE //Should we query IPs to get scores? Generates HTTP traffic to an API service. + var/static/ipr_email //Left null because you MUST specify one otherwise you're making the internet worse. + var/static/ipr_block_bad_ips = FALSE //Should we block anyone who meets the minimum score below? Otherwise we just log it (If paranoia logging is on, visibly in chat). + var/static/ipr_bad_score = 1 //The API returns a value between 0 and 1 (inclusive), with 1 being 'definitely VPN/Tor/Proxy'. Values equal/above this var are considered bad. + var/static/ipr_allow_existing = FALSE //Should we allow known players to use VPNs/Proxies? If the player is already banned then obviously they still can't connect. + var/static/ipr_minimum_age = 5 //How many days before a player is considered 'fine' for the purposes of allowing them to use VPNs. + + var/static/serverurl + var/static/server + var/static/banappeals + var/static/wikiurl + var/static/wikisearchurl + var/static/forumurl + var/static/githuburl + var/static/discordurl + var/static/rulesurl + var/static/mapurl + + //Alert level description + var/static/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." + var/static/alert_desc_yellow_upto = "A minor security emergency has developed. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + var/static/alert_desc_yellow_downto = "Code yellow procedures are now in effect. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + var/static/alert_desc_violet_upto = "A major medical emergency has developed. Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey all relevant instructions from medical staff." + var/static/alert_desc_violet_downto = "Code violet procedures are now in effect; Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey relevant instructions from medical staff." + var/static/alert_desc_orange_upto = "A major engineering emergency has developed. Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + var/static/alert_desc_orange_downto = "Code orange procedures are now in effect; Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + var/static/alert_desc_blue_upto = "A major security emergency has developed. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + var/static/alert_desc_blue_downto = "Code blue procedures are now in effect. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + var/static/alert_desc_red_upto = "There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised." + var/static/alert_desc_red_downto = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised." + var/static/alert_desc_delta = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." + + var/static/forbid_singulo_possession = 0 + + //game_options.txt configs + + var/static/health_threshold_softcrit = 0 + var/static/health_threshold_crit = 0 + var/static/health_threshold_dead = -100 + + var/static/organ_health_multiplier = 1 + var/static/organ_regeneration_multiplier = 1 + var/static/organs_decay + var/static/default_brain_health = 400 + var/static/allow_headgibs = FALSE + + //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, + //so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. + var/static/organ_damage_spillover_multiplier = 0.5 + + var/static/bones_can_break = 0 + var/static/limbs_can_break = 0 + + var/static/revival_pod_plants = 1 + var/static/revival_cloning = 1 + var/static/revival_brain_life = -1 + + var/static/use_loyalty_implants = 0 + + var/static/welder_vision = 1 + var/static/generate_map = 0 + var/static/no_click_cooldown = 0 + + //Used for modifying movement speed for mobs. + //Unversal modifiers + var/static/run_speed = 0 + var/static/walk_speed = 0 + + //Mob specific modifiers. NOTE: These will affect different mob types in different ways + var/static/human_delay = 0 + var/static/robot_delay = 0 + var/static/monkey_delay = 0 + var/static/alien_delay = 0 + var/static/slime_delay = 0 + var/static/animal_delay = 0 + + var/static/footstep_volume = 0 + + var/static/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt + var/static/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt + var/static/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database + var/static/use_age_restriction_for_antags = 0 //Do antags use account age restrictions? --requires database + + var/static/simultaneous_pm_warning_timeout = 100 + + var/static/use_recursive_explosions //Defines whether the server uses recursive or circular explosions. + var/static/multi_z_explosion_scalar = 0.5 //Multiplier for how much weaker explosions are on neighboring z levels. + + var/static/assistant_maint = 0 //Do assistants get maint access? + var/static/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour. + var/static/ghost_interaction = 0 + + var/static/comms_password = "" + + var/static/enter_allowed = 1 + + var/use_irc_bot = 0 + var/use_node_bot = 0 + var/irc_bot_port = 0 + var/irc_bot_host = "" + var/irc_bot_export = 0 // whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge + var/main_irc = "" + var/admin_irc = "" + var/python_path = "" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix + var/use_lib_nudge = 0 //Use the C library nudge instead of the python nudge. + var/use_overmap = 0 + + var/static/list/engine_map = list("Supermatter Engine", "Edison's Bane") // Comma separated list of engines to choose from. Blank means fully random. + + // Event settings + var/static/expected_round_length = 3 * 60 * 60 * 10 // 3 hours + // If the first delay has a custom start time + // No custom time, no custom time, between 80 to 100 minutes respectively. + var/static/list/event_first_run = list(EVENT_LEVEL_MUNDANE = null, EVENT_LEVEL_MODERATE = null, EVENT_LEVEL_MAJOR = list("lower" = 48000, "upper" = 60000)) + // The lowest delay until next event + // 10, 30, 50 minutes respectively + var/static/list/event_delay_lower = list(EVENT_LEVEL_MUNDANE = 6000, EVENT_LEVEL_MODERATE = 18000, EVENT_LEVEL_MAJOR = 30000) + // The upper delay until next event + // 15, 45, 70 minutes respectively + var/static/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000) + + var/static/aliens_allowed = 1 //Changed to 1 so player xenos can lay eggs. + var/static/ninjas_allowed = 0 + var/static/abandon_allowed = 1 + var/static/ooc_allowed = 1 + var/static/looc_allowed = 1 + var/static/dooc_allowed = 1 + var/static/dsay_allowed = 1 + + var/persistence_disabled = FALSE + var/persistence_ignore_mapload = FALSE + + var/allow_byond_links = 0 + var/allow_discord_links = 0 + var/allow_url_links = 0 // honestly if I were you i'd leave this one off, only use in dire situations + + var/starlight = 0 // Whether space turfs have ambient light or not + + var/static/list/ert_species = list(SPECIES_HUMAN) + + var/static/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" + + var/static/aggressive_changelog = 0 + + var/static/list/language_prefixes = list(",","#")//Default language prefixes + + var/static/show_human_death_message = 1 + + var/static/radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB // 0:1 subtraction:division for computing effective radiation on a turf + var/static/radiation_decay_rate = 1 //How much radiation is reduced by each tick + var/static/radiation_resistance_multiplier = 8.5 //VOREstation edit + var/static/radiation_material_resistance_divisor = 1 + var/static/radiation_lower_limit = 0.35 //If the radiation level for a turf would be below this, ignore it. + + var/static/random_submap_orientation = FALSE // If true, submaps loaded automatically can be rotated. + var/static/autostart_solars = FALSE // If true, specifically mapped in solar control computers will set themselves up when the round starts. + + // New shiny SQLite stuff. + // The basics. + var/static/sqlite_enabled = FALSE // If it should even be active. SQLite can be ran alongside other databases but you should not have them do the same functions. + + // In-Game Feedback. + var/static/sqlite_feedback = FALSE // Feedback cannot be submitted if this is false. + var/static/list/sqlite_feedback_topics = list("General") // A list of 'topics' that feedback can be catagorized under by the submitter. + var/static/sqlite_feedback_privacy = FALSE // If true, feedback submitted can have its author name be obfuscated. This is not 100% foolproof (it's md5 ffs) but can stop casual snooping. + var/static/sqlite_feedback_cooldown = 0 // How long one must wait, in days, to submit another feedback form. Used to help prevent spam, especially with privacy active. 0 = No limit. + var/static/sqlite_feedback_min_age = 0 // Used to block new people from giving feedback. This metric is very bad but it can help slow down spammers. + + var/static/defib_timer = 10 // How long until someone can't be defibbed anymore, in minutes. + var/static/defib_braindamage_timer = 2 // How long until someone will get brain damage when defibbed, in minutes. The closer to the end of the above timer, the more brain damage they get. + + // disables the annoying "You have already logged in this round, disconnect or be banned" popup for multikeying, because it annoys the shit out of me when testing. + var/static/disable_cid_warn_popup = FALSE + + // whether or not to use the nightshift subsystem to perform lighting changes + var/static/enable_night_shifts = FALSE + + // How strictly the loadout enforces object species whitelists + var/loadout_whitelist = LOADOUT_WHITELIST_LAX + + var/static/vgs_access_identifier = null // VOREStation Edit - VGS + var/static/vgs_server_port = null // VOREStation Edit - VGS + + var/disable_webhook_embeds = FALSE + + var/static/list/jukebox_track_files + +/datum/configuration/New() + var/list/L = typesof(/datum/game_mode) - /datum/game_mode + for (var/T in L) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + var/datum/game_mode/M = new T() + if (M.config_tag) + gamemode_cache[M.config_tag] = M // So we don't instantiate them repeatedly. + if(!(M.config_tag in modes)) // ensure each mode is added only once + log_misc("Adding game mode [M.name] ([M.config_tag]) to configuration.") + modes += M.config_tag + mode_names[M.config_tag] = M.name + probabilities[M.config_tag] = M.probability + player_requirements[M.config_tag] = M.required_players + player_requirements_secret[M.config_tag] = M.required_players_secret + if (M.votable) + src.votable_modes += M.config_tag + src.votable_modes += "secret" + +/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist + var/list/Lines = file2list(filename) + + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + if(type == "config") + switch (name) + if ("resource_urls") + config.resource_urls = splittext(value, " ") + + if ("admin_legacy_system") + config.admin_legacy_system = 1 + + if ("ban_legacy_system") + config.ban_legacy_system = 1 + + if ("use_age_restriction_for_jobs") + config.use_age_restriction_for_jobs = 1 + + if ("use_age_restriction_for_antags") + config.use_age_restriction_for_antags = 1 + + if ("jobs_have_minimal_access") + config.jobs_have_minimal_access = 1 + + if ("use_recursive_explosions") + use_recursive_explosions = 1 + + if ("multi_z_explosion_scalar") + multi_z_explosion_scalar = text2num(value) + + if ("log_ooc") + config.log_ooc = 1 + + if ("log_access") + config.log_access = 1 + + if ("sql_enabled") + config.sql_enabled = 1 + + if ("log_say") + config.log_say = 1 + + if ("debug_paranoid") + config.debugparanoid = 1 + + if ("log_admin") + config.log_admin = 1 + + if ("log_debug") + config.log_debug = text2num(value) + + if ("log_game") + config.log_game = 1 + + if ("log_vote") + config.log_vote = 1 + + if ("log_whisper") + config.log_whisper = 1 + + if ("log_attack") + config.log_attack = 1 + + if ("log_emote") + config.log_emote = 1 + + if ("log_adminchat") + config.log_adminchat = 1 + + if ("log_adminwarn") + config.log_adminwarn = 1 + + if ("log_pda") + config.log_pda = 1 + + if ("log_world_output") + config.log_world_output = 1 + + if ("log_hrefs") + config.log_hrefs = 1 + + if ("log_runtime") + config.log_runtime = 1 + + if ("log_graffiti") + config.log_graffiti = 1 + + if ("generate_map") + config.generate_map = 1 + + if ("no_click_cooldown") + config.no_click_cooldown = 1 + + if("allow_admin_ooccolor") + config.allow_admin_ooccolor = 1 + + if ("allow_vote_restart") + config.allow_vote_restart = 1 + + if ("allow_vote_mode") + config.allow_vote_mode = 1 + + if ("allow_admin_jump") + config.allow_admin_jump = 1 + + if("allow_admin_rev") + config.allow_admin_rev = 1 + + if ("allow_admin_spawning") + config.allow_admin_spawning = 1 + + if ("allow_byond_links") + allow_byond_links = 1 + + if ("allow_discord_links") + allow_discord_links = 1 + + if ("allow_url_links") + allow_url_links = 1 + + if ("no_dead_vote") + config.vote_no_dead = 1 + + if ("default_no_vote") + config.vote_no_default = 1 + + if ("pregame_time") + config.pregame_time = text2num(value) + + if ("vote_delay") + config.vote_delay = text2num(value) + + if ("vote_period") + config.vote_period = text2num(value) + + if ("vote_autotransfer_initial") + config.vote_autotransfer_initial = text2num(value) + + if ("vote_autotransfer_interval") + config.vote_autotransfer_interval = text2num(value) + + if ("vote_autogamemode_timeleft") + config.vote_autogamemode_timeleft = text2num(value) + + if("ert_admin_only") + config.ert_admin_call_only = 1 + + if ("allow_ai") + config.allow_ai = 1 + + if ("allow_ai_shells") + config.allow_ai_shells = TRUE + + if("give_free_ai_shell") + config.give_free_ai_shell = TRUE + +// if ("authentication") +// config.enable_authentication = 1 + + if ("norespawn") + config.respawn = 0 + + if ("respawn_time") + var/raw_minutes = text2num(value) + config.respawn_time = raw_minutes MINUTES + + if ("respawn_message") + config.respawn_message = "[value]" + + if ("servername") + config.server_name = value + + if ("serversuffix") + config.server_suffix = 1 + + if ("nudge_script_path") + config.nudge_script_path = value + + if ("hostedby") + config.hostedby = value + + if ("serverurl") + config.serverurl = value + + if ("server") + config.server = value + + if ("banappeals") + config.banappeals = value + + if ("wikiurl") + config.wikiurl = value + + if ("wikisearchurl") + config.wikisearchurl = value + + if ("forumurl") + config.forumurl = value + + if ("rulesurl") + config.rulesurl = value + + if ("mapurl") + config.mapurl = value + + if ("githuburl") + config.githuburl = value + + if ("discordurl") + config.discordurl = value + + if ("guest_jobban") + config.guest_jobban = 1 + + if ("guest_ban") + config.guests_allowed = 0 + + if ("disable_ooc") + config.ooc_allowed = 0 + config.looc_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 + + if ("feature_object_spell_system") + config.feature_object_spell_system = 1 + + if ("allow_metadata") + config.allow_Metadata = 1 + + 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 + + if("protect_roles_from_antagonist") + config.protect_roles_from_antagonist = 1 + + if("persistence_disabled") + config.persistence_disabled = TRUE // Previously this forcibly set persistence enabled in the saves. + + if("persistence_ignore_mapload") + config.persistence_ignore_mapload = TRUE + + if ("probability") + var/prob_pos = findtext(value, " ") + var/prob_name = null + var/prob_value = null + + if (prob_pos) + prob_name = lowertext(copytext(value, 1, prob_pos)) + prob_value = copytext(value, prob_pos + 1) + if (prob_name in config.modes) + config.probabilities[prob_name] = text2num(prob_value) + else + log_misc("Unknown game mode probability configuration definition: [prob_name].") + else + log_misc("Incorrect probability configuration definition: [prob_name] [prob_value].") + + if ("required_players", "required_players_secret") + var/req_pos = findtext(value, " ") + var/req_name = null + var/req_value = null + var/is_secret_override = findtext(name, "required_players_secret") // Being extra sure we're not picking up an override for Secret by accident. + + if(req_pos) + req_name = lowertext(copytext(value, 1, req_pos)) + req_value = copytext(value, req_pos + 1) + if(req_name in config.modes) + if(is_secret_override) + config.player_requirements_secret[req_name] = text2num(req_value) + else + config.player_requirements[req_name] = text2num(req_value) + else + log_misc("Unknown game mode player requirement configuration definition: [req_name].") + else + log_misc("Incorrect player requirement configuration definition: [req_name] [req_value].") + + if("allow_random_events") + config.allow_random_events = 1 + + if("enable_game_master") + config.enable_game_master = 1 + + if("kick_inactive") + config.kick_inactive = text2num(value) + + if("show_mods") + config.show_mods = 1 + + if("show_devs") + config.show_devs = 1 + + if("show_event_managers") + config.show_event_managers = 1 + + if("mods_can_tempban") + config.mods_can_tempban = 1 + + if("mods_can_job_tempban") + config.mods_can_job_tempban = 1 + + if("mod_tempban_max") + config.mod_tempban_max = text2num(value) + + if("mod_job_tempban_max") + config.mod_job_tempban_max = text2num(value) + + if("load_jobs_from_txt") + load_jobs_from_txt = 1 + + if("alert_red_upto") + config.alert_desc_red_upto = value + + if("alert_red_downto") + config.alert_desc_red_downto = value + + if("alert_blue_downto") + config.alert_desc_blue_downto = value + + if("alert_blue_upto") + config.alert_desc_blue_upto = value + + if("alert_green") + config.alert_desc_green = value + + if("alert_delta") + config.alert_desc_delta = value + + if("forbid_singulo_possession") + forbid_singulo_possession = 1 + + if("popup_admin_pm") + config.popup_admin_pm = 1 + + if("allow_holidays") + Holiday = 1 + + if("use_irc_bot") + use_irc_bot = 1 + + if("use_node_bot") + use_node_bot = 1 + + if("irc_bot_port") + config.irc_bot_port = value + + if("irc_bot_export") + irc_bot_export = 1 + + if("ticklag") + var/ticklag = text2num(value) + if(ticklag > 0) + fps = 10 / ticklag + + if("tick_limit_mc_init") + tick_limit_mc_init = text2num(value) + + if("allow_antag_hud") + config.antag_hud_allowed = 1 + if("antag_hud_restricted") + config.antag_hud_restricted = 1 + + if("socket_talk") + socket_talk = text2num(value) + + if("tickcomp") + Tickcomp = 1 + + if("humans_need_surnames") + humans_need_surnames = 1 + + if("tor_ban") + ToRban = 1 + + if("automute_on") + automute_on = 1 + + if("usealienwhitelist") + usealienwhitelist = 1 + + if("alien_player_ratio") + limitalienplayers = 1 + alien_to_human_ratio = text2num(value) + + if("assistant_maint") + config.assistant_maint = 1 + + if("gateway_delay") + config.gateway_delay = text2num(value) + + if("continuous_rounds") + config.continous_rounds = 1 + + if("ghost_interaction") + config.ghost_interaction = 1 + + if("disable_player_mice") + config.disable_player_mice = 1 + + if("uneducated_mice") + config.uneducated_mice = 1 + + if("comms_password") + config.comms_password = value + + if("irc_bot_host") + config.irc_bot_host = value + + if("main_irc") + config.main_irc = value + + if("admin_irc") + config.admin_irc = value + + if("python_path") + if(value) + config.python_path = value + + if("use_lib_nudge") + config.use_lib_nudge = 1 + + if("allow_cult_ghostwriter") + config.cult_ghostwriter = 1 + + if("req_cult_ghostwriter") + config.cult_ghostwriter_req_cultists = text2num(value) + + if("character_slots") + config.character_slots = text2num(value) + + if("loadout_slots") + config.loadout_slots = text2num(value) + + if("allow_drone_spawn") + config.allow_drone_spawn = text2num(value) + + if("drone_build_time") + config.drone_build_time = text2num(value) + + if("max_maint_drones") + config.max_maint_drones = text2num(value) + + if("use_overmap") + config.use_overmap = 1 + + if("engine_map") + config.engine_map = splittext(value, ",") +/* + if("station_levels") + using_map.station_levels = text2numlist(value, ";") + + if("admin_levels") + using_map.admin_levels = text2numlist(value, ";") + + if("contact_levels") + using_map.contact_levels = text2numlist(value, ";") + + if("player_levels") + using_map.player_levels = text2numlist(value, ";") +*/ + if("expected_round_length") + config.expected_round_length = MinutesToTicks(text2num(value)) + + if("disable_welder_vision") + config.welder_vision = 0 + + if("allow_extra_antags") + config.allow_extra_antags = 1 + + 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])) + + if("event_custom_start_moderate") + var/values = text2numlist(value, ";") + config.event_first_run[EVENT_LEVEL_MODERATE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) + + if("event_custom_start_major") + var/values = text2numlist(value, ";") + config.event_first_run[EVENT_LEVEL_MAJOR] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) + + if("event_delay_lower") + var/values = text2numlist(value, ";") + config.event_delay_lower[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) + config.event_delay_lower[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) + config.event_delay_lower[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) + + if("event_delay_upper") + var/values = text2numlist(value, ";") + config.event_delay_upper[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) + config.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) + config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) + + if("starlight") + value = text2num(value) + config.starlight = value >= 0 ? value : 0 + + if("ert_species") + config.ert_species = splittext(value, ";") + if(!config.ert_species.len) + config.ert_species += SPECIES_HUMAN + + if("law_zero") + law_zero = value + + if("aggressive_changelog") + config.aggressive_changelog = 1 + + if("default_language_prefixes") + var/list/values = splittext(value, " ") + if(values.len > 0) + language_prefixes = values + + if("radiation_lower_limit") + radiation_lower_limit = text2num(value) + + if("radiation_resistance_calc_divide") + radiation_resistance_calc_mode = RAD_RESIST_CALC_DIV + + if("radiation_resistance_calc_subtract") + radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB + + if("radiation_resistance_multiplier") + radiation_resistance_multiplier = text2num(value) + + if("radiation_material_resistance_divisor") + radiation_material_resistance_divisor = text2num(value) + + if("radiation_decay_rate") + radiation_decay_rate = text2num(value) + + if ("panic_bunker") + config.panic_bunker = 1 + + if ("paranoia_logging") + config.paranoia_logging = 1 + + if("ip_reputation") + config.ip_reputation = 1 + + if("ipr_email") + config.ipr_email = value + + if("ipr_block_bad_ips") + config.ipr_block_bad_ips = 1 + + if("ipr_bad_score") + config.ipr_bad_score = text2num(value) + + if("ipr_allow_existing") + config.ipr_allow_existing = 1 + + if("ipr_minimum_age") + config.ipr_minimum_age = text2num(value) + + if("random_submap_orientation") + config.random_submap_orientation = 1 + + if("autostart_solars") + config.autostart_solars = TRUE + + if("sqlite_enabled") + config.sqlite_enabled = TRUE + + if("sqlite_feedback") + config.sqlite_feedback = TRUE + + if("sqlite_feedback_topics") + config.sqlite_feedback_topics = splittext(value, ";") + if(!config.sqlite_feedback_topics.len) + config.sqlite_feedback_topics += "General" + + if("sqlite_feedback_privacy") + config.sqlite_feedback_privacy = TRUE + + if("sqlite_feedback_cooldown") + config.sqlite_feedback_cooldown = text2num(value) + + if("defib_timer") + config.defib_timer = text2num(value) + + if("defib_braindamage_timer") + config.defib_braindamage_timer = text2num(value) + + if("disable_cid_warn_popup") + config.disable_cid_warn_popup = TRUE + + if("enable_night_shifts") + config.enable_night_shifts = TRUE + + if("jukebox_track_files") + config.jukebox_track_files = splittext(value, ";") + + // VOREStation Edit Start - Can't be in _vr file because it is loaded too late. + if("vgs_access_identifier") + config.vgs_access_identifier = value + if("vgs_server_port") + config.vgs_server_port = text2num(value) + // VOREStation Edit End + + else + log_misc("Unknown setting in configuration: '[name]'") + + else if(type == "game_options") + if(!value) + log_misc("Unknown value for setting [name] in [filename].") + value = text2num(value) + + switch(name) + if("health_threshold_crit") + config.health_threshold_crit = value + if("health_threshold_softcrit") + config.health_threshold_softcrit = value + if("health_threshold_dead") + config.health_threshold_dead = value + if("show_human_death_message") + config.show_human_death_message = 1 + if("revival_pod_plants") + config.revival_pod_plants = value + if("revival_cloning") + config.revival_cloning = value + if("revival_brain_life") + config.revival_brain_life = value + if("organ_health_multiplier") + config.organ_health_multiplier = value / 100 + if("organ_regeneration_multiplier") + config.organ_regeneration_multiplier = value / 100 + if("organ_damage_spillover_multiplier") + config.organ_damage_spillover_multiplier = value / 100 + if("organs_can_decay") + config.organs_decay = 1 + if("default_brain_health") + config.default_brain_health = text2num(value) + if(!config.default_brain_health || config.default_brain_health < 1) + config.default_brain_health = initial(config.default_brain_health) + if("bones_can_break") + config.bones_can_break = value + if("limbs_can_break") + config.limbs_can_break = value + if("allow_headgibs") + config.allow_headgibs = TRUE + + if("run_speed") + config.run_speed = value + if("walk_speed") + config.walk_speed = value + + if("human_delay") + config.human_delay = value + if("robot_delay") + config.robot_delay = value + if("monkey_delay") + config.monkey_delay = value + if("alien_delay") + config.alien_delay = value + if("slime_delay") + config.slime_delay = value + if("animal_delay") + config.animal_delay = value + + if("footstep_volume") + config.footstep_volume = text2num(value) + + if("use_loyalty_implants") + config.use_loyalty_implants = 1 + + if("loadout_whitelist") + config.loadout_whitelist = text2num(value) + + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/loadsql(filename) // -- TLE + var/list/Lines = file2list(filename) + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + switch (name) + if ("address") + sqladdress = value + if ("port") + sqlport = value + if ("database") + sqldb = value + if ("login") + sqllogin = value + if ("password") + sqlpass = value + if ("feedback_database") + sqlfdbkdb = value + if ("feedback_login") + sqlfdbklogin = value + if ("feedback_password") + sqlfdbkpass = value + if ("enable_stat_tracking") + sqllogging = 1 + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/loadforumsql(filename) // -- TLE + var/list/Lines = file2list(filename) + for(var/t in Lines) + if(!t) continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + var/value = null + + if (pos) + name = lowertext(copytext(t, 1, pos)) + value = copytext(t, pos + 1) + else + name = lowertext(t) + + if (!name) + continue + + switch (name) + if ("address") + forumsqladdress = value + if ("port") + forumsqlport = value + if ("database") + forumsqldb = value + if ("login") + forumsqllogin = value + if ("password") + forumsqlpass = value + if ("activatedgroup") + forum_activated_group = value + if ("authenticatedgroup") + forum_authenticated_group = value + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/configuration/proc/pick_mode(mode_name) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + for (var/game_mode in gamemode_cache) + var/datum/game_mode/M = gamemode_cache[game_mode] + if (M.config_tag && M.config_tag == mode_name) + return M + return gamemode_cache["extended"] + +/datum/configuration/proc/get_runnable_modes() + var/list/runnable_modes = list() + for(var/game_mode in gamemode_cache) + var/datum/game_mode/M = gamemode_cache[game_mode] + if(M && M.can_start() && !isnull(config.probabilities[M.config_tag]) && config.probabilities[M.config_tag] > 0) + runnable_modes |= M + return runnable_modes + +/datum/configuration/proc/post_load() + //apply a default value to config.python_path, if needed + if (!config.python_path) + if(world.system_type == UNIX) + config.python_path = "/usr/bin/env python2" + else //probably windows, if not this should work anyway + config.python_path = "python" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 02f80de642..a44d8f32ec 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD //VOREStation Edit - Redone a lot of airlock things: /* - Specific department maintenance doors @@ -1534,3 +1535,3074 @@ About the new airlock wires panel: qdel(src) return TRUE return FALSE +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +//VOREStation Edit - Redone a lot of airlock things: +/* +- Specific department maintenance doors +- Named doors properly according to type +- Gave them default access levels with the access constants +- Improper'd all of the names in the new() +*/ + +/obj/machinery/door/airlock + name = "Airlock" + icon = 'icons/obj/doors/Doorint.dmi' + icon_state = "door_closed" + power_channel = ENVIRON + + explosion_resistance = 10 + + // Doors do their own stuff + bullet_vulnerability = 0 + + blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime + + var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. + var/hackProof = 0 // if 1, this door can't be hacked by the AI + var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. + var/main_power_lost_until = 0 //World time when main power is restored. + var/backup_power_lost_until = -1 //World time when backup power is restored. + var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. + var/spawnPowerRestoreRunning = 0 + var/welded = null + var/locked = 0 + var/lights = 1 // bolt lights show by default + var/aiDisabledIdScanner = 0 + var/aiHacking = 0 + var/obj/machinery/door/airlock/closeOther = null + var/closeOtherId = null + var/lockdownbyai = 0 + autoclose = 1 + var/assembly_type = /obj/structure/door_assembly + var/mineral = null + var/justzap = 0 + var/safe = 1 + normalspeed = 1 + var/obj/item/weapon/airlock_electronics/electronics = null + var/hasShocked = 0 //Prevents multiple shocks from happening + var/secured_wires = 0 + var/datum/wires/airlock/wires = null + + var/open_sound_powered = 'sound/machines/door/covert1o.ogg' + var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' + var/close_sound_powered = 'sound/machines/door/covert1c.ogg' + var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' + var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' + var/department_open_powered = null + var/department_close_powered = null + var/denied_sound = 'sound/machines/deniedbeep.ogg' + var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' + var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' + +/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) + if(src.locked || src.welded) + visible_message("\The [user] begins breaking into \the [src] internals!") + user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. + if(do_after(user,10 SECONDS,src)) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + if(prob(25)) + src.shock(user, 100) + user.set_AI_busy(FALSE) + else if(src.density) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + if(src.locked || src.welded) + visible_message("\The [user] begins digging into \the [src] internals!") + src.do_animate("deny") + if(do_after(user,5 SECONDS,src)) + visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!") + src.do_animate("spark") + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + src.emag_act() + else if(src.density) + visible_message("\The [user] begins forcing \the [src] open!") + if(do_after(user, 5 SECONDS,src)) + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + src.do_animate("deny") + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/get_material() + if(mineral) + return get_material_by_name(mineral) + return get_material_by_name(MAT_STEEL) + +/obj/machinery/door/airlock/command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcom.dmi' + req_one_access = list(access_heads) + assembly_type = /obj/structure/door_assembly/door_assembly_com + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd3o.ogg' + department_close_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsec.dmi' + req_one_access = list(access_security) + assembly_type = /obj/structure/door_assembly/door_assembly_sec + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Dooreng.dmi' + req_one_access = list(access_engine) + assembly_type = /obj/structure/door_assembly/door_assembly_eng + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmos.dmi' + req_one_access = list(access_atmospherics) + assembly_type = /obj/structure/door_assembly/door_assembly_eat + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormed.dmi' + req_one_access = list(access_medical) + assembly_type = /obj/structure/door_assembly/door_assembly_med + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/maintenance + name = "Maintenance Access" + icon = 'icons/obj/doors/Doormaint.dmi' + //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access + assembly_type = /obj/structure/door_assembly/door_assembly_mai + open_sound_powered = 'sound/machines/door/door2o.ogg' + close_sound_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/cargo + icon = 'icons/obj/doors/Doormaint_cargo.dmi' + req_one_access = list(access_cargo) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/door2o.ogg' + department_close_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/command + icon = 'icons/obj/doors/Doormaint_command.dmi' + req_one_access = list(access_heads) + +/obj/machinery/door/airlock/maintenance/common + icon = 'icons/obj/doors/Doormaint_common.dmi' + open_sound_powered = 'sound/machines/door/hall3o.ogg' + close_sound_powered = 'sound/machines/door/hall3c.ogg' + +/obj/machinery/door/airlock/maintenance/engi + icon = 'icons/obj/doors/Doormaint_engi.dmi' + req_one_access = list(access_engine) + +/obj/machinery/door/airlock/maintenance/int + icon = 'icons/obj/doors/Doormaint_int.dmi' + +/obj/machinery/door/airlock/maintenance/medical + icon = 'icons/obj/doors/Doormaint_med.dmi' + req_one_access = list(access_medical) + +/obj/machinery/door/airlock/maintenance/rnd + icon = 'icons/obj/doors/Doormaint_rnd.dmi' + req_one_access = list(access_research) + +/obj/machinery/door/airlock/maintenance/sec + icon = 'icons/obj/doors/Doormaint_sec.dmi' + req_one_access = list(access_security) + +/obj/machinery/door/airlock/external + name = "External Airlock" + icon = 'icons/obj/doors/Doorext.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/external/bolted + icon_state = "door_locked" // So it looks visibly bolted in map editor + locked = 1 + +// For convenience in making docking ports: one that is pre-bolted with frequency set! +/obj/machinery/door/airlock/external/bolted/cycling + frequency = 1379 + +/obj/machinery/door/airlock/glass_external + name = "External Airlock" + icon = 'icons/obj/doors/Doorextglass.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + opacity = 0 + glass = 1 + req_one_access = list(access_external_airlocks) + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/glass + name = "Glass Airlock" + icon = 'icons/obj/doors/Doorglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + open_sound_powered = 'sound/machines/door/hall1o.ogg' + close_sound_powered = 'sound/machines/door/hall1c.ogg' + legacy_open_powered = 'sound/machines/door/windowdoor.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + glass = 1 + +/obj/machinery/door/airlock/centcom + name = "Centcom Airlock" + icon = 'icons/obj/doors/Doorele.dmi' + req_one_access = list(access_cent_general) + opacity = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/glass_centcom + name = "Airlock" + icon = 'icons/obj/doors/Dooreleglass.dmi' + opacity = 0 + glass = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/vault + name = "Vault" + icon = 'icons/obj/doors/vault.dmi' + explosion_resistance = 20 + opacity = 1 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/vault1o.ogg' + close_sound_powered = 'sound/machines/door/vault1c.ogg' + +/obj/machinery/door/airlock/vault/bolted + icon_state = "door_locked" + locked = 1 + +/obj/machinery/door/airlock/freezer + name = "Freezer Airlock" + icon = 'icons/obj/doors/Doorfreezer.dmi' + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_fre + +/obj/machinery/door/airlock/hatch + name = "Airtight Hatch" + icon = 'icons/obj/doors/Doorhatchele.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_hatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/maintenance_hatch + name = "Maintenance Hatch" + icon = 'icons/obj/doors/Doorhatchmaint2.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_mhatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/glass_command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcomglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_com + glass = 1 + req_one_access = list(access_heads) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd1o.ogg' + department_close_powered = 'sound/machines/door/cmd1c.ogg' + +/obj/machinery/door/airlock/glass_engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Doorengglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eng + glass = 1 + req_one_access = list(access_engine) + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eat + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsecglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_sec + glass = 1 + req_one_access = list(access_security) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/glass_medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormedglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_med + glass = 1 + req_one_access = list(access_medical) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doormining.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_min + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmo.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearch.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_research + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearchglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_research + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doorminingglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_min + glass = 1 + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/glass_atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/gold + name = "Gold Airlock" + icon = 'icons/obj/doors/Doorgold.dmi' + mineral = "gold" + +/obj/machinery/door/airlock/silver + name = "Silver Airlock" + icon = 'icons/obj/doors/Doorsilver.dmi' + mineral = "silver" + +/obj/machinery/door/airlock/diamond + name = "Diamond Airlock" + icon = 'icons/obj/doors/Doordiamond.dmi' + mineral = "diamond" + +/obj/machinery/door/airlock/uranium + name = "Uranium Airlock" + desc = "And they said I was crazy." + icon = 'icons/obj/doors/Dooruranium.dmi' + mineral = "uranium" + var/last_event = 0 + var/rad_power = 7.5 + +/obj/machinery/door/airlock/process() + // Deliberate no call to parent. + if(main_power_lost_until > 0 && world.time >= main_power_lost_until) + regainMainPower() + + if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) + regainBackupPower() + + else if(electrified_until > 0 && world.time >= electrified_until) + electrify(0) + + if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) + . = PROCESS_KILL + +/obj/machinery/door/airlock/uranium/process() + if(world.time > last_event+20) + if(prob(50)) + SSradiation.radiate(src, rad_power) + last_event = world.time + ..() + +/obj/machinery/door/airlock/phoron + name = "Phoron Airlock" + desc = "No way this can end badly." + icon = 'icons/obj/doors/Doorphoron.dmi' + mineral = "phoron" + +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) + for(var/turf/simulated/floor/target_tile in range(2,loc)) + target_tile.assume_gas("phoron", 35, 400+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + for(var/turf/simulated/wall/W in range(3,src)) + W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame + for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) + D.ignite(temperature/4) + new/obj/structure/door_assembly( src.loc ) + qdel(src) + +/obj/machinery/door/airlock/sandstone + name = "Sandstone Airlock" + icon = 'icons/obj/doors/Doorsand.dmi' + mineral = "sandstone" + +/obj/machinery/door/airlock/science + name = "Research Airlock" + icon = 'icons/obj/doors/Doorsci.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_science + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_science + name = "Glass Airlocks" + icon = 'icons/obj/doors/Doorsciglass.dmi' + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_science + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/highsecurity + name = "Secure Airlock" + icon = 'icons/obj/doors/hightechsecurity.dmi' + explosion_resistance = 20 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/secure1o.ogg' + close_sound_powered = 'sound/machines/door/secure1c.ogg' + +/obj/machinery/door/airlock/voidcraft + name = "voidcraft hatch" + desc = "It's an extra resilient airlock intended for spacefaring vessels." + icon = 'icons/obj/doors/shuttledoors.dmi' + explosion_resistance = 20 + opacity = 0 + glass = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + +// Airlock opens from top-bottom instead of left-right. +/obj/machinery/door/airlock/voidcraft/vertical + icon = 'icons/obj/doors/shuttledoors_vertical.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + + +/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock + name = "Precursor Alpha Object - Doors" + desc = "This object appears to be used in order to restrict or allow access to \ + rooms based on its physical state. In other words, a door. \ + Despite being designed and created by unknown ancient alien hands, this door has \ + a large number of similarities to the conventional airlock, such as being driven by \ + electricity, opening and closing by physically moving, and being air tight. \ + It also operates by responding to signals through internal electrical conduits. \ + These characteristics make it possible for one with experience with a multitool \ + to manipulate the door.\ +

\ + The symbol on the door does not match any living species' patterns, giving further \ + implications that this door is very old, and yet it remains operational after \ + thousands of years. It is unknown if that is due to superb construction, or \ + unseen autonomous maintenance having been performed." + value = CATALOGUER_REWARD_EASY + +/obj/machinery/door/airlock/alien + name = "alien airlock" + desc = "You're fairly sure this is a door." + catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) + icon = 'icons/obj/doors/Dooralien.dmi' + explosion_resistance = 20 + secured_wires = TRUE + hackProof = TRUE + assembly_type = /obj/structure/door_assembly/door_assembly_alien + req_one_access = list(access_alien) + +/obj/machinery/door/airlock/alien/locked + icon_state = "door_locked" + locked = TRUE + +/obj/machinery/door/airlock/alien/public // Entry to UFO. + req_one_access = list() + normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. + hackProof = TRUE //VOREStation Edit - No borgos + +/* +About the new airlock wires panel: +* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. +* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) +* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. +* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. +* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. +* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. +* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. +* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) +* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. +* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. +*/ + + + +/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite + if(!issilicon(usr)) + if(src.isElectrified()) + if(!src.justzap) + if(src.shock(user, 100)) + src.justzap = 1 + spawn (10) + src.justzap = 0 + return + else /*if(src.justzap)*/ + return + else if(user.hallucination > 50 && prob(10) && src.operating == 0) + to_chat(user, "You feel a powerful shock course through your body!") + user.halloss += 10 + user.stunned += 10 + return + ..(user) + +/obj/machinery/door/airlock/proc/isElectrified() + if(src.electrified_until != 0) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/canAIControl() + return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/canAIHack() + return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/arePowerSystemsOn() + if (stat & (NOPOWER|BROKEN)) + return 0 + return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) + +/obj/machinery/door/airlock/requiresID() + return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) + +/obj/machinery/door/airlock/proc/isAllPowerLoss() + if(stat & (NOPOWER|BROKEN)) + return 1 + if(mainPowerCablesCut() && backupPowerCablesCut()) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/mainPowerCablesCut() + return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) + +/obj/machinery/door/airlock/proc/backupPowerCablesCut() + return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) + +/obj/machinery/door/airlock/proc/loseMainPower() + main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running + if(backup_power_lost_until == -1 && !backupPowerCablesCut()) + backup_power_lost_until = world.time + SecondsToTicks(10) + + if(main_power_lost_until > 0 || backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/loseBackupPower() + backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + if(backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/regainMainPower() + if(!mainPowerCablesCut()) + main_power_lost_until = 0 + // If backup power is currently active then disable, otherwise let it count down and disable itself later + if(!backup_power_lost_until) + backup_power_lost_until = -1 + + update_icon() + +/obj/machinery/door/airlock/proc/regainBackupPower() + if(!backupPowerCablesCut()) + // Restore backup power only if main power is offline, otherwise permanently disable + backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 + + update_icon() + +/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) + message = text("The electrification wire is cut - Door permanently electrified.") + src.electrified_until = -1 + else if(duration && !arePowerSystemsOn()) + message = text("The door is unpowered - Cannot electrify the door.") + src.electrified_until = 0 + else if(!duration && electrified_until != 0) + message = "The door is now un-electrified." + src.electrified_until = 0 + else if(duration) //electrify door for the given duration seconds + if(usr) + shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") + add_attack_logs(usr,name,"Electrified a door") + else + shockedby += text("\[[time_stamp()]\] - EMP)") + message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." + src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + + if(electrified_until > 0) + START_MACHINE_PROCESSING(src) + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_IDSCAN)) + message = "The IdScan wire is cut - IdScan feature permanently disabled." + else if(activate && src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 0 + message = "IdScan feature has been enabled." + else if(!activate && !src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 1 + message = "IdScan feature has been disabled." + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) + var/message = "" + // Safeties! We don't need no stinking safeties! + if (wires.is_cut(WIRE_SAFETY)) + message = text("The safety wire is cut - Cannot enable safeties.") + else if (!activate && src.safe) + safe = 0 + else if (activate && !src.safe) + safe = 1 + + if(feedback && message) + to_chat(usr,message) + +// shock user with probability prb (if all connections & power are working) +// returns 1 if shocked, 0 otherwise +// The preceding comment was borrowed from the grille's shock script +/obj/machinery/door/airlock/shock(mob/user, prb) + if(!arePowerSystemsOn()) + return 0 + if(hasShocked) + return 0 //Already shocked someone recently? + if(..()) + hasShocked = 1 + sleep(10) + hasShocked = 0 + return 1 + else + return 0 + + +/obj/machinery/door/airlock/update_icon() + cut_overlays() + if(density) + if(locked && lights && src.arePowerSystemsOn()) + icon_state = "door_locked" + else + icon_state = "door_closed" + if(p_open || welded) + if(p_open) + add_overlay("panel_open") + if (!(stat & NOPOWER)) + if(stat & BROKEN) + add_overlay("sparks_broken") + else if (health < maxhealth * 3/4) + add_overlay("sparks_damaged") + if(welded) + add_overlay("welded") + else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) + add_overlay("sparks_damaged") + else + icon_state = "door_open" + if((stat & BROKEN) && !(stat & NOPOWER)) + add_overlay("sparks_open") + return + +/obj/machinery/door/airlock/do_animate(animation) + switch(animation) + if("opening") + cut_overlay() + if(p_open) + spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. + flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking + update_icon() + else + flick("door_opening", src)//[stat ? "_stat":] + update_icon() + if("closing") + cut_overlay() + if(p_open) + spawn(2) + flick("o_door_closing", src) + update_icon() + else + flick("door_closing", src) + update_icon() + if("spark") + if(density) + flick("door_spark", src) + if("deny") + if(density && src.arePowerSystemsOn()) + flick("door_deny", src) + playsound(src, denied_sound, 50, 0, 3) + return + +/obj/machinery/door/airlock/attack_ai(mob/user as mob) + tgui_interact(user) + +/obj/machinery/door/airlock/attack_ghost(mob/user) + tgui_interact(user) + +/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AiAirlock", name) + ui.open() + if(custom_state) + ui.set_state(custom_state) + return TRUE + +/obj/machinery/door/airlock/tgui_data(mob/user) + var/list/data = list() + + var/list/power = list() + power["main"] = main_power_lost_until > 0 ? 0 : 2 + power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) + power["backup"] = backup_power_lost_until > 0 ? 0 : 2 + power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) + data["power"] = power + + data["shock"] = (electrified_until == 0) ? 2 : 0 + data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) + data["id_scanner"] = !aiDisabledIdScanner + data["locked"] = locked // bolted + data["lights"] = lights // bolt lights + data["safe"] = safe // safeties + data["speed"] = normalspeed // safe speed + data["welded"] = welded // welded + data["opened"] = !density // opened + + var/list/wire = list() + wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) + wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) + wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) + wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) + wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) + wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) + wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) + wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) + wire["safe"] = !wires.is_cut(WIRE_SAFETY) + wire["timing"] = !wires.is_cut(WIRE_SPEED) + + data["wires"] = wire + return data + +/obj/machinery/door/airlock/proc/hack(mob/user as mob) + if(src.aiHacking==0) + src.aiHacking=1 + spawn(20) + //TODO: Make this take a minute + to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") + sleep(50) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") + sleep(20) + to_chat(user, "Attempting to hack into airlock. This may take some time.") + sleep(200) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Upload access confirmed. Loading control program into airlock software.") + sleep(170) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Transfer complete. Forcing airlock to execute program.") + sleep(50) + //disable blocked control + src.aiControlDisabled = 2 + to_chat(user, "Receiving control information from airlock.") + sleep(10) + //bring up airlock dialog + src.aiHacking = 0 + if (user) + src.attack_ai(user) + +/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) + if (src.isElectrified()) + if (istype(mover, /obj/item)) + var/obj/item/i = mover + if (i.matter && (MAT_STEEL in i.matter) && i.matter[MAT_STEEL] > 0) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + return ..() + +/obj/machinery/door/airlock/attack_hand(mob/user as mob) + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 100)) + return + + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + src.attack_alien(user) + return + + if(src.p_open) + user.set_machine(src) + wires.Interact(user) + else + ..(user) + return + +/obj/machinery/door/airlock/tgui_act(action, params) + if(..()) + return TRUE + if(!user_allowed(usr)) + return TRUE + + switch(action) + if("disrupt-main") + if(!main_power_lost_until) + loseMainPower() + update_icon() + else + to_chat(usr, "Main power is already offline.") + . = TRUE + if("disrupt-backup") + if(!backup_power_lost_until) + loseBackupPower() + update_icon() + else + to_chat(usr, "Backup power is already offline.") + . = TRUE + if("shock-restore") + electrify(0, 1) + . = TRUE + if("shock-temp") + electrify(30, 1) + . = TRUE + if("shock-perm") + electrify(-1, 1) + . = TRUE + if("idscan-toggle") + set_idscan(aiDisabledIdScanner, 1) + . = TRUE + // if("emergency-toggle") + // toggle_emergency(usr) + // . = TRUE + if("bolt-toggle") + toggle_bolt(usr) + . = TRUE + if("light-toggle") + if(wires.is_cut(WIRE_BOLT_LIGHT)) + to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") + return + lights = !lights + update_icon() + . = TRUE + if("safe-toggle") + set_safeties(!safe, 1) + . = TRUE + if("speed-toggle") + if(wires.is_cut(WIRE_SPEED)) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") + return + normalspeed = !normalspeed + . = TRUE + if("open-close") + user_toggle_open(usr) + . = TRUE + + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/user_allowed(mob/user) + var/allowed = (issilicon(user) && canAIControl(user)) + if(!allowed && isobserver(user)) + var/mob/observer/dead/D = user + if(D.can_admin_interact()) + allowed = TRUE + return allowed + +/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_DOOR_BOLTS)) + to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + return + if(locked) + if(!arePowerSystemsOn()) + to_chat(user, "The door has no power - you can't raise the door bolts.") + else + unlock() + to_chat(user, "The door bolts have been raised.") + // log_combat(user, src, "unbolted") + else + lock() + to_chat(user, "The door bolts have been dropped.") + // log_combat(user, src, "bolted") + +/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) + if(!user_allowed(user)) + return + if(welded) + to_chat(user, text("The airlock has been welded shut!")) + else if(locked) + to_chat(user, text("The door bolts are down!")) + else if(!density) + close() + else + open() + +/obj/machinery/door/airlock/proc/can_remove_electronics() + return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) + +/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) + //to_world("airlock attackby src [src] obj [C] mob [user]") + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 75)) + return + if(istype(C, /obj/item/taperoll)) + return + + src.add_fingerprint(user) + if (attempt_vr(src,"attackby_vr",list(C, user))) return + if(istype(C, /mob/living)) + ..() + return + if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) + var/obj/item/weapon/weldingtool/W = C + if(W.remove_fuel(0,user)) + if(!src.welded) + src.welded = 1 + else + src.welded = null + playsound(src, C.usesound, 75, 1) + src.update_icon() + return + else + return + else if(C.is_screwdriver()) + if (src.p_open) + if (stat & BROKEN) + to_chat(usr, "The panel is broken and cannot be closed.") + else + src.p_open = 0 + playsound(src, C.usesound, 50, 1) + else + src.p_open = 1 + playsound(src, C.usesound, 50, 1) + src.update_icon() + else if(C.is_wirecutter()) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/multitool)) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/assembly/signaler)) + return src.attack_hand(user) + else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE + var/obj/item/weapon/pai_cable/cable = C + cable.plugin(src, user) + else if(!repairing && C.is_crowbar()) + if(can_remove_electronics()) + playsound(src, C.usesound, 75, 1) + user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") + if(do_after(user,40 * C.toolspeed)) + to_chat(user, "You removed the airlock electronics!") + + var/obj/structure/door_assembly/da = new assembly_type(src.loc) + if (istype(da, /obj/structure/door_assembly/multi_tile)) + da.set_dir(src.dir) + + da.anchored = TRUE + if(mineral) + da.glass = mineral + //else if(glass) + else if(glass && !da.glass) + da.glass = 1 + da.state = 1 + da.created_name = src.name + da.update_state() + + if(operating == -1 || (stat & BROKEN)) + new /obj/item/weapon/circuitboard/broken(src.loc) + operating = 0 + else + if (!electronics) create_electronics() + + electronics.loc = src.loc + electronics = null + + qdel(src) + return + else if(arePowerSystemsOn()) + to_chat(user, "The airlock's motors resist your efforts to force it.") + else if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else + if(density) + spawn(0) open(1) + else + spawn(0) close(1) + + // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). + else if(istype(C, /obj/item/weapon)) + var/obj/item/weapon/W = C + if((W.pry == 1) && !arePowerSystemsOn()) + if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else if( !welded && !operating ) + if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. + var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(!F.wielded) + to_chat(user, "You need to be wielding \the [F] to do that.") + return + // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. + if(density) + spawn(0) + open(1) + else + spawn(0) + close(1) + else + ..() + else + ..() + return + +/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) + if(C) + ignite(is_hot(C)) + ..() + +/obj/machinery/door/airlock/set_broken() + src.p_open = 1 + stat |= BROKEN + if (secured_wires) + lock() + for (var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + + update_icon() + return + +/obj/machinery/door/airlock/open(var/forced=0) + if(!can_open(forced)) + return 0 + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + + //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. + if(arePowerSystemsOn()) + sound = legacy_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else // Else, play these. + if(arePowerSystemsOn()) + sound = open_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + + if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) + src.closeOther.close() + return ..() + +/obj/machinery/door/airlock/can_open(var/forced=0) + if(!forced) + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + if(locked || welded) + return 0 + return ..() + +/obj/machinery/door/airlock/can_close(var/forced=0) + if(locked || welded) + return 0 + + if(!forced) + //despite the name, this wire is for general door control. + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + return ..() + +/atom/movable/proc/blocks_airlock() + return density + +/obj/machinery/door/blocks_airlock() + return 0 + +/obj/machinery/mech_sensor/blocks_airlock() + return 0 + +/mob/living/blocks_airlock() + return 1 + +/atom/movable/proc/airlock_crush(var/crush_damage) + return 0 + +/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) + . = ..() + health -= crush_damage + healthcheck() + +/obj/effect/energy_field/airlock_crush(var/crush_damage) + adjust_strength(crush_damage) + +/obj/structure/closet/airlock_crush(var/crush_damage) + ..() + damage(crush_damage) + for(var/atom/movable/AM in src) + AM.airlock_crush() + return 1 + +/mob/living/airlock_crush(var/crush_damage) + . = ..() + adjustBruteLoss(crush_damage) + SetStunned(5) + SetWeakened(5) + var/turf/T = get_turf(src) + T.add_blood(src) + return 1 + +/mob/living/carbon/airlock_crush(var/crush_damage) + . = ..() + if(can_feel_pain()) + emote("scream") + +/mob/living/silicon/robot/airlock_crush(var/crush_damage) + adjustBruteLoss(crush_damage) + return 0 + +/obj/machinery/door/airlock/close(var/forced=0) + if(!can_close(forced)) + return 0 + + if(safe) + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.blocks_airlock()) + if(!has_beeped) + playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) + has_beeped = 1 + autoclose_in(6) + return + + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) + take_damage(DOOR_CRUSH_DAMAGE) + + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + has_beeped = 0 + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) + if(arePowerSystemsOn()) + sound = legacy_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else + if(arePowerSystemsOn()) + sound = close_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + for(var/turf/turf in locs) + var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) + if(killthis) + killthis.ex_act(2)//Smashin windows + return ..() + +/obj/machinery/door/airlock/proc/lock(var/forced=0) + if(locked) + return 0 + + if (operating && !forced) return 0 + + src.locked = 1 + playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/unlock(var/forced=0) + if(!src.locked) + return + + if (!forced) + if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return + + src.locked = 0 + playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/allowed(mob/M) + if(locked) + return 0 + return ..(M) + +/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) + ..() + + //if assembly is given, create the new door from the assembly + if (assembly && istype(assembly)) + assembly_type = assembly.type + + electronics = assembly.electronics + electronics.loc = src + + //update the door's access to match the electronics' + secured_wires = electronics.secure + if(electronics.one_access) + LAZYCLEARLIST(req_access) + req_one_access = src.electronics.conf_access + else + LAZYCLEARLIST(req_one_access) + req_access = src.electronics.conf_access + + //get the name from the assembly + if(assembly.created_name) + name = assembly.created_name + else + name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" + + //get the dir from the assembly + set_dir(assembly.dir) + + //wires + var/turf/T = get_turf(newloc) + if(T && (T.z in using_map.admin_levels)) + secured_wires = 1 + if (secured_wires) + wires = new/datum/wires/airlock/secure(src) + else + wires = new/datum/wires/airlock(src) + +/obj/machinery/door/airlock/Initialize() + if(src.closeOtherId != null) + for (var/obj/machinery/door/airlock/A in machines) + if(A.closeOtherId == src.closeOtherId && A != src) + src.closeOther = A + break + name = "\improper [name]" + . = ..() + +/obj/machinery/door/airlock/Destroy() + qdel(wires) + wires = null + return ..() + +// Most doors will never be deconstructed over the course of a round, +// so as an optimization defer the creation of electronics until +// the airlock is deconstructed +/obj/machinery/door/airlock/proc/create_electronics() + //create new electronics + if (secured_wires) + src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) + else + src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) + + //update the electronics to match the door's access + if(LAZYLEN(req_access)) + electronics.conf_access = req_access + else if (LAZYLEN(req_one_access)) + electronics.conf_access = req_one_access + electronics.one_access = 1 + +/obj/machinery/door/airlock/emp_act(var/severity) + if(prob(40/severity)) + var/duration = world.time + SecondsToTicks(30 / severity) + if(duration > electrified_until) + electrify(duration) + ..() + +/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason + ..() + if(stat & NOPOWER) + // If we lost power, disable electrification + // Keeping door lights on, runs on internal battery or something. + electrified_until = 0 + update_icon() + +/obj/machinery/door/airlock/proc/prison_open() + if(arePowerSystemsOn()) + src.unlock() + src.open() + src.lock() + return + + +/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + // Old RCD code made it cost 10 units to decon an airlock. + // Now the new one costs ten "sheets". + return list( + RCD_VALUE_MODE = RCD_DECONSTRUCT, + RCD_VALUE_DELAY = 5 SECONDS, + RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 + ) + return FALSE + +/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + to_chat(user, span("notice", "You deconstruct \the [src].")) + qdel(src) + return TRUE + return FALSE +======= +//VOREStation Edit - Redone a lot of airlock things: +/* +- Specific department maintenance doors +- Named doors properly according to type +- Gave them default access levels with the access constants +- Improper'd all of the names in the new() +*/ + +/obj/machinery/door/airlock + name = "Airlock" + icon = 'icons/obj/doors/Doorint.dmi' + icon_state = "door_closed" + power_channel = ENVIRON + + explosion_resistance = 10 + + // Doors do their own stuff + bullet_vulnerability = 0 + + blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime + + var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. + var/hackProof = 0 // if 1, this door can't be hacked by the AI + var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. + var/main_power_lost_until = 0 //World time when main power is restored. + var/backup_power_lost_until = -1 //World time when backup power is restored. + var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. + var/spawnPowerRestoreRunning = 0 + var/welded = null + var/locked = 0 + var/lights = 1 // bolt lights show by default + var/aiDisabledIdScanner = 0 + var/aiHacking = 0 + var/obj/machinery/door/airlock/closeOther = null + var/closeOtherId = null + var/lockdownbyai = 0 + autoclose = 1 + var/assembly_type = /obj/structure/door_assembly + var/mineral = null + var/justzap = 0 + var/safe = 1 + normalspeed = 1 + var/obj/item/weapon/airlock_electronics/electronics = null + var/hasShocked = 0 //Prevents multiple shocks from happening + var/secured_wires = 0 + var/datum/wires/airlock/wires = null + + var/open_sound_powered = 'sound/machines/door/covert1o.ogg' + var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' + var/close_sound_powered = 'sound/machines/door/covert1c.ogg' + var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' + var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' + var/department_open_powered = null + var/department_close_powered = null + var/denied_sound = 'sound/machines/deniedbeep.ogg' + var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' + var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' + +/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) + if(src.locked || src.welded) + visible_message("\The [user] begins breaking into \the [src] internals!") + user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. + if(do_after(user,10 SECONDS,src)) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + if(prob(25)) + src.shock(user, 100) + user.set_AI_busy(FALSE) + else if(src.density) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + if(src.locked || src.welded) + visible_message("\The [user] begins tearing into \the [src] internals!") + src.do_animate("deny") + if(do_after(user,15 SECONDS,src)) + visible_message("\The [user] tears \the [src] open, sparks flying from its electronics!") + src.do_animate("spark") + playsound(src, 'sound/machines/door/airlock_tear_apart.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + src.set_broken() //These aren't emags, these be CLAWS + else if(src.density) + visible_message("\The [user] begins forcing \the [src] open!") + if(do_after(user, 5 SECONDS,src)) + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + src.do_animate("deny") + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/get_material() + if(mineral) + return get_material_by_name(mineral) + return get_material_by_name(MAT_STEEL) + +/obj/machinery/door/airlock/command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcom.dmi' + req_one_access = list(access_heads) + assembly_type = /obj/structure/door_assembly/door_assembly_com + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd3o.ogg' + department_close_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsec.dmi' + req_one_access = list(access_security) + assembly_type = /obj/structure/door_assembly/door_assembly_sec + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Dooreng.dmi' + req_one_access = list(access_engine) + assembly_type = /obj/structure/door_assembly/door_assembly_eng + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmos.dmi' + req_one_access = list(access_atmospherics) + assembly_type = /obj/structure/door_assembly/door_assembly_eat + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormed.dmi' + req_one_access = list(access_medical) + assembly_type = /obj/structure/door_assembly/door_assembly_med + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/maintenance + name = "Maintenance Access" + icon = 'icons/obj/doors/Doormaint.dmi' + //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access + assembly_type = /obj/structure/door_assembly/door_assembly_mai + open_sound_powered = 'sound/machines/door/door2o.ogg' + close_sound_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/cargo + icon = 'icons/obj/doors/Doormaint_cargo.dmi' + req_one_access = list(access_cargo) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/door2o.ogg' + department_close_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/command + icon = 'icons/obj/doors/Doormaint_command.dmi' + req_one_access = list(access_heads) + +/obj/machinery/door/airlock/maintenance/common + icon = 'icons/obj/doors/Doormaint_common.dmi' + open_sound_powered = 'sound/machines/door/hall3o.ogg' + close_sound_powered = 'sound/machines/door/hall3c.ogg' + +/obj/machinery/door/airlock/maintenance/engi + icon = 'icons/obj/doors/Doormaint_engi.dmi' + req_one_access = list(access_engine) + +/obj/machinery/door/airlock/maintenance/int + icon = 'icons/obj/doors/Doormaint_int.dmi' + +/obj/machinery/door/airlock/maintenance/medical + icon = 'icons/obj/doors/Doormaint_med.dmi' + req_one_access = list(access_medical) + +/obj/machinery/door/airlock/maintenance/rnd + icon = 'icons/obj/doors/Doormaint_rnd.dmi' + req_one_access = list(access_research) + +/obj/machinery/door/airlock/maintenance/sec + icon = 'icons/obj/doors/Doormaint_sec.dmi' + req_one_access = list(access_security) + +/obj/machinery/door/airlock/external + name = "External Airlock" + icon = 'icons/obj/doors/Doorext.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/external/bolted + icon_state = "door_locked" // So it looks visibly bolted in map editor + locked = 1 + +// For convenience in making docking ports: one that is pre-bolted with frequency set! +/obj/machinery/door/airlock/external/bolted/cycling + frequency = 1379 + +/obj/machinery/door/airlock/glass_external + name = "External Airlock" + icon = 'icons/obj/doors/Doorextglass.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + opacity = 0 + glass = 1 + req_one_access = list(access_external_airlocks) + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/glass + name = "Glass Airlock" + icon = 'icons/obj/doors/Doorglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + open_sound_powered = 'sound/machines/door/hall1o.ogg' + close_sound_powered = 'sound/machines/door/hall1c.ogg' + legacy_open_powered = 'sound/machines/door/windowdoor.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + glass = 1 + +/obj/machinery/door/airlock/centcom + name = "Centcom Airlock" + icon = 'icons/obj/doors/Doorele.dmi' + req_one_access = list(access_cent_general) + opacity = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/glass_centcom + name = "Airlock" + icon = 'icons/obj/doors/Dooreleglass.dmi' + opacity = 0 + glass = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/vault + name = "Vault" + icon = 'icons/obj/doors/vault.dmi' + explosion_resistance = 20 + opacity = 1 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/vault1o.ogg' + close_sound_powered = 'sound/machines/door/vault1c.ogg' + +/obj/machinery/door/airlock/vault/bolted + icon_state = "door_locked" + locked = 1 + +/obj/machinery/door/airlock/freezer + name = "Freezer Airlock" + icon = 'icons/obj/doors/Doorfreezer.dmi' + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_fre + +/obj/machinery/door/airlock/hatch + name = "Airtight Hatch" + icon = 'icons/obj/doors/Doorhatchele.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_hatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/maintenance_hatch + name = "Maintenance Hatch" + icon = 'icons/obj/doors/Doorhatchmaint2.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_mhatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/glass_command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcomglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_com + glass = 1 + req_one_access = list(access_heads) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd1o.ogg' + department_close_powered = 'sound/machines/door/cmd1c.ogg' + +/obj/machinery/door/airlock/glass_engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Doorengglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eng + glass = 1 + req_one_access = list(access_engine) + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eat + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsecglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_sec + glass = 1 + req_one_access = list(access_security) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/glass_medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormedglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_med + glass = 1 + req_one_access = list(access_medical) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doormining.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_min + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmo.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearch.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_research + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearchglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_research + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doorminingglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_min + glass = 1 + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/glass_atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/gold + name = "Gold Airlock" + icon = 'icons/obj/doors/Doorgold.dmi' + mineral = "gold" + +/obj/machinery/door/airlock/silver + name = "Silver Airlock" + icon = 'icons/obj/doors/Doorsilver.dmi' + mineral = "silver" + +/obj/machinery/door/airlock/diamond + name = "Diamond Airlock" + icon = 'icons/obj/doors/Doordiamond.dmi' + mineral = "diamond" + +/obj/machinery/door/airlock/uranium + name = "Uranium Airlock" + desc = "And they said I was crazy." + icon = 'icons/obj/doors/Dooruranium.dmi' + mineral = "uranium" + var/last_event = 0 + var/rad_power = 7.5 + +/obj/machinery/door/airlock/process() + // Deliberate no call to parent. + if(main_power_lost_until > 0 && world.time >= main_power_lost_until) + regainMainPower() + + if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) + regainBackupPower() + + else if(electrified_until > 0 && world.time >= electrified_until) + electrify(0) + + if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) + . = PROCESS_KILL + +/obj/machinery/door/airlock/uranium/process() + if(world.time > last_event+20) + if(prob(50)) + SSradiation.radiate(src, rad_power) + last_event = world.time + ..() + +/obj/machinery/door/airlock/phoron + name = "Phoron Airlock" + desc = "No way this can end badly." + icon = 'icons/obj/doors/Doorphoron.dmi' + mineral = "phoron" + +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) + for(var/turf/simulated/floor/target_tile in range(2,loc)) + target_tile.assume_gas("phoron", 35, 400+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + for(var/turf/simulated/wall/W in range(3,src)) + W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame + for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) + D.ignite(temperature/4) + new/obj/structure/door_assembly( src.loc ) + qdel(src) + +/obj/machinery/door/airlock/sandstone + name = "Sandstone Airlock" + icon = 'icons/obj/doors/Doorsand.dmi' + mineral = "sandstone" + +/obj/machinery/door/airlock/science + name = "Research Airlock" + icon = 'icons/obj/doors/Doorsci.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_science + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_science + name = "Glass Airlocks" + icon = 'icons/obj/doors/Doorsciglass.dmi' + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_science + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/highsecurity + name = "Secure Airlock" + icon = 'icons/obj/doors/hightechsecurity.dmi' + explosion_resistance = 20 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/secure1o.ogg' + close_sound_powered = 'sound/machines/door/secure1c.ogg' + +/obj/machinery/door/airlock/voidcraft + name = "voidcraft hatch" + desc = "It's an extra resilient airlock intended for spacefaring vessels." + icon = 'icons/obj/doors/shuttledoors.dmi' + explosion_resistance = 20 + opacity = 0 + glass = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + +// Airlock opens from top-bottom instead of left-right. +/obj/machinery/door/airlock/voidcraft/vertical + icon = 'icons/obj/doors/shuttledoors_vertical.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + + +/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock + name = "Precursor Alpha Object - Doors" + desc = "This object appears to be used in order to restrict or allow access to \ + rooms based on its physical state. In other words, a door. \ + Despite being designed and created by unknown ancient alien hands, this door has \ + a large number of similarities to the conventional airlock, such as being driven by \ + electricity, opening and closing by physically moving, and being air tight. \ + It also operates by responding to signals through internal electrical conduits. \ + These characteristics make it possible for one with experience with a multitool \ + to manipulate the door.\ +

\ + The symbol on the door does not match any living species' patterns, giving further \ + implications that this door is very old, and yet it remains operational after \ + thousands of years. It is unknown if that is due to superb construction, or \ + unseen autonomous maintenance having been performed." + value = CATALOGUER_REWARD_EASY + +/obj/machinery/door/airlock/alien + name = "alien airlock" + desc = "You're fairly sure this is a door." + catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) + icon = 'icons/obj/doors/Dooralien.dmi' + explosion_resistance = 20 + secured_wires = TRUE + hackProof = TRUE + assembly_type = /obj/structure/door_assembly/door_assembly_alien + req_one_access = list(access_alien) + +/obj/machinery/door/airlock/alien/locked + icon_state = "door_locked" + locked = TRUE + +/obj/machinery/door/airlock/alien/public // Entry to UFO. + req_one_access = list() + normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. + hackProof = TRUE //VOREStation Edit - No borgos + +/* +About the new airlock wires panel: +* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. +* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) +* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. +* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. +* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. +* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. +* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. +* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) +* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. +* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. +*/ + + + +/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite + if(!issilicon(usr)) + if(src.isElectrified()) + if(!src.justzap) + if(src.shock(user, 100)) + src.justzap = 1 + spawn (10) + src.justzap = 0 + return + else /*if(src.justzap)*/ + return + else if(user.hallucination > 50 && prob(10) && src.operating == 0) + to_chat(user, "You feel a powerful shock course through your body!") + user.halloss += 10 + user.stunned += 10 + return + ..(user) + +/obj/machinery/door/airlock/proc/isElectrified() + if(src.electrified_until != 0) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/canAIControl() + return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/canAIHack() + return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/arePowerSystemsOn() + if (stat & (NOPOWER|BROKEN)) + return 0 + return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) + +/obj/machinery/door/airlock/requiresID() + return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) + +/obj/machinery/door/airlock/proc/isAllPowerLoss() + if(stat & (NOPOWER|BROKEN)) + return 1 + if(mainPowerCablesCut() && backupPowerCablesCut()) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/mainPowerCablesCut() + return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) + +/obj/machinery/door/airlock/proc/backupPowerCablesCut() + return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) + +/obj/machinery/door/airlock/proc/loseMainPower() + main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running + if(backup_power_lost_until == -1 && !backupPowerCablesCut()) + backup_power_lost_until = world.time + SecondsToTicks(10) + + if(main_power_lost_until > 0 || backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/loseBackupPower() + backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + if(backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/regainMainPower() + if(!mainPowerCablesCut()) + main_power_lost_until = 0 + // If backup power is currently active then disable, otherwise let it count down and disable itself later + if(!backup_power_lost_until) + backup_power_lost_until = -1 + + update_icon() + +/obj/machinery/door/airlock/proc/regainBackupPower() + if(!backupPowerCablesCut()) + // Restore backup power only if main power is offline, otherwise permanently disable + backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 + + update_icon() + +/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) + message = text("The electrification wire is cut - Door permanently electrified.") + src.electrified_until = -1 + else if(duration && !arePowerSystemsOn()) + message = text("The door is unpowered - Cannot electrify the door.") + src.electrified_until = 0 + else if(!duration && electrified_until != 0) + message = "The door is now un-electrified." + src.electrified_until = 0 + else if(duration) //electrify door for the given duration seconds + if(usr) + shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") + add_attack_logs(usr,name,"Electrified a door") + else + shockedby += text("\[[time_stamp()]\] - EMP)") + message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." + src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + + if(electrified_until > 0) + START_MACHINE_PROCESSING(src) + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_IDSCAN)) + message = "The IdScan wire is cut - IdScan feature permanently disabled." + else if(activate && src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 0 + message = "IdScan feature has been enabled." + else if(!activate && !src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 1 + message = "IdScan feature has been disabled." + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) + var/message = "" + // Safeties! We don't need no stinking safeties! + if (wires.is_cut(WIRE_SAFETY)) + message = text("The safety wire is cut - Cannot enable safeties.") + else if (!activate && src.safe) + safe = 0 + else if (activate && !src.safe) + safe = 1 + + if(feedback && message) + to_chat(usr,message) + +// shock user with probability prb (if all connections & power are working) +// returns 1 if shocked, 0 otherwise +// The preceding comment was borrowed from the grille's shock script +/obj/machinery/door/airlock/shock(mob/user, prb) + if(!arePowerSystemsOn()) + return 0 + if(hasShocked) + return 0 //Already shocked someone recently? + if(..()) + hasShocked = 1 + sleep(10) + hasShocked = 0 + return 1 + else + return 0 + + +/obj/machinery/door/airlock/update_icon() + cut_overlays() + if(density) + if(locked && lights && src.arePowerSystemsOn()) + icon_state = "door_locked" + else + icon_state = "door_closed" + if(p_open || welded) + if(p_open) + add_overlay("panel_open") + if (!(stat & NOPOWER)) + if(stat & BROKEN) + add_overlay("sparks_broken") + else if (health < maxhealth * 3/4) + add_overlay("sparks_damaged") + if(welded) + add_overlay("welded") + else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) + add_overlay("sparks_damaged") + else + icon_state = "door_open" + if((stat & BROKEN) && !(stat & NOPOWER)) + add_overlay("sparks_open") + return + +/obj/machinery/door/airlock/do_animate(animation) + switch(animation) + if("opening") + cut_overlay() + if(p_open) + spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. + flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking + update_icon() + else + flick("door_opening", src)//[stat ? "_stat":] + update_icon() + if("closing") + cut_overlay() + if(p_open) + spawn(2) + flick("o_door_closing", src) + update_icon() + else + flick("door_closing", src) + update_icon() + if("spark") + if(density) + flick("door_spark", src) + if("deny") + if(density && src.arePowerSystemsOn()) + flick("door_deny", src) + playsound(src, denied_sound, 50, 0, 3) + return + +/obj/machinery/door/airlock/attack_ai(mob/user as mob) + tgui_interact(user) + +/obj/machinery/door/airlock/attack_ghost(mob/user) + tgui_interact(user) + +/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AiAirlock", name) + ui.open() + if(custom_state) + ui.set_state(custom_state) + return TRUE + +/obj/machinery/door/airlock/tgui_data(mob/user) + var/list/data = list() + + var/list/power = list() + power["main"] = main_power_lost_until > 0 ? 0 : 2 + power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) + power["backup"] = backup_power_lost_until > 0 ? 0 : 2 + power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) + data["power"] = power + + data["shock"] = (electrified_until == 0) ? 2 : 0 + data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) + data["id_scanner"] = !aiDisabledIdScanner + data["locked"] = locked // bolted + data["lights"] = lights // bolt lights + data["safe"] = safe // safeties + data["speed"] = normalspeed // safe speed + data["welded"] = welded // welded + data["opened"] = !density // opened + + var/list/wire = list() + wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) + wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) + wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) + wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) + wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) + wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) + wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) + wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) + wire["safe"] = !wires.is_cut(WIRE_SAFETY) + wire["timing"] = !wires.is_cut(WIRE_SPEED) + + data["wires"] = wire + return data + +/obj/machinery/door/airlock/proc/hack(mob/user as mob) + if(src.aiHacking==0) + src.aiHacking=1 + spawn(20) + //TODO: Make this take a minute + to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") + sleep(50) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") + sleep(20) + to_chat(user, "Attempting to hack into airlock. This may take some time.") + sleep(200) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Upload access confirmed. Loading control program into airlock software.") + sleep(170) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Transfer complete. Forcing airlock to execute program.") + sleep(50) + //disable blocked control + src.aiControlDisabled = 2 + to_chat(user, "Receiving control information from airlock.") + sleep(10) + //bring up airlock dialog + src.aiHacking = 0 + if (user) + src.attack_ai(user) + +/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) + if (src.isElectrified()) + if (istype(mover, /obj/item)) + var/obj/item/i = mover + if (i.matter && (MAT_STEEL in i.matter) && i.matter[MAT_STEEL] > 0) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + return ..() + +/obj/machinery/door/airlock/attack_hand(mob/user as mob) + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 100)) + return + + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + src.attack_alien(user) + return + + if(src.p_open) + user.set_machine(src) + wires.Interact(user) + else + ..(user) + return + +/obj/machinery/door/airlock/tgui_act(action, params) + if(..()) + return TRUE + if(!user_allowed(usr)) + return TRUE + + switch(action) + if("disrupt-main") + if(!main_power_lost_until) + loseMainPower() + update_icon() + else + to_chat(usr, "Main power is already offline.") + . = TRUE + if("disrupt-backup") + if(!backup_power_lost_until) + loseBackupPower() + update_icon() + else + to_chat(usr, "Backup power is already offline.") + . = TRUE + if("shock-restore") + electrify(0, 1) + . = TRUE + if("shock-temp") + electrify(30, 1) + . = TRUE + if("shock-perm") + electrify(-1, 1) + . = TRUE + if("idscan-toggle") + set_idscan(aiDisabledIdScanner, 1) + . = TRUE + // if("emergency-toggle") + // toggle_emergency(usr) + // . = TRUE + if("bolt-toggle") + toggle_bolt(usr) + . = TRUE + if("light-toggle") + if(wires.is_cut(WIRE_BOLT_LIGHT)) + to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") + return + lights = !lights + update_icon() + . = TRUE + if("safe-toggle") + set_safeties(!safe, 1) + . = TRUE + if("speed-toggle") + if(wires.is_cut(WIRE_SPEED)) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") + return + normalspeed = !normalspeed + . = TRUE + if("open-close") + user_toggle_open(usr) + . = TRUE + + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/user_allowed(mob/user) + var/allowed = (issilicon(user) && canAIControl(user)) + if(!allowed && isobserver(user)) + var/mob/observer/dead/D = user + if(D.can_admin_interact()) + allowed = TRUE + return allowed + +/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_DOOR_BOLTS)) + to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + return + if(locked) + if(!arePowerSystemsOn()) + to_chat(user, "The door has no power - you can't raise the door bolts.") + else + unlock() + to_chat(user, "The door bolts have been raised.") + // log_combat(user, src, "unbolted") + else + lock() + to_chat(user, "The door bolts have been dropped.") + // log_combat(user, src, "bolted") + +/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) + if(!user_allowed(user)) + return + if(welded) + to_chat(user, text("The airlock has been welded shut!")) + else if(locked) + to_chat(user, text("The door bolts are down!")) + else if(!density) + close() + else + open() + +/obj/machinery/door/airlock/proc/can_remove_electronics() + return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) + +/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) + //to_world("airlock attackby src [src] obj [C] mob [user]") + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 75)) + return + if(istype(C, /obj/item/taperoll)) + return + + src.add_fingerprint(user) + if (attempt_vr(src,"attackby_vr",list(C, user))) return + if(istype(C, /mob/living)) + ..() + return + if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) + var/obj/item/weapon/weldingtool/W = C + if(W.remove_fuel(0,user)) + if(!src.welded) + src.welded = 1 + else + src.welded = null + playsound(src, C.usesound, 75, 1) + src.update_icon() + return + else + return + else if(C.is_screwdriver()) + if (src.p_open) + if (stat & BROKEN) + to_chat(usr, "The panel is broken and cannot be closed.") + else + src.p_open = 0 + playsound(src, C.usesound, 50, 1) + else + src.p_open = 1 + playsound(src, C.usesound, 50, 1) + src.update_icon() + else if(C.is_wirecutter()) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/multitool)) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/assembly/signaler)) + return src.attack_hand(user) + else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE + var/obj/item/weapon/pai_cable/cable = C + cable.plugin(src, user) + else if(!repairing && C.is_crowbar()) + if(can_remove_electronics()) + playsound(src, C.usesound, 75, 1) + user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") + if(do_after(user,40 * C.toolspeed)) + to_chat(user, "You removed the airlock electronics!") + + var/obj/structure/door_assembly/da = new assembly_type(src.loc) + if (istype(da, /obj/structure/door_assembly/multi_tile)) + da.set_dir(src.dir) + + da.anchored = TRUE + if(mineral) + da.glass = mineral + //else if(glass) + else if(glass && !da.glass) + da.glass = 1 + da.state = 1 + da.created_name = src.name + da.update_state() + + if(operating == -1 || (stat & BROKEN)) + new /obj/item/weapon/circuitboard/broken(src.loc) + operating = 0 + else + if (!electronics) create_electronics() + + electronics.loc = src.loc + electronics = null + + qdel(src) + return + else if(arePowerSystemsOn()) + to_chat(user, "The airlock's motors resist your efforts to force it.") + else if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else + if(density) + spawn(0) open(1) + else + spawn(0) close(1) + + // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). + else if(istype(C, /obj/item/weapon)) + var/obj/item/weapon/W = C + if((W.pry == 1) && !arePowerSystemsOn()) + if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else if( !welded && !operating ) + if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. + var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(!F.wielded) + to_chat(user, "You need to be wielding \the [F] to do that.") + return + // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. + if(density) + spawn(0) + open(1) + else + spawn(0) + close(1) + else + ..() + else + ..() + return + +/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) + if(C) + ignite(is_hot(C)) + ..() + +/obj/machinery/door/airlock/set_broken() + src.p_open = 1 + stat |= BROKEN + if (secured_wires) + lock() + for (var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + + update_icon() + return + +/obj/machinery/door/airlock/open(var/forced=0) + if(!can_open(forced)) + return 0 + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + + //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. + if(arePowerSystemsOn()) + sound = legacy_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else // Else, play these. + if(arePowerSystemsOn()) + sound = open_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + + if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) + src.closeOther.close() + return ..() + +/obj/machinery/door/airlock/can_open(var/forced=0) + if(!forced) + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + if(locked || welded) + return 0 + return ..() + +/obj/machinery/door/airlock/can_close(var/forced=0) + if(locked || welded) + return 0 + + if(!forced) + //despite the name, this wire is for general door control. + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + return ..() + +/atom/movable/proc/blocks_airlock() + return density + +/obj/machinery/door/blocks_airlock() + return 0 + +/obj/machinery/mech_sensor/blocks_airlock() + return 0 + +/mob/living/blocks_airlock() + return 1 + +/atom/movable/proc/airlock_crush(var/crush_damage) + return 0 + +/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) + . = ..() + health -= crush_damage + healthcheck() + +/obj/effect/energy_field/airlock_crush(var/crush_damage) + adjust_strength(crush_damage) + +/obj/structure/closet/airlock_crush(var/crush_damage) + ..() + damage(crush_damage) + for(var/atom/movable/AM in src) + AM.airlock_crush() + return 1 + +/mob/living/airlock_crush(var/crush_damage) + . = ..() + adjustBruteLoss(crush_damage) + SetStunned(5) + SetWeakened(5) + var/turf/T = get_turf(src) + T.add_blood(src) + return 1 + +/mob/living/carbon/airlock_crush(var/crush_damage) + . = ..() + if(can_feel_pain()) + emote("scream") + +/mob/living/silicon/robot/airlock_crush(var/crush_damage) + adjustBruteLoss(crush_damage) + return 0 + +/obj/machinery/door/airlock/close(var/forced=0) + if(!can_close(forced)) + return 0 + + if(safe) + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.blocks_airlock()) + if(!has_beeped) + playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) + has_beeped = 1 + autoclose_in(6) + return + + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) + take_damage(DOOR_CRUSH_DAMAGE) + + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + has_beeped = 0 + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) + if(arePowerSystemsOn()) + sound = legacy_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else + if(arePowerSystemsOn()) + sound = close_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + for(var/turf/turf in locs) + var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) + if(killthis) + killthis.ex_act(2)//Smashin windows + return ..() + +/obj/machinery/door/airlock/proc/lock(var/forced=0) + if(locked) + return 0 + + if (operating && !forced) return 0 + + src.locked = 1 + playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/unlock(var/forced=0) + if(!src.locked) + return + + if (!forced) + if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return + + src.locked = 0 + playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/allowed(mob/M) + if(locked) + return 0 + return ..(M) + +/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) + ..() + + //if assembly is given, create the new door from the assembly + if (assembly && istype(assembly)) + assembly_type = assembly.type + + electronics = assembly.electronics + electronics.loc = src + + //update the door's access to match the electronics' + secured_wires = electronics.secure + if(electronics.one_access) + LAZYCLEARLIST(req_access) + req_one_access = src.electronics.conf_access + else + LAZYCLEARLIST(req_one_access) + req_access = src.electronics.conf_access + + //get the name from the assembly + if(assembly.created_name) + name = assembly.created_name + else + name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" + + //get the dir from the assembly + set_dir(assembly.dir) + + //wires + var/turf/T = get_turf(newloc) + if(T && (T.z in using_map.admin_levels)) + secured_wires = 1 + if (secured_wires) + wires = new/datum/wires/airlock/secure(src) + else + wires = new/datum/wires/airlock(src) + +/obj/machinery/door/airlock/Initialize() + if(src.closeOtherId != null) + for (var/obj/machinery/door/airlock/A in machines) + if(A.closeOtherId == src.closeOtherId && A != src) + src.closeOther = A + break + name = "\improper [name]" + . = ..() + +/obj/machinery/door/airlock/Destroy() + qdel(wires) + wires = null + return ..() + +// Most doors will never be deconstructed over the course of a round, +// so as an optimization defer the creation of electronics until +// the airlock is deconstructed +/obj/machinery/door/airlock/proc/create_electronics() + //create new electronics + if (secured_wires) + src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) + else + src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) + + //update the electronics to match the door's access + if(LAZYLEN(req_access)) + electronics.conf_access = req_access + else if (LAZYLEN(req_one_access)) + electronics.conf_access = req_one_access + electronics.one_access = 1 + +/obj/machinery/door/airlock/emp_act(var/severity) + if(prob(40/severity)) + var/duration = world.time + SecondsToTicks(30 / severity) + if(duration > electrified_until) + electrify(duration) + ..() + +/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason + ..() + if(stat & NOPOWER) + // If we lost power, disable electrification + // Keeping door lights on, runs on internal battery or something. + electrified_until = 0 + update_icon() + +/obj/machinery/door/airlock/proc/prison_open() + if(arePowerSystemsOn()) + src.unlock() + src.open() + src.lock() + return + + +/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + // Old RCD code made it cost 10 units to decon an airlock. + // Now the new one costs ten "sheets". + return list( + RCD_VALUE_MODE = RCD_DECONSTRUCT, + RCD_VALUE_DELAY = 5 SECONDS, + RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 + ) + return FALSE + +/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + to_chat(user, span("notice", "You deconstruct \the [src].")) + qdel(src) + return TRUE + return FALSE +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm index 0cc5868762..b42de46ee4 100644 --- a/code/game/objects/effects/alien/aliens.dm +++ b/code/game/objects/effects/alien/aliens.dm @@ -203,6 +203,7 @@ layer = ABOVE_TURF_LAYER+0.01 light_range = NODERANGE light_on = TRUE + light_color = "#673972" var/node_range = NODERANGE var/set_color = "#321D37" @@ -421,4 +422,135 @@ visible_message("[src.target] begins to crumble under the acid!") spawn(rand(150, 200)) tick() +<<<<<<< HEAD //CHOMPedit old eggs removed +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +/* + * Egg + */ +/var/const //for the status var + BURST = 0 + BURSTING = 1 + GROWING = 2 + GROWN = 3 + + MIN_GROWTH_TIME = 1800 //time it takes to grow a hugger + MAX_GROWTH_TIME = 3000 + +/obj/effect/alien/egg + desc = "It looks like a weird egg" + name = "egg" +// icon_state = "egg_growing" // So the egg looks 'grown', even though it's not. + icon_state = "egg" + density = FALSE + anchored = TRUE + + var/health = 100 + var/status = BURST //can be GROWING, GROWN or BURST; all mutually exclusive + +/obj/effect/alien/egg/New() +/* + if(config.aliens_allowed) + ..() + spawn(rand(MIN_GROWTH_TIME,MAX_GROWTH_TIME)) + Grow() + else + qdel(src) +*/ +/obj/effect/alien/egg/attack_hand(user as mob) + + var/mob/living/carbon/M = user + if(!istype(M) || !(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs)) + return attack_hand(user) + + switch(status) + if(BURST) + to_chat(user, "You clear the hatched egg.") + qdel(src) + return +/* if(GROWING) + to_chat(user, "The child is not developed yet.") + return + if(GROWN) + to_chat(user, "You retrieve the child.") + Burst(0) + return + +/obj/effect/alien/egg/proc/GetFacehugger() // Commented out for future edit. + return locate(/obj/item/clothing/mask/facehugger) in contents + +/obj/effect/alien/egg/proc/Grow() + icon_state = "egg" +// status = GROWN + status = BURST +// new /obj/item/clothing/mask/facehugger(src) + return +*/ +/obj/effect/alien/egg/proc/Burst(var/kill = 1) //drops and kills the hugger if any is remaining + if(status == GROWN || status == GROWING) +// var/obj/item/clothing/mask/facehugger/child = GetFacehugger() + icon_state = "egg_hatched" +/* flick("egg_opening", src) + status = BURSTING + spawn(15) + status = BURST + child.loc = get_turf(src) + + if(kill && istype(child)) + child.Die() + else + for(var/mob/M in range(1,src)) + if(CanHug(M)) + child.Attach(M) + break +*/ +/obj/effect/alien/egg/bullet_act(var/obj/item/projectile/Proj) + health -= Proj.damage + ..() + healthcheck() + return + +/obj/effect/alien/egg/attack_generic(var/mob/user, var/damage, var/attack_verb) + visible_message("[user] [attack_verb] the [src]!") + user.do_attack_animation(src) + health -= damage + healthcheck() + return + +/obj/effect/alien/egg/take_damage(var/damage) + health -= damage + healthcheck() + return + + +/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user) + if(health <= 0) + return + if(LAZYLEN(W.attack_verb)) + src.visible_message("\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") + else + src.visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]") + var/damage = W.force / 4.0 + + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + + if(WT.remove_fuel(0, user)) + damage = 15 + playsound(src, 'sound/items/Welder.ogg', 100, 1) + + src.health -= damage + src.healthcheck() + + +/obj/effect/alien/egg/proc/healthcheck() + if(health <= 0) + Burst() + +/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 500 + T0C) + health -= 5 + healthcheck() +======= +//Xenomorph Effect egg removed, replaced with Structure Egg. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/code/game/objects/structures/alien/alien egg.dm b/code/game/objects/structures/alien/alien egg.dm new file mode 100644 index 0000000000..90319e8a83 --- /dev/null +++ b/code/game/objects/structures/alien/alien egg.dm @@ -0,0 +1,96 @@ +#define MAX_PROGRESS 100 + +/obj/structure/alien/egg //Gurg Addition, working alien egg structure. + desc = "It looks like a weird egg." + name = "egg" + icon_state = "egg_growing" + density = 0 + anchored = 1 + var/progress = 0 + +/obj/structure/alien/egg/Initialize() + . = ..() + START_PROCESSING(SSobj, src) + +/obj/structure/alien/egg/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/structure/alien/egg/CanUseTopic(var/mob/user) + return isobserver(user) ? STATUS_INTERACTIVE : STATUS_CLOSE + +/obj/structure/alien/egg/Topic(href, href_list) + if(..()) + return 1 + + if(href_list["spawn"]) + attack_ghost(usr) + +/obj/structure/alien/egg/process() + progress++ + if(progress >= MAX_PROGRESS) + for(var/mob/observer/dead/O in observer_mob_list) + if(O.client) + to_chat(O, "An alien is ready to hatch at [get_area(src.loc)]! (spawn)") + STOP_PROCESSING(SSobj, src) + update_icon() + +/obj/structure/alien/egg/update_icon() + if(progress == -1) + icon_state = "egg_hatched" + else if(progress < MAX_PROGRESS) + icon_state = "egg_growing" + else + icon_state = "egg" + +/obj/structure/alien/egg/attack_ghost(var/mob/observer/ghost/user) + if(progress == -1) //Egg has been hatched. + return + + if(progress < MAX_PROGRESS) + to_chat(user, "\The [src] has not yet matured.") + return + + if(!user.MayRespawn(1)) + return + + // Check for bans properly. + if(jobban_isbanned(user, "Xenomorph")) + to_chat(user, "You are banned from playing a Xenomorph.") + return + + var/confirm = alert(user, "Are you sure you want to join as a Xenomorph larva?", "Become Larva", "No", "Yes") + + if(!src || confirm != "Yes") + return + + if(!user || !user.ckey) + return + + if(progress == -1) //Egg has been hatched. + to_chat(user, "Too slow...") + return + + flick("egg_opening",src) + progress = -1 // No harvesting pls. + sleep(5) + + if(!src || !user) + visible_message("\The [src] writhes with internal motion, but nothing comes out.") + progress = MAX_PROGRESS // Someone else can have a go. + return // What a pain. + + // Create the mob, transfer over key. + var/mob/living/carbon/alien/larva/larva = new(get_turf(src)) + larva.ckey = user.ckey + spawn(-1) + if(user) qdel(user) // Remove the keyless ghost if it exists. + + visible_message("\The [src] splits open with a wet slithering noise, and \the [larva] writhes free!") + + // Turn us into a hatched egg. + name = "hatched alien egg" + desc += " This one has hatched." + update_icon() + +#undef MAX_PROGRESS diff --git a/code/game/objects/structures/alien/alien.dm b/code/game/objects/structures/alien/alien.dm new file mode 100644 index 0000000000..31a609e5a5 --- /dev/null +++ b/code/game/objects/structures/alien/alien.dm @@ -0,0 +1,62 @@ +/obj/structure/alien //Gurg Addition, framework for alien eggs. + name = "alien thing" + desc = "There's something alien about this." + icon = 'icons/mob/alien.dmi' + layer = ABOVE_JUNK_LAYER + var/health = 50 + +/obj/structure/alien/proc/healthcheck() + if(health <=0) + set_density(0) + qdel(src) + return + +/obj/structure/alien/bullet_act(var/obj/item/projectile/Proj) + health -= Proj.damage + ..() + healthcheck() + return + +/obj/structure/alien/ex_act(severity) + switch(severity) + if(1.0) + health-=50 + if(2.0) + health-=50 + if(3.0) + if (prob(50)) + health-=50 + else + health-=25 + healthcheck() + return + +/obj/structure/alien/hitby(AM as mob|obj) + ..() + visible_message("\The [src] was hit by \the [AM].") + var/tforce = 0 + if(ismob(AM)) + tforce = 10 + else + tforce = AM:throwforce + playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) + health = max(0, health - tforce) + healthcheck() + ..() + return + +/obj/structure/alien/attack_generic() + attack_hand(usr) + +/obj/structure/alien/attackby(var/obj/item/weapon/W, var/mob/user) + health = max(0, health - W.force) + playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) + healthcheck() + ..() + return + +/obj/structure/alien/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group) return 0 + if(istype(mover) && mover.checkpass(PASSGLASS)) + return !opacity + return !density diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index a90553b2e5..3bd95ddf7f 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -43,10 +43,18 @@ /mob/living/carbon/alien/u_equip(obj/item/W as obj) return +<<<<<<< HEAD /*/mob/living/carbon/alien/Stat() //CHOMPedit. Commented out because this doesn't work properly for larva, when it should. Will probably give Diona their own kind of they don't have one ..() stat(null, "Progress: [amount_grown]/[max_grown]") */ +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +/mob/living/carbon/alien/Stat() + ..() + stat(null, "Progress: [amount_grown]/[max_grown]") + +======= +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul /mob/living/carbon/alien/restrained() return 0 diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index 1fd40b4311..6a8d0864f4 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -1,3 +1,8 @@ +/mob/living/carbon/alien/diona/Stat() //Specified where progression is at, doesn't work right for some things in carbon/alien + . = ..() + if(. && statpanel("Status")) + stat("Growth", "[round(amount_grown)]/[max_grown]") + /mob/living/carbon/alien/diona/confirm_evolution() if(!is_alien_whitelisted(src, GLOB.all_species[SPECIES_DIONA])) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 6582b5f6a8..18c5c34c7f 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -5,10 +5,23 @@ speak_emote = list("hisses") icon_state = "larva" language = "Hivemind" +<<<<<<< HEAD maxHealth = 50 //CHOMPedit. Larva can gain a little more health on weeds/phoron to make them just a little harder to kill health = 25 +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + maxHealth = 25 + health = 25 +======= + maxHealth = 50 + health = 50 +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul faction = "xeno" +<<<<<<< HEAD max_grown = 325 //CHOMPedit. Since xenos can reproduce without people now I decided to drastically increase the growth time +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +======= + max_grown = 325 //Increase larva growth time due to not needing hosts. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul /mob/living/carbon/alien/larva/Initialize() . = ..() diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm index 21cd101f50..9be7ef6b9e 100644 --- a/code/modules/mob/living/carbon/alien/larva/progression.dm +++ b/code/modules/mob/living/carbon/alien/larva/progression.dm @@ -1,8 +1,17 @@ +<<<<<<< HEAD /mob/living/carbon/alien/larva/Stat() //CHOMPedit. Oh thank god we can see how close we are to full grown now . = ..() if(. && statpanel("Status")) stat("Growth", "[round(amount_grown)]/[max_grown]") +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +======= +/mob/living/carbon/alien/larva/Stat() //Specified where progression stats come from, because for some reason it doesn't work right in carbon/alien + . = ..() + if(. && statpanel("Status")) + stat("Growth", "[round(amount_grown)]/[max_grown]") + +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul /mob/living/carbon/alien/larva/confirm_evolution() to_chat(src, "You are growing into a beautiful alien! It is time to choose a caste.") diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 7eee938239..acc045e9e4 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -28,7 +28,13 @@ var/rads = radiation/25 radiation -= rads +<<<<<<< HEAD /*adjust_nutrition(rads)*/ //CHOMPedit. Commented out to prevent xeno/diona obesity, it was a real problem +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + adjust_nutrition(rads) +======= + //adjust_nutrition(rads) //Commented out to prevent alien obesity. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul heal_overall_damage(rads,rads) adjustOxyLoss(-(rads)) adjustToxLoss(-(rads)) diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 3b38201206..5e2aaafb8e 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -64,11 +64,11 @@ /datum/unarmed_attack/claws/strong/xeno attack_verb = list("slashed", "gouged", "stabbed") - damage = 10 + damage = 15 /datum/unarmed_attack/claws/strong/xeno/queen attack_verb = list("slashed", "gouged", "stabbed", "gored") - damage = 15 + damage = 20 /datum/unarmed_attack/bite/strong attack_name = "strong bite" @@ -77,7 +77,7 @@ shredding = 1 /datum/unarmed_attack/bite/strong/xeno - damage = 10 + damage = 15 /datum/unarmed_attack/slime_glomp attack_name = "glomp" diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm deleted file mode 100644 index 88efb6d355..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm +++ /dev/null @@ -1,161 +0,0 @@ -// This is to replace the previous datum/disease/alien_embryo for slightly improved handling and maintainability -// It functions almost identically (see code/datums/diseases/alien_embryo.dm) - -/* -/obj/item/alien_embryo //Commented out as reference for future reproduction methods, or addition later. - name = "alien embryo" - desc = "All slimy and yuck." - icon = 'icons/mob/alien.dmi' - icon_state = "larva0_dead" - var/mob/living/affected_mob - var/stage = 0 - -/obj/item/alien_embryo/New() - if(istype(loc, /mob/living)) - affected_mob = loc - START_PROCESSING(SSobj, src) - spawn(0) - AddInfectionImages(affected_mob) - else - qdel(src) - -/obj/item/alien_embryo/Destroy() - if(affected_mob) - affected_mob.status_flags &= ~(XENO_HOST) - spawn(0) - RemoveInfectionImages(affected_mob) - ..() - -/obj/item/alien_embryo/process() - if(!affected_mob) return - if(loc != affected_mob) - affected_mob.status_flags &= ~(XENO_HOST) - STOP_PROCESSING(SSobj, src) - spawn(0) - RemoveInfectionImages(affected_mob) - affected_mob = null - return - - if(stage < 5 && prob(3)) - stage++ - spawn(0) - RefreshInfectionImage(affected_mob) - - switch(stage) - if(2, 3) - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - to_chat(affected_mob, "Your throat feels sore.") - if(prob(1)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") - if(4) - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(2)) - to_chat(affected_mob, " Your muscles ache.") - if(prob(20)) - affected_mob.take_organ_damage(1) - if(prob(2)) - to_chat(affected_mob, "Your stomach hurts.") - if(prob(20)) - affected_mob.adjustToxLoss(1) - affected_mob.updatehealth() - if(5) - to_chat(affected_mob, "You feel something tearing its way out of your stomach...") - affected_mob.adjustToxLoss(10) - affected_mob.updatehealth() - if(prob(50)) - AttemptGrow() - -/obj/item/alien_embryo/proc/AttemptGrow(var/gib_on_success = 1) - var/list/candidates = get_alien_candidates() - var/picked = null - - // To stop clientless larva, we will check that our host has a client - // if we find no ghosts to become the alien. If the host has a client - // he will become the alien but if he doesn't then we will set the stage - // to 2, so we don't do a process heavy check everytime. - - if(candidates.len) - picked = pick(candidates) - else if(affected_mob.client) - picked = affected_mob.key - else - stage = 4 // Let's try again later. - return - - if(affected_mob.lying) - affected_mob.add_overlay("burst_lie") - else - affected_mob.add_overlay("burst_stand") - spawn(6) - var/mob/living/carbon/alien/larva/new_xeno = new(affected_mob.loc) - new_xeno.key = picked - new_xeno << sound('sound/voice/hiss5.ogg',0,0,0,100) //To get the player's attention - if(gib_on_success) - affected_mob.gib() - qdel(src) - -/*---------------------------------------- -Proc: RefreshInfectionImage() -Des: Removes all infection images from aliens and places an infection image on all infected mobs for aliens. -----------------------------------------*/ -/obj/item/alien_embryo/proc/RefreshInfectionImage() - - for(var/mob/living/carbon/alien in player_list) - - if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) - continue - - if(alien.client) - for(var/image/I in alien.client.images) - if(dd_hasprefix_case(I.icon_state, "infected")) - qdel(I) - for(var/mob/living/L in mob_list) - if(iscorgi(L) || iscarbon(L)) - if(L.status_flags & XENO_HOST) - var/I = image('icons/mob/alien.dmi', loc = L, icon_state = "infected[stage]") - alien.client.images += I - -/*---------------------------------------- -Proc: AddInfectionImages(C) -Des: Checks if the passed mob (C) is infected with the alien egg, then gives each alien client an infected image at C. -----------------------------------------*/ -/obj/item/alien_embryo/proc/AddInfectionImages(var/mob/living/C) - if(C) - - for(var/mob/living/carbon/alien in player_list) - - if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) - continue - - if(alien.client) - if(C.status_flags & XENO_HOST) - var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[stage]") - alien.client.images += I - -/*---------------------------------------- -Proc: RemoveInfectionImage(C) -Des: Removes the alien infection image from all aliens in the world located in passed mob (C). -----------------------------------------*/ - -/obj/item/alien_embryo/proc/RemoveInfectionImages(var/mob/living/C) - - if(C) - - for(var/mob/living/carbon/alien in player_list) - - if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) - continue - - if(alien.client) - for(var/image/I in alien.client.images) - if(I.loc == C) - if(dd_hasprefix_case(I.icon_state, "infected")) - qdel(I) -*/ 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 262c5bd732..142d91fb13 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 @@ -79,8 +79,16 @@ // Queen verbs. /mob/living/carbon/human/proc/lay_egg() +<<<<<<< HEAD set name = "Lay Egg (200)" //CHOMPedit changed number value set desc = "Lay an egg that hatch into larva." //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + set name = "Lay Egg (75)" + set desc = "Lay an egg to produce huggers to impregnate prey with." +======= + set name = "Lay Egg (200)" + set desc = "Lay an egg to produce huggers to impregnate prey with." +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul set category = "Abilities" if(!config.aliens_allowed) @@ -88,13 +96,31 @@ verbs -= /mob/living/carbon/human/proc/lay_egg return +<<<<<<< HEAD if(locate(/obj/structure/alien/egg) in get_turf(src)) //CHOMPedit. Changed from obj/effect to obj/structure +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + if(locate(/obj/effect/alien/egg) in get_turf(src)) +======= + if(locate(/obj/structure/alien/egg) in get_turf(src)) +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul to_chat(src, "There's already an egg here.") return +<<<<<<< HEAD if(check_alien_ability(200,1,O_EGG)) //CHOMPedit changed plasma cost from 75 to 200 +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + if(check_alien_ability(75,1,O_EGG)) +======= + if(check_alien_ability(200,1,O_EGG)) +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul visible_message("[src] has laid an egg!") +<<<<<<< HEAD new /obj/structure/alien/egg(loc) //CHOMPedit. Changed from obj/effect to obj/structure +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + new /obj/effect/alien/egg(loc) +======= + new /obj/structure/alien/egg(loc) +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul return @@ -144,7 +170,7 @@ P.firer = src P.old_style_target(A) P.fire() - playsound(src, 'sound/weapons/pierce.ogg', 25, 0) + playsound(src, 'sound/weapons/alien_spitacid.ogg', 25, 0) /mob/living/carbon/human/proc/corrosive_acid(O as obj|turf in oview(1)) //If they right click to corrode, an error will flash if its an invalid target./N set name = "Corrosive Acid (200)" @@ -329,7 +355,13 @@ /mob/living/carbon/human/proc/gut() set category = "Abilities" +<<<<<<< HEAD set name = "Slaughter" //CHOMPedit renamed Gut to Slaughter so its more obvious what it does +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + set name = "Gut" +======= + set name = "Slaughter" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul set desc = "While grabbing someone aggressively, rip their guts out or tear them apart." if(last_special > world.time) @@ -345,7 +377,13 @@ return if(G.state < GRAB_AGGRESSIVE) +<<<<<<< HEAD to_chat(src, "You must have an aggressive grab to slaughter your prey!") //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + to_chat(src, "You must have an aggressive grab to gut your prey!") +======= + to_chat(src, "You must have an aggressive grab to slaughter your prey!") +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul return last_special = world.time + 50 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index b01849f4db..9f50a7177f 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -25,8 +25,16 @@ siemens_coefficient = 0 gluttonous = 2 +<<<<<<< HEAD brute_mod = 0.65 //CHOMPedit. Edited brute vulnerability burn_mod = 1.50 //CHOMPedit. Edited burn vulnerability +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + brute_mod = 0.5 // Hardened carapace. + burn_mod = 2 // Weak to fire. +======= + brute_mod = 0.6 // Hardened carapace. + burn_mod = 1.75 // Weak to fire. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul warning_low_pressure = 50 hazard_low_pressure = -1 @@ -44,7 +52,13 @@ flesh_color = "#282846" gibbed_anim = "gibbed-a" dusted_anim = "dust-a" +<<<<<<< HEAD death_message = "lets out a piercing multi-toned screech, green blood bubbling from its maw as it ceases." //CHOMPedit. Changed message. +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + death_message = "lets out a waning guttural screech, green blood bubbling from its maw." +======= + death_message = "lets out a guttural screech, green blood bubbling from its maw." +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul death_sound = 'sound/voice/hiss6.ogg' damage_overlays = null //CHOMPedit. They don't have overlays yet, if someone wants to add some then be my guest @@ -52,13 +66,22 @@ blood_mask = null //CHOMPedit. speech_sounds = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') - speech_chance = 100 + speech_chance = 75 virus_immune = 1 breath_type = null poison_type = null +<<<<<<< HEAD +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + vision_flags = SEE_SELF|SEE_MOBS + +======= + vision_flags = SEE_SELF|SEE_MOBS|SEE_TURFS + darksight = 10 + +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul has_organ = list( O_HEART = /obj/item/organ/internal/heart, O_BRAIN = /obj/item/organ/internal/brain/xeno, @@ -96,7 +119,13 @@ return SPECIES_GENA //CHOMPedit /datum/species/xenos/get_random_name() +<<<<<<< HEAD return "Genaprawn [caste_name] ([alien_number])" //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + return "alien [caste_name] ([alien_number])" +======= + return "xenomorph [caste_name] ([alien_number])" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul /datum/species/xenos/can_understand(var/mob/other) if(istype(other, /mob/living/carbon/alien/larva)) @@ -114,7 +143,13 @@ H.mind.special_role = "Alien" alien_number++ //Keep track of how many aliens we've had so far. +<<<<<<< HEAD H.real_name = "Genaprawn [caste_name] ([alien_number])" //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + H.real_name = "alien [caste_name] ([alien_number])" +======= + H.real_name = "xenomorph [caste_name] ([alien_number])" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul H.name = H.real_name ..() @@ -167,7 +202,20 @@ return 1 return 0 +<<<<<<< HEAD //CHOMPedit removed infection images, since they do not exist anymore. +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +/* +/datum/species/xenos/handle_login_special(var/mob/living/carbon/human/H) + H.AddInfectionImages() + ..() + +/datum/species/xenos/handle_logout_special(var/mob/living/carbon/human/H) + H.RemoveInfectionImages() + ..() +*/ +======= +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul /datum/species/xenos/drone name = SPECIES_GENA_DRONE //CHOMPedit @@ -213,7 +261,7 @@ name = SPECIES_GENA_HUNTER //CHOMPedit weeds_plasma_rate = 5 caste_name = "hunter" - slowdown = -2 + slowdown = -1 total_health = 150 tail = null //CHOMPedit. Set to null @@ -273,13 +321,29 @@ /datum/species/xenos/queen +<<<<<<< HEAD name = SPECIES_GENA_QUEEN //CHOMPedit total_health = 300 //CHOMPedit. Queen is chonk +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + name = SPECIES_XENO_QUEEN + total_health = 250 +======= + name = SPECIES_XENO_QUEEN + total_health = 300 +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul weeds_heal_rate = 5 weeds_plasma_rate = 20 caste_name = "queen" +<<<<<<< HEAD slowdown = 4 tail = null //CHOMPedit. Set to null +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + slowdown = 4 + tail = "xenos_queen_tail" +======= + slowdown = 3 + tail = "xenos_queen_tail" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul rarity_value = 10 icobase = 'icons/mob/human_races/xenos/r_xenos_queen.dmi' @@ -317,10 +381,22 @@ ..() // Make sure only one official queen exists at any point. if(!alien_queen_exists(1,H)) +<<<<<<< HEAD H.real_name = "Genaprawn queen ([alien_number])" //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + H.real_name = "alien queen ([alien_number])" +======= + H.real_name = "xenomorph queen ([alien_number])" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul H.name = H.real_name else +<<<<<<< HEAD H.real_name = "Genaprawn princess ([alien_number])" //CHOMPedit +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + H.real_name = "alien princess ([alien_number])" +======= + H.real_name = "xenomorph princess ([alien_number])" +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul H.name = H.real_name /datum/hud_data/alien @@ -341,4 +417,10 @@ gear = list( "storage1" = list("loc" = ui_storage1, "name" = "Left Pocket", "slot" = slot_l_store, "state" = "pocket"), "storage2" = list("loc" = ui_storage2, "name" = "Right Pocket", "slot" = slot_r_store, "state" = "pocket"), +<<<<<<< HEAD ) //CHOMPedit removed head and outer layer item slots, since they caused a slew of problems with xenomorphs +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + ) +======= + ) //Removed hat and outer slots, it caused too many problems that required admin intervention. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm index 7330c80c38..be18629fa0 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm @@ -25,7 +25,43 @@ /mob/living/carbon/human/xqueen/New(var/new_loc) h_style = "Bald" faction = "xeno" +<<<<<<< HEAD ..(new_loc, SPECIES_GENA_QUEEN) //CHOMPedit //CHOMPedit. Removed AddInfectionImages code, due to it being commented out and not used +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul + ..(new_loc, SPECIES_XENO_QUEEN) + +// I feel like we should generalize/condense down all the various icon-rendering antag procs. +/*---------------------------------------- +Proc: AddInfectionImages() +Des: Gives the client of the alien an image on each infected mob. +----------------------------------------*/ +/* +/mob/living/carbon/human/proc/AddInfectionImages() + if (client) + for (var/mob/living/C in mob_list) + if(C.status_flags & XENO_HOST) + var/obj/item/alien_embryo/A = locate() in C + var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]") + client.images += I + return +*/ +/*---------------------------------------- +Proc: RemoveInfectionImages() +Des: Removes all infected images from the alien. +----------------------------------------*/ +/* +/mob/living/carbon/human/proc/RemoveInfectionImages() + if (client) + for(var/image/I in client.images) + if(dd_hasprefix_case(I.icon_state, "infected")) + qdel(I) + return +*/ +======= + ..(new_loc, SPECIES_XENO_QUEEN) + +//Removed AddInfectionImages, no longer required. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 91896ed393..bb05ff47cb 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -144,17 +144,21 @@ agony = 10 check_armour = "bio" armor_penetration = 25 // It's acid + hitsound_wall = 'sound/weapons/effects/alien_spit_wall.ogg' + hitsound = 'sound/weapons/effects/alien_spit_wall.ogg' combustion = FALSE /obj/item/projectile/energy/neurotoxin name = "neurotoxic spit" icon_state = "neurotoxin" - damage = 5 + damage = 0 damage_type = BIOACID agony = 60 //CHOMPedit lowered agony damage check_armour = "bio" armor_penetration = 25 // It's acid-based + hitsound_wall = 'sound/weapons/effects/alien_spit_wall.ogg' + hitsound = 'sound/weapons/effects/alien_spit_wall.ogg' combustion = FALSE diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 063a313b5b..62d39f3c48 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -14,7 +14,12 @@ return 0 return affected && affected.open == (affected.encased ? 3 : 2) +<<<<<<< HEAD //CHOMPedit. Removed unused embryo surgery +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +======= +//Removed unused Embryo Surgery, derelict and broken. +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul ////////////////////////////////////////////////////////////////// // CHEST INTERNAL ORGAN SURGERY // diff --git a/maps/submaps/pois_vr/debris_field/derelict.dmm b/maps/submaps/pois_vr/debris_field/derelict.dmm index c1dcd09022..cbc325c351 100644 --- a/maps/submaps/pois_vr/debris_field/derelict.dmm +++ b/maps/submaps/pois_vr/debris_field/derelict.dmm @@ -870,7 +870,6 @@ /turf/simulated/floor/tiled/dark, /area/submap/debrisfield/derelict/interior) "cF" = ( -/obj/effect/alien/egg, /obj/effect/alien/weeds, /turf/simulated/floor/tiled/dark, /area/submap/debrisfield/derelict/interior) diff --git a/maps/submaps/pois_vr/debris_field/new_escapepod_xeno.dmm b/maps/submaps/pois_vr/debris_field/new_escapepod_xeno.dmm index ed2b127f4f..5042974f3c 100644 --- a/maps/submaps/pois_vr/debris_field/new_escapepod_xeno.dmm +++ b/maps/submaps/pois_vr/debris_field/new_escapepod_xeno.dmm @@ -66,7 +66,6 @@ /area/submap/debrisfield/misc_debris) "W" = ( /obj/effect/alien/weeds, -/obj/effect/alien/egg, /turf/simulated/floor/airless, /area/submap/debrisfield/misc_debris) "X" = ( diff --git a/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm b/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm index 5e8267e0fe..151f08fc28 100644 --- a/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm +++ b/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm @@ -1,3 +1,4 @@ +<<<<<<< HEAD "aa" = (/turf/template_noop,/area/template_noop) "ab" = (/turf/simulated/shuttle/wall/alien,/area/submap/cave/crashed_ufo_frigate) "ac" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) @@ -152,3 +153,314 @@ aaaaaabGaxaxadbGaaaaabababacapapapcgapcgapalalalabababaaaaaaadadadadadaxbGaaaa aaaaaaaaaaaxaxadadaaaaaaababababakchaHchakababababaaaaaaadadaxaxbGaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaabGadaaaaaaaaaaaaaaaaaaaa "} +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/simulated/shuttle/wall/alien,/area/submap/cave/crashed_ufo_frigate) +"ac" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ad" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"ae" = (/obj/effect/alien/egg,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"af" = (/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ag" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ah" = (/obj/structure/table/alien,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ai" = (/obj/machinery/artifact,/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aj" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/ice,/area/template_noop) +"ak" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"al" = (/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"am" = (/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"an" = (/obj/structure/window/phoronreinforced,/obj/effect/alien/egg,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ao" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ap" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aq" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"ar" = (/obj/effect/alien/weeds/node,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"as" = (/obj/structure/prop/alien/pod/open,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"at" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"au" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"av" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aw" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ax" = (/turf/simulated/floor/outdoors/ice,/area/template_noop) +"ay" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"az" = (/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aA" = (/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aB" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aC" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aD" = (/obj/structure/table/alien,/obj/random/tech_supply/component,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aE" = (/obj/structure/prop/alien/pod/open,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aF" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aG" = (/obj/machinery/vr_sleeper/alien/random_replicant,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aH" = (/obj/structure/prop/alien/pod,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aI" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aJ" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aK" = (/obj/structure/table/alien,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aL" = (/obj/structure/table/alien,/obj/item/clothing/under/psysuit,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aM" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aN" = (/obj/structure/prop/alien/computer/camera/flipped,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aO" = (/obj/structure/simple_door/resin,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aP" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aQ" = (/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aR" = (/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aS" = (/obj/structure/table/alien,/obj/random/tool/alien,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aT" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aU" = (/obj/machinery/replicator,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aV" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/drug_den,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aW" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/under/psysuit,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aX" = (/obj/structure/prop/alien/computer/camera/flipped{icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aY" = (/obj/structure/prop/alien/computer/camera{icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aZ" = (/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ba" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/scientific,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bb" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/nanites,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bc" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/fresh_medicine,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bd" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/viral,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"be" = (/obj/machinery/door/blast/puzzle,/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bf" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bg" = (/obj/structure/prop/lock/projectile,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bh" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/old_medicine,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bi" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bj" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bk" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bl" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/under/psysuit,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bm" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bn" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bo" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bp" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bq" = (/obj/machinery/implantchair,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"br" = (/obj/structure/prop/alien/computer{icon_state = "console-c"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bs" = (/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bt" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bu" = (/obj/structure/loot_pile/surface/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bv" = (/obj/item/weapon/surgical/bone_clamp/alien,/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bw" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bx" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/weapon/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"by" = (/obj/structure/loot_pile/mecha/gygax/dark,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bz" = (/obj/structure/mopbucket,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bA" = (/obj/item/brokenbug,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"bB" = (/mob/living/simple_mob/animal/space/alien/sentinel,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bC" = (/obj/structure/prop/alien/computer/camera/flipped{icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bD" = (/obj/structure/prop/alien/computer/camera{icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bE" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bF" = (/obj/structure/prop/blackbox/xenofrigate,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bG" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"bH" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bI" = (/obj/structure/table/alien,/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bJ" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bK" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bL" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bM" = (/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bN" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bO" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bP" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bQ" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bR" = (/obj/structure/table/alien,/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bS" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bT" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bU" = (/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bV" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bW" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bX" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bY" = (/obj/structure/foamedmetal,/obj/machinery/door/airlock/alien/locked,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bZ" = (/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ca" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cb" = (/obj/structure/prop/alien/power,/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cc" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cd" = (/obj/item/prop/alien/junk,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ce" = (/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"cf" = (/obj/random/tech_supply/component,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cg" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"ch" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo_frigate) + +(1,1,1) = {" +aaaaaaaxbGaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaxaxadaxaxbGaaaaaaaaababababacaeacafaeababababaaaaaaajaxadaaaaadaxajaaaaaa +adbGadadadadaxaxaaaaabababagahababacaiacababacakabababaaaaadaxadadaxaxaaaaaaaa +aaaxaxadadadadaaaaababacalalahahabamamanabacacacacaoababaaaaadbGadadaaaaaaaaaa +aaaaaaadbGadaaaaababaoacacalapapchalalalchapapaqaracasababaaaaaaadadadaxaxadaa +aaaaadadadaaaaababaoacacapapapapatalapapauapapapavalacawababaaaaaaadadadaxajaa +aaadadaxaaaaababaoacayapapapalalchazacaAchaAaBapapaCacacawababaaaaaxadadadaaaa +aaaxaxaaaaababaoacalalapapahaDabababazababababawapapaEacacaBababaaaxadaaaaaaaa +adbGaxaaaaabacacalalapapacaFababaGabababaHabababaIapapaqaAacakabaaajaxaaaaaaaa +aaadaaaaababacacaFapapacacaFabaGacaGabaHalalaJacacacapapacacabababaaaxaaaaaaaa +aaadaaaaabakacacaKapapacacacababaJababawacacchabacaAapapacababaIabaaaaaaaaaaaa +aaaaaaababababaFaFapalalacacaJacacakabaLacaLabababacapapababaIacababaaaaaaaaaa +aaaaaaabaMaNabababalalacacacababaOababaLacaLababababchatchaFalacaPabaaaaaaaaaa +aaaaaaabaFacakacchauchaoacacabaeaQaeabaLacaLabababakapaRabaSalacaPabadaxaaaaaa +aaaaaaabaFacalalapalababaTalababaeabababawababaMaFacapapabahalacaPabadadaaaaaa +aaaaababaFalalapapapacababalaTabababakabababaUacaFacapapatacacababababadaxaaaa +aaaaabaVacapapapapacacakababababacacaWaAacababacacapapapabavababacacabadaxaaaa +aaaaabacapapapapacacacacabababaXacaFaFahalaYababchaRapacabababaZacacabadadadaa +adaaabbaapapacalbbalbcacbdabacacapalalalapapapapbeapacacaIabalalacapchaZadadaa +adaaabalapabababababababababapapapapapapapapapapchaFacbfababbgacapapatacadbAaa +adaaabbhalabbiawabbiapaFabapapaRbjbkacacacaparblabbmacaFabacacapapapchaZadadaa +axaaabalbnbobpacabbiapbqchapalalalaFaFaFacacapalabbfacbmabacapapapalabadadaxaa +axaaabalbnbnbnbrabbibsapatapalagabababababakapapabbtaAbuabalapapalalabadadaxaa +aaadababaFbnapbvababaFaFchapalababbwbxbwababapapabbyacbzabalalapacababadadaaaa +aaaaaaabaFapbBacaYababababapapabbCapapapbDabapapabbEbFbHabalalapacabadaxaaaaaa +aaaaaaabaFapapalalalalababapapabapapaRapapabapapabababababalapapalabadaaaaaaaa +axaaaaabbIaFapapbpalalabacalapbJapbKbLbfapbMapapacabacakbNapapalalabaaaaaaaaaa +axadaaababaFapbnbnacacabagalapbJbOaFapbPbObMapapakabacacbQapapalababaaaaaaaaaa +adbGadaaabbIbRbnapapbSabalalapbTapaRapapalbUapapacabacbVbWapacalabaaaaaaaaaaaa +aaaxaxaaababaFacapapbSababalaRapapapbXalalalaRacababacapapacakababaaaaaaaaaaaa +aaaaaxaaaaabbIaFapapapbSabalapapapapapapapapapacabacapapapacacabaaaaaaaaadadaa +aaaaaaaaaaabababchbYchabababbfbOapapapapapbObfabababchatchabababaaaaaaadbGadaa +aaadaaaaaaaaababbZbZbnapacababaFahalagarcaaFababacapapapacababaaaaaaadadadadaa +aaadaxajaaaaaaababcbbZapapalabababccabccabababacapapapaPababaaaaaaadadadadaaaa +aaadadaxaxbGaaaaababbZapapcdalalabababababacapapapapacababaaaaaaaxaxadadadadaa +aaaaadadadadadaaaaababaPacapapalalchapchceapapalcfaPababaaaaaabGadadadaxaxadaa +aaaaaabGaxaxadbGaaaaabababacapapapcgapcgapalalalabababaaaaaaadadadadadaxbGaaaa +aaaaaaaaaaaxaxadadaaaaaaababababakchaHchakababababaaaaaaadadaxaxbGaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaabGadaaaaaaaaaaaaaaaaaaaa +"} +======= +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/simulated/shuttle/wall/alien,/area/submap/cave/crashed_ufo_frigate) +"ac" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ad" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"ae" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"af" = (/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ag" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ah" = (/obj/structure/table/alien,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ai" = (/obj/machinery/artifact,/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aj" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/ice,/area/template_noop) +"ak" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"al" = (/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"am" = (/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"an" = (/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ao" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ap" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aq" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"ar" = (/obj/effect/alien/weeds/node,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"as" = (/obj/structure/prop/alien/pod/open,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"at" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"au" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"av" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aw" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ax" = (/turf/simulated/floor/outdoors/ice,/area/template_noop) +"ay" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"az" = (/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aA" = (/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aB" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aC" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aD" = (/obj/structure/table/alien,/obj/random/tech_supply/component,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aE" = (/obj/structure/prop/alien/pod/open,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aF" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aG" = (/obj/machinery/vr_sleeper/alien/random_replicant,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aH" = (/obj/structure/prop/alien/pod,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aI" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aJ" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aK" = (/obj/structure/table/alien,/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aL" = (/obj/structure/table/alien,/obj/item/clothing/under/psysuit,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aM" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aN" = (/obj/structure/prop/alien/computer/camera/flipped,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aO" = (/obj/structure/simple_door/resin,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aP" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aQ" = (/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aR" = (/obj/effect/alien/weeds/node,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"aS" = (/obj/structure/table/alien,/obj/random/tool/alien,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aT" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"aU" = (/obj/machinery/replicator,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aV" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/drug_den,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aW" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/under/psysuit,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aX" = (/obj/structure/prop/alien/computer/camera/flipped{icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aY" = (/obj/structure/prop/alien/computer/camera{icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"aZ" = (/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"ba" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/scientific,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bb" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/nanites,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bc" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/fresh_medicine,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bd" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/viral,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"be" = (/obj/machinery/door/blast/puzzle,/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bf" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bg" = (/obj/structure/prop/lock/projectile,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bh" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/old_medicine,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bi" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bj" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bk" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bl" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/under/psysuit,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bm" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bn" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bo" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bp" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bq" = (/obj/machinery/implantchair,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"br" = (/obj/structure/prop/alien/computer{icon_state = "console-c"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bs" = (/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bt" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bu" = (/obj/structure/loot_pile/surface/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bv" = (/obj/item/weapon/surgical/bone_clamp/alien,/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bw" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bx" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/weapon/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"by" = (/obj/structure/loot_pile/mecha/gygax/dark,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bz" = (/obj/structure/mopbucket,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bA" = (/obj/item/brokenbug,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"bB" = (/mob/living/simple_mob/animal/space/alien/sentinel,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bC" = (/obj/structure/prop/alien/computer/camera/flipped{icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bD" = (/obj/structure/prop/alien/computer/camera{icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bE" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bF" = (/obj/structure/prop/blackbox/xenofrigate,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bG" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"bH" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bI" = (/obj/structure/table/alien,/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bJ" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bK" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bL" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bM" = (/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bN" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bO" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bP" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bQ" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bR" = (/obj/structure/table/alien,/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bS" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bT" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bU" = (/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bV" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bW" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bX" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bY" = (/obj/structure/foamedmetal,/obj/machinery/door/airlock/alien/locked,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"bZ" = (/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ca" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cb" = (/obj/structure/prop/alien/power,/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cc" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cd" = (/obj/item/prop/alien/junk,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ce" = (/obj/random/tech_supply/component,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"cf" = (/obj/random/tech_supply/component,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"cg" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"ch" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo_frigate) + +(1,1,1) = {" +aaaaaaaxbGaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaxaxadaxaxbGaaaaaaaaababababacaeacafaeababababaaaaaaajaxadaaaaadaxajaaaaaa +adbGadadadadaxaxaaaaabababagahababacaiacababacakabababaaaaadaxadadaxaxaaaaaaaa +aaaxaxadadadadaaaaababacalalahahabamamanabacacacacaoababaaaaadbGadadaaaaaaaaaa +aaaaaaadbGadaaaaababaoacacalapapchalalalchapapaqaracasababaaaaaaadadadaxaxadaa +aaaaadadadaaaaababaoacacapapapapatalapapauapapapavalacawababaaaaaaadadadaxajaa +aaadadaxaaaaababaoacayapapapalalchazacaAchaAaBapapaCacacawababaaaaaxadadadaaaa +aaaxaxaaaaababaoacalalapapahaDabababazababababawapapaEacacaBababaaaxadaaaaaaaa +adbGaxaaaaabacacalalapapacaFababaGabababaHabababaIapapaqaAacakabaaajaxaaaaaaaa +aaadaaaaababacacaFapapacacaFabaGacaGabaHalalaJacacacapapacacabababaaaxaaaaaaaa +aaadaaaaabakacacaKapapacacacababaJababawacacchabacaAapapacababaIabaaaaaaaaaaaa +aaaaaaababababaFaFapalalacacaJacacakabaLacaLabababacapapababaIacababaaaaaaaaaa +aaaaaaabaMaNabababalalacacacababaOababaLacaLababababchatchaFalacaPabaaaaaaaaaa +aaaaaaabaFacakacchauchaoacacabaeaQaeabaLacaLabababakapaRabaSalacaPabadaxaaaaaa +aaaaaaabaFacalalapalababaTalababaeabababawababaMaFacapapabahalacaPabadadaaaaaa +aaaaababaFalalapapapacababalaTabababakabababaUacaFacapapatacacababababadaxaaaa +aaaaabaVacapapapapacacakababababacacaWaAacababacacapapapabavababacacabadaxaaaa +aaaaabacapapapapacacacacabababaXacaFaFahalaYababchaRapacabababaZacacabadadadaa +adaaabbaapapacalbbalbcacbdabacacapalalalapapapapbeapacacaIabalalacapchaZadadaa +adaaabalapabababababababababapapapapapapapapapapchaFacbfababbgacapapatacadbAaa +adaaabbhalabbiawabbiapaFabapapaRbjbkacacacaparblabbmacaFabacacapapapchaZadadaa +axaaabalbnbobpacabbiapbqchapalalalaFaFaFacacapalabbfacbmabacapapapalabadadaxaa +axaaabalbnbnbnbrabbibsapatapalagabababababakapapabbtaAbuabalapapalalabadadaxaa +aaadababaFbnapbvababaFaFchapalababbwbxbwababapapabbyacbzabalalapacababadadaaaa +aaaaaaabaFapbBacaYababababapapabbCapapapbDabapapabbEbFbHabalalapacabadaxaaaaaa +aaaaaaabaFapapalalalalababapapabapapaRapapabapapabababababalapapalabadaaaaaaaa +axaaaaabbIaFapapbpalalabacalapbJapbKbLbfapbMapapacabacakbNapapalalabaaaaaaaaaa +axadaaababaFapbnbnacacabagalapbJbOaFapbPbObMapapakabacacbQapapalababaaaaaaaaaa +adbGadaaabbIbRbnapapbSabalalapbTapaRapapalbUapapacabacbVbWapacalabaaaaaaaaaaaa +aaaxaxaaababaFacapapbSababalaRapapapbXalalalaRacababacapapacakababaaaaaaaaaaaa +aaaaaxaaaaabbIaFapapapbSabalapapapapapapapapapacabacapapapacacabaaaaaaaaadadaa +aaaaaaaaaaabababchbYchabababbfbOapapapapapbObfabababchatchabababaaaaaaadbGadaa +aaadaaaaaaaaababbZbZbnapacababaFahalagarcaaFababacapapapacababaaaaaaadadadadaa +aaadaxajaaaaaaababcbbZapapalabababccabccabababacapapapaPababaaaaaaadadadadaaaa +aaadadaxaxbGaaaaababbZapapcdalalabababababacapapapapacababaaaaaaaxaxadadadadaa +aaaaadadadadadaaaaababaPacapapalalchapchceapapalcfaPababaaaaaabGadadadaxaxadaa +aaaaaabGaxaxadbGaaaaabababacapapapcgapcgapalalalabababaaaaaaadadadadadaxbGaaaa +aaaaaaaaaaaxaxadadaaaaaaababababakchaHchakababababaaaaaaadadaxaxbGaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaabGadaaaaaaaaaaaaaaaaaaaa +"} +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/maps/submaps/surface_submaps/mountains/vault4.dmm b/maps/submaps/surface_submaps/mountains/vault4.dmm index 6ea85a27e9..bbd4824422 100644 --- a/maps/submaps/surface_submaps/mountains/vault4.dmm +++ b/maps/submaps/surface_submaps/mountains/vault4.dmm @@ -1,3 +1,4 @@ +<<<<<<< HEAD "a" = (/turf/template_noop,/area/template_noop) "b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) "c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) @@ -20,3 +21,50 @@ abbfedbba aabbcbbaa aaaaaaaaa "} +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"f" = (/obj/effect/alien/weeds,/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"g" = (/obj/effect/alien/weeds/node,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"i" = (/obj/effect/alien/weeds,/mob/living/simple_mob/animal/space/alien,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"j" = (/obj/effect/alien/weeds,/obj/effect/alien/egg,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abdeeghba +aciejeica +abhgeedba +abbfedbba +aabbcbbaa +aaaaaaaaa +"} +======= +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"f" = (/obj/effect/alien/weeds,/mob/living/simple_mob/animal/space/alien/drone,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"g" = (/obj/effect/alien/weeds/node,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"i" = (/obj/effect/alien/weeds,/mob/living/simple_mob/animal/space/alien,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"j" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abdeeghba +aciejeica +abhgeedba +abbfedbba +aabbcbbaa +aaaaaaaaa +"} +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/maps/submaps/surface_submaps/mountains/vault5.dmm b/maps/submaps/surface_submaps/mountains/vault5.dmm index 8daebc236f..a98b97c720 100644 --- a/maps/submaps/surface_submaps/mountains/vault5.dmm +++ b/maps/submaps/surface_submaps/mountains/vault5.dmm @@ -1,3 +1,4 @@ +<<<<<<< HEAD "a" = (/turf/template_noop,/area/template_noop) "b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) @@ -21,3 +22,52 @@ abbkegbba aabbcbbaa aaaaaaaaa "} +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/obj/item/weapon/gun/projectile/p92x/large,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"f" = (/obj/effect/alien/weeds,/obj/item/clothing/suit/storage/vest/tactical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"g" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"i" = (/obj/effect/alien/weeds,/obj/effect/alien/egg,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"j" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/queen/empress,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"k" = (/obj/effect/alien/weeds,/obj/item/clothing/head/helmet/tac,/obj/item/weapon/gun/projectile/SVD,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abgeeehba +abiejeiba +abheeegba +abbkegbba +aabbcbbaa +aaaaaaaaa +"} +======= +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/obj/item/weapon/gun/projectile/p92x/large,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"f" = (/obj/effect/alien/weeds,/obj/item/clothing/suit/storage/vest/tactical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"g" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"i" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"j" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/queen/empress,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"k" = (/obj/effect/alien/weeds,/obj/item/clothing/head/helmet/tac,/obj/item/weapon/gun/projectile/SVD,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abgeeehba +abiejeiba +abheeegba +abbkegbba +aabbcbbaa +aaaaaaaaa +"} +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul diff --git a/sound/machines/door/airlock_tear_apart.ogg b/sound/machines/door/airlock_tear_apart.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aba517475f18983da9d6370779da412d2560616d GIT binary patch literal 272254 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

i=)N5{? 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

    cFh*R_mX$iYhina1$T7# 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

    *8@- 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 literal 0 HcmV?d00001 diff --git a/vorestation.dme b/vorestation.dme index a0685571f0..e2ecc486f8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1,3 +1,4 @@ +<<<<<<< HEAD // DM Environment file for baystation12.dme. // All manual changes should be made outside the BEGIN_ and END_ blocks. // New source code should be placed in .dm files: choose File/New --> Code File. @@ -4359,3 +4360,8118 @@ #include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" #include "maps\~map_system\maps.dm" // END_INCLUDE +||||||| parent of eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul +// DM Environment file for baystation12.dme. +// All manual changes should be made outside the BEGIN_ and END_ blocks. + // New source code should be placed in .dm files: choose File/New --> Code File. +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +#define DEBUG +// END_PREFERENCES +// BEGIN_INCLUDE +#include "code\_away_mission_tests.dm" +#include "code\_macros.dm" +#include "code\_macros_vr.dm" +#include "code\_map_tests.dm" +#include "code\_unit_tests.dm" +#include "code\global.dm" +#include "code\global_init.dm" +#include "code\global_vr.dm" +#include "code\hub.dm" +#include "code\names.dm" +#include "code\stylesheet.dm" +#include "code\world.dm" +#include "code\__datastructures\globals.dm" +#include "code\__defines\__513_compatibility.dm" +#include "code\__defines\_compile_options.dm" +#include "code\__defines\_lists.dm" +#include "code\__defines\_planes+layers.dm" +#include "code\__defines\_planes+layers_vr.dm" +#include "code\__defines\_protect.dm" +#include "code\__defines\_tick.dm" +#include "code\__defines\admin.dm" +#include "code\__defines\admin_vr.dm" +#include "code\__defines\appearance.dm" +#include "code\__defines\atmos.dm" +#include "code\__defines\belly_modes_vr.dm" +#include "code\__defines\callbacks.dm" +#include "code\__defines\chemistry.dm" +#include "code\__defines\chemistry_vr.dm" +#include "code\__defines\color.dm" +#include "code\__defines\construction.dm" +#include "code\__defines\crafting.dm" +#include "code\__defines\damage_organs.dm" +#include "code\__defines\dna.dm" +#include "code\__defines\exosuit_fab.dm" +#include "code\__defines\flags.dm" +#include "code\__defines\gamemode.dm" +#include "code\__defines\holomap.dm" +#include "code\__defines\hoses.dm" +#include "code\__defines\input.dm" +#include "code\__defines\instruments.dm" +#include "code\__defines\integrated_circuits.dm" +#include "code\__defines\inventory_sizes.dm" +#include "code\__defines\is_helpers.dm" +#include "code\__defines\items_clothing.dm" +#include "code\__defines\lighting.dm" +#include "code\__defines\lighting_vr.dm" +#include "code\__defines\machinery.dm" +#include "code\__defines\map.dm" +#include "code\__defines\materials.dm" +#include "code\__defines\math.dm" +#include "code\__defines\math_physics.dm" +#include "code\__defines\MC.dm" +#include "code\__defines\misc.dm" +#include "code\__defines\misc_vr.dm" +#include "code\__defines\mobs.dm" +#include "code\__defines\mobs_vr.dm" +#include "code\__defines\nifsoft.dm" +#include "code\__defines\objects.dm" +#include "code\__defines\overmap.dm" +#include "code\__defines\pda.dm" +#include "code\__defines\planets.dm" +#include "code\__defines\planets_vr.dm" +#include "code\__defines\plants.dm" +#include "code\__defines\preferences.dm" +#include "code\__defines\process_scheduler.dm" +#include "code\__defines\qdel.dm" +#include "code\__defines\research.dm" +#include "code\__defines\roguemining_vr.dm" +#include "code\__defines\rust_g.dm" +#include "code\__defines\shields.dm" +#include "code\__defines\shuttle.dm" +#include "code\__defines\sound.dm" +#include "code\__defines\spaceman_dmm.dm" +#include "code\__defines\species_languages.dm" +#include "code\__defines\species_languages_vr.dm" +#include "code\__defines\sprite_sheets.dm" +#include "code\__defines\sqlite_defines.dm" +#include "code\__defines\stat_tracking.dm" +#include "code\__defines\subsystems.dm" +#include "code\__defines\supply.dm" +#include "code\__defines\targeting.dm" +#include "code\__defines\tgs.config.dm" +#include "code\__defines\tgs.dm" +#include "code\__defines\tgui.dm" +#include "code\__defines\tools.dm" +#include "code\__defines\turfs.dm" +#include "code\__defines\typeids.dm" +#include "code\__defines\unit_tests.dm" +#include "code\__defines\vote.dm" +#include "code\__defines\vv.dm" +#include "code\__defines\webhooks.dm" +#include "code\__defines\wires.dm" +#include "code\__defines\xenoarcheaology.dm" +#include "code\__defines\ZAS.dm" +#include "code\__defines\dcs\flags.dm" +#include "code\__defines\dcs\helpers.dm" +#include "code\__defines\dcs\signals.dm" +#include "code\_global_vars\bitfields.dm" +#include "code\_global_vars\misc.dm" +#include "code\_global_vars\mobs.dm" +#include "code\_global_vars\religion.dm" +#include "code\_global_vars\sensitive.dm" +#include "code\_global_vars\typecache.dm" +#include "code\_global_vars\lists\mapping.dm" +#include "code\_global_vars\lists\misc.dm" +#include "code\_global_vars\lists\species.dm" +#include "code\_helpers\_global_objects.dm" +#include "code\_helpers\_global_objects_vr.dm" +#include "code\_helpers\_lists.dm" +#include "code\_helpers\atmospherics.dm" +#include "code\_helpers\atom_movables.dm" +#include "code\_helpers\events.dm" +#include "code\_helpers\files.dm" +#include "code\_helpers\game.dm" +#include "code\_helpers\global_lists.dm" +#include "code\_helpers\global_lists_vr.dm" +#include "code\_helpers\icons.dm" +#include "code\_helpers\icons_vr.dm" +#include "code\_helpers\lighting.dm" +#include "code\_helpers\logging.dm" +#include "code\_helpers\logging_vr.dm" +#include "code\_helpers\matrices.dm" +#include "code\_helpers\mobs.dm" +#include "code\_helpers\names.dm" +#include "code\_helpers\sanitize_values.dm" +#include "code\_helpers\storage.dm" +#include "code\_helpers\string_lists.dm" +#include "code\_helpers\text.dm" +#include "code\_helpers\time.dm" +#include "code\_helpers\turfs.dm" +#include "code\_helpers\type2type.dm" +#include "code\_helpers\unsorted.dm" +#include "code\_helpers\unsorted_vr.dm" +#include "code\_helpers\view.dm" +#include "code\_helpers\visual_filters.dm" +#include "code\_helpers\sorts\__main.dm" +#include "code\_helpers\sorts\comparators.dm" +#include "code\_helpers\sorts\TimSort.dm" +#include "code\_onclick\_defines.dm" +#include "code\_onclick\adjacent.dm" +#include "code\_onclick\ai.dm" +#include "code\_onclick\click.dm" +#include "code\_onclick\cyborg.dm" +#include "code\_onclick\drag_drop.dm" +#include "code\_onclick\item_attack.dm" +#include "code\_onclick\observer.dm" +#include "code\_onclick\other_mobs.dm" +#include "code\_onclick\rig.dm" +#include "code\_onclick\telekinesis.dm" +#include "code\_onclick\hud\_defines.dm" +#include "code\_onclick\hud\_defines_vr.dm" +#include "code\_onclick\hud\ability_screen_objects.dm" +#include "code\_onclick\hud\action.dm" +#include "code\_onclick\hud\ai.dm" +#include "code\_onclick\hud\alert.dm" +#include "code\_onclick\hud\alert_vr.dm" +#include "code\_onclick\hud\alien_larva.dm" +#include "code\_onclick\hud\fullscreen.dm" +#include "code\_onclick\hud\ghost.dm" +#include "code\_onclick\hud\gun_mode.dm" +#include "code\_onclick\hud\hud.dm" +#include "code\_onclick\hud\human.dm" +#include "code\_onclick\hud\map_popups.dm" +#include "code\_onclick\hud\minihud.dm" +#include "code\_onclick\hud\minihud_mapper.dm" +#include "code\_onclick\hud\minihud_rigmech.dm" +#include "code\_onclick\hud\movable_screen_objects.dm" +#include "code\_onclick\hud\other_mobs.dm" +#include "code\_onclick\hud\picture_in_picture.dm" +#include "code\_onclick\hud\radial.dm" +#include "code\_onclick\hud\radial_persistent.dm" +#include "code\_onclick\hud\robot.dm" +#include "code\_onclick\hud\robot_vr.dm" +#include "code\_onclick\hud\screen_objects.dm" +#include "code\_onclick\hud\screen_objects_vr.dm" +#include "code\_onclick\hud\skybox.dm" +#include "code\_onclick\hud\soulcatcher_guest.dm" +#include "code\_onclick\hud\spell_screen_objects.dm" +#include "code\ATMOSPHERICS\_atmos_setup.dm" +#include "code\ATMOSPHERICS\_atmospherics_helpers.dm" +#include "code\ATMOSPHERICS\atmospherics.dm" +#include "code\ATMOSPHERICS\datum_pipe_network.dm" +#include "code\ATMOSPHERICS\datum_pipeline.dm" +#include "code\ATMOSPHERICS\components\portables_connector.dm" +#include "code\ATMOSPHERICS\components\shutoff.dm" +#include "code\ATMOSPHERICS\components\tvalve.dm" +#include "code\ATMOSPHERICS\components\valve.dm" +#include "code\ATMOSPHERICS\components\binary_devices\algae_generator_vr.dm" +#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" +#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" +#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate_vr.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pipeturbine.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" +#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" +#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" +#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" +#include "code\ATMOSPHERICS\components\unary\cold_sink.dm" +#include "code\ATMOSPHERICS\components\unary\heat_exchanger.dm" +#include "code\ATMOSPHERICS\components\unary\heat_source.dm" +#include "code\ATMOSPHERICS\components\unary\outlet_injector.dm" +#include "code\ATMOSPHERICS\components\unary\unary_base.dm" +#include "code\ATMOSPHERICS\components\unary\vent_pump.dm" +#include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm" +#include "code\ATMOSPHERICS\components\unary\vent_scrubber_vr.dm" +#include "code\ATMOSPHERICS\pipes\cap.dm" +#include "code\ATMOSPHERICS\pipes\he_pipes.dm" +#include "code\ATMOSPHERICS\pipes\he_pipes_vr.dm" +#include "code\ATMOSPHERICS\pipes\manifold.dm" +#include "code\ATMOSPHERICS\pipes\manifold4w.dm" +#include "code\ATMOSPHERICS\pipes\pipe_base.dm" +#include "code\ATMOSPHERICS\pipes\pipe_base_vr.dm" +#include "code\ATMOSPHERICS\pipes\simple.dm" +#include "code\ATMOSPHERICS\pipes\tank.dm" +#include "code\ATMOSPHERICS\pipes\tank_vr.dm" +#include "code\ATMOSPHERICS\pipes\universal.dm" +#include "code\ATMOSPHERICS\pipes\vent.dm" +#include "code\controllers\autotransfer.dm" +#include "code\controllers\communications.dm" +#include "code\controllers\configuration.dm" +#include "code\controllers\configuration_vr.dm" +#include "code\controllers\controller.dm" +#include "code\controllers\emergency_shuttle_controller.dm" +#include "code\controllers\failsafe.dm" +#include "code\controllers\globals.dm" +#include "code\controllers\hooks-defs.dm" +#include "code\controllers\hooks.dm" +#include "code\controllers\master.dm" +#include "code\controllers\master_controller.dm" +#include "code\controllers\subsystem.dm" +#include "code\controllers\verbs.dm" +#include "code\controllers\observer_listener\atom\observer.dm" +#include "code\controllers\subsystems\ai.dm" +#include "code\controllers\subsystems\aifast.dm" +#include "code\controllers\subsystems\air.dm" +#include "code\controllers\subsystems\airflow.dm" +#include "code\controllers\subsystems\alarm.dm" +#include "code\controllers\subsystems\assets.dm" +#include "code\controllers\subsystems\atoms.dm" +#include "code\controllers\subsystems\character_setup.dm" +#include "code\controllers\subsystems\chat.dm" +#include "code\controllers\subsystems\chemistry.dm" +#include "code\controllers\subsystems\circuits.dm" +#include "code\controllers\subsystems\dcs.dm" +#include "code\controllers\subsystems\events.dm" +#include "code\controllers\subsystems\garbage.dm" +#include "code\controllers\subsystems\holomaps.dm" +#include "code\controllers\subsystems\inactivity.dm" +#include "code\controllers\subsystems\input.dm" +#include "code\controllers\subsystems\job.dm" +#include "code\controllers\subsystems\lighting.dm" +#include "code\controllers\subsystems\machines.dm" +#include "code\controllers\subsystems\mapping.dm" +#include "code\controllers\subsystems\media_tracks.dm" +#include "code\controllers\subsystems\mobs.dm" +#include "code\controllers\subsystems\nightshift.dm" +#include "code\controllers\subsystems\orbits.dm" +#include "code\controllers\subsystems\overlays.dm" +#include "code\controllers\subsystems\persist_vr.dm" +#include "code\controllers\subsystems\persistence.dm" +#include "code\controllers\subsystems\planets.dm" +#include "code\controllers\subsystems\plants.dm" +#include "code\controllers\subsystems\radiation.dm" +#include "code\controllers\subsystems\shuttles.dm" +#include "code\controllers\subsystems\skybox.dm" +#include "code\controllers\subsystems\sounds.dm" +#include "code\controllers\subsystems\sqlite.dm" +#include "code\controllers\subsystems\sun.dm" +#include "code\controllers\subsystems\supply.dm" +#include "code\controllers\subsystems\tgui.dm" +#include "code\controllers\subsystems\ticker.dm" +#include "code\controllers\subsystems\time_track.dm" +#include "code\controllers\subsystems\timer.dm" +#include "code\controllers\subsystems\transcore_vr.dm" +#include "code\controllers\subsystems\vis_overlays.dm" +#include "code\controllers\subsystems\vote.dm" +#include "code\controllers\subsystems\webhooks.dm" +#include "code\controllers\subsystems\xenoarch.dm" +#include "code\controllers\subsystems\processing\bellies_vr.dm" +#include "code\controllers\subsystems\processing\fastprocess.dm" +#include "code\controllers\subsystems\processing\instruments.dm" +#include "code\controllers\subsystems\processing\obj.dm" +#include "code\controllers\subsystems\processing\processing.dm" +#include "code\controllers\subsystems\processing\projectiles.dm" +#include "code\controllers\subsystems\processing\turfs.dm" +#include "code\datums\ai_law_sets.dm" +#include "code\datums\ai_law_sets_vr.dm" +#include "code\datums\ai_laws.dm" +#include "code\datums\beam.dm" +#include "code\datums\browser.dm" +#include "code\datums\callback.dm" +#include "code\datums\category.dm" +#include "code\datums\chat_message.dm" +#include "code\datums\datacore.dm" +#include "code\datums\datum.dm" +#include "code\datums\datumvars.dm" +#include "code\datums\EPv2.dm" +#include "code\datums\ghost_query.dm" +#include "code\datums\ghost_query_vr.dm" +#include "code\datums\hierarchy.dm" +#include "code\datums\mind.dm" +#include "code\datums\mind_vr.dm" +#include "code\datums\mixed.dm" +#include "code\datums\modules.dm" +#include "code\datums\mutable_appearance.dm" +#include "code\datums\orbit.dm" +#include "code\datums\organs.dm" +#include "code\datums\position_point_vector.dm" +#include "code\datums\progressbar.dm" +#include "code\datums\reference_tracking.dm" +#include "code\datums\riding.dm" +#include "code\datums\soul_link.dm" +#include "code\datums\sun.dm" +#include "code\datums\weakref.dm" +#include "code\datums\autolathe\arms.dm" +#include "code\datums\autolathe\arms_vr.dm" +#include "code\datums\autolathe\autolathe.dm" +#include "code\datums\autolathe\devices.dm" +#include "code\datums\autolathe\devices_vr.dm" +#include "code\datums\autolathe\engineering.dm" +#include "code\datums\autolathe\engineering_vr.dm" +#include "code\datums\autolathe\general.dm" +#include "code\datums\autolathe\general_vr.dm" +#include "code\datums\autolathe\materials.dm" +#include "code\datums\autolathe\medical.dm" +#include "code\datums\autolathe\medical_vr.dm" +#include "code\datums\autolathe\tools.dm" +#include "code\datums\autolathe\tools_vr.dm" +#include "code\datums\components\_component.dm" +#include "code\datums\components\material_container.dm" +#include "code\datums\components\overlay_lighting.dm" +#include "code\datums\components\resize_guard.dm" +#include "code\datums\components\crafting\crafting.dm" +#include "code\datums\components\crafting\crafting_external.dm" +#include "code\datums\components\crafting\recipes.dm" +#include "code\datums\components\crafting\tool_quality.dm" +#include "code\datums\components\crafting\recipes\primitive.dm" +#include "code\datums\components\crafting\recipes\weapons.dm" +#include "code\datums\elements\_element.dm" +#include "code\datums\elements\light_blocking.dm" +#include "code\datums\elements\turf_transparency.dm" +#include "code\datums\game_masters\_common.dm" +#include "code\datums\helper_datums\construction_datum.dm" +#include "code\datums\helper_datums\events.dm" +#include "code\datums\helper_datums\getrev.dm" +#include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\teleport_vr.dm" +#include "code\datums\helper_datums\topic_input.dm" +#include "code\datums\locations\locations.dm" +#include "code\datums\locations\nyx.dm" +#include "code\datums\locations\qerrvallis.dm" +#include "code\datums\locations\s_randarr.dm" +#include "code\datums\locations\sol.dm" +#include "code\datums\locations\tau_ceti.dm" +#include "code\datums\locations\uueoa_esa.dm" +#include "code\datums\locations\vir.dm" +#include "code\datums\looping_sounds\_looping_sound.dm" +#include "code\datums\looping_sounds\item_sounds.dm" +#include "code\datums\looping_sounds\machinery_sounds.dm" +#include "code\datums\looping_sounds\sequence.dm" +#include "code\datums\looping_sounds\weather_sounds.dm" +#include "code\datums\managed_browsers\_managed_browser.dm" +#include "code\datums\managed_browsers\feedback_form.dm" +#include "code\datums\managed_browsers\feedback_viewer.dm" +#include "code\datums\observation\_debug.dm" +#include "code\datums\observation\_defines.dm" +#include "code\datums\observation\destroyed.dm" +#include "code\datums\observation\dir_set.dm" +#include "code\datums\observation\equipped.dm" +#include "code\datums\observation\helpers.dm" +#include "code\datums\observation\logged_in.dm" +#include "code\datums\observation\moved.dm" +#include "code\datums\observation\observation.dm" +#include "code\datums\observation\power_change.dm" +#include "code\datums\observation\shuttle_added.dm" +#include "code\datums\observation\shuttle_moved.dm" +#include "code\datums\observation\stat_set.dm" +#include "code\datums\observation\turf_changed.dm" +#include "code\datums\observation\turf_enterexit.dm" +#include "code\datums\observation\unequipped.dm" +#include "code\datums\observation\z_moved.dm" +#include "code\datums\observation\~cleanup.dm" +#include "code\datums\outfits\_defines.dm" +#include "code\datums\outfits\horror_killers.dm" +#include "code\datums\outfits\misc.dm" +#include "code\datums\outfits\nanotrasen.dm" +#include "code\datums\outfits\outfit.dm" +#include "code\datums\outfits\outfit_vr.dm" +#include "code\datums\outfits\pirates.dm" +#include "code\datums\outfits\spec_op.dm" +#include "code\datums\outfits\tournament.dm" +#include "code\datums\outfits\wizardry.dm" +#include "code\datums\outfits\costumes\costume.dm" +#include "code\datums\outfits\costumes\halloween.dm" +#include "code\datums\outfits\jobs\cargo.dm" +#include "code\datums\outfits\jobs\civilian.dm" +#include "code\datums\outfits\jobs\civilian_vr.dm" +#include "code\datums\outfits\jobs\command.dm" +#include "code\datums\outfits\jobs\command_vr.dm" +#include "code\datums\outfits\jobs\engineering.dm" +#include "code\datums\outfits\jobs\job.dm" +#include "code\datums\outfits\jobs\medical.dm" +#include "code\datums\outfits\jobs\medical_vr.dm" +#include "code\datums\outfits\jobs\misc.dm" +#include "code\datums\outfits\jobs\science.dm" +#include "code\datums\outfits\jobs\science_vr.dm" +#include "code\datums\outfits\jobs\security.dm" +#include "code\datums\outfits\jobs\special_vr.dm" +#include "code\datums\outfits\military\fleet.dm" +#include "code\datums\outfits\military\marines.dm" +#include "code\datums\outfits\military\military.dm" +#include "code\datums\outfits\military\sifguard.dm" +#include "code\datums\repositories\ammomaterial.dm" +#include "code\datums\repositories\cameras.dm" +#include "code\datums\repositories\crew.dm" +#include "code\datums\repositories\decls.dm" +#include "code\datums\repositories\repository.dm" +#include "code\datums\repositories\unique.dm" +#include "code\datums\roundstats\_defines_local.dm" +#include "code\datums\roundstats\departmentgoal.dm" +#include "code\datums\roundstats\roundstats.dm" +#include "code\datums\supplypacks\atmospherics.dm" +#include "code\datums\supplypacks\contraband.dm" +#include "code\datums\supplypacks\contraband_vr.dm" +#include "code\datums\supplypacks\costumes.dm" +#include "code\datums\supplypacks\costumes_vr.dm" +#include "code\datums\supplypacks\engineering.dm" +#include "code\datums\supplypacks\engineering_vr.dm" +#include "code\datums\supplypacks\hospitality.dm" +#include "code\datums\supplypacks\hospitality_vr.dm" +#include "code\datums\supplypacks\hydroponics.dm" +#include "code\datums\supplypacks\hydroponics_vr.dm" +#include "code\datums\supplypacks\materials.dm" +#include "code\datums\supplypacks\medical.dm" +#include "code\datums\supplypacks\medical_vr.dm" +#include "code\datums\supplypacks\misc.dm" +#include "code\datums\supplypacks\misc_vr.dm" +#include "code\datums\supplypacks\munitions.dm" +#include "code\datums\supplypacks\munitions_vr.dm" +#include "code\datums\supplypacks\musical.dm" +#include "code\datums\supplypacks\recreation.dm" +#include "code\datums\supplypacks\recreation_vr.dm" +#include "code\datums\supplypacks\robotics.dm" +#include "code\datums\supplypacks\robotics_vr.dm" +#include "code\datums\supplypacks\science.dm" +#include "code\datums\supplypacks\science_vr.dm" +#include "code\datums\supplypacks\security.dm" +#include "code\datums\supplypacks\security_vr.dm" +#include "code\datums\supplypacks\supply.dm" +#include "code\datums\supplypacks\supply_vr.dm" +#include "code\datums\supplypacks\supplypacks.dm" +#include "code\datums\supplypacks\voidsuits.dm" +#include "code\datums\supplypacks\voidsuits_vr.dm" +#include "code\datums\underwear\bottom.dm" +#include "code\datums\underwear\socks.dm" +#include "code\datums\underwear\top.dm" +#include "code\datums\underwear\undershirts.dm" +#include "code\datums\underwear\underwear.dm" +#include "code\datums\uplink\ammunition.dm" +#include "code\datums\uplink\ammunition_vr.dm" +#include "code\datums\uplink\announcements.dm" +#include "code\datums\uplink\armor.dm" +#include "code\datums\uplink\backup.dm" +#include "code\datums\uplink\badassery.dm" +#include "code\datums\uplink\grenades.dm" +#include "code\datums\uplink\hardsuit_modules.dm" +#include "code\datums\uplink\implants.dm" +#include "code\datums\uplink\medical.dm" +#include "code\datums\uplink\medical_vr.dm" +#include "code\datums\uplink\resources.dm" +#include "code\datums\uplink\stealth_items.dm" +#include "code\datums\uplink\stealthy_weapons.dm" +#include "code\datums\uplink\telecrystals.dm" +#include "code\datums\uplink\tools.dm" +#include "code\datums\uplink\tools_vr.dm" +#include "code\datums\uplink\uplink_categories.dm" +#include "code\datums\uplink\uplink_items.dm" +#include "code\datums\uplink\visible_weapons.dm" +#include "code\datums\uplink\visible_weapons_vr.dm" +#include "code\datums\vending\stored_item.dm" +#include "code\datums\vending\vending.dm" +#include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" +#include "code\datums\wires\apc.dm" +#include "code\datums\wires\autolathe.dm" +#include "code\datums\wires\camera.dm" +#include "code\datums\wires\explosive.dm" +#include "code\datums\wires\grid_checker.dm" +#include "code\datums\wires\jukebox.dm" +#include "code\datums\wires\mines.dm" +#include "code\datums\wires\particle_accelerator.dm" +#include "code\datums\wires\radio.dm" +#include "code\datums\wires\robot.dm" +#include "code\datums\wires\seedstorage.dm" +#include "code\datums\wires\shield_generator.dm" +#include "code\datums\wires\smartfridge.dm" +#include "code\datums\wires\smes.dm" +#include "code\datums\wires\suit_storage_unit.dm" +#include "code\datums\wires\tesla_coil.dm" +#include "code\datums\wires\vending.dm" +#include "code\datums\wires\wires.dm" +#include "code\defines\gases.dm" +#include "code\defines\obj.dm" +#include "code\defines\obj\weapon.dm" +#include "code\defines\procs\announce.dm" +#include "code\defines\procs\AStar.dm" +#include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\radio.dm" +#include "code\defines\procs\statistics.dm" +#include "code\game\atoms.dm" +#include "code\game\atoms_movable.dm" +#include "code\game\atoms_movable_vr.dm" +#include "code\game\base_turf.dm" +#include "code\game\periodic_news.dm" +#include "code\game\response_team.dm" +#include "code\game\response_team_vr.dm" +#include "code\game\shuttle_engines.dm" +#include "code\game\skincmd.dm" +#include "code\game\sound.dm" +#include "code\game\trader_visit.dm" +#include "code\game\trader_visit_vr.dm" +#include "code\game\world.dm" +#include "code\game\antagonist\_antagonist_setup.dm" +#include "code\game\antagonist\antagonist.dm" +#include "code\game\antagonist\antagonist_add.dm" +#include "code\game\antagonist\antagonist_create.dm" +#include "code\game\antagonist\antagonist_equip.dm" +#include "code\game\antagonist\antagonist_factions.dm" +#include "code\game\antagonist\antagonist_helpers.dm" +#include "code\game\antagonist\antagonist_objectives.dm" +#include "code\game\antagonist\antagonist_panel.dm" +#include "code\game\antagonist\antagonist_place.dm" +#include "code\game\antagonist\antagonist_print.dm" +#include "code\game\antagonist\antagonist_update.dm" +#include "code\game\antagonist\alien\borer.dm" +#include "code\game\antagonist\alien\xenomorph.dm" +#include "code\game\antagonist\outsider\commando.dm" +#include "code\game\antagonist\outsider\deathsquad.dm" +#include "code\game\antagonist\outsider\ert.dm" +#include "code\game\antagonist\outsider\ert_vr.dm" +#include "code\game\antagonist\outsider\mercenary.dm" +#include "code\game\antagonist\outsider\ninja.dm" +#include "code\game\antagonist\outsider\raider.dm" +#include "code\game\antagonist\outsider\technomancer.dm" +#include "code\game\antagonist\outsider\trader.dm" +#include "code\game\antagonist\outsider\wizard.dm" +#include "code\game\antagonist\station\changeling.dm" +#include "code\game\antagonist\station\cultist.dm" +#include "code\game\antagonist\station\highlander.dm" +#include "code\game\antagonist\station\infiltrator.dm" +#include "code\game\antagonist\station\loyalist.dm" +#include "code\game\antagonist\station\renegade.dm" +#include "code\game\antagonist\station\revolutionary.dm" +#include "code\game\antagonist\station\rogue_ai.dm" +#include "code\game\antagonist\station\stowaway.dm" +#include "code\game\antagonist\station\thug.dm" +#include "code\game\antagonist\station\traitor.dm" +#include "code\game\area\ai_monitored.dm" +#include "code\game\area\areas.dm" +#include "code\game\area\areas_vr.dm" +#include "code\game\area\asteroid_areas.dm" +#include "code\game\area\Away Mission areas.dm" +#include "code\game\area\Space Station 13 areas.dm" +#include "code\game\area\Space Station 13 areas_vr.dm" +#include "code\game\area\ss13_deprecated_areas.dm" +#include "code\game\dna\dna2.dm" +#include "code\game\dna\dna2_domutcheck.dm" +#include "code\game\dna\dna2_helpers.dm" +#include "code\game\dna\dna_modifier.dm" +#include "code\game\dna\genes\disabilities.dm" +#include "code\game\dna\genes\gene.dm" +#include "code\game\dna\genes\powers.dm" +#include "code\game\gamemodes\events.dm" +#include "code\game\gamemodes\game_mode.dm" +#include "code\game\gamemodes\game_mode_latespawn.dm" +#include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\calamity\calamity.dm" +#include "code\game\gamemodes\changeling\absorbed_dna.dm" +#include "code\game\gamemodes\changeling\changeling.dm" +#include "code\game\gamemodes\changeling\changeling_powers.dm" +#include "code\game\gamemodes\changeling\generic_equip_procs.dm" +#include "code\game\gamemodes\changeling\modularchangling.dm" +#include "code\game\gamemodes\changeling\powers\absorb.dm" +#include "code\game\gamemodes\changeling\powers\armblade.dm" +#include "code\game\gamemodes\changeling\powers\armor.dm" +#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" +#include "code\game\gamemodes\changeling\powers\bioelectrogenesis.dm" +#include "code\game\gamemodes\changeling\powers\blind_sting.dm" +#include "code\game\gamemodes\changeling\powers\boost_range.dm" +#include "code\game\gamemodes\changeling\powers\cryo_sting.dm" +#include "code\game\gamemodes\changeling\powers\darkvision.dm" +#include "code\game\gamemodes\changeling\powers\deaf_sting.dm" +#include "code\game\gamemodes\changeling\powers\delayed_toxin_sting.dm" +#include "code\game\gamemodes\changeling\powers\digital_camo.dm" +#include "code\game\gamemodes\changeling\powers\electric_lockpick.dm" +#include "code\game\gamemodes\changeling\powers\endoarmor.dm" +#include "code\game\gamemodes\changeling\powers\enfeebling_string.dm" +#include "code\game\gamemodes\changeling\powers\engorged_glands.dm" +#include "code\game\gamemodes\changeling\powers\enrage.dm" +#include "code\game\gamemodes\changeling\powers\epinephrine_overdose.dm" +#include "code\game\gamemodes\changeling\powers\escape_restraints.dm" +#include "code\game\gamemodes\changeling\powers\extract_dna_sting.dm" +#include "code\game\gamemodes\changeling\powers\fabricate_clothing.dm" +#include "code\game\gamemodes\changeling\powers\fake_death.dm" +#include "code\game\gamemodes\changeling\powers\fleshmend.dm" +#include "code\game\gamemodes\changeling\powers\hivemind.dm" +#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" +#include "code\game\gamemodes\changeling\powers\panacea.dm" +#include "code\game\gamemodes\changeling\powers\rapid_regen.dm" +#include "code\game\gamemodes\changeling\powers\recursive_enhancement.dm" +#include "code\game\gamemodes\changeling\powers\respec.dm" +#include "code\game\gamemodes\changeling\powers\revive.dm" +#include "code\game\gamemodes\changeling\powers\self_respiration.dm" +#include "code\game\gamemodes\changeling\powers\shriek.dm" +#include "code\game\gamemodes\changeling\powers\silence_sting.dm" +#include "code\game\gamemodes\changeling\powers\transform.dm" +#include "code\game\gamemodes\changeling\powers\visible_camouflage.dm" +#include "code\game\gamemodes\cult\construct_spells.dm" +#include "code\game\gamemodes\cult\cult.dm" +#include "code\game\gamemodes\cult\cult_items.dm" +#include "code\game\gamemodes\cult\cult_structures.dm" +#include "code\game\gamemodes\cult\hell_universe.dm" +#include "code\game\gamemodes\cult\narsie.dm" +#include "code\game\gamemodes\cult\ritual.dm" +#include "code\game\gamemodes\cult\runes.dm" +#include "code\game\gamemodes\cult\soulstone.dm" +#include "code\game\gamemodes\cult\talisman.dm" +#include "code\game\gamemodes\cult\cultify\mob.dm" +#include "code\game\gamemodes\cult\cultify\obj.dm" +#include "code\game\gamemodes\cult\cultify\turf.dm" +#include "code\game\gamemodes\endgame\endgame.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\blob.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\portal.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\universe.dm" +#include "code\game\gamemodes\events\black_hole.dm" +#include "code\game\gamemodes\events\clang.dm" +#include "code\game\gamemodes\events\dust.dm" +#include "code\game\gamemodes\events\power_failure.dm" +#include "code\game\gamemodes\events\wormholes.dm" +#include "code\game\gamemodes\events\holidays\Christmas.dm" +#include "code\game\gamemodes\events\holidays\Holidays.dm" +#include "code\game\gamemodes\events\holidays\Other.dm" +#include "code\game\gamemodes\extended\extended.dm" +#include "code\game\gamemodes\heist\heist.dm" +#include "code\game\gamemodes\infiltrator\infiltrator.dm" +#include "code\game\gamemodes\malfunction\malf_hardware.dm" +#include "code\game\gamemodes\malfunction\malf_research.dm" +#include "code\game\gamemodes\malfunction\malf_research_ability.dm" +#include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\HARDWARE.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\HELPERS.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_interdiction.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_manipulation.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_networking.dm" +#include "code\game\gamemodes\meteor\meteor.dm" +#include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\meteor\meteors_vr.dm" +#include "code\game\gamemodes\mixed\conflux.dm" +#include "code\game\gamemodes\mixed\infestation.dm" +#include "code\game\gamemodes\mixed\intrigue.dm" +#include "code\game\gamemodes\mixed\lizard.dm" +#include "code\game\gamemodes\mixed\mercrenegade.dm" +#include "code\game\gamemodes\mixed\mercwiz.dm" +#include "code\game\gamemodes\mixed\paranoia.dm" +#include "code\game\gamemodes\mixed\traitorling.dm" +#include "code\game\gamemodes\mixed\traitorrenegade.dm" +#include "code\game\gamemodes\mixed\uprising.dm" +#include "code\game\gamemodes\mixed\visitors.dm" +#include "code\game\gamemodes\ninja\ninja.dm" +#include "code\game\gamemodes\nuclear\nuclear.dm" +#include "code\game\gamemodes\nuclear\pinpointer.dm" +#include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\technomancer\catalog.dm" +#include "code\game\gamemodes\technomancer\clothing.dm" +#include "code\game\gamemodes\technomancer\core_obj.dm" +#include "code\game\gamemodes\technomancer\equipment.dm" +#include "code\game\gamemodes\technomancer\instability.dm" +#include "code\game\gamemodes\technomancer\spell_objs.dm" +#include "code\game\gamemodes\technomancer\spell_objs_helpers.dm" +#include "code\game\gamemodes\technomancer\technomancer.dm" +#include "code\game\gamemodes\technomancer\assistance\assistance.dm" +#include "code\game\gamemodes\technomancer\devices\boots_of_speed.dm" +#include "code\game\gamemodes\technomancer\devices\disposable_teleporter.dm" +#include "code\game\gamemodes\technomancer\devices\gloves_of_regen.dm" +#include "code\game\gamemodes\technomancer\devices\hypos.dm" +#include "code\game\gamemodes\technomancer\devices\implants.dm" +#include "code\game\gamemodes\technomancer\devices\shield_armor.dm" +#include "code\game\gamemodes\technomancer\devices\tesla_armor.dm" +#include "code\game\gamemodes\technomancer\spells\abjuration.dm" +#include "code\game\gamemodes\technomancer\spells\apportation.dm" +#include "code\game\gamemodes\technomancer\spells\audible_deception.dm" +#include "code\game\gamemodes\technomancer\spells\blink.dm" +#include "code\game\gamemodes\technomancer\spells\chroma.dm" +#include "code\game\gamemodes\technomancer\spells\condensation.dm" +#include "code\game\gamemodes\technomancer\spells\control.dm" +#include "code\game\gamemodes\technomancer\spells\dispel.dm" +#include "code\game\gamemodes\technomancer\spells\energy_siphon.dm" +#include "code\game\gamemodes\technomancer\spells\flame_tongue.dm" +#include "code\game\gamemodes\technomancer\spells\gambit.dm" +#include "code\game\gamemodes\technomancer\spells\illusion.dm" +#include "code\game\gamemodes\technomancer\spells\instability_tap.dm" +#include "code\game\gamemodes\technomancer\spells\mark_recall.dm" +#include "code\game\gamemodes\technomancer\spells\mend_organs.dm" +#include "code\game\gamemodes\technomancer\spells\oxygenate.dm" +#include "code\game\gamemodes\technomancer\spells\passwall.dm" +#include "code\game\gamemodes\technomancer\spells\phase_shift.dm" +#include "code\game\gamemodes\technomancer\spells\radiance.dm" +#include "code\game\gamemodes\technomancer\spells\reflect.dm" +#include "code\game\gamemodes\technomancer\spells\resurrect.dm" +#include "code\game\gamemodes\technomancer\spells\shared_burden.dm" +#include "code\game\gamemodes\technomancer\spells\shield.dm" +#include "code\game\gamemodes\technomancer\spells\targeting_matrix.dm" +#include "code\game\gamemodes\technomancer\spells\track.dm" +#include "code\game\gamemodes\technomancer\spells\warp_strike.dm" +#include "code\game\gamemodes\technomancer\spells\aura\aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\biomed_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\fire_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\frost_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\shock_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\unstable_aura.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\corona.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\haste.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_all.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_life.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_synthetic.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\modifier.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\purify.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\repel_missiles.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\beam.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\chain_lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\force_missile.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\ionic_bolt.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\lesser_chain_lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\overload.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\projectile.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\darkness.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\destablize.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\fire_blast.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\pulsar.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\spawner.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon_creature.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon_ward.dm" +#include "code\game\gamemodes\traitor\traitor.dm" +#include "code\game\gamemodes\wizard\wizard.dm" +#include "code\game\jobs\_access_defs.dm" +#include "code\game\jobs\access.dm" +#include "code\game\jobs\access_datum.dm" +#include "code\game\jobs\access_datum_vr.dm" +#include "code\game\jobs\job_controller.dm" +#include "code\game\jobs\jobs.dm" +#include "code\game\jobs\whitelist.dm" +#include "code\game\jobs\whitelist_vr.dm" +#include "code\game\jobs\job\_alt_title.dm" +#include "code\game\jobs\job\assistant.dm" +#include "code\game\jobs\job\assistant_vr.dm" +#include "code\game\jobs\job\captain.dm" +#include "code\game\jobs\job\captain_vr.dm" +#include "code\game\jobs\job\civilian.dm" +#include "code\game\jobs\job\civilian_chaplain.dm" +#include "code\game\jobs\job\civilian_vr.dm" +#include "code\game\jobs\job\department.dm" +#include "code\game\jobs\job\department_vr.dm" +#include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\engineering_vr.dm" +#include "code\game\jobs\job\exploration_vr.dm" +#include "code\game\jobs\job\job.dm" +#include "code\game\jobs\job\job_vr.dm" +#include "code\game\jobs\job\medical.dm" +#include "code\game\jobs\job\medical_vr.dm" +#include "code\game\jobs\job\offduty_vr.dm" +#include "code\game\jobs\job\science.dm" +#include "code\game\jobs\job\science_vr.dm" +#include "code\game\jobs\job\security.dm" +#include "code\game\jobs\job\security_vr.dm" +#include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\silicon_vr.dm" +#include "code\game\jobs\job\special_vr.dm" +#include "code\game\machinery\adv_med.dm" +#include "code\game\machinery\adv_med_vr.dm" +#include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\air_alarm.dm" +#include "code\game\machinery\airconditioner_vr.dm" +#include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" +#include "code\game\machinery\Beacon.dm" +#include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\bioprinter.dm" +#include "code\game\machinery\bomb_tester_vr.dm" +#include "code\game\machinery\buttons.dm" +#include "code\game\machinery\buttons_vr.dm" +#include "code\game\machinery\CableLayer.dm" +#include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\cloning.dm" +#include "code\game\machinery\cryo.dm" +#include "code\game\machinery\cryopod.dm" +#include "code\game\machinery\cryopod_vr.dm" +#include "code\game\machinery\deployable.dm" +#include "code\game\machinery\deployable_vr.dm" +#include "code\game\machinery\door_control.dm" +#include "code\game\machinery\doorbell_vr.dm" +#include "code\game\machinery\doppler_array.dm" +#include "code\game\machinery\exonet_node.dm" +#include "code\game\machinery\fire_alarm.dm" +#include "code\game\machinery\flasher.dm" +#include "code\game\machinery\floodlight.dm" +#include "code\game\machinery\floor_light.dm" +#include "code\game\machinery\floorlayer.dm" +#include "code\game\machinery\frame.dm" +#include "code\game\machinery\gear_dispenser.dm" +#include "code\game\machinery\hologram.dm" +#include "code\game\machinery\holoposter.dm" +#include "code\game\machinery\holosign.dm" +#include "code\game\machinery\igniter.dm" +#include "code\game\machinery\iv_drip.dm" +#include "code\game\machinery\jukebox.dm" +#include "code\game\machinery\lightswitch.dm" +#include "code\game\machinery\machinery.dm" +#include "code\game\machinery\machinery_power.dm" +#include "code\game\machinery\magnet.dm" +#include "code\game\machinery\mass_driver.dm" +#include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\neonsign.dm" +#include "code\game\machinery\newscaster.dm" +#include "code\game\machinery\nuclear_bomb.dm" +#include "code\game\machinery\OpTable.dm" +#include "code\game\machinery\overview.dm" +#include "code\game\machinery\oxygen_pump.dm" +#include "code\game\machinery\painter_vr.dm" +#include "code\game\machinery\partslathe_vr.dm" +#include "code\game\machinery\pda_multicaster.dm" +#include "code\game\machinery\pointdefense.dm" +#include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\portable_turret_vr.dm" +#include "code\game\machinery\recharger.dm" +#include "code\game\machinery\rechargestation.dm" +#include "code\game\machinery\requests_console.dm" +#include "code\game\machinery\requests_console_vr.dm" +#include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\seed_extractor.dm" +#include "code\game\machinery\Sleeper.dm" +#include "code\game\machinery\spaceheater.dm" +#include "code\game\machinery\status_display.dm" +#include "code\game\machinery\status_display_ai.dm" +#include "code\game\machinery\suit_cycler_datums.dm" +#include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\suit_storage_unit_vr.dm" +#include "code\game\machinery\supply_display.dm" +#include "code\game\machinery\supplybeacon.dm" +#include "code\game\machinery\syndicatebeacon.dm" +#include "code\game\machinery\syndicatebeacon_vr.dm" +#include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\transportpod.dm" +#include "code\game\machinery\turret_control.dm" +#include "code\game\machinery\vending_machines_vr.dm" +#include "code\game\machinery\vitals_monitor.dm" +#include "code\game\machinery\wall_frames.dm" +#include "code\game\machinery\washing_machine.dm" +#include "code\game\machinery\wishgranter.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer_vr.dm" +#include "code\game\machinery\atmoalter\canister.dm" +#include "code\game\machinery\atmoalter\clamp.dm" +#include "code\game\machinery\atmoalter\meter.dm" +#include "code\game\machinery\atmoalter\portable_atmospherics.dm" +#include "code\game\machinery\atmoalter\pump.dm" +#include "code\game\machinery\atmoalter\pump_vr.dm" +#include "code\game\machinery\atmoalter\scrubber.dm" +#include "code\game\machinery\camera\camera.dm" +#include "code\game\machinery\camera\camera_assembly.dm" +#include "code\game\machinery\camera\camera_vr.dm" +#include "code\game\machinery\camera\motion.dm" +#include "code\game\machinery\camera\presets.dm" +#include "code\game\machinery\camera\tracking.dm" +#include "code\game\machinery\computer\ai_core.dm" +#include "code\game\machinery\computer\aifixer.dm" +#include "code\game\machinery\computer\arcade.dm" +#include "code\game\machinery\computer\arcade_vr.dm" +#include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" +#include "code\game\machinery\computer\camera.dm" +#include "code\game\machinery\computer\camera_vr.dm" +#include "code\game\machinery\computer\card.dm" +#include "code\game\machinery\computer\cloning.dm" +#include "code\game\machinery\computer\communications.dm" +#include "code\game\machinery\computer\computer.dm" +#include "code\game\machinery\computer\crew.dm" +#include "code\game\machinery\computer\guestpass.dm" +#include "code\game\machinery\computer\id_restorer_vr.dm" +#include "code\game\machinery\computer\law.dm" +#include "code\game\machinery\computer\medical.dm" +#include "code\game\machinery\computer\message.dm" +#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\pod.dm" +#include "code\game\machinery\computer\prisoner.dm" +#include "code\game\machinery\computer\prisonshuttle.dm" +#include "code\game\machinery\computer\RCON_Console.dm" +#include "code\game\machinery\computer\robot.dm" +#include "code\game\machinery\computer\security.dm" +#include "code\game\machinery\computer\shutoff_monitor.dm" +#include "code\game\machinery\computer\shuttle.dm" +#include "code\game\machinery\computer\skills.dm" +#include "code\game\machinery\computer\specops_shuttle.dm" +#include "code\game\machinery\computer\station_alert.dm" +#include "code\game\machinery\computer\supply.dm" +#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer\timeclock_vr.dm" +#include "code\game\machinery\computer\~computer_vr.dm" +#include "code\game\machinery\doors\airlock.dm" +#include "code\game\machinery\doors\airlock_control.dm" +#include "code\game\machinery\doors\airlock_electronics.dm" +#include "code\game\machinery\doors\airlock_vr.dm" +#include "code\game\machinery\doors\alarmlock.dm" +#include "code\game\machinery\doors\blast_door.dm" +#include "code\game\machinery\doors\brigdoors.dm" +#include "code\game\machinery\doors\checkForMultipleDoors.dm" +#include "code\game\machinery\doors\door.dm" +#include "code\game\machinery\doors\door_vr.dm" +#include "code\game\machinery\doors\firedoor.dm" +#include "code\game\machinery\doors\firedoor_assembly.dm" +#include "code\game\machinery\doors\firedoor_vr.dm" +#include "code\game\machinery\doors\multi_tile.dm" +#include "code\game\machinery\doors\multi_tile_vr.dm" +#include "code\game\machinery\doors\unpowered.dm" +#include "code\game\machinery\doors\windowdoor.dm" +#include "code\game\machinery\embedded_controller\airlock_controllers.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" +#include "code\game\machinery\embedded_controller\airlock_program.dm" +#include "code\game\machinery\embedded_controller\docking_program.dm" +#include "code\game\machinery\embedded_controller\docking_program_multi.dm" +#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" +#include "code\game\machinery\embedded_controller\embedded_program_base.dm" +#include "code\game\machinery\embedded_controller\mapping_helpers.dm" +#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" +#include "code\game\machinery\event\stage_vr.dm" +#include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\pipe\pipe_recipes.dm" +#include "code\game\machinery\pipe\pipelayer.dm" +#include "code\game\machinery\reagents\pump.dm" +#include "code\game\machinery\telecomms\broadcaster.dm" +#include "code\game\machinery\telecomms\broadcaster_vr.dm" +#include "code\game\machinery\telecomms\logbrowser.dm" +#include "code\game\machinery\telecomms\machine_interactions.dm" +#include "code\game\machinery\telecomms\presets.dm" +#include "code\game\machinery\telecomms\presets_vr.dm" +#include "code\game\machinery\telecomms\telecomunications.dm" +#include "code\game\machinery\telecomms\telemonitor.dm" +#include "code\game\machinery\telecomms\traffic_control.dm" +#include "code\game\machinery\virtual_reality\ar_console.dm" +#include "code\game\machinery\virtual_reality\vr_console.dm" +#include "code\game\magic\Uristrunes.dm" +#include "code\game\mecha\mech_bay.dm" +#include "code\game\mecha\mech_fabricator.dm" +#include "code\game\mecha\mech_prosthetics.dm" +#include "code\game\mecha\mech_sensor.dm" +#include "code\game\mecha\mecha.dm" +#include "code\game\mecha\mecha_actions.dm" +#include "code\game\mecha\mecha_appearance.dm" +#include "code\game\mecha\mecha_construction_paths.dm" +#include "code\game\mecha\mecha_control_console.dm" +#include "code\game\mecha\mecha_helpers.dm" +#include "code\game\mecha\mecha_parts.dm" +#include "code\game\mecha\mecha_vr.dm" +#include "code\game\mecha\mecha_wreckage.dm" +#include "code\game\mecha\combat\combat.dm" +#include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\fighter.dm" +#include "code\game\mecha\combat\gorilla.dm" +#include "code\game\mecha\combat\gygax.dm" +#include "code\game\mecha\combat\marauder.dm" +#include "code\game\mecha\combat\phazon.dm" +#include "code\game\mecha\components\_component.dm" +#include "code\game\mecha\components\actuators.dm" +#include "code\game\mecha\components\armor.dm" +#include "code\game\mecha\components\electrical.dm" +#include "code\game\mecha\components\hull.dm" +#include "code\game\mecha\components\lifesupport.dm" +#include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\mecha_equipment_dynamicprocs.dm" +#include "code\game\mecha\equipment\tools\armor_melee.dm" +#include "code\game\mecha\equipment\tools\armor_ranged.dm" +#include "code\game\mecha\equipment\tools\cable_layer.dm" +#include "code\game\mecha\equipment\tools\catapult.dm" +#include "code\game\mecha\equipment\tools\clamp.dm" +#include "code\game\mecha\equipment\tools\cloak.dm" +#include "code\game\mecha\equipment\tools\drill.dm" +#include "code\game\mecha\equipment\tools\energy_relay.dm" +#include "code\game\mecha\equipment\tools\extinguisher.dm" +#include "code\game\mecha\equipment\tools\generator.dm" +#include "code\game\mecha\equipment\tools\hardpoint_actuator.dm" +#include "code\game\mecha\equipment\tools\inflatables.dm" +#include "code\game\mecha\equipment\tools\jetpack.dm" +#include "code\game\mecha\equipment\tools\medigun_vr.dm" +#include "code\game\mecha\equipment\tools\orescanner.dm" +#include "code\game\mecha\equipment\tools\passenger.dm" +#include "code\game\mecha\equipment\tools\powertool.dm" +#include "code\game\mecha\equipment\tools\rcd.dm" +#include "code\game\mecha\equipment\tools\repair_droid.dm" +#include "code\game\mecha\equipment\tools\running_board.dm" +#include "code\game\mecha\equipment\tools\shield.dm" +#include "code\game\mecha\equipment\tools\shield_omni.dm" +#include "code\game\mecha\equipment\tools\sleeper.dm" +#include "code\game\mecha\equipment\tools\speedboost.dm" +#include "code\game\mecha\equipment\tools\syringe_gun.dm" +#include "code\game\mecha\equipment\tools\teleporter.dm" +#include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\tools\weldinglaser.dm" +#include "code\game\mecha\equipment\tools\wormhole.dm" +#include "code\game\mecha\equipment\weapons\honk.dm" +#include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\equipment\weapons\ballistic\automatic.dm" +#include "code\game\mecha\equipment\weapons\ballistic\ballistic.dm" +#include "code\game\mecha\equipment\weapons\ballistic\mortar.dm" +#include "code\game\mecha\equipment\weapons\ballistic\shotgun.dm" +#include "code\game\mecha\equipment\weapons\defense\shocker.dm" +#include "code\game\mecha\equipment\weapons\energy\energy.dm" +#include "code\game\mecha\equipment\weapons\energy\ion.dm" +#include "code\game\mecha\equipment\weapons\energy\laser.dm" +#include "code\game\mecha\equipment\weapons\energy\phased.dm" +#include "code\game\mecha\equipment\weapons\energy\pulse.dm" +#include "code\game\mecha\equipment\weapons\energy\stun.dm" +#include "code\game\mecha\equipment\weapons\explosive\grenade.dm" +#include "code\game\mecha\equipment\weapons\explosive\missile.dm" +#include "code\game\mecha\equipment\weapons\fire\flamethrower.dm" +#include "code\game\mecha\equipment\weapons\fire\incendiary.dm" +#include "code\game\mecha\medical\medical.dm" +#include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\medical\odysseus_vr.dm" +#include "code\game\mecha\micro\mecha_construction_paths_vr.dm" +#include "code\game\mecha\micro\mecha_parts_vr.dm" +#include "code\game\mecha\micro\mecha_vr.dm" +#include "code\game\mecha\micro\mechfab_designs_vr.dm" +#include "code\game\mecha\micro\micro.dm" +#include "code\game\mecha\micro\micro_equipment.dm" +#include "code\game\mecha\micro\security.dm" +#include "code\game\mecha\micro\utility.dm" +#include "code\game\mecha\space\hoverpod.dm" +#include "code\game\mecha\space\shuttle.dm" +#include "code\game\mecha\working\ripley.dm" +#include "code\game\mecha\working\ripley_vr.dm" +#include "code\game\mecha\working\working.dm" +#include "code\game\objects\banners.dm" +#include "code\game\objects\banners_vr.dm" +#include "code\game\objects\buckling.dm" +#include "code\game\objects\empulse.dm" +#include "code\game\objects\explosion.dm" +#include "code\game\objects\explosion_recursive.dm" +#include "code\game\objects\items.dm" +#include "code\game\objects\mob_spawner_vr.dm" +#include "code\game\objects\objs.dm" +#include "code\game\objects\structures.dm" +#include "code\game\objects\stumble_into_vr.dm" +#include "code\game\objects\weapons.dm" +#include "code\game\objects\effects\bump_teleporter.dm" +#include "code\game\objects\effects\confetti_vr.dm" +#include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" +#include "code\game\objects\effects\gibs.dm" +#include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\item_pickup_ghost.dm" +#include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\landmarks_vr.dm" +#include "code\game\objects\effects\manifest.dm" +#include "code\game\objects\effects\mines.dm" +#include "code\game\objects\effects\misc.dm" +#include "code\game\objects\effects\overlays.dm" +#include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\semirandom_mobs_vr.dm" +#include "code\game\objects\effects\spiders.dm" +#include "code\game\objects\effects\spiders_vr.dm" +#include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\zone_divider.dm" +#include "code\game\objects\effects\alien\aliens.dm" +#include "code\game\objects\effects\chem\chemsmoke.dm" +#include "code\game\objects\effects\chem\coating.dm" +#include "code\game\objects\effects\chem\foam.dm" +#include "code\game\objects\effects\chem\foam_vr.dm" +#include "code\game\objects\effects\chem\water.dm" +#include "code\game\objects\effects\decals\cleanable.dm" +#include "code\game\objects\effects\decals\crayon.dm" +#include "code\game\objects\effects\decals\misc.dm" +#include "code\game\objects\effects\decals\remains.dm" +#include "code\game\objects\effects\decals\warning_stripes.dm" +#include "code\game\objects\effects\decals\Cleanable\aliens.dm" +#include "code\game\objects\effects\decals\Cleanable\fuel.dm" +#include "code\game\objects\effects\decals\Cleanable\humans.dm" +#include "code\game\objects\effects\decals\Cleanable\misc.dm" +#include "code\game\objects\effects\decals\Cleanable\robots.dm" +#include "code\game\objects\effects\decals\Cleanable\tracks.dm" +#include "code\game\objects\effects\decals\posters\bs12.dm" +#include "code\game\objects\effects\decals\posters\polarisposters.dm" +#include "code\game\objects\effects\decals\posters\polarisposters_vr.dm" +#include "code\game\objects\effects\decals\posters\posters.dm" +#include "code\game\objects\effects\decals\posters\tgposters.dm" +#include "code\game\objects\effects\decals\posters\voreposters_vr.dm" +#include "code\game\objects\effects\map_effects\beam_point.dm" +#include "code\game\objects\effects\map_effects\effect_emitter.dm" +#include "code\game\objects\effects\map_effects\map_effects.dm" +#include "code\game\objects\effects\map_effects\perma_light.dm" +#include "code\game\objects\effects\map_effects\portal.dm" +#include "code\game\objects\effects\map_effects\radiation_emitter.dm" +#include "code\game\objects\effects\map_effects\screen_shaker.dm" +#include "code\game\objects\effects\map_effects\sound_emitter.dm" +#include "code\game\objects\effects\prop\columnblast.dm" +#include "code\game\objects\effects\prop\snake.dm" +#include "code\game\objects\effects\spawners\bombspawner.dm" +#include "code\game\objects\effects\spawners\gibspawner.dm" +#include "code\game\objects\effects\spawners\graffiti.dm" +#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" +#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm" +#include "code\game\objects\items\antag_spawners.dm" +#include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\bells.dm" +#include "code\game\objects\items\blueprints.dm" +#include "code\game\objects\items\bodybag.dm" +#include "code\game\objects\items\contraband.dm" +#include "code\game\objects\items\contraband_vr.dm" +#include "code\game\objects\items\crayons.dm" +#include "code\game\objects\items\falling_object_vr.dm" +#include "code\game\objects\items\glassjar.dm" +#include "code\game\objects\items\gunbox.dm" +#include "code\game\objects\items\gunbox_vr.dm" +#include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\paintkit.dm" +#include "code\game\objects\items\pizza_voucher_vr.dm" +#include "code\game\objects\items\poi_items.dm" +#include "code\game\objects\items\robobag.dm" +#include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\tailoring.dm" +#include "code\game\objects\items\trash.dm" +#include "code\game\objects\items\trash_material.dm" +#include "code\game\objects\items\trash_vr.dm" +#include "code\game\objects\items\uav.dm" +#include "code\game\objects\items\devices\advnifrepair.dm" +#include "code\game\objects\items\devices\ai_detector.dm" +#include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\binoculars.dm" +#include "code\game\objects\items\devices\body_snatcher_vr.dm" +#include "code\game\objects\items\devices\chameleonproj.dm" +#include "code\game\objects\items\devices\debugger.dm" +#include "code\game\objects\items\devices\defib.dm" +#include "code\game\objects\items\devices\denecrotizer_vr.dm" +#include "code\game\objects\items\devices\flash.dm" +#include "code\game\objects\items\devices\flash_vr.dm" +#include "code\game\objects\items\devices\flashlight.dm" +#include "code\game\objects\items\devices\flashlight_vr.dm" +#include "code\game\objects\items\devices\floor_painter.dm" +#include "code\game\objects\items\devices\geiger.dm" +#include "code\game\objects\items\devices\gps.dm" +#include "code\game\objects\items\devices\hacktool.dm" +#include "code\game\objects\items\devices\holowarrant.dm" +#include "code\game\objects\items\devices\laserpointer.dm" +#include "code\game\objects\items\devices\lightreplacer.dm" +#include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" +#include "code\game\objects\items\devices\multitool.dm" +#include "code\game\objects\items\devices\paicard.dm" +#include "code\game\objects\items\devices\pipe_painter.dm" +#include "code\game\objects\items\devices\powersink.dm" +#include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\scanners_vr.dm" +#include "code\game\objects\items\devices\spy_bug.dm" +#include "code\game\objects\items\devices\suit_cooling.dm" +#include "code\game\objects\items\devices\t_scanner.dm" +#include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\text_to_speech.dm" +#include "code\game\objects\items\devices\traitordevices.dm" +#include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\translator.dm" +#include "code\game\objects\items\devices\translocator_vr.dm" +#include "code\game\objects\items\devices\tvcamera.dm" +#include "code\game\objects\items\devices\uplink.dm" +#include "code\game\objects\items\devices\uplink_random_lists.dm" +#include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\communicator\communicator.dm" +#include "code\game\objects\items\devices\communicator\helper.dm" +#include "code\game\objects\items\devices\communicator\integrated.dm" +#include "code\game\objects\items\devices\communicator\messaging.dm" +#include "code\game\objects\items\devices\communicator\phone.dm" +#include "code\game\objects\items\devices\communicator\UI_tgui.dm" +#include "code\game\objects\items\devices\radio\beacon.dm" +#include "code\game\objects\items\devices\radio\electropack.dm" +#include "code\game\objects\items\devices\radio\encryptionkey.dm" +#include "code\game\objects\items\devices\radio\encryptionkey_vr.dm" +#include "code\game\objects\items\devices\radio\headset.dm" +#include "code\game\objects\items\devices\radio\headset_vr.dm" +#include "code\game\objects\items\devices\radio\intercom.dm" +#include "code\game\objects\items\devices\radio\jammer.dm" +#include "code\game\objects\items\devices\radio\jammer_vr.dm" +#include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\devices\radio\radio_vr.dm" +#include "code\game\objects\items\devices\radio\radiopack.dm" +#include "code\game\objects\items\robot\robot_items.dm" +#include "code\game\objects\items\robot\robot_parts.dm" +#include "code\game\objects\items\robot\robot_upgrades.dm" +#include "code\game\objects\items\robot\robot_upgrades_vr.dm" +#include "code\game\objects\items\stacks\marker_beacons.dm" +#include "code\game\objects\items\stacks\matter_synth.dm" +#include "code\game\objects\items\stacks\medical.dm" +#include "code\game\objects\items\stacks\medical_vr.dm" +#include "code\game\objects\items\stacks\nanopaste.dm" +#include "code\game\objects\items\stacks\nanopaste_vr.dm" +#include "code\game\objects\items\stacks\sandbags.dm" +#include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\telecrystal.dm" +#include "code\game\objects\items\stacks\tickets.dm" +#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm" +#include "code\game\objects\items\stacks\tiles\tile_types.dm" +#include "code\game\objects\items\toys\balls_vr.dm" +#include "code\game\objects\items\toys\godfigures.dm" +#include "code\game\objects\items\toys\mech_toys.dm" +#include "code\game\objects\items\toys\toys.dm" +#include "code\game\objects\items\toys\toys_vr.dm" +#include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\AI_modules_vr.dm" +#include "code\game\objects\items\weapons\augment_items.dm" +#include "code\game\objects\items\weapons\autopsy.dm" +#include "code\game\objects\items\weapons\bones.dm" +#include "code\game\objects\items\weapons\candle.dm" +#include "code\game\objects\items\weapons\canes.dm" +#include "code\game\objects\items\weapons\cards_ids_vr.dm" +#include "code\game\objects\items\weapons\chewables.dm" +#include "code\game\objects\items\weapons\cigs_lighters.dm" +#include "code\game\objects\items\weapons\clown_items.dm" +#include "code\game\objects\items\weapons\cosmetics.dm" +#include "code\game\objects\items\weapons\dna_injector.dm" +#include "code\game\objects\items\weapons\ecigs.dm" +#include "code\game\objects\items\weapons\explosives.dm" +#include "code\game\objects\items\weapons\explosives_vr.dm" +#include "code\game\objects\items\weapons\extinguisher.dm" +#include "code\game\objects\items\weapons\flamethrower.dm" +#include "code\game\objects\items\weapons\gift_wrappaper.dm" +#include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\handcuffs_vr.dm" +#include "code\game\objects\items\weapons\improvised_components.dm" +#include "code\game\objects\items\weapons\inducer_vr.dm" +#include "code\game\objects\items\weapons\manuals.dm" +#include "code\game\objects\items\weapons\manuals_vr.dm" +#include "code\game\objects\items\weapons\mop.dm" +#include "code\game\objects\items\weapons\mop_deploy.dm" +#include "code\game\objects\items\weapons\paint.dm" +#include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\policetape.dm" +#include "code\game\objects\items\weapons\RCD.dm" +#include "code\game\objects\items\weapons\RCD_vr.dm" +#include "code\game\objects\items\weapons\RMS_vr.dm" +#include "code\game\objects\items\weapons\RPD_vr.dm" +#include "code\game\objects\items\weapons\RSF.dm" +#include "code\game\objects\items\weapons\scrolls.dm" +#include "code\game\objects\items\weapons\shields.dm" +#include "code\game\objects\items\weapons\shields_vr.dm" +#include "code\game\objects\items\weapons\stunbaton.dm" +#include "code\game\objects\items\weapons\surgery_tools.dm" +#include "code\game\objects\items\weapons\swords_axes_etc.dm" +#include "code\game\objects\items\weapons\syndie.dm" +#include "code\game\objects\items\weapons\tape.dm" +#include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\towels.dm" +#include "code\game\objects\items\weapons\traps.dm" +#include "code\game\objects\items\weapons\traps_vr.dm" +#include "code\game\objects\items\weapons\trays.dm" +#include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\weldbackpack.dm" +#include "code\game\objects\items\weapons\circuitboards\broken.dm" +#include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" +#include "code\game\objects\items\weapons\circuitboards\circuitboards_vr.dm" +#include "code\game\objects\items\weapons\circuitboards\frame.dm" +#include "code\game\objects\items\weapons\circuitboards\mecha.dm" +#include "code\game\objects\items\weapons\circuitboards\other.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\air_management.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\camera_monitor.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\computer.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\research.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\shuttle.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\supply.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\biogenerator.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\engineering.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\fluidpump.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\jukebox.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\kitchen_appliances.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\papershredder.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\power.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\recharge_station.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\research.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\shieldgen.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\ships.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\unary_atmos.dm" +#include "code\game\objects\items\weapons\grenades\anti_photon_grenade.dm" +#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" +#include "code\game\objects\items\weapons\grenades\concussion.dm" +#include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\explosive.dm" +#include "code\game\objects\items\weapons\grenades\flashbang.dm" +#include "code\game\objects\items\weapons\grenades\grenade.dm" +#include "code\game\objects\items\weapons\grenades\projectile.dm" +#include "code\game\objects\items\weapons\grenades\smokebomb.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade_vr.dm" +#include "code\game\objects\items\weapons\grenades\supermatter.dm" +#include "code\game\objects\items\weapons\id cards\cards.dm" +#include "code\game\objects\items\weapons\id cards\cards_vr.dm" +#include "code\game\objects\items\weapons\id cards\id_stacks.dm" +#include "code\game\objects\items\weapons\id cards\id_stacks_vr.dm" +#include "code\game\objects\items\weapons\id cards\station_ids.dm" +#include "code\game\objects\items\weapons\id cards\station_ids_vr.dm" +#include "code\game\objects\items\weapons\id cards\syndicate_ids.dm" +#include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implant_vr.dm" +#include "code\game\objects\items\weapons\implants\implantaugment.dm" +#include "code\game\objects\items\weapons\implants\implantcase.dm" +#include "code\game\objects\items\weapons\implants\implantcase_vr.dm" +#include "code\game\objects\items\weapons\implants\implantchair.dm" +#include "code\game\objects\items\weapons\implants\implantcircuits.dm" +#include "code\game\objects\items\weapons\implants\implantdud.dm" +#include "code\game\objects\items\weapons\implants\implanter.dm" +#include "code\game\objects\items\weapons\implants\implanter_vr.dm" +#include "code\game\objects\items\weapons\implants\implantfreedom.dm" +#include "code\game\objects\items\weapons\implants\implantlanguage.dm" +#include "code\game\objects\items\weapons\implants\implantpad.dm" +#include "code\game\objects\items\weapons\implants\implantreagent_vr.dm" +#include "code\game\objects\items\weapons\implants\implantrestrainingbolt.dm" +#include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\implants\neuralbasic.dm" +#include "code\game\objects\items\weapons\material\ashtray.dm" +#include "code\game\objects\items\weapons\material\bats.dm" +#include "code\game\objects\items\weapons\material\chainsaw.dm" +#include "code\game\objects\items\weapons\material\foam.dm" +#include "code\game\objects\items\weapons\material\gravemarker.dm" +#include "code\game\objects\items\weapons\material\kitchen.dm" +#include "code\game\objects\items\weapons\material\knives.dm" +#include "code\game\objects\items\weapons\material\knives_vr.dm" +#include "code\game\objects\items\weapons\material\material_armor.dm" +#include "code\game\objects\items\weapons\material\material_weapons.dm" +#include "code\game\objects\items\weapons\material\misc.dm" +#include "code\game\objects\items\weapons\material\shards.dm" +#include "code\game\objects\items\weapons\material\shards_vr.dm" +#include "code\game\objects\items\weapons\material\swords.dm" +#include "code\game\objects\items\weapons\material\thrown.dm" +#include "code\game\objects\items\weapons\material\twohanded.dm" +#include "code\game\objects\items\weapons\material\twohanded_vr.dm" +#include "code\game\objects\items\weapons\material\whetstone.dm" +#include "code\game\objects\items\weapons\melee\deflect.dm" +#include "code\game\objects\items\weapons\melee\energy.dm" +#include "code\game\objects\items\weapons\melee\energy_vr.dm" +#include "code\game\objects\items\weapons\melee\misc.dm" +#include "code\game\objects\items\weapons\melee\misc_vr.dm" +#include "code\game\objects\items\weapons\storage\backpack.dm" +#include "code\game\objects\items\weapons\storage\backpack_vr.dm" +#include "code\game\objects\items\weapons\storage\bags.dm" +#include "code\game\objects\items\weapons\storage\bags_vr.dm" +#include "code\game\objects\items\weapons\storage\belt.dm" +#include "code\game\objects\items\weapons\storage\belt_vr.dm" +#include "code\game\objects\items\weapons\storage\bible.dm" +#include "code\game\objects\items\weapons\storage\boxes.dm" +#include "code\game\objects\items\weapons\storage\boxes_vr.dm" +#include "code\game\objects\items\weapons\storage\briefcase.dm" +#include "code\game\objects\items\weapons\storage\egg_vr.dm" +#include "code\game\objects\items\weapons\storage\fancy.dm" +#include "code\game\objects\items\weapons\storage\firstaid.dm" +#include "code\game\objects\items\weapons\storage\firstaid_vr.dm" +#include "code\game\objects\items\weapons\storage\internal.dm" +#include "code\game\objects\items\weapons\storage\laundry_basket.dm" +#include "code\game\objects\items\weapons\storage\lockbox.dm" +#include "code\game\objects\items\weapons\storage\misc.dm" +#include "code\game\objects\items\weapons\storage\mre.dm" +#include "code\game\objects\items\weapons\storage\pouches.dm" +#include "code\game\objects\items\weapons\storage\quickdraw.dm" +#include "code\game\objects\items\weapons\storage\secure.dm" +#include "code\game\objects\items\weapons\storage\storage.dm" +#include "code\game\objects\items\weapons\storage\toolbox.dm" +#include "code\game\objects\items\weapons\storage\toolbox_vr.dm" +#include "code\game\objects\items\weapons\storage\uplink_kits.dm" +#include "code\game\objects\items\weapons\storage\wallets.dm" +#include "code\game\objects\items\weapons\tanks\jetpack.dm" +#include "code\game\objects\items\weapons\tanks\tank_types.dm" +#include "code\game\objects\items\weapons\tanks\tank_types_vr.dm" +#include "code\game\objects\items\weapons\tanks\tanks.dm" +#include "code\game\objects\items\weapons\tools\crowbar.dm" +#include "code\game\objects\items\weapons\tools\crowbar_vr.dm" +#include "code\game\objects\items\weapons\tools\screwdriver.dm" +#include "code\game\objects\items\weapons\tools\weldingtool.dm" +#include "code\game\objects\items\weapons\tools\wirecutters.dm" +#include "code\game\objects\items\weapons\tools\wrench.dm" +#include "code\game\objects\random\_random.dm" +#include "code\game\objects\random\guns_and_ammo.dm" +#include "code\game\objects\random\maintenance.dm" +#include "code\game\objects\random\mapping.dm" +#include "code\game\objects\random\mapping_vr.dm" +#include "code\game\objects\random\mechs.dm" +#include "code\game\objects\random\misc.dm" +#include "code\game\objects\random\misc_vr.dm" +#include "code\game\objects\random\mob.dm" +#include "code\game\objects\random\mob_vr.dm" +#include "code\game\objects\random\spacesuits.dm" +#include "code\game\objects\random\unidentified\medicine.dm" +#include "code\game\objects\structures\artstuff.dm" +#include "code\game\objects\structures\barricades.dm" +#include "code\game\objects\structures\barsign.dm" +#include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\bedsheet_bin_vr.dm" +#include "code\game\objects\structures\bonfire.dm" +#include "code\game\objects\structures\catwalk.dm" +#include "code\game\objects\structures\cliff.dm" +#include "code\game\objects\structures\coathanger.dm" +#include "code\game\objects\structures\curtains.dm" +#include "code\game\objects\structures\dancepole_vr.dm" +#include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\dogbed.dm" +#include "code\game\objects\structures\door_assembly.dm" +#include "code\game\objects\structures\electricchair.dm" +#include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\fence.dm" +#include "code\game\objects\structures\fireaxe.dm" +#include "code\game\objects\structures\fitness.dm" +#include "code\game\objects\structures\fitness_vr.dm" +#include "code\game\objects\structures\girders.dm" +#include "code\game\objects\structures\gravemarker.dm" +#include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\handrail.dm" +#include "code\game\objects\structures\holoplant.dm" +#include "code\game\objects\structures\inflatable.dm" +#include "code\game\objects\structures\janicart.dm" +#include "code\game\objects\structures\kitchen_foodcart_vr.dm" +#include "code\game\objects\structures\kitchen_spike.dm" +#include "code\game\objects\structures\lattice.dm" +#include "code\game\objects\structures\ledges.dm" +#include "code\game\objects\structures\lightpost.dm" +#include "code\game\objects\structures\loot_piles.dm" +#include "code\game\objects\structures\map_blocker_vr.dm" +#include "code\game\objects\structures\medical_stand_vr.dm" +#include "code\game\objects\structures\mirror.dm" +#include "code\game\objects\structures\mop_bucket.dm" +#include "code\game\objects\structures\morgue.dm" +#include "code\game\objects\structures\morgue_vr.dm" +#include "code\game\objects\structures\plasticflaps.dm" +#include "code\game\objects\structures\railing.dm" +#include "code\game\objects\structures\safe.dm" +#include "code\game\objects\structures\salvageable.dm" +#include "code\game\objects\structures\signs.dm" +#include "code\game\objects\structures\signs_vr.dm" +#include "code\game\objects\structures\simple_doors.dm" +#include "code\game\objects\structures\simple_doors_vr.dm" +#include "code\game\objects\structures\snowman.dm" +#include "code\game\objects\structures\stasis_cage.dm" +#include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\target_stake.dm" +#include "code\game\objects\structures\transit_tubes.dm" +#include "code\game\objects\structures\trash_pile_vr.dm" +#include "code\game\objects\structures\under_wardrobe.dm" +#include "code\game\objects\structures\watercloset.dm" +#include "code\game\objects\structures\watercloset_vr.dm" +#include "code\game\objects\structures\windoor_assembly.dm" +#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\window_spawner.dm" +#include "code\game\objects\structures\window_vr.dm" +#include "code\game\objects\structures\crates_lockers\__closets.dm" +#include "code\game\objects\structures\crates_lockers\_closets_appearance_definitions.dm" +#include "code\game\objects\structures\crates_lockers\_closets_appearance_definitions_vr.dm" +#include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crates_vr.dm" +#include "code\game\objects\structures\crates_lockers\largecrate.dm" +#include "code\game\objects\structures\crates_lockers\largecrate_vr.dm" +#include "code\game\objects\structures\crates_lockers\vehiclecage.dm" +#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" +#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\closets\egg_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" +#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" +#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" +#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" +#include "code\game\objects\structures\crates_lockers\closets\misc_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\statue.dm" +#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\walllocker.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security_vr.dm" +#include "code\game\objects\structures\flora\flora.dm" +#include "code\game\objects\structures\flora\flora_vr.dm" +#include "code\game\objects\structures\flora\grass.dm" +#include "code\game\objects\structures\flora\moretrees_vr.dm" +#include "code\game\objects\structures\flora\trees.dm" +#include "code\game\objects\structures\ghost_pods\event_vr.dm" +#include "code\game\objects\structures\ghost_pods\ghost_pods.dm" +#include "code\game\objects\structures\ghost_pods\ghost_pods_vr.dm" +#include "code\game\objects\structures\ghost_pods\human.dm" +#include "code\game\objects\structures\ghost_pods\mysterious.dm" +#include "code\game\objects\structures\ghost_pods\silicon.dm" +#include "code\game\objects\structures\ghost_pods\silicon_vr.dm" +#include "code\game\objects\structures\props\alien_props.dm" +#include "code\game\objects\structures\props\alien_props_vr.dm" +#include "code\game\objects\structures\props\beam_prism.dm" +#include "code\game\objects\structures\props\blackbox.dm" +#include "code\game\objects\structures\props\fake_ai.dm" +#include "code\game\objects\structures\props\nest.dm" +#include "code\game\objects\structures\props\projectile_lock.dm" +#include "code\game\objects\structures\props\prop.dm" +#include "code\game\objects\structures\props\puzzledoor.dm" +#include "code\game\objects\structures\props\rocks.dm" +#include "code\game\objects\structures\props\swarm.dm" +#include "code\game\objects\structures\props\transmitter.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs_vr.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools_vr.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair_item.dm" +#include "code\game\turfs\simulated.dm" +#include "code\game\turfs\simulated_vr.dm" +#include "code\game\turfs\turf.dm" +#include "code\game\turfs\turf_changing.dm" +#include "code\game\turfs\turf_flick_animations.dm" +#include "code\game\turfs\unsimulated.dm" +#include "code\game\turfs\flooring\flooring.dm" +#include "code\game\turfs\flooring\flooring_decals.dm" +#include "code\game\turfs\flooring\flooring_decals_vr.dm" +#include "code\game\turfs\flooring\flooring_premade.dm" +#include "code\game\turfs\flooring\flooring_vr.dm" +#include "code\game\turfs\flooring\shuttle_vr.dm" +#include "code\game\turfs\initialization\init.dm" +#include "code\game\turfs\initialization\maintenance.dm" +#include "code\game\turfs\simulated\floor.dm" +#include "code\game\turfs\simulated\floor_acts.dm" +#include "code\game\turfs\simulated\floor_attackby.dm" +#include "code\game\turfs\simulated\floor_damage.dm" +#include "code\game\turfs\simulated\floor_icon.dm" +#include "code\game\turfs\simulated\floor_static.dm" +#include "code\game\turfs\simulated\floor_types.dm" +#include "code\game\turfs\simulated\floor_types_eris.dm" +#include "code\game\turfs\simulated\floor_types_vr.dm" +#include "code\game\turfs\simulated\lava.dm" +#include "code\game\turfs\simulated\wall_attacks.dm" +#include "code\game\turfs\simulated\wall_icon.dm" +#include "code\game\turfs\simulated\wall_types.dm" +#include "code\game\turfs\simulated\wall_types_vr.dm" +#include "code\game\turfs\simulated\walls.dm" +#include "code\game\turfs\simulated\water.dm" +#include "code\game\turfs\simulated\water_vr.dm" +#include "code\game\turfs\simulated\dungeon\floor.dm" +#include "code\game\turfs\simulated\dungeon\wall.dm" +#include "code\game\turfs\simulated\outdoors\atmoscaves_vr.dm" +#include "code\game\turfs\simulated\outdoors\dirt.dm" +#include "code\game\turfs\simulated\outdoors\grass.dm" +#include "code\game\turfs\simulated\outdoors\ironsand_vr.dm" +#include "code\game\turfs\simulated\outdoors\outdoors.dm" +#include "code\game\turfs\simulated\outdoors\outdoors_attackby.dm" +#include "code\game\turfs\simulated\outdoors\outdoors_vr.dm" +#include "code\game\turfs\simulated\outdoors\sky.dm" +#include "code\game\turfs\simulated\outdoors\snow.dm" +#include "code\game\turfs\snow\snow.dm" +#include "code\game\turfs\space\cracked_asteroid.dm" +#include "code\game\turfs\space\space.dm" +#include "code\game\turfs\space\transit.dm" +#include "code\game\turfs\unsimulated\beach.dm" +#include "code\game\turfs\unsimulated\beach_vr.dm" +#include "code\game\turfs\unsimulated\floor.dm" +#include "code\game\turfs\unsimulated\planetary.dm" +#include "code\game\turfs\unsimulated\planetary_vr.dm" +#include "code\game\turfs\unsimulated\shuttle.dm" +#include "code\game\turfs\unsimulated\sky_vr.dm" +#include "code\game\turfs\unsimulated\walls.dm" +#include "code\js\byjax.dm" +#include "code\js\menus.dm" +#include "code\modules\admin\admin.dm" +#include "code\modules\admin\admin_attack_log.dm" +#include "code\modules\admin\admin_investigate.dm" +#include "code\modules\admin\admin_memo.dm" +#include "code\modules\admin\admin_ranks.dm" +#include "code\modules\admin\admin_secrets.dm" +#include "code\modules\admin\admin_tools.dm" +#include "code\modules\admin\admin_verb_lists_vr.dm" +#include "code\modules\admin\admin_verbs.dm" +#include "code\modules\admin\admin_vr.dm" +#include "code\modules\admin\banjob.dm" +#include "code\modules\admin\ckey_vr.dm" +#include "code\modules\admin\create_mob.dm" +#include "code\modules\admin\create_object.dm" +#include "code\modules\admin\create_turf.dm" +#include "code\modules\admin\holder2.dm" +#include "code\modules\admin\IsBanned.dm" +#include "code\modules\admin\map_capture.dm" +#include "code\modules\admin\NewBan.dm" +#include "code\modules\admin\news.dm" +#include "code\modules\admin\persistence.dm" +#include "code\modules\admin\player_notes.dm" +#include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\topic.dm" +#include "code\modules\admin\ToRban.dm" +#include "code\modules\admin\callproc\callproc.dm" +#include "code\modules\admin\DB ban\functions.dm" +#include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\secrets\admin_secrets\admin_logs.dm" +#include "code\modules\admin\secrets\admin_secrets\alter_narsie.dm" +#include "code\modules\admin\secrets\admin_secrets\bombing_list.dm" +#include "code\modules\admin\secrets\admin_secrets\jump_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\launch_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\launch_shuttle_forced.dm" +#include "code\modules\admin\secrets\admin_secrets\list_dna.dm" +#include "code\modules\admin\secrets\admin_secrets\list_fingerprints.dm" +#include "code\modules\admin\secrets\admin_secrets\move_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\prison_warp.dm" +#include "code\modules\admin\secrets\admin_secrets\show_ai_laws.dm" +#include "code\modules\admin\secrets\admin_secrets\show_crew_manifest.dm" +#include "code\modules\admin\secrets\admin_secrets\show_game_mode.dm" +#include "code\modules\admin\secrets\admin_secrets\show_law_changes.dm" +#include "code\modules\admin\secrets\admin_secrets\show_signalers.dm" +#include "code\modules\admin\secrets\admin_secrets\traitors_and_objectives.dm" +#include "code\modules\admin\secrets\final_solutions\summon_narsie.dm" +#include "code\modules\admin\secrets\final_solutions\supermatter_cascade.dm" +#include "code\modules\admin\secrets\fun_secrets\break_all_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\break_some_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\fix_all_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\ghost_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\only_one.dm" +#include "code\modules\admin\secrets\fun_secrets\paintball_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\power_all_smes.dm" +#include "code\modules\admin\secrets\fun_secrets\power_failure_begin.dm" +#include "code\modules\admin\secrets\fun_secrets\power_failure_end.dm" +#include "code\modules\admin\secrets\fun_secrets\remove_all_clothing.dm" +#include "code\modules\admin\secrets\fun_secrets\remove_internal_clothing.dm" +#include "code\modules\admin\secrets\fun_secrets\send_strike_team.dm" +#include "code\modules\admin\secrets\fun_secrets\toggle_bomb_cap.dm" +#include "code\modules\admin\secrets\fun_secrets\triple_ai_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\turn_humans_into_corgies.dm" +#include "code\modules\admin\secrets\fun_secrets\turn_humans_into_monkeys.dm" +#include "code\modules\admin\secrets\random_events\gravity_vr.dm" +#include "code\modules\admin\secrets\random_events\trigger_cordical_borer_infestation.dm" +#include "code\modules\admin\secrets\random_events\trigger_xenomorph_infestation.dm" +#include "code\modules\admin\verbs\adminhelp.dm" +#include "code\modules\admin\verbs\adminhelp_vr.dm" +#include "code\modules\admin\verbs\adminjump.dm" +#include "code\modules\admin\verbs\adminpm.dm" +#include "code\modules\admin\verbs\adminsay.dm" +#include "code\modules\admin\verbs\antag-ooc.dm" +#include "code\modules\admin\verbs\atmosdebug.dm" +#include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\buildmode.dm" +#include "code\modules\admin\verbs\change_appearance.dm" +#include "code\modules\admin\verbs\check_customitem_activity.dm" +#include "code\modules\admin\verbs\cinematic.dm" +#include "code\modules\admin\verbs\custom_event.dm" +#include "code\modules\admin\verbs\dbcon_fix.dm" +#include "code\modules\admin\verbs\deadsay.dm" +#include "code\modules\admin\verbs\debug.dm" +#include "code\modules\admin\verbs\debug_vr.dm" +#include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\dice.dm" +#include "code\modules\admin\verbs\fps.dm" +#include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\grief_fixers.dm" +#include "code\modules\admin\verbs\lightning_strike.dm" +#include "code\modules\admin\verbs\map_template_loadverb.dm" +#include "code\modules\admin\verbs\mapping.dm" +#include "code\modules\admin\verbs\panicbunker.dm" +#include "code\modules\admin\verbs\playsound.dm" +#include "code\modules\admin\verbs\possess.dm" +#include "code\modules\admin\verbs\pray.dm" +#include "code\modules\admin\verbs\randomverbs.dm" +#include "code\modules\admin\verbs\randomverbs_vr.dm" +#include "code\modules\admin\verbs\resize.dm" +#include "code\modules\admin\verbs\smite.dm" +#include "code\modules\admin\verbs\smite_vr.dm" +#include "code\modules\admin\verbs\striketeam.dm" +#include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm" +#include "code\modules\admin\view_variables\admin_delete.dm" +#include "code\modules\admin\view_variables\debug_variables.dm" +#include "code\modules\admin\view_variables\get_variables.dm" +#include "code\modules\admin\view_variables\helpers.dm" +#include "code\modules\admin\view_variables\mass_edit_variables.dm" +#include "code\modules\admin\view_variables\modify_variables.dm" +#include "code\modules\admin\view_variables\topic.dm" +#include "code\modules\admin\view_variables\topic_list.dm" +#include "code\modules\admin\view_variables\view_variables.dm" +#include "code\modules\admin\view_variables\view_variables_global.dm" +#include "code\modules\ai\_defines.dm" +#include "code\modules\ai\ai_holder.dm" +#include "code\modules\ai\ai_holder_combat.dm" +#include "code\modules\ai\ai_holder_combat_unseen.dm" +#include "code\modules\ai\ai_holder_communication.dm" +#include "code\modules\ai\ai_holder_cooperation.dm" +#include "code\modules\ai\ai_holder_debug.dm" +#include "code\modules\ai\ai_holder_disabled.dm" +#include "code\modules\ai\ai_holder_fleeing.dm" +#include "code\modules\ai\ai_holder_follow.dm" +#include "code\modules\ai\ai_holder_movement.dm" +#include "code\modules\ai\ai_holder_pathfinding.dm" +#include "code\modules\ai\ai_holder_targeting.dm" +#include "code\modules\ai\ai_holder_targeting_vr.dm" +#include "code\modules\ai\interfaces.dm" +#include "code\modules\ai\say_list.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai_vr.dm" +#include "code\modules\ai\ai_holder_subtypes\slime_xenobio_ai.dm" +#include "code\modules\alarm\alarm.dm" +#include "code\modules\alarm\alarm_handler.dm" +#include "code\modules\alarm\atmosphere_alarm.dm" +#include "code\modules\alarm\camera_alarm.dm" +#include "code\modules\alarm\fire_alarm.dm" +#include "code\modules\alarm\motion_alarm.dm" +#include "code\modules\alarm\power_alarm.dm" +#include "code\modules\artifice\cursedform.dm" +#include "code\modules\artifice\deadringer.dm" +#include "code\modules\artifice\telecube.dm" +#include "code\modules\assembly\assembly.dm" +#include "code\modules\assembly\helpers.dm" +#include "code\modules\assembly\holder.dm" +#include "code\modules\assembly\igniter.dm" +#include "code\modules\assembly\infrared.dm" +#include "code\modules\assembly\mousetrap.dm" +#include "code\modules\assembly\proximity.dm" +#include "code\modules\assembly\shock_kit.dm" +#include "code\modules\assembly\signaler.dm" +#include "code\modules\assembly\timer.dm" +#include "code\modules\assembly\voice.dm" +#include "code\modules\asset_cache\asset_cache.dm" +#include "code\modules\asset_cache\asset_cache_client.dm" +#include "code\modules\asset_cache\asset_cache_item.dm" +#include "code\modules\asset_cache\asset_list.dm" +#include "code\modules\asset_cache\asset_list_items.dm" +#include "code\modules\awaymissions\bluespaceartillery.dm" +#include "code\modules\awaymissions\corpse.dm" +#include "code\modules\awaymissions\exile.dm" +#include "code\modules\awaymissions\gateway.dm" +#include "code\modules\awaymissions\gateway_vr.dm" +#include "code\modules\awaymissions\loot.dm" +#include "code\modules\awaymissions\loot_vr.dm" +#include "code\modules\awaymissions\pamphlet.dm" +#include "code\modules\awaymissions\trigger.dm" +#include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\blob\blob.dm" +#include "code\modules\blob2\_defines.dm" +#include "code\modules\blob2\core_chunk.dm" +#include "code\modules\blob2\blobs\base_blob.dm" +#include "code\modules\blob2\blobs\core.dm" +#include "code\modules\blob2\blobs\factory.dm" +#include "code\modules\blob2\blobs\node.dm" +#include "code\modules\blob2\blobs\normal.dm" +#include "code\modules\blob2\blobs\resource.dm" +#include "code\modules\blob2\blobs\shield.dm" +#include "code\modules\blob2\overmind\overmind.dm" +#include "code\modules\blob2\overmind\powers.dm" +#include "code\modules\blob2\overmind\types.dm" +#include "code\modules\blob2\overmind\types\blazing_oil.dm" +#include "code\modules\blob2\overmind\types\classic.dm" +#include "code\modules\blob2\overmind\types\cryogenic_goo.dm" +#include "code\modules\blob2\overmind\types\ectoplasmic_horror.dm" +#include "code\modules\blob2\overmind\types\electromagnetic_web.dm" +#include "code\modules\blob2\overmind\types\energized_jelly.dm" +#include "code\modules\blob2\overmind\types\explosive_lattice.dm" +#include "code\modules\blob2\overmind\types\fabrication_swarm.dm" +#include "code\modules\blob2\overmind\types\fulminant_organism.dm" +#include "code\modules\blob2\overmind\types\fungal_bloom.dm" +#include "code\modules\blob2\overmind\types\grey_goo.dm" +#include "code\modules\blob2\overmind\types\pressurized_slime.dm" +#include "code\modules\blob2\overmind\types\radioactive_ooze.dm" +#include "code\modules\blob2\overmind\types\ravenous_macrophage.dm" +#include "code\modules\blob2\overmind\types\reactive_spines.dm" +#include "code\modules\blob2\overmind\types\roiling_mold.dm" +#include "code\modules\blob2\overmind\types\shifting_fragments.dm" +#include "code\modules\blob2\overmind\types\synchronous_mesh.dm" +#include "code\modules\blob2\overmind\types\volatile_alluvium.dm" +#include "code\modules\busy_space_vr\air_traffic.dm" +#include "code\modules\busy_space_vr\loremaster.dm" +#include "code\modules\busy_space_vr\organizations.dm" +#include "code\modules\catalogue\atoms.dm" +#include "code\modules\catalogue\catalogue_data.dm" +#include "code\modules\catalogue\catalogue_data_vr.dm" +#include "code\modules\catalogue\cataloguer.dm" +#include "code\modules\catalogue\cataloguer_visuals.dm" +#include "code\modules\catalogue\cataloguer_vr.dm" +#include "code\modules\client\client defines.dm" +#include "code\modules\client\client procs.dm" +#include "code\modules\client\client procs_vr.dm" +#include "code\modules\client\movement.dm" +#include "code\modules\client\preferences.dm" +#include "code\modules\client\preferences_factions.dm" +#include "code\modules\client\preferences_savefile.dm" +#include "code\modules\client\preferences_spawnpoints.dm" +#include "code\modules\client\preferences_toggle_procs.dm" +#include "code\modules\client\preferences_vr.dm" +#include "code\modules\client\spam_prevention.dm" +#include "code\modules\client\ui_style.dm" +#include "code\modules\client\preference_setup\_defines.dm" +#include "code\modules\client\preference_setup\preference_setup.dm" +#include "code\modules\client\preference_setup\preference_setup_vr.dm" +#include "code\modules\client\preference_setup\antagonism\01_basic.dm" +#include "code\modules\client\preference_setup\antagonism\02_candidacy.dm" +#include "code\modules\client\preference_setup\general\01_basic.dm" +#include "code\modules\client\preference_setup\general\02_language.dm" +#include "code\modules\client\preference_setup\general\03_body.dm" +#include "code\modules\client\preference_setup\general\04_equipment.dm" +#include "code\modules\client\preference_setup\general\05_background.dm" +#include "code\modules\client\preference_setup\general\06_flavor.dm" +#include "code\modules\client\preference_setup\global\01_ui.dm" +#include "code\modules\client\preference_setup\global\02_settings.dm" +#include "code\modules\client\preference_setup\global\03_pai.dm" +#include "code\modules\client\preference_setup\global\04_ooc.dm" +#include "code\modules\client\preference_setup\global\setting_datums.dm" +#include "code\modules\client\preference_setup\loadout\gear_tweaks.dm" +#include "code\modules\client\preference_setup\loadout\gear_tweaks_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout.dm" +#include "code\modules\client\preference_setup\loadout\loadout_accessories.dm" +#include "code\modules\client\preference_setup\loadout\loadout_accessories_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cosmetics.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cosmetics_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cyberware.dm" +#include "code\modules\client\preference_setup\loadout\loadout_ears.dm" +#include "code\modules\client\preference_setup\loadout\loadout_eyes.dm" +#include "code\modules\client\preference_setup\loadout\loadout_eyes_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_fluffitems_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_general.dm" +#include "code\modules\client\preference_setup\loadout\loadout_general_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_gloves.dm" +#include "code\modules\client\preference_setup\loadout\loadout_gloves_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_head.dm" +#include "code\modules\client\preference_setup\loadout\loadout_head_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_mask.dm" +#include "code\modules\client\preference_setup\loadout\loadout_shoes.dm" +#include "code\modules\client\preference_setup\loadout\loadout_shoes_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_smoking.dm" +#include "code\modules\client\preference_setup\loadout\loadout_suit.dm" +#include "code\modules\client\preference_setup\loadout\loadout_suit_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_uniform.dm" +#include "code\modules\client\preference_setup\loadout\loadout_uniform_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_utility.dm" +#include "code\modules\client\preference_setup\loadout\loadout_utility_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_xeno.dm" +#include "code\modules\client\preference_setup\loadout\loadout_xeno_vr.dm" +#include "code\modules\client\preference_setup\occupation\occupation.dm" +#include "code\modules\client\preference_setup\skills\skills.dm" +#include "code\modules\client\preference_setup\volume_sliders\01_volume.dm" +#include "code\modules\client\preference_setup\volume_sliders\02_media.dm" +#include "code\modules\client\preference_setup\vore\01_ears.dm" +#include "code\modules\client\preference_setup\vore\02_size.dm" +#include "code\modules\client\preference_setup\vore\03_egg.dm" +#include "code\modules\client\preference_setup\vore\04_resleeving.dm" +#include "code\modules\client\preference_setup\vore\05_persistence.dm" +#include "code\modules\client\preference_setup\vore\06_vantag.dm" +#include "code\modules\client\preference_setup\vore\07_traits.dm" +#include "code\modules\client\preference_setup\vore\08_nif.dm" +#include "code\modules\client\preference_setup\vore\09_misc.dm" +#include "code\modules\client\verbs\advanced_who.dm" +#include "code\modules\client\verbs\character_directory.dm" +#include "code\modules\client\verbs\ignore.dm" +#include "code\modules\client\verbs\ooc.dm" +#include "code\modules\client\verbs\ping.dm" +#include "code\modules\client\verbs\suicide.dm" +#include "code\modules\client\verbs\who.dm" +#include "code\modules\clothing\chameleon.dm" +#include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\clothing_accessories.dm" +#include "code\modules\clothing\clothing_icons.dm" +#include "code\modules\clothing\clothing_vr.dm" +#include "code\modules\clothing\ears\earrings.dm" +#include "code\modules\clothing\ears\ears.dm" +#include "code\modules\clothing\glasses\glasses.dm" +#include "code\modules\clothing\glasses\glasses_vr.dm" +#include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\glasses\hud_vr.dm" +#include "code\modules\clothing\gloves\antagonist.dm" +#include "code\modules\clothing\gloves\arm_guards.dm" +#include "code\modules\clothing\gloves\arm_guards_vr.dm" +#include "code\modules\clothing\gloves\boxing.dm" +#include "code\modules\clothing\gloves\color.dm" +#include "code\modules\clothing\gloves\gauntlets.dm" +#include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\miscellaneous_vr.dm" +#include "code\modules\clothing\head\collectable.dm" +#include "code\modules\clothing\head\flowercrowns.dm" +#include "code\modules\clothing\head\hardhat.dm" +#include "code\modules\clothing\head\helmet.dm" +#include "code\modules\clothing\head\helmet_vr.dm" +#include "code\modules\clothing\head\hood.dm" +#include "code\modules\clothing\head\hood_vr.dm" +#include "code\modules\clothing\head\jobs.dm" +#include "code\modules\clothing\head\jobs_vr.dm" +#include "code\modules\clothing\head\misc.dm" +#include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\misc_vr.dm" +#include "code\modules\clothing\head\pilot_helmet.dm" +#include "code\modules\clothing\head\pilot_helmet_vr.dm" +#include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\head\solgov.dm" +#include "code\modules\clothing\head\solgov_vr.dm" +#include "code\modules\clothing\masks\boxing.dm" +#include "code\modules\clothing\masks\breath.dm" +#include "code\modules\clothing\masks\breath_vr.dm" +#include "code\modules\clothing\masks\gasmask.dm" +#include "code\modules\clothing\masks\gasmask_vr.dm" +#include "code\modules\clothing\masks\hailer.dm" +#include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\masks\shiny_vr.dm" +#include "code\modules\clothing\masks\voice.dm" +#include "code\modules\clothing\rings\material.dm" +#include "code\modules\clothing\rings\rings.dm" +#include "code\modules\clothing\rings\rings_vr.dm" +#include "code\modules\clothing\shoes\boots.dm" +#include "code\modules\clothing\shoes\boots_vr.dm" +#include "code\modules\clothing\shoes\colour.dm" +#include "code\modules\clothing\shoes\leg_guards.dm" +#include "code\modules\clothing\shoes\leg_guards_vr.dm" +#include "code\modules\clothing\shoes\magboots.dm" +#include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\shoes\miscellaneous_vr.dm" +#include "code\modules\clothing\spacesuits\alien.dm" +#include "code\modules\clothing\spacesuits\breaches.dm" +#include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\spacesuits.dm" +#include "code\modules\clothing\spacesuits\syndi.dm" +#include "code\modules\clothing\spacesuits\rig\rig.dm" +#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces_vr.dm" +#include "code\modules\clothing\spacesuits\rig\rig_tgui.dm" +#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" +#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" +#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\ai_container.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\chem_dispenser.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cleaner_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cloak.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\datajack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\device.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\electrowarfare.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\grenade_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\inhand_fabricator.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\jetpack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\metalfoam_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\pat_module_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\powersink.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\rescue_pharm_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\self_destruct.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\sprinter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\teleporter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\vision.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\voice.dm" +#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" +#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert_vr.dm" +#include "code\modules\clothing\spacesuits\rig\suits\light.dm" +#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\pmc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\robotics.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station_vr.dm" +#include "code\modules\clothing\spacesuits\void\ert_vr.dm" +#include "code\modules\clothing\spacesuits\void\event.dm" +#include "code\modules\clothing\spacesuits\void\event_vr.dm" +#include "code\modules\clothing\spacesuits\void\merc.dm" +#include "code\modules\clothing\spacesuits\void\military_vr.dm" +#include "code\modules\clothing\spacesuits\void\station.dm" +#include "code\modules\clothing\spacesuits\void\station_vr.dm" +#include "code\modules\clothing\spacesuits\void\void.dm" +#include "code\modules\clothing\spacesuits\void\void_vr.dm" +#include "code\modules\clothing\spacesuits\void\wizard.dm" +#include "code\modules\clothing\spacesuits\void\zaddat.dm" +#include "code\modules\clothing\suits\armor.dm" +#include "code\modules\clothing\suits\armor_vr.dm" +#include "code\modules\clothing\suits\bio.dm" +#include "code\modules\clothing\suits\bio_vr.dm" +#include "code\modules\clothing\suits\hooded.dm" +#include "code\modules\clothing\suits\hooded_vr.dm" +#include "code\modules\clothing\suits\jobs.dm" +#include "code\modules\clothing\suits\jobs_vr.dm" +#include "code\modules\clothing\suits\labcoat.dm" +#include "code\modules\clothing\suits\labcoat_vr.dm" +#include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\miscellaneous_vr.dm" +#include "code\modules\clothing\suits\solgov.dm" +#include "code\modules\clothing\suits\solgov_vr.dm" +#include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\utility_vr.dm" +#include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\suits\aliens\tajara.dm" +#include "code\modules\clothing\suits\aliens\teshari.dm" +#include "code\modules\clothing\suits\aliens\unathi.dm" +#include "code\modules\clothing\suits\aliens\vox.dm" +#include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\imperial_vr.dm" +#include "code\modules\clothing\under\miscellaneous.dm" +#include "code\modules\clothing\under\miscellaneous_vr.dm" +#include "code\modules\clothing\under\nanotrasen_vr.dm" +#include "code\modules\clothing\under\pants.dm" +#include "code\modules\clothing\under\shiny_vr.dm" +#include "code\modules\clothing\under\shorts.dm" +#include "code\modules\clothing\under\solgov.dm" +#include "code\modules\clothing\under\solgov_vr.dm" +#include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\accessories\accessory.dm" +#include "code\modules\clothing\under\accessories\accessory_vr.dm" +#include "code\modules\clothing\under\accessories\armband.dm" +#include "code\modules\clothing\under\accessories\armor.dm" +#include "code\modules\clothing\under\accessories\badges.dm" +#include "code\modules\clothing\under\accessories\clothing.dm" +#include "code\modules\clothing\under\accessories\holster.dm" +#include "code\modules\clothing\under\accessories\holster_vr.dm" +#include "code\modules\clothing\under\accessories\lockets.dm" +#include "code\modules\clothing\under\accessories\permits.dm" +#include "code\modules\clothing\under\accessories\permits_vr.dm" +#include "code\modules\clothing\under\accessories\shiny_vr.dm" +#include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\accessories\storage_vr.dm" +#include "code\modules\clothing\under\accessories\torch.dm" +#include "code\modules\clothing\under\accessories\torch_vr.dm" +#include "code\modules\clothing\under\accessories\temperature\poncho.dm" +#include "code\modules\clothing\under\jobs\civilian.dm" +#include "code\modules\clothing\under\jobs\engineering.dm" +#include "code\modules\clothing\under\jobs\medsci.dm" +#include "code\modules\clothing\under\jobs\security.dm" +#include "code\modules\clothing\under\xenos\teshari.dm" +#include "code\modules\clothing\under\xenos\vox.dm" +#include "code\modules\compass\_compass.dm" +#include "code\modules\compass\compass_holder.dm" +#include "code\modules\compass\compass_waypoint.dm" +#include "code\modules\compass\~compass.dm" +#include "code\modules\customitems\item_spawning.dm" +#include "code\modules\detectivework\footprints.dm" +#include "code\modules\detectivework\forensics.dm" +#include "code\modules\detectivework\microscope\dnascanner.dm" +#include "code\modules\detectivework\microscope\microscope.dm" +#include "code\modules\detectivework\tools\crimekit.dm" +#include "code\modules\detectivework\tools\evidencebag.dm" +#include "code\modules\detectivework\tools\luminol.dm" +#include "code\modules\detectivework\tools\rag.dm" +#include "code\modules\detectivework\tools\sample_kits.dm" +#include "code\modules\detectivework\tools\scanner.dm" +#include "code\modules\detectivework\tools\storage.dm" +#include "code\modules\detectivework\tools\swabs.dm" +#include "code\modules\detectivework\tools\uvlight.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\cash.dm" +#include "code\modules\economy\cash_register.dm" +#include "code\modules\economy\coins.dm" +#include "code\modules\economy\coins_vr.dm" +#include "code\modules\economy\economy_misc.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Events.dm" +#include "code\modules\economy\Events_Mundane.dm" +#include "code\modules\economy\lorenews.dm" +#include "code\modules\economy\mint.dm" +#include "code\modules\economy\money_bag.dm" +#include "code\modules\economy\price_list.dm" +#include "code\modules\economy\retail_scanner.dm" +#include "code\modules\economy\TradeDestinations.dm" +#include "code\modules\economy\vending.dm" +#include "code\modules\economy\vending_machines.dm" +#include "code\modules\emotes\emote_define.dm" +#include "code\modules\emotes\emote_mob.dm" +#include "code\modules\emotes\definitions\_mob.dm" +#include "code\modules\emotes\definitions\_species.dm" +#include "code\modules\emotes\definitions\audible.dm" +#include "code\modules\emotes\definitions\audible_cough.dm" +#include "code\modules\emotes\definitions\audible_furry_vr.dm" +#include "code\modules\emotes\definitions\audible_scream.dm" +#include "code\modules\emotes\definitions\audible_scream_vr.dm" +#include "code\modules\emotes\definitions\audible_slap.dm" +#include "code\modules\emotes\definitions\audible_snap.dm" +#include "code\modules\emotes\definitions\audible_sneeze.dm" +#include "code\modules\emotes\definitions\audible_whistle.dm" +#include "code\modules\emotes\definitions\exertion.dm" +#include "code\modules\emotes\definitions\helpers_vr.dm" +#include "code\modules\emotes\definitions\human.dm" +#include "code\modules\emotes\definitions\slimes.dm" +#include "code\modules\emotes\definitions\synthetics.dm" +#include "code\modules\emotes\definitions\visible.dm" +#include "code\modules\emotes\definitions\visible_animated.dm" +#include "code\modules\emotes\definitions\visible_vomit.dm" +#include "code\modules\emotes\definitions\visible_vr.dm" +#include "code\modules\entopics_vr\alternate_appearance.dm" +#include "code\modules\entopics_vr\entopics.dm" +#include "code\modules\error_handler\_defines.dm" +#include "code\modules\error_handler\error_handler.dm" +#include "code\modules\error_handler\error_viewer.dm" +#include "code\modules\error_handler\~defines.dm" +#include "code\modules\events\apc_damage.dm" +#include "code\modules\events\atmos_leak.dm" +#include "code\modules\events\aurora_caelus.dm" +#include "code\modules\events\blob.dm" +#include "code\modules\events\brand_intelligence.dm" +#include "code\modules\events\camera_damage.dm" +#include "code\modules\events\canister_leak.dm" +#include "code\modules\events\carp_migration.dm" +#include "code\modules\events\comms_blackout.dm" +#include "code\modules\events\communications_blackout.dm" +#include "code\modules\events\drone_pod_vr.dm" +#include "code\modules\events\dust.dm" +#include "code\modules\events\electrical_storm.dm" +#include "code\modules\events\event.dm" +#include "code\modules\events\event_container.dm" +#include "code\modules\events\event_container_vr.dm" +#include "code\modules\events\event_dynamic.dm" +#include "code\modules\events\event_manager.dm" +#include "code\modules\events\gravity_vr.dm" +#include "code\modules\events\grid_check.dm" +#include "code\modules\events\grubinfestation_vr.dm" +#include "code\modules\events\ian_storm_vr.dm" +#include "code\modules\events\infestation.dm" +#include "code\modules\events\ion_storm.dm" +#include "code\modules\events\maintenance_predator_vr.dm" +#include "code\modules\events\meteor_strike_vr.dm" +#include "code\modules\events\meteors.dm" +#include "code\modules\events\money_hacker.dm" +#include "code\modules\events\money_lotto.dm" +#include "code\modules\events\money_spam.dm" +#include "code\modules\events\morph_spawn_vr.dm" +#include "code\modules\events\prison_break.dm" +#include "code\modules\events\radiation_storm.dm" +#include "code\modules\events\random_antagonist.dm" +#include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\shipping_error.dm" +#include "code\modules\events\solar_storm.dm" +#include "code\modules\events\space_ninja.dm" +#include "code\modules\events\spacevine.dm" +#include "code\modules\events\spider_infestation.dm" +#include "code\modules\events\spontaneous_appendicitis.dm" +#include "code\modules\events\spontaneous_appendicitis_vr.dm" +#include "code\modules\events\supply_demand_vr.dm" +#include "code\modules\events\wallrot.dm" +#include "code\modules\examine\examine.dm" +#include "code\modules\examine\stat_icons.dm" +#include "code\modules\examine\descriptions\armor.dm" +#include "code\modules\examine\descriptions\atmospherics.dm" +#include "code\modules\examine\descriptions\containers.dm" +#include "code\modules\examine\descriptions\devices.dm" +#include "code\modules\examine\descriptions\engineering.dm" +#include "code\modules\examine\descriptions\machines.dm" +#include "code\modules\examine\descriptions\medical.dm" +#include "code\modules\examine\descriptions\mobs.dm" +#include "code\modules\examine\descriptions\paperwork.dm" +#include "code\modules\examine\descriptions\stacks.dm" +#include "code\modules\examine\descriptions\structures.dm" +#include "code\modules\examine\descriptions\telecomms.dm" +#include "code\modules\examine\descriptions\turfs.dm" +#include "code\modules\examine\descriptions\weapons.dm" +#include "code\modules\ext_scripts\irc.dm" +#include "code\modules\ext_scripts\python.dm" +#include "code\modules\fishing\fishing.dm" +#include "code\modules\fishing\fishing_net.dm" +#include "code\modules\fishing\fishing_rod.dm" +#include "code\modules\fishing\fishing_rod_vr.dm" +#include "code\modules\fishing\fishing_vr.dm" +#include "code\modules\flufftext\Dreaming.dm" +#include "code\modules\flufftext\Hallucination.dm" +#include "code\modules\flufftext\look_up.dm" +#include "code\modules\flufftext\TextFilters.dm" +#include "code\modules\food\food.dm" +#include "code\modules\food\recipe.dm" +#include "code\modules\food\recipe_dump.dm" +#include "code\modules\food\recipes_fryer.dm" +#include "code\modules\food\recipes_fryer_vr.dm" +#include "code\modules\food\recipes_grill.dm" +#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\food\recipes_microwave_vr.dm" +#include "code\modules\food\recipes_oven.dm" +#include "code\modules\food\recipes_oven_vr.dm" +#include "code\modules\food\drinkingglass\drinkingglass.dm" +#include "code\modules\food\drinkingglass\extras.dm" +#include "code\modules\food\drinkingglass\glass_boxes.dm" +#include "code\modules\food\drinkingglass\glass_types.dm" +#include "code\modules\food\drinkingglass\metaglass.dm" +#include "code\modules\food\drinkingglass\metaglass_vr.dm" +#include "code\modules\food\drinkingglass\serving_glasses.dm" +#include "code\modules\food\drinkingglass\shaker.dm" +#include "code\modules\food\drinkingglass\shaker_vr.dm" +#include "code\modules\food\food\cans.dm" +#include "code\modules\food\food\cans_vr.dm" +#include "code\modules\food\food\condiment.dm" +#include "code\modules\food\food\drinks.dm" +#include "code\modules\food\food\drinks_vr.dm" +#include "code\modules\food\food\lunch.dm" +#include "code\modules\food\food\sandwich.dm" +#include "code\modules\food\food\snacks.dm" +#include "code\modules\food\food\snacks_vr.dm" +#include "code\modules\food\food\thecake.dm" +#include "code\modules\food\food\z_custom_food_vr.dm" +#include "code\modules\food\food\drinks\bottle.dm" +#include "code\modules\food\food\drinks\cup.dm" +#include "code\modules\food\food\drinks\drinkingglass.dm" +#include "code\modules\food\food\drinks\jar.dm" +#include "code\modules\food\food\drinks\bottle\robot.dm" +#include "code\modules\food\food\snacks\meat.dm" +#include "code\modules\food\glass\bottle.dm" +#include "code\modules\food\glass\bottle_vr.dm" +#include "code\modules\food\glass\bottle\robot.dm" +#include "code\modules\food\kitchen\gibber.dm" +#include "code\modules\food\kitchen\icecream.dm" +#include "code\modules\food\kitchen\microwave.dm" +#include "code\modules\food\kitchen\cooking_machines\_appliance.dm" +#include "code\modules\food\kitchen\cooking_machines\_cooker.dm" +#include "code\modules\food\kitchen\cooking_machines\_cooker_output.dm" +#include "code\modules\food\kitchen\cooking_machines\_mixer.dm" +#include "code\modules\food\kitchen\cooking_machines\candy.dm" +#include "code\modules\food\kitchen\cooking_machines\cereal.dm" +#include "code\modules\food\kitchen\cooking_machines\container.dm" +#include "code\modules\food\kitchen\cooking_machines\fryer.dm" +#include "code\modules\food\kitchen\cooking_machines\grill.dm" +#include "code\modules\food\kitchen\cooking_machines\oven.dm" +#include "code\modules\food\kitchen\smartfridge\drying_rack.dm" +#include "code\modules\food\kitchen\smartfridge\engineering.dm" +#include "code\modules\food\kitchen\smartfridge\hydroponics.dm" +#include "code\modules\food\kitchen\smartfridge\medical.dm" +#include "code\modules\food\kitchen\smartfridge\smartfridge.dm" +#include "code\modules\food\kitchen\smartfridge\smartfridge_vr.dm" +#include "code\modules\gamemaster\defines.dm" +#include "code\modules\gamemaster\event2\event.dm" +#include "code\modules\gamemaster\event2\meta.dm" +#include "code\modules\gamemaster\event2\events\ghost_pod_spawner.dm" +#include "code\modules\gamemaster\event2\events\mob_spawning.dm" +#include "code\modules\gamemaster\event2\events\cargo\shipping_error.dm" +#include "code\modules\gamemaster\event2\events\command\manifest_malfunction.dm" +#include "code\modules\gamemaster\event2\events\command\money_hacker.dm" +#include "code\modules\gamemaster\event2\events\command\raise_funds.dm" +#include "code\modules\gamemaster\event2\events\engineering\airlock_failure.dm" +#include "code\modules\gamemaster\event2\events\engineering\blob.dm" +#include "code\modules\gamemaster\event2\events\engineering\brand_intelligence.dm" +#include "code\modules\gamemaster\event2\events\engineering\camera_damage.dm" +#include "code\modules\gamemaster\event2\events\engineering\canister_leak.dm" +#include "code\modules\gamemaster\event2\events\engineering\dust.dm" +#include "code\modules\gamemaster\event2\events\engineering\gas_leak.dm" +#include "code\modules\gamemaster\event2\events\engineering\grid_check.dm" +#include "code\modules\gamemaster\event2\events\engineering\meteor_defense.dm" +#include "code\modules\gamemaster\event2\events\engineering\spacevine.dm" +#include "code\modules\gamemaster\event2\events\engineering\wallrot.dm" +#include "code\modules\gamemaster\event2\events\engineering\window_break.dm" +#include "code\modules\gamemaster\event2\events\everyone\comms_blackout.dm" +#include "code\modules\gamemaster\event2\events\everyone\electrical_fault.dm" +#include "code\modules\gamemaster\event2\events\everyone\gravity_vr.dm" +#include "code\modules\gamemaster\event2\events\everyone\infestation.dm" +#include "code\modules\gamemaster\event2\events\everyone\pda_spam.dm" +#include "code\modules\gamemaster\event2\events\everyone\radiation_storm.dm" +#include "code\modules\gamemaster\event2\events\everyone\random_antag.dm" +#include "code\modules\gamemaster\event2\events\everyone\solar_storm.dm" +#include "code\modules\gamemaster\event2\events\everyone\sudden_weather_shift.dm" +#include "code\modules\gamemaster\event2\events\legacy\legacy.dm" +#include "code\modules\gamemaster\event2\events\medical\appendicitis.dm" +#include "code\modules\gamemaster\event2\events\medical\virus.dm" +#include "code\modules\gamemaster\event2\events\security\carp_migration.dm" +#include "code\modules\gamemaster\event2\events\security\drill_announcement.dm" +#include "code\modules\gamemaster\event2\events\security\prison_break.dm" +#include "code\modules\gamemaster\event2\events\security\rogue_drones.dm" +#include "code\modules\gamemaster\event2\events\security\security_advisement.dm" +#include "code\modules\gamemaster\event2\events\security\spider_infestation.dm" +#include "code\modules\gamemaster\event2\events\security\stowaway.dm" +#include "code\modules\gamemaster\event2\events\security\surprise_carp.dm" +#include "code\modules\gamemaster\event2\events\security\swarm_boarder.dm" +#include "code\modules\gamemaster\event2\events\synthetic\ion_storm.dm" +#include "code\modules\games\cah.dm" +#include "code\modules\games\cah_black_cards.dm" +#include "code\modules\games\cah_white_cards.dm" +#include "code\modules\games\cardemon.dm" +#include "code\modules\games\cards.dm" +#include "code\modules\games\dice.dm" +#include "code\modules\games\spaceball_cards.dm" +#include "code\modules\games\tarot.dm" +#include "code\modules\genetics\side_effects.dm" +#include "code\modules\ghosttrap\trap.dm" +#include "code\modules\holodeck\HolodeckControl.dm" +#include "code\modules\holodeck\HolodeckObjects.dm" +#include "code\modules\holodeck\HolodeckPrograms.dm" +#include "code\modules\holomap\generate_holomap.dm" +#include "code\modules\holomap\holomap_area.dm" +#include "code\modules\holomap\holomap_datum.dm" +#include "code\modules\holomap\mapper.dm" +#include "code\modules\holomap\station_holomap.dm" +#include "code\modules\hydroponics\grown.dm" +#include "code\modules\hydroponics\grown_inedible.dm" +#include "code\modules\hydroponics\grown_predefined.dm" +#include "code\modules\hydroponics\seed.dm" +#include "code\modules\hydroponics\seed_datums_vr.dm" +#include "code\modules\hydroponics\seed_gene_mut.dm" +#include "code\modules\hydroponics\seed_machines.dm" +#include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seed_packets.dm" +#include "code\modules\hydroponics\seed_packets_vr.dm" +#include "code\modules\hydroponics\seed_storage.dm" +#include "code\modules\hydroponics\seed_storage_vr.dm" +#include "code\modules\hydroponics\beekeeping\beehive.dm" +#include "code\modules\hydroponics\seedtypes\amauri.dm" +#include "code\modules\hydroponics\seedtypes\ambrosia.dm" +#include "code\modules\hydroponics\seedtypes\apples.dm" +#include "code\modules\hydroponics\seedtypes\banana.dm" +#include "code\modules\hydroponics\seedtypes\berries.dm" +#include "code\modules\hydroponics\seedtypes\cabbage.dm" +#include "code\modules\hydroponics\seedtypes\carrots.dm" +#include "code\modules\hydroponics\seedtypes\celery.dm" +#include "code\modules\hydroponics\seedtypes\cherries.dm" +#include "code\modules\hydroponics\seedtypes\chili.dm" +#include "code\modules\hydroponics\seedtypes\citrus.dm" +#include "code\modules\hydroponics\seedtypes\cocoa.dm" +#include "code\modules\hydroponics\seedtypes\corn.dm" +#include "code\modules\hydroponics\seedtypes\diona.dm" +#include "code\modules\hydroponics\seedtypes\durian.dm" +#include "code\modules\hydroponics\seedtypes\eggplant.dm" +#include "code\modules\hydroponics\seedtypes\flowers.dm" +#include "code\modules\hydroponics\seedtypes\gelthi.dm" +#include "code\modules\hydroponics\seedtypes\gnomes.dm" +#include "code\modules\hydroponics\seedtypes\grapes.dm" +#include "code\modules\hydroponics\seedtypes\grass.dm" +#include "code\modules\hydroponics\seedtypes\jurlmah.dm" +#include "code\modules\hydroponics\seedtypes\kudzu.dm" +#include "code\modules\hydroponics\seedtypes\lettuce.dm" +#include "code\modules\hydroponics\seedtypes\malanitear.dm" +#include "code\modules\hydroponics\seedtypes\mushrooms.dm" +#include "code\modules\hydroponics\seedtypes\nettles.dm" +#include "code\modules\hydroponics\seedtypes\onion.dm" +#include "code\modules\hydroponics\seedtypes\peanuts.dm" +#include "code\modules\hydroponics\seedtypes\pineapple.dm" +#include "code\modules\hydroponics\seedtypes\potato.dm" +#include "code\modules\hydroponics\seedtypes\pumpkin.dm" +#include "code\modules\hydroponics\seedtypes\rhubarb.dm" +#include "code\modules\hydroponics\seedtypes\rice.dm" +#include "code\modules\hydroponics\seedtypes\selemhand.dm" +#include "code\modules\hydroponics\seedtypes\soybean.dm" +#include "code\modules\hydroponics\seedtypes\sugarcane.dm" +#include "code\modules\hydroponics\seedtypes\surik.dm" +#include "code\modules\hydroponics\seedtypes\telriis.dm" +#include "code\modules\hydroponics\seedtypes\thaadra.dm" +#include "code\modules\hydroponics\seedtypes\tobacco.dm" +#include "code\modules\hydroponics\seedtypes\tomatoes.dm" +#include "code\modules\hydroponics\seedtypes\vale.dm" +#include "code\modules\hydroponics\seedtypes\vanilla.dm" +#include "code\modules\hydroponics\seedtypes\wabback.dm" +#include "code\modules\hydroponics\seedtypes\watermelon.dm" +#include "code\modules\hydroponics\seedtypes\weeds.dm" +#include "code\modules\hydroponics\seedtypes\wheat.dm" +#include "code\modules\hydroponics\seedtypes\whitebeets.dm" +#include "code\modules\hydroponics\seedtypes\wurmwoad.dm" +#include "code\modules\hydroponics\seedtypes\xeno.dm" +#include "code\modules\hydroponics\spreading\spreading.dm" +#include "code\modules\hydroponics\spreading\spreading_growth.dm" +#include "code\modules\hydroponics\spreading\spreading_response.dm" +#include "code\modules\hydroponics\trays\tray.dm" +#include "code\modules\hydroponics\trays\tray_process.dm" +#include "code\modules\hydroponics\trays\tray_reagents.dm" +#include "code\modules\hydroponics\trays\tray_soil.dm" +#include "code\modules\hydroponics\trays\tray_tools.dm" +#include "code\modules\hydroponics\trays\tray_update_icons.dm" +#include "code\modules\identification\identification.dm" +#include "code\modules\identification\item_procs.dm" +#include "code\modules\instruments\items.dm" +#include "code\modules\instruments\stationary.dm" +#include "code\modules\instruments\instrument_data\_instrument_data.dm" +#include "code\modules\instruments\instrument_data\_instrument_key.dm" +#include "code\modules\instruments\instrument_data\brass.dm" +#include "code\modules\instruments\instrument_data\chromatic_percussion.dm" +#include "code\modules\instruments\instrument_data\fun.dm" +#include "code\modules\instruments\instrument_data\guitar.dm" +#include "code\modules\instruments\instrument_data\hardcoded.dm" +#include "code\modules\instruments\instrument_data\organ.dm" +#include "code\modules\instruments\instrument_data\piano.dm" +#include "code\modules\instruments\instrument_data\synth_tones.dm" +#include "code\modules\instruments\songs\_song.dm" +#include "code\modules\instruments\songs\editor.dm" +#include "code\modules\instruments\songs\play_legacy.dm" +#include "code\modules\instruments\songs\play_synthesized.dm" +#include "code\modules\integrated_electronics\_defines.dm" +#include "code\modules\integrated_electronics\core\assemblies.dm" +#include "code\modules\integrated_electronics\core\detailer.dm" +#include "code\modules\integrated_electronics\core\helpers.dm" +#include "code\modules\integrated_electronics\core\integrated_circuit.dm" +#include "code\modules\integrated_electronics\core\pins.dm" +#include "code\modules\integrated_electronics\core\printer.dm" +#include "code\modules\integrated_electronics\core\tools.dm" +#include "code\modules\integrated_electronics\core\assemblies\clothing.dm" +#include "code\modules\integrated_electronics\core\assemblies\device.dm" +#include "code\modules\integrated_electronics\core\assemblies\generic.dm" +#include "code\modules\integrated_electronics\core\assemblies\implant.dm" +#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm" +#include "code\modules\integrated_electronics\passive\passive.dm" +#include "code\modules\integrated_electronics\passive\power.dm" +#include "code\modules\integrated_electronics\subtypes\arithmetic.dm" +#include "code\modules\integrated_electronics\subtypes\built_in.dm" +#include "code\modules\integrated_electronics\subtypes\converters.dm" +#include "code\modules\integrated_electronics\subtypes\data_transfer.dm" +#include "code\modules\integrated_electronics\subtypes\input.dm" +#include "code\modules\integrated_electronics\subtypes\lists.dm" +#include "code\modules\integrated_electronics\subtypes\logic.dm" +#include "code\modules\integrated_electronics\subtypes\manipulation.dm" +#include "code\modules\integrated_electronics\subtypes\memory.dm" +#include "code\modules\integrated_electronics\subtypes\output.dm" +#include "code\modules\integrated_electronics\subtypes\power.dm" +#include "code\modules\integrated_electronics\subtypes\reagents.dm" +#include "code\modules\integrated_electronics\subtypes\smart.dm" +#include "code\modules\integrated_electronics\subtypes\time.dm" +#include "code\modules\integrated_electronics\subtypes\trig.dm" +#include "code\modules\integrated_electronics\~defines\~defines.dm" +#include "code\modules\keybindings\bindings_atom.dm" +#include "code\modules\keybindings\bindings_movekeys.dm" +#include "code\modules\keybindings\setup.dm" +#include "code\modules\library\lib_items.dm" +#include "code\modules\library\lib_machines.dm" +#include "code\modules\library\lib_readme.dm" +#include "code\modules\library\hardcode_library\_library.dm" +#include "code\modules\library\hardcode_library\fiction\APsychonaut.dm" +#include "code\modules\library\hardcode_library\fiction\battlefieldcommander.dm" +#include "code\modules\library\hardcode_library\fiction\PortedBooks.dm" +#include "code\modules\library\hardcode_library\fiction\schnayy.dm" +#include "code\modules\library\hardcode_library\non-fiction\PortedBooks.dm" +#include "code\modules\library\hardcode_library\reference\PortedBooks.dm" +#include "code\modules\library\hardcode_library\reference\Schnayy.dm" +#include "code\modules\library\hardcode_library\religious\PortedBooks.dm" +#include "code\modules\lighting\emissive_blocker.dm" +#include "code\modules\lighting\lighting_area.dm" +#include "code\modules\lighting\lighting_atom.dm" +#include "code\modules\lighting\lighting_corner.dm" +#include "code\modules\lighting\lighting_fake_sun_vr.dm" +#include "code\modules\lighting\lighting_overlay.dm" +#include "code\modules\lighting\lighting_setup.dm" +#include "code\modules\lighting\lighting_source.dm" +#include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\looking_glass\lg_area.dm" +#include "code\modules\looking_glass\lg_console.dm" +#include "code\modules\looking_glass\lg_imageholder.dm" +#include "code\modules\looking_glass\lg_turfs.dm" +#include "code\modules\lore_codex\codex.dm" +#include "code\modules\lore_codex\codex_tree.dm" +#include "code\modules\lore_codex\pages.dm" +#include "code\modules\lore_codex\lore_data_vr\important_locations.dm" +#include "code\modules\lore_codex\lore_data_vr\main.dm" +#include "code\modules\lore_codex\lore_data_vr\orgs.dm" +#include "code\modules\lore_codex\lore_data_vr\political_parties.dm" +#include "code\modules\lore_codex\lore_data_vr\species.dm" +#include "code\modules\lore_codex\news_data\main.dm" +#include "code\modules\lore_codex\robutt_data\bybrand.dm" +#include "code\modules\lore_codex\robutt_data\main_robutts.dm" +#include "code\modules\lore_codex\robutt_data\more.dm" +#include "code\modules\makeup\nailpolish.dm" +#include "code\modules\maps\tg\dmm_suite.dm" +#include "code\modules\maps\tg\map_template.dm" +#include "code\modules\maps\tg\map_template_vr.dm" +#include "code\modules\maps\tg\reader.dm" +#include "code\modules\materials\fifty_spawner.dm" +#include "code\modules\materials\fifty_spawner_mats.dm" +#include "code\modules\materials\fifty_spawner_mats_vr.dm" +#include "code\modules\materials\material_synth.dm" +#include "code\modules\materials\materials\_materials.dm" +#include "code\modules\materials\materials\_materials_vr.dm" +#include "code\modules\materials\materials\alien_alloy.dm" +#include "code\modules\materials\materials\cult.dm" +#include "code\modules\materials\materials\gems.dm" +#include "code\modules\materials\materials\glass.dm" +#include "code\modules\materials\materials\glass_vr.dm" +#include "code\modules\materials\materials\holographic.dm" +#include "code\modules\materials\materials\other_vr.dm" +#include "code\modules\materials\materials\plastic.dm" +#include "code\modules\materials\materials\snow.dm" +#include "code\modules\materials\materials\stone.dm" +#include "code\modules\materials\materials\supermatter.dm" +#include "code\modules\materials\materials\metals\hull.dm" +#include "code\modules\materials\materials\metals\hull_vr.dm" +#include "code\modules\materials\materials\metals\metals.dm" +#include "code\modules\materials\materials\metals\metals_vr.dm" +#include "code\modules\materials\materials\metals\plasteel.dm" +#include "code\modules\materials\materials\metals\plasteel_vr.dm" +#include "code\modules\materials\materials\metals\steel.dm" +#include "code\modules\materials\materials\metals\steel_vr.dm" +#include "code\modules\materials\materials\organic\animal_products.dm" +#include "code\modules\materials\materials\organic\cloth.dm" +#include "code\modules\materials\materials\organic\leather.dm" +#include "code\modules\materials\materials\organic\resin.dm" +#include "code\modules\materials\materials\organic\wood.dm" +#include "code\modules\materials\sheets\_sheets.dm" +#include "code\modules\materials\sheets\gems.dm" +#include "code\modules\materials\sheets\glass.dm" +#include "code\modules\materials\sheets\glass_vr.dm" +#include "code\modules\materials\sheets\plastic.dm" +#include "code\modules\materials\sheets\snow.dm" +#include "code\modules\materials\sheets\stone.dm" +#include "code\modules\materials\sheets\supermatter.dm" +#include "code\modules\materials\sheets\metals\hull.dm" +#include "code\modules\materials\sheets\metals\hull_vr.dm" +#include "code\modules\materials\sheets\metals\metal.dm" +#include "code\modules\materials\sheets\metals\metal_vr.dm" +#include "code\modules\materials\sheets\metals\rods.dm" +#include "code\modules\materials\sheets\organic\animal_products.dm" +#include "code\modules\materials\sheets\organic\resin.dm" +#include "code\modules\materials\sheets\organic\textiles.dm" +#include "code\modules\materials\sheets\organic\wood.dm" +#include "code\modules\materials\sheets\organic\tanning\hide.dm" +#include "code\modules\materials\sheets\organic\tanning\hide_hairless.dm" +#include "code\modules\materials\sheets\organic\tanning\leather_wet.dm" +#include "code\modules\materials\sheets\organic\tanning\tanning_rack.dm" +#include "code\modules\media\juke_remote.dm" +#include "code\modules\media\media_machinery.dm" +#include "code\modules\media\media_player_html5.dm" +#include "code\modules\media\media_player_vlc.dm" +#include "code\modules\media\media_player_wmp.dm" +#include "code\modules\media\media_tracks.dm" +#include "code\modules\media\mediamanager.dm" +#include "code\modules\media\walkpod.dm" +#include "code\modules\metric\activity.dm" +#include "code\modules\metric\count.dm" +#include "code\modules\metric\department.dm" +#include "code\modules\metric\metric.dm" +#include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\abandonedcrates_vr.dm" +#include "code\modules\mining\alloys.dm" +#include "code\modules\mining\alloys_vr.dm" +#include "code\modules\mining\fulton.dm" +#include "code\modules\mining\mine_items.dm" +#include "code\modules\mining\mine_items_vr.dm" +#include "code\modules\mining\mine_outcrops.dm" +#include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\mine_turfs_vr.dm" +#include "code\modules\mining\mineral_effect.dm" +#include "code\modules\mining\ore.dm" +#include "code\modules\mining\ore_box.dm" +#include "code\modules\mining\ore_datum.dm" +#include "code\modules\mining\resonator_vr.dm" +#include "code\modules\mining\shelter_atoms_vr.dm" +#include "code\modules\mining\shelters_vr.dm" +#include "code\modules\mining\drilling\drill.dm" +#include "code\modules\mining\drilling\scanner.dm" +#include "code\modules\mining\machinery\machine_input_output_plates.dm" +#include "code\modules\mining\machinery\machine_processing.dm" +#include "code\modules\mining\machinery\machine_stacking.dm" +#include "code\modules\mining\machinery\machine_unloading.dm" +#include "code\modules\mining\ore_redemption_machine\construction.dm" +#include "code\modules\mining\ore_redemption_machine\equipment_vendor.dm" +#include "code\modules\mining\ore_redemption_machine\mine_point_items.dm" +#include "code\modules\mining\ore_redemption_machine\survey_vendor.dm" +#include "code\modules\mob\animations.dm" +#include "code\modules\mob\death.dm" +#include "code\modules\mob\emote.dm" +#include "code\modules\mob\gender.dm" +#include "code\modules\mob\gender_vr.dm" +#include "code\modules\mob\hear_say.dm" +#include "code\modules\mob\holder.dm" +#include "code\modules\mob\inventory.dm" +#include "code\modules\mob\login.dm" +#include "code\modules\mob\login_vr.dm" +#include "code\modules\mob\logout.dm" +#include "code\modules\mob\mob.dm" +#include "code\modules\mob\mob_defines.dm" +#include "code\modules\mob\mob_defines_vr.dm" +#include "code\modules\mob\mob_grab.dm" +#include "code\modules\mob\mob_grab_specials.dm" +#include "code\modules\mob\mob_helpers.dm" +#include "code\modules\mob\mob_helpers_vr.dm" +#include "code\modules\mob\mob_movement.dm" +#include "code\modules\mob\mob_planes.dm" +#include "code\modules\mob\mob_planes_vr.dm" +#include "code\modules\mob\mob_transformation_simple.dm" +#include "code\modules\mob\say.dm" +#include "code\modules\mob\say_vr.dm" +#include "code\modules\mob\skillset.dm" +#include "code\modules\mob\transform_procs.dm" +#include "code\modules\mob\typing_indicator.dm" +#include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\_modifiers\aura.dm" +#include "code\modules\mob\_modifiers\changeling.dm" +#include "code\modules\mob\_modifiers\cloning.dm" +#include "code\modules\mob\_modifiers\feysight.dm" +#include "code\modules\mob\_modifiers\fire.dm" +#include "code\modules\mob\_modifiers\medical.dm" +#include "code\modules\mob\_modifiers\modifiers.dm" +#include "code\modules\mob\_modifiers\modifiers_misc.dm" +#include "code\modules\mob\_modifiers\traits.dm" +#include "code\modules\mob\_modifiers\traits_phobias.dm" +#include "code\modules\mob\_modifiers\unholy.dm" +#include "code\modules\mob\dead\corpse.dm" +#include "code\modules\mob\dead\corpse_vr.dm" +#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\observer\free_vr.dm" +#include "code\modules\mob\dead\observer\login.dm" +#include "code\modules\mob\dead\observer\logout.dm" +#include "code\modules\mob\dead\observer\observer.dm" +#include "code\modules\mob\dead\observer\observer_vr.dm" +#include "code\modules\mob\dead\observer\say.dm" +#include "code\modules\mob\freelook\chunk.dm" +#include "code\modules\mob\freelook\eye.dm" +#include "code\modules\mob\freelook\life.dm" +#include "code\modules\mob\freelook\update_triggers.dm" +#include "code\modules\mob\freelook\visualnet.dm" +#include "code\modules\mob\freelook\ai\cameranet.dm" +#include "code\modules\mob\freelook\ai\chunk.dm" +#include "code\modules\mob\freelook\ai\eye.dm" +#include "code\modules\mob\freelook\ai\update_triggers.dm" +#include "code\modules\mob\freelook\mask\chunk.dm" +#include "code\modules\mob\freelook\mask\cultnet.dm" +#include "code\modules\mob\freelook\mask\eye.dm" +#include "code\modules\mob\freelook\mask\update_triggers.dm" +#include "code\modules\mob\language\generic.dm" +#include "code\modules\mob\language\language.dm" +#include "code\modules\mob\language\monkey.dm" +#include "code\modules\mob\language\outsider.dm" +#include "code\modules\mob\language\station.dm" +#include "code\modules\mob\language\station_vr.dm" +#include "code\modules\mob\language\synthetic.dm" +#include "code\modules\mob\living\autohiss.dm" +#include "code\modules\mob\living\butchering.dm" +#include "code\modules\mob\living\damage_procs.dm" +#include "code\modules\mob\living\death.dm" +#include "code\modules\mob\living\default_language.dm" +#include "code\modules\mob\living\inventory.dm" +#include "code\modules\mob\living\life.dm" +#include "code\modules\mob\living\living.dm" +#include "code\modules\mob\living\living_defense.dm" +#include "code\modules\mob\living\living_defines.dm" +#include "code\modules\mob\living\living_defines_vr.dm" +#include "code\modules\mob\living\living_movement.dm" +#include "code\modules\mob\living\living_powers.dm" +#include "code\modules\mob\living\living_vr.dm" +#include "code\modules\mob\living\login.dm" +#include "code\modules\mob\living\logout.dm" +#include "code\modules\mob\living\organs.dm" +#include "code\modules\mob\living\riding.dm" +#include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\status_indicators.dm" +#include "code\modules\mob\living\bot\bot.dm" +#include "code\modules\mob\living\bot\bot_vr.dm" +#include "code\modules\mob\living\bot\cleanbot.dm" +#include "code\modules\mob\living\bot\ed209bot.dm" +#include "code\modules\mob\living\bot\edCLNbot.dm" +#include "code\modules\mob\living\bot\farmbot.dm" +#include "code\modules\mob\living\bot\floorbot.dm" +#include "code\modules\mob\living\bot\medbot.dm" +#include "code\modules\mob\living\bot\mulebot.dm" +#include "code\modules\mob\living\bot\mulebot_vr.dm" +#include "code\modules\mob\living\bot\secbot.dm" +#include "code\modules\mob\living\bot\SLed209bot.dm" +#include "code\modules\mob\living\carbon\breathe.dm" +#include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defense.dm" +#include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\carbon_powers.dm" +#include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\lick_wounds.dm" +#include "code\modules\mob\living\carbon\resist.dm" +#include "code\modules\mob\living\carbon\shock.dm" +#include "code\modules\mob\living\carbon\taste.dm" +#include "code\modules\mob\living\carbon\viruses.dm" +#include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_attacks.dm" +#include "code\modules\mob\living\carbon\alien\alien_damage.dm" +#include "code\modules\mob\living\carbon\alien\death.dm" +#include "code\modules\mob\living\carbon\alien\emote.dm" +#include "code\modules\mob\living\carbon\alien\life.dm" +#include "code\modules\mob\living\carbon\alien\progression.dm" +#include "code\modules\mob\living\carbon\alien\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona_attacks.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona_powers.dm" +#include "code\modules\mob\living\carbon\alien\diona\life.dm" +#include "code\modules\mob\living\carbon\alien\diona\progression.dm" +#include "code\modules\mob\living\carbon\alien\diona\say_understands.dm" +#include "code\modules\mob\living\carbon\alien\diona\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\life.dm" +#include "code\modules\mob\living\carbon\alien\larva\progression.dm" +#include "code\modules\mob\living\carbon\brain\brain.dm" +#include "code\modules\mob\living\carbon\brain\death.dm" +#include "code\modules\mob\living\carbon\brain\emote.dm" +#include "code\modules\mob\living\carbon\brain\life.dm" +#include "code\modules\mob\living\carbon\brain\login.dm" +#include "code\modules\mob\living\carbon\brain\MMI.dm" +#include "code\modules\mob\living\carbon\brain\robot.dm" +#include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\appearance.dm" +#include "code\modules\mob\living\carbon\human\death.dm" +#include "code\modules\mob\living\carbon\human\death_vr.dm" +#include "code\modules\mob\living\carbon\human\emote.dm" +#include "code\modules\mob\living\carbon\human\emote_vr.dm" +#include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\examine_vr.dm" +#include "code\modules\mob\living\carbon\human\gradient.dm" +#include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_attackhand.dm" +#include "code\modules\mob\living\carbon\human\human_damage.dm" +#include "code\modules\mob\living\carbon\human\human_defense.dm" +#include "code\modules\mob\living\carbon\human\human_defines.dm" +#include "code\modules\mob\living\carbon\human\human_defines_vr.dm" +#include "code\modules\mob\living\carbon\human\human_helpers.dm" +#include "code\modules\mob\living\carbon\human\human_helpers_vr.dm" +#include "code\modules\mob\living\carbon\human\human_modular_limbs.dm" +#include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_organs.dm" +#include "code\modules\mob\living\carbon\human\human_powers.dm" +#include "code\modules\mob\living\carbon\human\human_powers_vr.dm" +#include "code\modules\mob\living\carbon\human\human_resist.dm" +#include "code\modules\mob\living\carbon\human\human_species.dm" +#include "code\modules\mob\living\carbon\human\human_species_vr.dm" +#include "code\modules\mob\living\carbon\human\human_vr.dm" +#include "code\modules\mob\living\carbon\human\inventory.dm" +#include "code\modules\mob\living\carbon\human\life.dm" +#include "code\modules\mob\living\carbon\human\life_vr.dm" +#include "code\modules\mob\living\carbon\human\login.dm" +#include "code\modules\mob\living\carbon\human\logout.dm" +#include "code\modules\mob\living\carbon\human\MedicalSideEffects.dm" +#include "code\modules\mob\living\carbon\human\npcs.dm" +#include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\stripping.dm" +#include "code\modules\mob\living\carbon\human\unarmed_attack.dm" +#include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled.dm" +#include "code\modules\mob\living\carbon\human\descriptors\_descriptors.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_generic.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_skrell.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_vox.dm" +#include "code\modules\mob\living\carbon\human\species\species.dm" +#include "code\modules\mob\living\carbon\human\species\species_attack.dm" +#include "code\modules\mob\living\carbon\human\species\species_attack_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_getters.dm" +#include "code\modules\mob\living\carbon\human\species\species_getters_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_helpers.dm" +#include "code\modules\mob\living\carbon\human\species\species_hud.dm" +#include "code\modules\mob\living\carbon\human\species\species_shapeshift.dm" +#include "code\modules\mob\living\carbon\human\species\species_shapeshift_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_vr.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\event.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\replicant.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\skeleton.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\vox.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\vox_vr.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\_defines.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_abilities.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_hud.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_trait.dm" +#include "code\modules\mob\living\carbon\human\species\station\alraune.dm" +#include "code\modules\mob\living\carbon\human\species\station\blank_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\golem.dm" +#include "code\modules\mob\living\carbon\human\species\station\human_subspecies.dm" +#include "code\modules\mob\living\carbon\human\species\station\monkey.dm" +#include "code\modules\mob\living\carbon\human\species\station\monkey_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\prometheans.dm" +#include "code\modules\mob\living\carbon\human\species\station\prometheans_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_special_abilities_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_special_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\teshari.dm" +#include "code\modules\mob\living\carbon\human\species\station\teshari_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\xenochimera_hud_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\xenochimera_trait_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\_protean_defines.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_blob.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_powers.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_species.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\neutral.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\positive.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\trait.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_objs.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_recipies.dm" +#include "code\modules\mob\living\carbon\human\species\virtual_reality\avatar.dm" +#include "code\modules\mob\living\carbon\human\species\virtual_reality\opaque_form.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_powers.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_species.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\xenomorphs.dm" +#include "code\modules\mob\living\silicon\death.dm" +#include "code\modules\mob\living\silicon\emote.dm" +#include "code\modules\mob\living\silicon\laws.dm" +#include "code\modules\mob\living\silicon\login.dm" +#include "code\modules\mob\living\silicon\say.dm" +#include "code\modules\mob\living\silicon\silicon.dm" +#include "code\modules\mob\living\silicon\silicon_vr.dm" +#include "code\modules\mob\living\silicon\subystems.dm" +#include "code\modules\mob\living\silicon\ai\ai.dm" +#include "code\modules\mob\living\silicon\ai\ai_movement.dm" +#include "code\modules\mob\living\silicon\ai\ai_remote_control.dm" +#include "code\modules\mob\living\silicon\ai\ai_vr.dm" +#include "code\modules\mob\living\silicon\ai\death.dm" +#include "code\modules\mob\living\silicon\ai\examine.dm" +#include "code\modules\mob\living\silicon\ai\icons.dm" +#include "code\modules\mob\living\silicon\ai\latejoin.dm" +#include "code\modules\mob\living\silicon\ai\laws.dm" +#include "code\modules\mob\living\silicon\ai\life.dm" +#include "code\modules\mob\living\silicon\ai\login.dm" +#include "code\modules\mob\living\silicon\ai\logout.dm" +#include "code\modules\mob\living\silicon\ai\malf.dm" +#include "code\modules\mob\living\silicon\ai\multicam.dm" +#include "code\modules\mob\living\silicon\decoy\death.dm" +#include "code\modules\mob\living\silicon\decoy\decoy.dm" +#include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\admin.dm" +#include "code\modules\mob\living\silicon\pai\death.dm" +#include "code\modules\mob\living\silicon\pai\examine.dm" +#include "code\modules\mob\living\silicon\pai\life.dm" +#include "code\modules\mob\living\silicon\pai\pai.dm" +#include "code\modules\mob\living\silicon\pai\pai_vr.dm" +#include "code\modules\mob\living\silicon\pai\personality.dm" +#include "code\modules\mob\living\silicon\pai\recruit.dm" +#include "code\modules\mob\living\silicon\pai\say.dm" +#include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\pai\software_modules.dm" +#include "code\modules\mob\living\silicon\robot\analyzer.dm" +#include "code\modules\mob\living\silicon\robot\component.dm" +#include "code\modules\mob\living\silicon\robot\custom_sprites.dm" +#include "code\modules\mob\living\silicon\robot\death.dm" +#include "code\modules\mob\living\silicon\robot\emote.dm" +#include "code\modules\mob\living\silicon\robot\examine.dm" +#include "code\modules\mob\living\silicon\robot\examine_vr.dm" +#include "code\modules\mob\living\silicon\robot\inventory.dm" +#include "code\modules\mob\living\silicon\robot\laws.dm" +#include "code\modules\mob\living\silicon\robot\life.dm" +#include "code\modules\mob\living\silicon\robot\login.dm" +#include "code\modules\mob\living\silicon\robot\photos.dm" +#include "code\modules\mob\living\silicon\robot\robot.dm" +#include "code\modules\mob\living\silicon\robot\robot_animation_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_movement.dm" +#include "code\modules\mob\living\silicon\robot\robot_remote_control.dm" +#include "code\modules\mob\living\silicon\robot\robot_vr.dm" +#include "code\modules\mob\living\silicon\robot\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\dogborg\dog_modules_vr.dm" +#include "code\modules\mob\living\silicon\robot\dogborg\dog_sleeper_vr.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_vr.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\event.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\event_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\station.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\station_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\swarm.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\gravekeeper.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\lost_drone.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\lost_drone_vr.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\_thinktank.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_icon.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_interactions.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_module.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_storage.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_subtypes.dm" +#include "code\modules\mob\living\simple_mob\appearance.dm" +#include "code\modules\mob\living\simple_mob\butchering.dm" +#include "code\modules\mob\living\simple_mob\combat.dm" +#include "code\modules\mob\living\simple_mob\defense.dm" +#include "code\modules\mob\living\simple_mob\donteatpets_vr.dm" +#include "code\modules\mob\living\simple_mob\hands.dm" +#include "code\modules\mob\living\simple_mob\harvesting.dm" +#include "code\modules\mob\living\simple_mob\life.dm" +#include "code\modules\mob\living\simple_mob\on_click.dm" +#include "code\modules\mob\living\simple_mob\simple_hud.dm" +#include "code\modules\mob\living\simple_mob\simple_mob.dm" +#include "code\modules\mob\living\simple_mob\simple_mob_vr.dm" +#include "code\modules\mob\living\simple_mob\taming.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\animal.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer_captive.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer_powers.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\chicken.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\cow.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\goat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\_giant_spider.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\carrier.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\electric.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\frost.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\giant_spider_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\hunter.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\lurker.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\nurse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\pepper.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\phorogenic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\thermic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\tunneler.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\webslinger.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\crab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\jerboa_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\misc.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\passive.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\penguin.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\possum.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\bird.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\bird_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\cat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\cat_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\dog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\fox_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\parrot.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\diyaab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\duck.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\fluffy_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\frostfly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\glitterfly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hare.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hooligan_crab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\kururak.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\leech.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\moth.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\pillbug.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\racoon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\savik.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\shantak.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\sif.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\siffet.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\alien.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bats.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bear.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\carp.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\carp_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\gaslamp_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\snake_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\space.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\space_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\worm.dm" +#include "code\modules\mob\living\simple_mob\subtypes\blob\blob.dm" +#include "code\modules\mob\living\simple_mob\subtypes\blob\spore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\bradley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Eddy.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\horror .dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Master.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Rickey.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\sally.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\shittytim.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Smiley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Steve.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\timling.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Willy.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\clown.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\humanoid.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\humanoid_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\pirates.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\russian.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\illusion\illusion.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\corrupt_maint_drone_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\disbot_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\golem.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\golem_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\viscerator.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\wahlem_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\drones\combat_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\drones\mining_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\support.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\support_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\tank.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\adv_dark_gygax.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\adv_dark_gygax_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\combat_mecha.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\durand.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\gygax.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\hoverpod.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\marauder.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\mecha.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\odysseus.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\phazon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\ripley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\ward\monitor_ward.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\ward\ward.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\creature.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\faithless.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\_construct.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\artificer.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\harvester.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\juggernaut.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\shade.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\wraith.dm" +#include "code\modules\mob\living\simple_mob\subtypes\plant\tomato.dm" +#include "code\modules\mob\living\simple_mob\subtypes\plant\tree.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\slime.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\slime_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\feral\feral.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\feral\feral_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\combat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\consumption.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\defense.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\discipline.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\xenobio.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\bee.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\c_pet.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\catgirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\cookiegirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\corrupt_hounds.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\deathclaw.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\dino.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\dragon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\fennec.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\fennix.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\frog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\hippo.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\horse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\jelly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\lamia.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\oregrub.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\otie.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\panther.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\rabbit.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\sect_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\sect_queen.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\snake.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\softdog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\solargrub.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\solargrub_larva.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\vore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\weretiger.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\wolfgirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\xeno_vore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\zz_vore_overrides.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\_defines.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_abilities.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_subtypes.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\~defines.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\Big.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\bigclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\bus.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\busclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\c_shift.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\Clowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\hespawner.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\honkelemental.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\regularclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\morph\morph.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_objects.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_procs.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\types.dm" +#include "code\modules\mob\living\voice\voice.dm" +#include "code\modules\mob\living\voice\voice_vr.dm" +#include "code\modules\mob\new_player\login.dm" +#include "code\modules\mob\new_player\login_vr.dm" +#include "code\modules\mob\new_player\logout.dm" +#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\new_player_vr.dm" +#include "code\modules\mob\new_player\news.dm" +#include "code\modules\mob\new_player\poll.dm" +#include "code\modules\mob\new_player\preferences_setup.dm" +#include "code\modules\mob\new_player\preferences_setup_vr.dm" +#include "code\modules\mob\new_player\skill.dm" +#include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\new_player\sprite_accessories_ear.dm" +#include "code\modules\mob\new_player\sprite_accessories_ear_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_extra.dm" +#include "code\modules\mob\new_player\sprite_accessories_extra_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_tail.dm" +#include "code\modules\mob\new_player\sprite_accessories_tail_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_taur.dm" +#include "code\modules\mob\new_player\sprite_accessories_taur_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_wing.dm" +#include "code\modules\mob\new_player\sprite_accessories_wing_vr.dm" +#include "code\modules\modular_computers\laptop_vendor.dm" +#include "code\modules\modular_computers\computers\modular_computer\core.dm" +#include "code\modules\modular_computers\computers\modular_computer\damage.dm" +#include "code\modules\modular_computers\computers\modular_computer\hardware.dm" +#include "code\modules\modular_computers\computers\modular_computer\interaction.dm" +#include "code\modules\modular_computers\computers\modular_computer\power.dm" +#include "code\modules\modular_computers\computers\modular_computer\ui.dm" +#include "code\modules\modular_computers\computers\modular_computer\variables.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_console.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_laptop.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_tablet.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_telescreen.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_console.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_laptop.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_laptop_vr.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_tablet.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_tablet_vr.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_telescreen.dm" +#include "code\modules\modular_computers\file_system\computer_file.dm" +#include "code\modules\modular_computers\file_system\data.dm" +#include "code\modules\modular_computers\file_system\news_article.dm" +#include "code\modules\modular_computers\file_system\program.dm" +#include "code\modules\modular_computers\file_system\program_events.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\access_decrypter.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\hacked_camera.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm" +#include "code\modules\modular_computers\file_system\programs\command\card.dm" +#include "code\modules\modular_computers\file_system\programs\command\comm.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\alarm_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\atmos_control.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\power_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\rcon_console.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\shutoff_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\supermatter_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\generic\camera.dm" +#include "code\modules\modular_computers\file_system\programs\generic\configurator.dm" +#include "code\modules\modular_computers\file_system\programs\generic\email_client.dm" +#include "code\modules\modular_computers\file_system\programs\generic\file_browser.dm" +#include "code\modules\modular_computers\file_system\programs\generic\game.dm" +#include "code\modules\modular_computers\file_system\programs\generic\news_browser.dm" +#include "code\modules\modular_computers\file_system\programs\generic\ntdownloader.dm" +#include "code\modules\modular_computers\file_system\programs\generic\ntnrc_client.dm" +#include "code\modules\modular_computers\file_system\programs\generic\nttransfer.dm" +#include "code\modules\modular_computers\file_system\programs\generic\uav.dm" +#include "code\modules\modular_computers\file_system\programs\generic\wordprocessor.dm" +#include "code\modules\modular_computers\file_system\programs\medical\suit_sensors.dm" +#include "code\modules\modular_computers\file_system\programs\research\email_administration.dm" +#include "code\modules\modular_computers\file_system\programs\research\ntmonitor.dm" +#include "code\modules\modular_computers\file_system\programs\security\alarm_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\security\digitalwarrant.dm" +#include "code\modules\modular_computers\file_system\programs\ships\navigation.dm" +#include "code\modules\modular_computers\hardware\_hardware.dm" +#include "code\modules\modular_computers\hardware\battery_module.dm" +#include "code\modules\modular_computers\hardware\card_slot.dm" +#include "code\modules\modular_computers\hardware\hard_drive.dm" +#include "code\modules\modular_computers\hardware\nano_printer.dm" +#include "code\modules\modular_computers\hardware\network_card.dm" +#include "code\modules\modular_computers\hardware\portable_hard_drive.dm" +#include "code\modules\modular_computers\hardware\processor_unit.dm" +#include "code\modules\modular_computers\hardware\tesla_link.dm" +#include "code\modules\modular_computers\NTNet\NTNet.dm" +#include "code\modules\modular_computers\NTNet\NTNet_relay.dm" +#include "code\modules\modular_computers\NTNet\emails\email_account.dm" +#include "code\modules\modular_computers\NTNet\emails\email_message.dm" +#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" +#include "code\modules\multi-tile\multi-tile.dm" +#include "code\modules\multiz\_stubs.dm" +#include "code\modules\multiz\admin_upload.dm" +#include "code\modules\multiz\basic.dm" +#include "code\modules\multiz\hoist.dm" +#include "code\modules\multiz\ladder_assembly_vr.dm" +#include "code\modules\multiz\ladders.dm" +#include "code\modules\multiz\ladders_vr.dm" +#include "code\modules\multiz\movement.dm" +#include "code\modules\multiz\movement_vr.dm" +#include "code\modules\multiz\pipes.dm" +#include "code\modules\multiz\stairs.dm" +#include "code\modules\multiz\turf.dm" +#include "code\modules\news\news_init.dm" +#include "code\modules\news\newspaper.dm" +#include "code\modules\news\newspaper_layout.dm" +#include "code\modules\nifsoft\nif.dm" +#include "code\modules\nifsoft\nif_softshop.dm" +#include "code\modules\nifsoft\nif_tgui.dm" +#include "code\modules\nifsoft\nifsoft.dm" +#include "code\modules\nifsoft\software\01_vision.dm" +#include "code\modules\nifsoft\software\05_health.dm" +#include "code\modules\nifsoft\software\06_screens.dm" +#include "code\modules\nifsoft\software\10_combat.dm" +#include "code\modules\nifsoft\software\13_soulcatcher.dm" +#include "code\modules\nifsoft\software\14_commlink.dm" +#include "code\modules\nifsoft\software\15_misc.dm" +#include "code\modules\organs\blood.dm" +#include "code\modules\organs\misc.dm" +#include "code\modules\organs\organ.dm" +#include "code\modules\organs\organ_external.dm" +#include "code\modules\organs\organ_external_vr.dm" +#include "code\modules\organs\organ_icon.dm" +#include "code\modules\organs\organ_stump.dm" +#include "code\modules\organs\pain.dm" +#include "code\modules\organs\robolimbs.dm" +#include "code\modules\organs\robolimbs_custom.dm" +#include "code\modules\organs\robolimbs_vr.dm" +#include "code\modules\organs\wound.dm" +#include "code\modules\organs\internal\_organ_internal.dm" +#include "code\modules\organs\internal\appendix.dm" +#include "code\modules\organs\internal\augment.dm" +#include "code\modules\organs\internal\brain.dm" +#include "code\modules\organs\internal\eyes.dm" +#include "code\modules\organs\internal\heart.dm" +#include "code\modules\organs\internal\intestine.dm" +#include "code\modules\organs\internal\kidneys.dm" +#include "code\modules\organs\internal\liver.dm" +#include "code\modules\organs\internal\lungs.dm" +#include "code\modules\organs\internal\spleen.dm" +#include "code\modules\organs\internal\stomach.dm" +#include "code\modules\organs\internal\voicebox.dm" +#include "code\modules\organs\internal\augment\armmounted.dm" +#include "code\modules\organs\internal\augment\bio.dm" +#include "code\modules\organs\internal\robotic\diagnostic.dm" +#include "code\modules\organs\internal\robotic\heatsink.dm" +#include "code\modules\organs\internal\robotic\robotic.dm" +#include "code\modules\organs\subtypes\diona.dm" +#include "code\modules\organs\subtypes\indestructible.dm" +#include "code\modules\organs\subtypes\machine.dm" +#include "code\modules\organs\subtypes\nano.dm" +#include "code\modules\organs\subtypes\replicant.dm" +#include "code\modules\organs\subtypes\shadekin.dm" +#include "code\modules\organs\subtypes\shadekin_vr.dm" +#include "code\modules\organs\subtypes\slime.dm" +#include "code\modules\organs\subtypes\slime_vr.dm" +#include "code\modules\organs\subtypes\standard.dm" +#include "code\modules\organs\subtypes\standard_vr.dm" +#include "code\modules\organs\subtypes\teshari.dm" +#include "code\modules\organs\subtypes\unathi.dm" +#include "code\modules\organs\subtypes\unbreakable.dm" +#include "code\modules\organs\subtypes\unseverable.dm" +#include "code\modules\organs\subtypes\vox.dm" +#include "code\modules\organs\subtypes\vox_vr.dm" +#include "code\modules\organs\subtypes\xenos.dm" +#include "code\modules\overmap\abductor_vr.dm" +#include "code\modules\overmap\bluespace_rift_vr.dm" +#include "code\modules\overmap\champagne.dm" +#include "code\modules\overmap\helpers.dm" +#include "code\modules\overmap\overmap_object.dm" +#include "code\modules\overmap\overmap_planet.dm" +#include "code\modules\overmap\overmap_shuttle.dm" +#include "code\modules\overmap\sectors.dm" +#include "code\modules\overmap\spacetravel.dm" +#include "code\modules\overmap\turfs.dm" +#include "code\modules\overmap\disperser\disperser.dm" +#include "code\modules\overmap\disperser\disperser_charge.dm" +#include "code\modules\overmap\disperser\disperser_circuit.dm" +#include "code\modules\overmap\disperser\disperser_console.dm" +#include "code\modules\overmap\disperser\disperser_fire.dm" +#include "code\modules\overmap\events\event_handler.dm" +#include "code\modules\overmap\events\generation.dm" +#include "code\modules\overmap\events\overmap_event.dm" +#include "code\modules\overmap\ships\landable.dm" +#include "code\modules\overmap\ships\panicbutton.dm" +#include "code\modules\overmap\ships\ship.dm" +#include "code\modules\overmap\ships\computers\computer_shims.dm" +#include "code\modules\overmap\ships\computers\engine_control.dm" +#include "code\modules\overmap\ships\computers\helm.dm" +#include "code\modules\overmap\ships\computers\sensors.dm" +#include "code\modules\overmap\ships\computers\ship.dm" +#include "code\modules\overmap\ships\computers\ship_vr.dm" +#include "code\modules\overmap\ships\computers\shuttle.dm" +#include "code\modules\overmap\ships\engines\engine.dm" +#include "code\modules\overmap\ships\engines\gas_thruster.dm" +#include "code\modules\overmap\ships\engines\gas_thruster_vr.dm" +#include "code\modules\overmap\ships\engines\ion_thruster.dm" +#include "code\modules\paperwork\adminpaper.dm" +#include "code\modules\paperwork\carbonpaper.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\faxmachine.dm" +#include "code\modules\paperwork\faxmachine_vr.dm" +#include "code\modules\paperwork\filingcabinet.dm" +#include "code\modules\paperwork\folders.dm" +#include "code\modules\paperwork\handlabeler.dm" +#include "code\modules\paperwork\paper.dm" +#include "code\modules\paperwork\paper_bundle.dm" +#include "code\modules\paperwork\paper_sticky.dm" +#include "code\modules\paperwork\paperbin.dm" +#include "code\modules\paperwork\paperplane.dm" +#include "code\modules\paperwork\papershredder.dm" +#include "code\modules\paperwork\pen.dm" +#include "code\modules\paperwork\photocopier.dm" +#include "code\modules\paperwork\photography.dm" +#include "code\modules\paperwork\silicon_photography.dm" +#include "code\modules\paperwork\stamps.dm" +#include "code\modules\pda\ai.dm" +#include "code\modules\pda\app.dm" +#include "code\modules\pda\cart.dm" +#include "code\modules\pda\cart_apps.dm" +#include "code\modules\pda\cart_vr.dm" +#include "code\modules\pda\core_apps.dm" +#include "code\modules\pda\messenger.dm" +#include "code\modules\pda\messenger_plugins.dm" +#include "code\modules\pda\pda.dm" +#include "code\modules\pda\pda_subtypes.dm" +#include "code\modules\pda\pda_tgui.dm" +#include "code\modules\pda\pda_vr.dm" +#include "code\modules\pda\radio.dm" +#include "code\modules\pda\utilities.dm" +#include "code\modules\persistence\filth.dm" +#include "code\modules\persistence\graffiti.dm" +#include "code\modules\persistence\noticeboard.dm" +#include "code\modules\persistence\paintings.dm" +#include "code\modules\persistence\serialize.dm" +#include "code\modules\persistence\datum\persistence_datum.dm" +#include "code\modules\persistence\effects\filth.dm" +#include "code\modules\persistence\effects\graffiti.dm" +#include "code\modules\persistence\effects\paper.dm" +#include "code\modules\persistence\effects\paper_sticky.dm" +#include "code\modules\persistence\effects\trash.dm" +#include "code\modules\persistence\storage\smartfridge.dm" +#include "code\modules\persistence\storage\storage.dm" +#include "code\modules\planet\planet.dm" +#include "code\modules\planet\sun.dm" +#include "code\modules\planet\time.dm" +#include "code\modules\planet\virgo3b_vr.dm" +#include "code\modules\planet\virgo4_vr.dm" +#include "code\modules\planet\weather.dm" +#include "code\modules\planet\weather_vr.dm" +#include "code\modules\power\apc.dm" +#include "code\modules\power\apc_vr.dm" +#include "code\modules\power\batteryrack.dm" +#include "code\modules\power\batteryrack_vr.dm" +#include "code\modules\power\breaker_box.dm" +#include "code\modules\power\cable.dm" +#include "code\modules\power\cable_ender.dm" +#include "code\modules\power\cable_heavyduty.dm" +#include "code\modules\power\cell.dm" +#include "code\modules\power\debug_items.dm" +#include "code\modules\power\generator.dm" +#include "code\modules\power\gravitygenerator_vr.dm" +#include "code\modules\power\grid_checker.dm" +#include "code\modules\power\lighting.dm" +#include "code\modules\power\lighting_vr.dm" +#include "code\modules\power\lightswitch_vr.dm" +#include "code\modules\power\port_gen.dm" +#include "code\modules\power\port_gen_vr.dm" +#include "code\modules\power\power.dm" +#include "code\modules\power\powernet.dm" +#include "code\modules\power\smes.dm" +#include "code\modules\power\smes_construction.dm" +#include "code\modules\power\smes_vr.dm" +#include "code\modules\power\solar.dm" +#include "code\modules\power\terminal.dm" +#include "code\modules\power\tracker.dm" +#include "code\modules\power\turbine.dm" +#include "code\modules\power\antimatter\containment_jar.dm" +#include "code\modules\power\antimatter\control.dm" +#include "code\modules\power\antimatter\shielding.dm" +#include "code\modules\power\cells\device_cells.dm" +#include "code\modules\power\cells\device_cells_vr.dm" +#include "code\modules\power\cells\esoteric_cells.dm" +#include "code\modules\power\cells\power_cells.dm" +#include "code\modules\power\fusion\_setup.dm" +#include "code\modules\power\fusion\fusion_circuits.dm" +#include "code\modules\power\fusion\fusion_particle_catcher.dm" +#include "code\modules\power\fusion\fusion_reactions.dm" +#include "code\modules\power\fusion\magpower.dm" +#include "code\modules\power\fusion\core\_core.dm" +#include "code\modules\power\fusion\core\core_control.dm" +#include "code\modules\power\fusion\core\core_field.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_assembly.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_compressor.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_control.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_injector.dm" +#include "code\modules\power\fusion\gyrotron\gyrotron.dm" +#include "code\modules\power\fusion\gyrotron\gyrotron_control.dm" +#include "code\modules\power\sensors\powernet_sensor.dm" +#include "code\modules\power\sensors\sensor_monitoring.dm" +#include "code\modules\power\singularity\act.dm" +#include "code\modules\power\singularity\collector.dm" +#include "code\modules\power\singularity\containment_field.dm" +#include "code\modules\power\singularity\emitter.dm" +#include "code\modules\power\singularity\emitter_vr.dm" +#include "code\modules\power\singularity\field_generator.dm" +#include "code\modules\power\singularity\generator.dm" +#include "code\modules\power\singularity\investigate.dm" +#include "code\modules\power\singularity\singularity.dm" +#include "code\modules\power\singularity\particle_accelerator\particle.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_smasher.dm" +#include "code\modules\power\supermatter\setup_supermatter.dm" +#include "code\modules\power\supermatter\supermatter.dm" +#include "code\modules\power\tesla\coil.dm" +#include "code\modules\power\tesla\energy_ball.dm" +#include "code\modules\power\tesla\generator.dm" +#include "code\modules\power\tesla\telsa_construction.dm" +#include "code\modules\power\tesla\tesla_act.dm" +#include "code\modules\projectiles\ammunition.dm" +#include "code\modules\projectiles\broken.dm" +#include "code\modules\projectiles\dnalocking.dm" +#include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\ammunition\magazines_vr.dm" +#include "code\modules\projectiles\ammunition\magnetic.dm" +#include "code\modules\projectiles\ammunition\rounds.dm" +#include "code\modules\projectiles\ammunition\smartmag.dm" +#include "code\modules\projectiles\brokenguns\energy.dm" +#include "code\modules\projectiles\brokenguns\launcher.dm" +#include "code\modules\projectiles\brokenguns\magnetic.dm" +#include "code\modules\projectiles\brokenguns\projectile.dm" +#include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\launcher.dm" +#include "code\modules\projectiles\guns\magic.dm" +#include "code\modules\projectiles\guns\modular_guns.dm" +#include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\vox.dm" +#include "code\modules\projectiles\guns\energy\bsharpoon_vr.dm" +#include "code\modules\projectiles\guns\energy\crestrose_vr.dm" +#include "code\modules\projectiles\guns\energy\dominator_vr.dm" +#include "code\modules\projectiles\guns\energy\gunsword_vr.dm" +#include "code\modules\projectiles\guns\energy\hooklauncher.dm" +#include "code\modules\projectiles\guns\energy\kinetic_accelerator_vr.dm" +#include "code\modules\projectiles\guns\energy\laser.dm" +#include "code\modules\projectiles\guns\energy\laser_vr.dm" +#include "code\modules\projectiles\guns\energy\netgun_vr.dm" +#include "code\modules\projectiles\guns\energy\nuclear.dm" +#include "code\modules\projectiles\guns\energy\nuclear_vr.dm" +#include "code\modules\projectiles\guns\energy\particle.dm" +#include "code\modules\projectiles\guns\energy\phase.dm" +#include "code\modules\projectiles\guns\energy\protector_vr.dm" +#include "code\modules\projectiles\guns\energy\pulse.dm" +#include "code\modules\projectiles\guns\energy\pummeler_vr.dm" +#include "code\modules\projectiles\guns\energy\sickshot_vr.dm" +#include "code\modules\projectiles\guns\energy\special.dm" +#include "code\modules\projectiles\guns\energy\special_vr.dm" +#include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\energy\stun_vr.dm" +#include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\cell_loaded.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\ml3m.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\ml3m_cells.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\multi_cannon.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\multi_cannon_cells.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw_cells.dm" +#include "code\modules\projectiles\guns\launcher\bows.dm" +#include "code\modules\projectiles\guns\launcher\crossbow.dm" +#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm" +#include "code\modules\projectiles\guns\launcher\pneumatic.dm" +#include "code\modules\projectiles\guns\launcher\rocket.dm" +#include "code\modules\projectiles\guns\launcher\syringe_gun.dm" +#include "code\modules\projectiles\guns\magic\fireball.dm" +#include "code\modules\projectiles\guns\magnetic\bore.dm" +#include "code\modules\projectiles\guns\magnetic\gasthrower.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_construction.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_railgun.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_railgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\automatic_vr.dm" +#include "code\modules\projectiles\guns\projectile\boltaction.dm" +#include "code\modules\projectiles\guns\projectile\boltaction_vr.dm" +#include "code\modules\projectiles\guns\projectile\caseless.dm" +#include "code\modules\projectiles\guns\projectile\contender.dm" +#include "code\modules\projectiles\guns\projectile\dartgun.dm" +#include "code\modules\projectiles\guns\projectile\dartgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\pistol.dm" +#include "code\modules\projectiles\guns\projectile\pistol_vr.dm" +#include "code\modules\projectiles\guns\projectile\revolver.dm" +#include "code\modules\projectiles\guns\projectile\revolver_vr.dm" +#include "code\modules\projectiles\guns\projectile\semiauto.dm" +#include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\guns\projectile\shotgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\sniper.dm" +#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm" +#include "code\modules\projectiles\projectile\arc.dm" +#include "code\modules\projectiles\projectile\beams.dm" +#include "code\modules\projectiles\projectile\beams_vr.dm" +#include "code\modules\projectiles\projectile\blob.dm" +#include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\bullets_vr.dm" +#include "code\modules\projectiles\projectile\change.dm" +#include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\energy_vr.dm" +#include "code\modules\projectiles\projectile\explosive.dm" +#include "code\modules\projectiles\projectile\force.dm" +#include "code\modules\projectiles\projectile\hook.dm" +#include "code\modules\projectiles\projectile\magic.dm" +#include "code\modules\projectiles\projectile\magnetic.dm" +#include "code\modules\projectiles\projectile\pellets.dm" +#include "code\modules\projectiles\projectile\scatter.dm" +#include "code\modules\projectiles\projectile\special.dm" +#include "code\modules\projectiles\projectile\trace.dm" +#include "code\modules\projectiles\targeting\targeting_client.dm" +#include "code\modules\projectiles\targeting\targeting_gun.dm" +#include "code\modules\projectiles\targeting\targeting_mob.dm" +#include "code\modules\projectiles\targeting\targeting_overlay.dm" +#include "code\modules\projectiles\targeting\targeting_triggers.dm" +#include "code\modules\radiation\radiation.dm" +#include "code\modules\random_map\_random_map_setup.dm" +#include "code\modules\random_map\random_map.dm" +#include "code\modules\random_map\random_map_verbs.dm" +#include "code\modules\random_map\automata\automata.dm" +#include "code\modules\random_map\automata\caves.dm" +#include "code\modules\random_map\building\building.dm" +#include "code\modules\random_map\drop\drop_types.dm" +#include "code\modules\random_map\drop\droppod.dm" +#include "code\modules\random_map\drop\droppod_doors.dm" +#include "code\modules\random_map\drop\supply.dm" +#include "code\modules\random_map\mazes\maze.dm" +#include "code\modules\random_map\mazes\maze_cell.dm" +#include "code\modules\random_map\noise\desert.dm" +#include "code\modules\random_map\noise\noise.dm" +#include "code\modules\random_map\noise\ore.dm" +#include "code\modules\random_map\noise\tundra.dm" +#include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Logging.dm" +#include "code\modules\reagents\Chemistry-Metabolism.dm" +#include "code\modules\reagents\holder\distilling.dm" +#include "code\modules\reagents\holder\holder.dm" +#include "code\modules\reagents\hoses\connector.dm" +#include "code\modules\reagents\hoses\hose.dm" +#include "code\modules\reagents\hoses\hose_connector.dm" +#include "code\modules\reagents\machinery\chem_master.dm" +#include "code\modules\reagents\machinery\chemalyzer.dm" +#include "code\modules\reagents\machinery\distillery.dm" +#include "code\modules\reagents\machinery\grinder.dm" +#include "code\modules\reagents\machinery\dispenser\_defines.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_presets.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_presets_vr.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_spawn.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser2.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser2_energy.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser_presets.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser_presets_vr.dm" +#include "code\modules\reagents\machinery\dispenser\reagent_tank.dm" +#include "code\modules\reagents\machinery\dispenser\supply.dm" +#include "code\modules\reagents\reactions\_reactions.dm" +#include "code\modules\reagents\reactions\distilling\distilling.dm" +#include "code\modules\reagents\reactions\fusion\fusion.dm" +#include "code\modules\reagents\reactions\instant\drinks.dm" +#include "code\modules\reagents\reactions\instant\drinks_vr.dm" +#include "code\modules\reagents\reactions\instant\food.dm" +#include "code\modules\reagents\reactions\instant\food_vr.dm" +#include "code\modules\reagents\reactions\instant\instant.dm" +#include "code\modules\reagents\reactions\instant\instant_vr.dm" +#include "code\modules\reagents\reagent_containers\_reagent_containers.dm" +#include "code\modules\reagents\reagent_containers\blood_pack.dm" +#include "code\modules\reagents\reagent_containers\blood_pack_vr.dm" +#include "code\modules\reagents\reagent_containers\borghypo.dm" +#include "code\modules\reagents\reagent_containers\dropper.dm" +#include "code\modules\reagents\reagent_containers\glass.dm" +#include "code\modules\reagents\reagent_containers\glass_vr.dm" +#include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\hypospray_vr.dm" +#include "code\modules\reagents\reagent_containers\patch.dm" +#include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\pill_vr.dm" +#include "code\modules\reagents\reagent_containers\spray.dm" +#include "code\modules\reagents\reagent_containers\spray_vr.dm" +#include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\syringes_vr.dm" +#include "code\modules\reagents\reagent_containers\unidentified_hypospray.dm" +#include "code\modules\reagents\reagents\_helpers.dm" +#include "code\modules\reagents\reagents\_reagents.dm" +#include "code\modules\reagents\reagents\core.dm" +#include "code\modules\reagents\reagents\dispenser.dm" +#include "code\modules\reagents\reagents\food_drinks.dm" +#include "code\modules\reagents\reagents\food_drinks_vr.dm" +#include "code\modules\reagents\reagents\medicine.dm" +#include "code\modules\reagents\reagents\medicine_vr.dm" +#include "code\modules\reagents\reagents\modifiers.dm" +#include "code\modules\reagents\reagents\other.dm" +#include "code\modules\reagents\reagents\other_vr.dm" +#include "code\modules\reagents\reagents\toxins.dm" +#include "code\modules\reagents\reagents\vore_vr.dm" +#include "code\modules\recycling\conveyor2.dm" +#include "code\modules\recycling\disposal-construction.dm" +#include "code\modules\recycling\disposal.dm" +#include "code\modules\recycling\sortingmachinery.dm" +#include "code\modules\research\circuitprinter.dm" +#include "code\modules\research\designs.dm" +#include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\mechfab_designs.dm" +#include "code\modules\research\message_server.dm" +#include "code\modules\research\prosfab_designs.dm" +#include "code\modules\research\prosfab_designs_vr.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdconsole_tgui.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" +#include "code\modules\research\teleport_vr.dm" +#include "code\modules\research\designs\ai_holders.dm" +#include "code\modules\research\designs\bag_of_holding.dm" +#include "code\modules\research\designs\beakers.dm" +#include "code\modules\research\designs\bio_devices.dm" +#include "code\modules\research\designs\bio_devices_vr.dm" +#include "code\modules\research\designs\circuit_assembly.dm" +#include "code\modules\research\designs\engineering.dm" +#include "code\modules\research\designs\HUDs.dm" +#include "code\modules\research\designs\HUDs_vr.dm" +#include "code\modules\research\designs\implants.dm" +#include "code\modules\research\designs\implants_vr.dm" +#include "code\modules\research\designs\locator_devices.dm" +#include "code\modules\research\designs\medical.dm" +#include "code\modules\research\designs\medical_vr.dm" +#include "code\modules\research\designs\mining_toys.dm" +#include "code\modules\research\designs\misc.dm" +#include "code\modules\research\designs\misc_vr.dm" +#include "code\modules\research\designs\modular_computer.dm" +#include "code\modules\research\designs\pdas.dm" +#include "code\modules\research\designs\power_cells.dm" +#include "code\modules\research\designs\precursor.dm" +#include "code\modules\research\designs\stock_parts.dm" +#include "code\modules\research\designs\subspace_parts.dm" +#include "code\modules\research\designs\tech_disks.dm" +#include "code\modules\research\designs\weapons.dm" +#include "code\modules\research\designs\weapons_vr.dm" +#include "code\modules\research\designs\xenoarch_toys.dm" +#include "code\modules\research\designs\xenobio_toys.dm" +#include "code\modules\research\designs\circuits\ai_modules.dm" +#include "code\modules\research\designs\circuits\ai_modules_vr.dm" +#include "code\modules\research\designs\circuits\circuits.dm" +#include "code\modules\research\designs\circuits\circuits_vr.dm" +#include "code\modules\research\designs\circuits\disks.dm" +#include "code\modules\resleeving\circuitboards.dm" +#include "code\modules\resleeving\computers.dm" +#include "code\modules\resleeving\designer.dm" +#include "code\modules\resleeving\documents.dm" +#include "code\modules\resleeving\implant.dm" +#include "code\modules\resleeving\infocore_records.dm" +#include "code\modules\resleeving\infomorph.dm" +#include "code\modules\resleeving\infomorph_software.dm" +#include "code\modules\resleeving\machines.dm" +#include "code\modules\resleeving\machines_vr.dm" +#include "code\modules\resleeving\resleeving_sickness.dm" +#include "code\modules\resleeving\sleevecard.dm" +#include "code\modules\rogueminer_vr\asteroid.dm" +#include "code\modules\rogueminer_vr\controller.dm" +#include "code\modules\rogueminer_vr\debug.dm" +#include "code\modules\rogueminer_vr\landmarks.dm" +#include "code\modules\rogueminer_vr\roguemines_mobs.dm" +#include "code\modules\rogueminer_vr\wrappers.dm" +#include "code\modules\rogueminer_vr\zone_console.dm" +#include "code\modules\rogueminer_vr\zonemaster.dm" +#include "code\modules\scripting\Errors.dm" +#include "code\modules\scripting\IDE.dm" +#include "code\modules\scripting\Options.dm" +#include "code\modules\scripting\stack.dm" +#include "code\modules\scripting\AST\AST Nodes.dm" +#include "code\modules\scripting\AST\Blocks.dm" +#include "code\modules\scripting\AST\Statements.dm" +#include "code\modules\scripting\AST\Operators\Binary Operators.dm" +#include "code\modules\scripting\AST\Operators\Unary Operators.dm" +#include "code\modules\scripting\Implementations\_Logic.dm" +#include "code\modules\scripting\Implementations\Telecomms.dm" +#include "code\modules\scripting\Interpreter\Evaluation.dm" +#include "code\modules\scripting\Interpreter\Interaction.dm" +#include "code\modules\scripting\Interpreter\Interpreter.dm" +#include "code\modules\scripting\Interpreter\Scope.dm" +#include "code\modules\scripting\Parser\Expressions.dm" +#include "code\modules\scripting\Parser\Keywords.dm" +#include "code\modules\scripting\Parser\Parser.dm" +#include "code\modules\scripting\Scanner\Scanner.dm" +#include "code\modules\scripting\Scanner\Tokens.dm" +#include "code\modules\security levels\keycard authentication.dm" +#include "code\modules\security levels\security levels.dm" +#include "code\modules\shieldgen\directional_shield.dm" +#include "code\modules\shieldgen\emergency_shield.dm" +#include "code\modules\shieldgen\energy_field.dm" +#include "code\modules\shieldgen\energy_shield.dm" +#include "code\modules\shieldgen\handheld_defuser.dm" +#include "code\modules\shieldgen\sheldwallgen.dm" +#include "code\modules\shieldgen\shield_capacitor.dm" +#include "code\modules\shieldgen\shield_diffuser.dm" +#include "code\modules\shieldgen\shield_gen.dm" +#include "code\modules\shieldgen\shield_gen_external.dm" +#include "code\modules\shieldgen\shield_generator.dm" +#include "code\modules\shieldgen\shield_modes.dm" +#include "code\modules\shuttles\antagonist.dm" +#include "code\modules\shuttles\crashes.dm" +#include "code\modules\shuttles\departmental.dm" +#include "code\modules\shuttles\escape_pods.dm" +#include "code\modules\shuttles\landmarks.dm" +#include "code\modules\shuttles\shuttle.dm" +#include "code\modules\shuttles\shuttle_autodock.dm" +#include "code\modules\shuttles\shuttle_console.dm" +#include "code\modules\shuttles\shuttle_console_multi.dm" +#include "code\modules\shuttles\shuttle_emergency.dm" +#include "code\modules\shuttles\shuttle_ferry.dm" +#include "code\modules\shuttles\shuttle_specops.dm" +#include "code\modules\shuttles\shuttle_supply.dm" +#include "code\modules\shuttles\shuttles_multi.dm" +#include "code\modules\shuttles\shuttles_vr.dm" +#include "code\modules\shuttles\shuttles_web.dm" +#include "code\modules\shuttles\web_datums.dm" +#include "code\modules\spells\artifacts.dm" +#include "code\modules\spells\construct_spells.dm" +#include "code\modules\spells\no_clothes.dm" +#include "code\modules\spells\spell_code.dm" +#include "code\modules\spells\spell_projectile.dm" +#include "code\modules\spells\spellbook.dm" +#include "code\modules\spells\spells.dm" +#include "code\modules\spells\aoe_turf\aoe_turf.dm" +#include "code\modules\spells\aoe_turf\blink.dm" +#include "code\modules\spells\aoe_turf\charge.dm" +#include "code\modules\spells\aoe_turf\disable_tech.dm" +#include "code\modules\spells\aoe_turf\knock.dm" +#include "code\modules\spells\aoe_turf\smoke.dm" +#include "code\modules\spells\aoe_turf\summons.dm" +#include "code\modules\spells\aoe_turf\conjure\conjure.dm" +#include "code\modules\spells\aoe_turf\conjure\construct.dm" +#include "code\modules\spells\aoe_turf\conjure\forcewall.dm" +#include "code\modules\spells\general\area_teleport.dm" +#include "code\modules\spells\general\rune_write.dm" +#include "code\modules\spells\targeted\ethereal_jaunt.dm" +#include "code\modules\spells\targeted\genetic.dm" +#include "code\modules\spells\targeted\harvest.dm" +#include "code\modules\spells\targeted\mind_transfer.dm" +#include "code\modules\spells\targeted\shift.dm" +#include "code\modules\spells\targeted\subjugate.dm" +#include "code\modules\spells\targeted\targeted.dm" +#include "code\modules\spells\targeted\equip\equip.dm" +#include "code\modules\spells\targeted\equip\horsemask.dm" +#include "code\modules\spells\targeted\projectile\dumbfire.dm" +#include "code\modules\spells\targeted\projectile\fireball.dm" +#include "code\modules\spells\targeted\projectile\magic_missile.dm" +#include "code\modules\spells\targeted\projectile\projectile.dm" +#include "code\modules\surgery\_defines.dm" +#include "code\modules\surgery\bones.dm" +#include "code\modules\surgery\encased.dm" +#include "code\modules\surgery\external_repair.dm" +#include "code\modules\surgery\face.dm" +#include "code\modules\surgery\generic.dm" +#include "code\modules\surgery\implant.dm" +#include "code\modules\surgery\limb_reattach.dm" +#include "code\modules\surgery\neck.dm" +#include "code\modules\surgery\organs_internal.dm" +#include "code\modules\surgery\other.dm" +#include "code\modules\surgery\robotics.dm" +#include "code\modules\surgery\surgery.dm" +#include "code\modules\surgery\~defines.dm" +#include "code\modules\tables\bench.dm" +#include "code\modules\tables\flipping.dm" +#include "code\modules\tables\interactions.dm" +#include "code\modules\tables\presets.dm" +#include "code\modules\tables\presets_vr.dm" +#include "code\modules\tables\rack.dm" +#include "code\modules\tables\rack_vr.dm" +#include "code\modules\tables\tables.dm" +#include "code\modules\tables\update_triggers.dm" +#include "code\modules\telesci\bscyrstal.dm" +#include "code\modules\telesci\construction.dm" +#include "code\modules\telesci\gps_advanced.dm" +#include "code\modules\telesci\quantum_pad.dm" +#include "code\modules\telesci\telepad.dm" +#include "code\modules\telesci\telesci_computer.dm" +#include "code\modules\tension\tension.dm" +#include "code\modules\tgs\includes.dm" +#include "code\modules\tgui\external.dm" +#include "code\modules\tgui\modal.dm" +#include "code\modules\tgui\states.dm" +#include "code\modules\tgui\tgui.dm" +#include "code\modules\tgui\tgui_alert.dm" +#include "code\modules\tgui\tgui_input_list.dm" +#include "code\modules\tgui\tgui_input_text.dm" +#include "code\modules\tgui\tgui_window.dm" +#include "code\modules\tgui\modules\_base.dm" +#include "code\modules\tgui\modules\admin_shuttle_controller.dm" +#include "code\modules\tgui\modules\agentcard.dm" +#include "code\modules\tgui\modules\alarm.dm" +#include "code\modules\tgui\modules\appearance_changer.dm" +#include "code\modules\tgui\modules\appearance_changer_vr.dm" +#include "code\modules\tgui\modules\atmos_control.dm" +#include "code\modules\tgui\modules\camera.dm" +#include "code\modules\tgui\modules\communications.dm" +#include "code\modules\tgui\modules\crew_manifest.dm" +#include "code\modules\tgui\modules\crew_monitor.dm" +#include "code\modules\tgui\modules\gyrotron_control.dm" +#include "code\modules\tgui\modules\law_manager.dm" +#include "code\modules\tgui\modules\overmap.dm" +#include "code\modules\tgui\modules\power_monitor.dm" +#include "code\modules\tgui\modules\rcon.dm" +#include "code\modules\tgui\modules\rustcore_monitor.dm" +#include "code\modules\tgui\modules\rustfuel_control.dm" +#include "code\modules\tgui\modules\shutoff_monitor.dm" +#include "code\modules\tgui\modules\supermatter_monitor.dm" +#include "code\modules\tgui\modules\teleporter.dm" +#include "code\modules\tgui\modules\ntos-only\cardmod.dm" +#include "code\modules\tgui\modules\ntos-only\configurator.dm" +#include "code\modules\tgui\modules\ntos-only\email.dm" +#include "code\modules\tgui\modules\ntos-only\uav.dm" +#include "code\modules\tgui\states\admin.dm" +#include "code\modules\tgui\states\always.dm" +#include "code\modules\tgui\states\conscious.dm" +#include "code\modules\tgui\states\contained.dm" +#include "code\modules\tgui\states\deep_inventory.dm" +#include "code\modules\tgui\states\default.dm" +#include "code\modules\tgui\states\hands.dm" +#include "code\modules\tgui\states\human_adjacent.dm" +#include "code\modules\tgui\states\inventory.dm" +#include "code\modules\tgui\states\inventory_vr.dm" +#include "code\modules\tgui\states\not_incapacitated.dm" +#include "code\modules\tgui\states\notcontained.dm" +#include "code\modules\tgui\states\observer.dm" +#include "code\modules\tgui\states\physical.dm" +#include "code\modules\tgui\states\self.dm" +#include "code\modules\tgui\states\vorepanel_vr.dm" +#include "code\modules\tgui\states\zlevel.dm" +#include "code\modules\tooltip\tooltip.dm" +#include "code\modules\turbolift\_turbolift.dm" +#include "code\modules\turbolift\turbolift.dm" +#include "code\modules\turbolift\turbolift_areas.dm" +#include "code\modules\turbolift\turbolift_console.dm" +#include "code\modules\turbolift\turbolift_console_vr.dm" +#include "code\modules\turbolift\turbolift_door.dm" +#include "code\modules\turbolift\turbolift_door_vr.dm" +#include "code\modules\turbolift\turbolift_floor.dm" +#include "code\modules\turbolift\turbolift_map.dm" +#include "code\modules\turbolift\turbolift_turfs.dm" +#include "code\modules\vchat\vchat_client.dm" +#include "code\modules\vchat\vchat_db.dm" +#include "code\modules\vehicles\bike.dm" +#include "code\modules\vehicles\boat.dm" +#include "code\modules\vehicles\cargo_train.dm" +#include "code\modules\vehicles\construction.dm" +#include "code\modules\vehicles\quad.dm" +#include "code\modules\vehicles\train.dm" +#include "code\modules\vehicles\vehicle.dm" +#include "code\modules\ventcrawl\ventcrawl.dm" +#include "code\modules\ventcrawl\ventcrawl_atmospherics.dm" +#include "code\modules\ventcrawl\ventcrawl_multiz.dm" +#include "code\modules\ventcrawl\ventcrawl_verb.dm" +#include "code\modules\virus2\admin.dm" +#include "code\modules\virus2\analyser.dm" +#include "code\modules\virus2\antibodies.dm" +#include "code\modules\virus2\centrifuge.dm" +#include "code\modules\virus2\curer.dm" +#include "code\modules\virus2\disease2.dm" +#include "code\modules\virus2\diseasesplicer.dm" +#include "code\modules\virus2\dishincubator.dm" +#include "code\modules\virus2\effect.dm" +#include "code\modules\virus2\effect_vr.dm" +#include "code\modules\virus2\helpers.dm" +#include "code\modules\virus2\isolator.dm" +#include "code\modules\virus2\items_devices.dm" +#include "code\modules\vore\hook-defs_vr.dm" +#include "code\modules\vore\trycatch_vr.dm" +#include "code\modules\vore\appearance\preferences_vr.dm" +#include "code\modules\vore\appearance\update_icons_vr.dm" +#include "code\modules\vore\eating\belly_dat_vr.dm" +#include "code\modules\vore\eating\belly_obj_vr.dm" +#include "code\modules\vore\eating\bellymodes_datum_vr.dm" +#include "code\modules\vore\eating\bellymodes_vr.dm" +#include "code\modules\vore\eating\contaminate_vr.dm" +#include "code\modules\vore\eating\digest_act_vr.dm" +#include "code\modules\vore\eating\leave_remains_vr.dm" +#include "code\modules\vore\eating\living_vr.dm" +#include "code\modules\vore\eating\silicon_vr.dm" +#include "code\modules\vore\eating\simple_animal_vr.dm" +#include "code\modules\vore\eating\transforming_vr.dm" +#include "code\modules\vore\eating\vore_vr.dm" +#include "code\modules\vore\eating\vorehooks_vr.dm" +#include "code\modules\vore\eating\vorepanel_vr.dm" +#include "code\modules\vore\fluffstuff\custom_boxes_vr.dm" +#include "code\modules\vore\fluffstuff\custom_clothes_vr.dm" +#include "code\modules\vore\fluffstuff\custom_items_vr.dm" +#include "code\modules\vore\fluffstuff\custom_mecha_vr.dm" +#include "code\modules\vore\fluffstuff\custom_permits_vr.dm" +#include "code\modules\vore\persist\persist_vr.dm" +#include "code\modules\vore\resizing\grav_pull_vr.dm" +#include "code\modules\vore\resizing\holder_micro_vr.dm" +#include "code\modules\vore\resizing\resize_vr.dm" +#include "code\modules\vore\resizing\sizegun_vr.dm" +#include "code\modules\vore\smoleworld\smoleworld_vr.dm" +#include "code\modules\vore\weight\fitness_machines_vr.dm" +#include "code\modules\webhooks\_webhook.dm" +#include "code\modules\webhooks\webhook_ahelp2discord.dm" +#include "code\modules\webhooks\webhook_custom_event.dm" +#include "code\modules\webhooks\webhook_fax2discord.dm" +#include "code\modules\webhooks\webhook_roundend.dm" +#include "code\modules\webhooks\webhook_roundprep.dm" +#include "code\modules\webhooks\webhook_roundstart.dm" +#include "code\modules\xenoarcheaology\anomaly_container.dm" +#include "code\modules\xenoarcheaology\boulder.dm" +#include "code\modules\xenoarcheaology\effect.dm" +#include "code\modules\xenoarcheaology\manuals.dm" +#include "code\modules\xenoarcheaology\misc.dm" +#include "code\modules\xenoarcheaology\sampling.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact_find.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact_vr.dm" +#include "code\modules\xenoarcheaology\artifacts\autocloner.dm" +#include "code\modules\xenoarcheaology\artifacts\crystal.dm" +#include "code\modules\xenoarcheaology\artifacts\gigadrill.dm" +#include "code\modules\xenoarcheaology\artifacts\replicator.dm" +#include "code\modules\xenoarcheaology\artifacts\predefined\_predefined.dm" +#include "code\modules\xenoarcheaology\artifacts\predefined\hungry_statue.dm" +#include "code\modules\xenoarcheaology\effects\animate_anomaly.dm" +#include "code\modules\xenoarcheaology\effects\badfeeling.dm" +#include "code\modules\xenoarcheaology\effects\berserk.dm" +#include "code\modules\xenoarcheaology\effects\cannibal.dm" +#include "code\modules\xenoarcheaology\effects\cellcharge.dm" +#include "code\modules\xenoarcheaology\effects\celldrain.dm" +#include "code\modules\xenoarcheaology\effects\cold.dm" +#include "code\modules\xenoarcheaology\effects\dnaswitch.dm" +#include "code\modules\xenoarcheaology\effects\electric_field.dm" +#include "code\modules\xenoarcheaology\effects\emp.dm" +#include "code\modules\xenoarcheaology\effects\feysight.dm" +#include "code\modules\xenoarcheaology\effects\forcefield.dm" +#include "code\modules\xenoarcheaology\effects\gaia.dm" +#include "code\modules\xenoarcheaology\effects\gasco2.dm" +#include "code\modules\xenoarcheaology\effects\gasnitro.dm" +#include "code\modules\xenoarcheaology\effects\gasoxy.dm" +#include "code\modules\xenoarcheaology\effects\gasphoron.dm" +#include "code\modules\xenoarcheaology\effects\gassleeping.dm" +#include "code\modules\xenoarcheaology\effects\goodfeeling.dm" +#include "code\modules\xenoarcheaology\effects\gravitational_waves.dm" +#include "code\modules\xenoarcheaology\effects\heal.dm" +#include "code\modules\xenoarcheaology\effects\heat.dm" +#include "code\modules\xenoarcheaology\effects\hurt.dm" +#include "code\modules\xenoarcheaology\effects\poltergeist.dm" +#include "code\modules\xenoarcheaology\effects\radiate.dm" +#include "code\modules\xenoarcheaology\effects\resurrect.dm" +#include "code\modules\xenoarcheaology\effects\roboheal.dm" +#include "code\modules\xenoarcheaology\effects\robohurt.dm" +#include "code\modules\xenoarcheaology\effects\sleepy.dm" +#include "code\modules\xenoarcheaology\effects\stun.dm" +#include "code\modules\xenoarcheaology\effects\teleport.dm" +#include "code\modules\xenoarcheaology\effects\vampire.dm" +#include "code\modules\xenoarcheaology\finds\eguns.dm" +#include "code\modules\xenoarcheaology\finds\eguns_vr.dm" +#include "code\modules\xenoarcheaology\finds\find_spawning.dm" +#include "code\modules\xenoarcheaology\finds\finds.dm" +#include "code\modules\xenoarcheaology\finds\finds_defines.dm" +#include "code\modules\xenoarcheaology\finds\fossils.dm" +#include "code\modules\xenoarcheaology\finds\misc.dm" +#include "code\modules\xenoarcheaology\finds\special.dm" +#include "code\modules\xenoarcheaology\finds\talking.dm" +#include "code\modules\xenoarcheaology\tools\ano_device_battery.dm" +#include "code\modules\xenoarcheaology\tools\artifact_analyser.dm" +#include "code\modules\xenoarcheaology\tools\artifact_harvester.dm" +#include "code\modules\xenoarcheaology\tools\artifact_scanner.dm" +#include "code\modules\xenoarcheaology\tools\coolant_tank.dm" +#include "code\modules\xenoarcheaology\tools\equipment.dm" +#include "code\modules\xenoarcheaology\tools\geosample_scanner.dm" +#include "code\modules\xenoarcheaology\tools\suspension_generator.dm" +#include "code\modules\xenoarcheaology\tools\tools.dm" +#include "code\modules\xenoarcheaology\tools\tools_pickaxe.dm" +#include "code\modules\xenoarcheaology\tools\tools_pickaxe_vr.dm" +#include "code\modules\xenoarcheaology\tools\tools_vr.dm" +#include "code\modules\xenobio\items\extracts.dm" +#include "code\modules\xenobio\items\slime_objects.dm" +#include "code\modules\xenobio\items\slimepotions.dm" +#include "code\modules\xenobio\items\weapons.dm" +#include "code\modules\xenobio\machinery\processor.dm" +#include "code\modules\xgm\xgm_gas_data.dm" +#include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\decl_tests.dm" +#include "code\unit_tests\language_tests.dm" +#include "code\unit_tests\loadout_tests.dm" +#include "code\unit_tests\map_tests.dm" +#include "code\unit_tests\material_tests.dm" +#include "code\unit_tests\mob_tests.dm" +#include "code\unit_tests\recipe_tests.dm" +#include "code\unit_tests\research_tests.dm" +#include "code\unit_tests\sqlite_tests.dm" +#include "code\unit_tests\subsystem_tests.dm" +#include "code\unit_tests\unit_test.dm" +#include "code\unit_tests\unit_test_vr.dm" +#include "code\unit_tests\vore_tests_vr.dm" +#include "code\unit_tests\zas_tests.dm" +#include "code\unit_tests\integrated_circuits\arithmetic.dm" +#include "code\unit_tests\integrated_circuits\circuits.dm" +#include "code\unit_tests\integrated_circuits\converter.dm" +#include "code\unit_tests\integrated_circuits\logic.dm" +#include "code\unit_tests\integrated_circuits\trig.dm" +#include "code\ZAS\Airflow.dm" +#include "code\ZAS\Atom.dm" +#include "code\ZAS\Connection.dm" +#include "code\ZAS\ConnectionGroup.dm" +#include "code\ZAS\ConnectionManager.dm" +#include "code\ZAS\Controller.dm" +#include "code\ZAS\Debug.dm" +#include "code\ZAS\Diagnostic.dm" +#include "code\ZAS\Fire.dm" +#include "code\ZAS\Phoron.dm" +#include "code\ZAS\Turf.dm" +#include "code\ZAS\Variable Settings.dm" +#include "code\ZAS\Zone.dm" +#include "interface\interface.dm" +#include "interface\skin.dmf" +#include "maps\gateway_archive_vr\blackmarketpackers.dm" +#include "maps\offmap_vr\om_ships\abductor.dm" +#include "maps\southern_cross\items\clothing\sc_accessory.dm" +#include "maps\southern_cross\items\clothing\sc_suit.dm" +#include "maps\southern_cross\items\clothing\sc_under.dm" +#include "maps\southern_cross\loadout\loadout_suit.dm" +#include "maps\southern_cross\loadout\loadout_uniform.dm" +#include "maps\southern_cross\loadout\loadout_vr.dm" +#include "maps\submaps\_helpers.dm" +#include "maps\submaps\_readme.dm" +#include "maps\submaps\engine_submaps\engine.dm" +#include "maps\submaps\engine_submaps\engine_areas.dm" +#include "maps\submaps\engine_submaps_vr\tether\_engine_submaps.dm" +#include "maps\submaps\space_submaps\space.dm" +#include "maps\submaps\space_submaps\debrisfield\debrisfield.dm" +#include "maps\submaps\surface_submaps\mountains\mountains.dm" +#include "maps\submaps\surface_submaps\mountains\mountains_areas.dm" +#include "maps\submaps\surface_submaps\mountains\mountains_areas_vr.dm" +#include "maps\submaps\surface_submaps\plains\plains.dm" +#include "maps\submaps\surface_submaps\plains\plains_areas.dm" +#include "maps\submaps\surface_submaps\wilderness\wilderness.dm" +#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" +#include "maps\tether\tether.dm" +#include "maps\~map_system\maps.dm" +// END_INCLUDE +======= +// DM Environment file for baystation12.dme. +// All manual changes should be made outside the BEGIN_ and END_ blocks. + // New source code should be placed in .dm files: choose File/New --> Code File. +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +#define DEBUG +// END_PREFERENCES +// BEGIN_INCLUDE +#include "code\_away_mission_tests.dm" +#include "code\_macros.dm" +#include "code\_macros_vr.dm" +#include "code\_map_tests.dm" +#include "code\_unit_tests.dm" +#include "code\global.dm" +#include "code\global_init.dm" +#include "code\global_vr.dm" +#include "code\hub.dm" +#include "code\names.dm" +#include "code\stylesheet.dm" +#include "code\world.dm" +#include "code\__datastructures\globals.dm" +#include "code\__defines\__513_compatibility.dm" +#include "code\__defines\_compile_options.dm" +#include "code\__defines\_lists.dm" +#include "code\__defines\_planes+layers.dm" +#include "code\__defines\_planes+layers_vr.dm" +#include "code\__defines\_protect.dm" +#include "code\__defines\_tick.dm" +#include "code\__defines\admin.dm" +#include "code\__defines\admin_vr.dm" +#include "code\__defines\appearance.dm" +#include "code\__defines\atmos.dm" +#include "code\__defines\belly_modes_vr.dm" +#include "code\__defines\callbacks.dm" +#include "code\__defines\chemistry.dm" +#include "code\__defines\chemistry_vr.dm" +#include "code\__defines\color.dm" +#include "code\__defines\construction.dm" +#include "code\__defines\crafting.dm" +#include "code\__defines\damage_organs.dm" +#include "code\__defines\dna.dm" +#include "code\__defines\exosuit_fab.dm" +#include "code\__defines\flags.dm" +#include "code\__defines\gamemode.dm" +#include "code\__defines\holomap.dm" +#include "code\__defines\hoses.dm" +#include "code\__defines\input.dm" +#include "code\__defines\instruments.dm" +#include "code\__defines\integrated_circuits.dm" +#include "code\__defines\inventory_sizes.dm" +#include "code\__defines\is_helpers.dm" +#include "code\__defines\items_clothing.dm" +#include "code\__defines\lighting.dm" +#include "code\__defines\lighting_vr.dm" +#include "code\__defines\machinery.dm" +#include "code\__defines\map.dm" +#include "code\__defines\materials.dm" +#include "code\__defines\math.dm" +#include "code\__defines\math_physics.dm" +#include "code\__defines\MC.dm" +#include "code\__defines\misc.dm" +#include "code\__defines\misc_vr.dm" +#include "code\__defines\mobs.dm" +#include "code\__defines\mobs_vr.dm" +#include "code\__defines\nifsoft.dm" +#include "code\__defines\objects.dm" +#include "code\__defines\overmap.dm" +#include "code\__defines\pda.dm" +#include "code\__defines\planets.dm" +#include "code\__defines\planets_vr.dm" +#include "code\__defines\plants.dm" +#include "code\__defines\preferences.dm" +#include "code\__defines\process_scheduler.dm" +#include "code\__defines\qdel.dm" +#include "code\__defines\research.dm" +#include "code\__defines\roguemining_vr.dm" +#include "code\__defines\rust_g.dm" +#include "code\__defines\shields.dm" +#include "code\__defines\shuttle.dm" +#include "code\__defines\sound.dm" +#include "code\__defines\spaceman_dmm.dm" +#include "code\__defines\species_languages.dm" +#include "code\__defines\species_languages_vr.dm" +#include "code\__defines\sprite_sheets.dm" +#include "code\__defines\sqlite_defines.dm" +#include "code\__defines\stat_tracking.dm" +#include "code\__defines\subsystems.dm" +#include "code\__defines\supply.dm" +#include "code\__defines\targeting.dm" +#include "code\__defines\tgs.config.dm" +#include "code\__defines\tgs.dm" +#include "code\__defines\tgui.dm" +#include "code\__defines\tools.dm" +#include "code\__defines\turfs.dm" +#include "code\__defines\typeids.dm" +#include "code\__defines\unit_tests.dm" +#include "code\__defines\vote.dm" +#include "code\__defines\vv.dm" +#include "code\__defines\webhooks.dm" +#include "code\__defines\wires.dm" +#include "code\__defines\xenoarcheaology.dm" +#include "code\__defines\ZAS.dm" +#include "code\__defines\dcs\flags.dm" +#include "code\__defines\dcs\helpers.dm" +#include "code\__defines\dcs\signals.dm" +#include "code\_global_vars\bitfields.dm" +#include "code\_global_vars\misc.dm" +#include "code\_global_vars\mobs.dm" +#include "code\_global_vars\religion.dm" +#include "code\_global_vars\sensitive.dm" +#include "code\_global_vars\typecache.dm" +#include "code\_global_vars\lists\mapping.dm" +#include "code\_global_vars\lists\misc.dm" +#include "code\_global_vars\lists\species.dm" +#include "code\_helpers\_global_objects.dm" +#include "code\_helpers\_global_objects_vr.dm" +#include "code\_helpers\_lists.dm" +#include "code\_helpers\atmospherics.dm" +#include "code\_helpers\atom_movables.dm" +#include "code\_helpers\events.dm" +#include "code\_helpers\files.dm" +#include "code\_helpers\game.dm" +#include "code\_helpers\global_lists.dm" +#include "code\_helpers\global_lists_vr.dm" +#include "code\_helpers\icons.dm" +#include "code\_helpers\icons_vr.dm" +#include "code\_helpers\lighting.dm" +#include "code\_helpers\logging.dm" +#include "code\_helpers\logging_vr.dm" +#include "code\_helpers\matrices.dm" +#include "code\_helpers\mobs.dm" +#include "code\_helpers\names.dm" +#include "code\_helpers\sanitize_values.dm" +#include "code\_helpers\storage.dm" +#include "code\_helpers\string_lists.dm" +#include "code\_helpers\text.dm" +#include "code\_helpers\time.dm" +#include "code\_helpers\turfs.dm" +#include "code\_helpers\type2type.dm" +#include "code\_helpers\unsorted.dm" +#include "code\_helpers\unsorted_vr.dm" +#include "code\_helpers\view.dm" +#include "code\_helpers\visual_filters.dm" +#include "code\_helpers\sorts\__main.dm" +#include "code\_helpers\sorts\comparators.dm" +#include "code\_helpers\sorts\TimSort.dm" +#include "code\_onclick\_defines.dm" +#include "code\_onclick\adjacent.dm" +#include "code\_onclick\ai.dm" +#include "code\_onclick\click.dm" +#include "code\_onclick\cyborg.dm" +#include "code\_onclick\drag_drop.dm" +#include "code\_onclick\item_attack.dm" +#include "code\_onclick\observer.dm" +#include "code\_onclick\other_mobs.dm" +#include "code\_onclick\rig.dm" +#include "code\_onclick\telekinesis.dm" +#include "code\_onclick\hud\_defines.dm" +#include "code\_onclick\hud\_defines_vr.dm" +#include "code\_onclick\hud\ability_screen_objects.dm" +#include "code\_onclick\hud\action.dm" +#include "code\_onclick\hud\ai.dm" +#include "code\_onclick\hud\alert.dm" +#include "code\_onclick\hud\alert_vr.dm" +#include "code\_onclick\hud\alien_larva.dm" +#include "code\_onclick\hud\fullscreen.dm" +#include "code\_onclick\hud\ghost.dm" +#include "code\_onclick\hud\gun_mode.dm" +#include "code\_onclick\hud\hud.dm" +#include "code\_onclick\hud\human.dm" +#include "code\_onclick\hud\map_popups.dm" +#include "code\_onclick\hud\minihud.dm" +#include "code\_onclick\hud\minihud_mapper.dm" +#include "code\_onclick\hud\minihud_rigmech.dm" +#include "code\_onclick\hud\movable_screen_objects.dm" +#include "code\_onclick\hud\other_mobs.dm" +#include "code\_onclick\hud\picture_in_picture.dm" +#include "code\_onclick\hud\radial.dm" +#include "code\_onclick\hud\radial_persistent.dm" +#include "code\_onclick\hud\robot.dm" +#include "code\_onclick\hud\robot_vr.dm" +#include "code\_onclick\hud\screen_objects.dm" +#include "code\_onclick\hud\screen_objects_vr.dm" +#include "code\_onclick\hud\skybox.dm" +#include "code\_onclick\hud\soulcatcher_guest.dm" +#include "code\_onclick\hud\spell_screen_objects.dm" +#include "code\ATMOSPHERICS\_atmos_setup.dm" +#include "code\ATMOSPHERICS\_atmospherics_helpers.dm" +#include "code\ATMOSPHERICS\atmospherics.dm" +#include "code\ATMOSPHERICS\datum_pipe_network.dm" +#include "code\ATMOSPHERICS\datum_pipeline.dm" +#include "code\ATMOSPHERICS\components\portables_connector.dm" +#include "code\ATMOSPHERICS\components\shutoff.dm" +#include "code\ATMOSPHERICS\components\tvalve.dm" +#include "code\ATMOSPHERICS\components\valve.dm" +#include "code\ATMOSPHERICS\components\binary_devices\algae_generator_vr.dm" +#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" +#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" +#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate_vr.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pipeturbine.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" +#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" +#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" +#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" +#include "code\ATMOSPHERICS\components\unary\cold_sink.dm" +#include "code\ATMOSPHERICS\components\unary\heat_exchanger.dm" +#include "code\ATMOSPHERICS\components\unary\heat_source.dm" +#include "code\ATMOSPHERICS\components\unary\outlet_injector.dm" +#include "code\ATMOSPHERICS\components\unary\unary_base.dm" +#include "code\ATMOSPHERICS\components\unary\vent_pump.dm" +#include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm" +#include "code\ATMOSPHERICS\components\unary\vent_scrubber_vr.dm" +#include "code\ATMOSPHERICS\pipes\cap.dm" +#include "code\ATMOSPHERICS\pipes\he_pipes.dm" +#include "code\ATMOSPHERICS\pipes\he_pipes_vr.dm" +#include "code\ATMOSPHERICS\pipes\manifold.dm" +#include "code\ATMOSPHERICS\pipes\manifold4w.dm" +#include "code\ATMOSPHERICS\pipes\pipe_base.dm" +#include "code\ATMOSPHERICS\pipes\pipe_base_vr.dm" +#include "code\ATMOSPHERICS\pipes\simple.dm" +#include "code\ATMOSPHERICS\pipes\tank.dm" +#include "code\ATMOSPHERICS\pipes\tank_vr.dm" +#include "code\ATMOSPHERICS\pipes\universal.dm" +#include "code\ATMOSPHERICS\pipes\vent.dm" +#include "code\controllers\autotransfer.dm" +#include "code\controllers\communications.dm" +#include "code\controllers\configuration.dm" +#include "code\controllers\configuration_vr.dm" +#include "code\controllers\controller.dm" +#include "code\controllers\emergency_shuttle_controller.dm" +#include "code\controllers\failsafe.dm" +#include "code\controllers\globals.dm" +#include "code\controllers\hooks-defs.dm" +#include "code\controllers\hooks.dm" +#include "code\controllers\master.dm" +#include "code\controllers\master_controller.dm" +#include "code\controllers\subsystem.dm" +#include "code\controllers\verbs.dm" +#include "code\controllers\observer_listener\atom\observer.dm" +#include "code\controllers\subsystems\ai.dm" +#include "code\controllers\subsystems\aifast.dm" +#include "code\controllers\subsystems\air.dm" +#include "code\controllers\subsystems\airflow.dm" +#include "code\controllers\subsystems\alarm.dm" +#include "code\controllers\subsystems\assets.dm" +#include "code\controllers\subsystems\atoms.dm" +#include "code\controllers\subsystems\character_setup.dm" +#include "code\controllers\subsystems\chat.dm" +#include "code\controllers\subsystems\chemistry.dm" +#include "code\controllers\subsystems\circuits.dm" +#include "code\controllers\subsystems\dcs.dm" +#include "code\controllers\subsystems\events.dm" +#include "code\controllers\subsystems\garbage.dm" +#include "code\controllers\subsystems\holomaps.dm" +#include "code\controllers\subsystems\inactivity.dm" +#include "code\controllers\subsystems\input.dm" +#include "code\controllers\subsystems\job.dm" +#include "code\controllers\subsystems\lighting.dm" +#include "code\controllers\subsystems\machines.dm" +#include "code\controllers\subsystems\mapping.dm" +#include "code\controllers\subsystems\media_tracks.dm" +#include "code\controllers\subsystems\mobs.dm" +#include "code\controllers\subsystems\nightshift.dm" +#include "code\controllers\subsystems\orbits.dm" +#include "code\controllers\subsystems\overlays.dm" +#include "code\controllers\subsystems\persist_vr.dm" +#include "code\controllers\subsystems\persistence.dm" +#include "code\controllers\subsystems\planets.dm" +#include "code\controllers\subsystems\plants.dm" +#include "code\controllers\subsystems\radiation.dm" +#include "code\controllers\subsystems\shuttles.dm" +#include "code\controllers\subsystems\skybox.dm" +#include "code\controllers\subsystems\sounds.dm" +#include "code\controllers\subsystems\sqlite.dm" +#include "code\controllers\subsystems\sun.dm" +#include "code\controllers\subsystems\supply.dm" +#include "code\controllers\subsystems\tgui.dm" +#include "code\controllers\subsystems\ticker.dm" +#include "code\controllers\subsystems\time_track.dm" +#include "code\controllers\subsystems\timer.dm" +#include "code\controllers\subsystems\transcore_vr.dm" +#include "code\controllers\subsystems\vis_overlays.dm" +#include "code\controllers\subsystems\vote.dm" +#include "code\controllers\subsystems\webhooks.dm" +#include "code\controllers\subsystems\xenoarch.dm" +#include "code\controllers\subsystems\processing\bellies_vr.dm" +#include "code\controllers\subsystems\processing\fastprocess.dm" +#include "code\controllers\subsystems\processing\instruments.dm" +#include "code\controllers\subsystems\processing\obj.dm" +#include "code\controllers\subsystems\processing\processing.dm" +#include "code\controllers\subsystems\processing\projectiles.dm" +#include "code\controllers\subsystems\processing\turfs.dm" +#include "code\datums\ai_law_sets.dm" +#include "code\datums\ai_law_sets_vr.dm" +#include "code\datums\ai_laws.dm" +#include "code\datums\beam.dm" +#include "code\datums\browser.dm" +#include "code\datums\callback.dm" +#include "code\datums\category.dm" +#include "code\datums\chat_message.dm" +#include "code\datums\datacore.dm" +#include "code\datums\datum.dm" +#include "code\datums\datumvars.dm" +#include "code\datums\EPv2.dm" +#include "code\datums\ghost_query.dm" +#include "code\datums\ghost_query_vr.dm" +#include "code\datums\hierarchy.dm" +#include "code\datums\mind.dm" +#include "code\datums\mind_vr.dm" +#include "code\datums\mixed.dm" +#include "code\datums\modules.dm" +#include "code\datums\mutable_appearance.dm" +#include "code\datums\orbit.dm" +#include "code\datums\organs.dm" +#include "code\datums\position_point_vector.dm" +#include "code\datums\progressbar.dm" +#include "code\datums\reference_tracking.dm" +#include "code\datums\riding.dm" +#include "code\datums\soul_link.dm" +#include "code\datums\sun.dm" +#include "code\datums\weakref.dm" +#include "code\datums\autolathe\arms.dm" +#include "code\datums\autolathe\arms_vr.dm" +#include "code\datums\autolathe\autolathe.dm" +#include "code\datums\autolathe\devices.dm" +#include "code\datums\autolathe\devices_vr.dm" +#include "code\datums\autolathe\engineering.dm" +#include "code\datums\autolathe\engineering_vr.dm" +#include "code\datums\autolathe\general.dm" +#include "code\datums\autolathe\general_vr.dm" +#include "code\datums\autolathe\materials.dm" +#include "code\datums\autolathe\medical.dm" +#include "code\datums\autolathe\medical_vr.dm" +#include "code\datums\autolathe\tools.dm" +#include "code\datums\autolathe\tools_vr.dm" +#include "code\datums\components\_component.dm" +#include "code\datums\components\material_container.dm" +#include "code\datums\components\overlay_lighting.dm" +#include "code\datums\components\resize_guard.dm" +#include "code\datums\components\crafting\crafting.dm" +#include "code\datums\components\crafting\crafting_external.dm" +#include "code\datums\components\crafting\recipes.dm" +#include "code\datums\components\crafting\tool_quality.dm" +#include "code\datums\components\crafting\recipes\primitive.dm" +#include "code\datums\components\crafting\recipes\weapons.dm" +#include "code\datums\elements\_element.dm" +#include "code\datums\elements\light_blocking.dm" +#include "code\datums\elements\turf_transparency.dm" +#include "code\datums\game_masters\_common.dm" +#include "code\datums\helper_datums\construction_datum.dm" +#include "code\datums\helper_datums\events.dm" +#include "code\datums\helper_datums\getrev.dm" +#include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\teleport_vr.dm" +#include "code\datums\helper_datums\topic_input.dm" +#include "code\datums\locations\locations.dm" +#include "code\datums\locations\nyx.dm" +#include "code\datums\locations\qerrvallis.dm" +#include "code\datums\locations\s_randarr.dm" +#include "code\datums\locations\sol.dm" +#include "code\datums\locations\tau_ceti.dm" +#include "code\datums\locations\uueoa_esa.dm" +#include "code\datums\locations\vir.dm" +#include "code\datums\looping_sounds\_looping_sound.dm" +#include "code\datums\looping_sounds\item_sounds.dm" +#include "code\datums\looping_sounds\machinery_sounds.dm" +#include "code\datums\looping_sounds\sequence.dm" +#include "code\datums\looping_sounds\weather_sounds.dm" +#include "code\datums\managed_browsers\_managed_browser.dm" +#include "code\datums\managed_browsers\feedback_form.dm" +#include "code\datums\managed_browsers\feedback_viewer.dm" +#include "code\datums\observation\_debug.dm" +#include "code\datums\observation\_defines.dm" +#include "code\datums\observation\destroyed.dm" +#include "code\datums\observation\dir_set.dm" +#include "code\datums\observation\equipped.dm" +#include "code\datums\observation\helpers.dm" +#include "code\datums\observation\logged_in.dm" +#include "code\datums\observation\moved.dm" +#include "code\datums\observation\observation.dm" +#include "code\datums\observation\power_change.dm" +#include "code\datums\observation\shuttle_added.dm" +#include "code\datums\observation\shuttle_moved.dm" +#include "code\datums\observation\stat_set.dm" +#include "code\datums\observation\turf_changed.dm" +#include "code\datums\observation\turf_enterexit.dm" +#include "code\datums\observation\unequipped.dm" +#include "code\datums\observation\z_moved.dm" +#include "code\datums\observation\~cleanup.dm" +#include "code\datums\outfits\_defines.dm" +#include "code\datums\outfits\horror_killers.dm" +#include "code\datums\outfits\misc.dm" +#include "code\datums\outfits\nanotrasen.dm" +#include "code\datums\outfits\outfit.dm" +#include "code\datums\outfits\outfit_vr.dm" +#include "code\datums\outfits\pirates.dm" +#include "code\datums\outfits\spec_op.dm" +#include "code\datums\outfits\tournament.dm" +#include "code\datums\outfits\wizardry.dm" +#include "code\datums\outfits\costumes\costume.dm" +#include "code\datums\outfits\costumes\halloween.dm" +#include "code\datums\outfits\jobs\cargo.dm" +#include "code\datums\outfits\jobs\civilian.dm" +#include "code\datums\outfits\jobs\civilian_vr.dm" +#include "code\datums\outfits\jobs\command.dm" +#include "code\datums\outfits\jobs\command_vr.dm" +#include "code\datums\outfits\jobs\engineering.dm" +#include "code\datums\outfits\jobs\job.dm" +#include "code\datums\outfits\jobs\medical.dm" +#include "code\datums\outfits\jobs\medical_vr.dm" +#include "code\datums\outfits\jobs\misc.dm" +#include "code\datums\outfits\jobs\science.dm" +#include "code\datums\outfits\jobs\science_vr.dm" +#include "code\datums\outfits\jobs\security.dm" +#include "code\datums\outfits\jobs\special_vr.dm" +#include "code\datums\outfits\military\fleet.dm" +#include "code\datums\outfits\military\marines.dm" +#include "code\datums\outfits\military\military.dm" +#include "code\datums\outfits\military\sifguard.dm" +#include "code\datums\repositories\ammomaterial.dm" +#include "code\datums\repositories\cameras.dm" +#include "code\datums\repositories\crew.dm" +#include "code\datums\repositories\decls.dm" +#include "code\datums\repositories\repository.dm" +#include "code\datums\repositories\unique.dm" +#include "code\datums\roundstats\_defines_local.dm" +#include "code\datums\roundstats\departmentgoal.dm" +#include "code\datums\roundstats\roundstats.dm" +#include "code\datums\supplypacks\atmospherics.dm" +#include "code\datums\supplypacks\contraband.dm" +#include "code\datums\supplypacks\contraband_vr.dm" +#include "code\datums\supplypacks\costumes.dm" +#include "code\datums\supplypacks\costumes_vr.dm" +#include "code\datums\supplypacks\engineering.dm" +#include "code\datums\supplypacks\engineering_vr.dm" +#include "code\datums\supplypacks\hospitality.dm" +#include "code\datums\supplypacks\hospitality_vr.dm" +#include "code\datums\supplypacks\hydroponics.dm" +#include "code\datums\supplypacks\hydroponics_vr.dm" +#include "code\datums\supplypacks\materials.dm" +#include "code\datums\supplypacks\medical.dm" +#include "code\datums\supplypacks\medical_vr.dm" +#include "code\datums\supplypacks\misc.dm" +#include "code\datums\supplypacks\misc_vr.dm" +#include "code\datums\supplypacks\munitions.dm" +#include "code\datums\supplypacks\munitions_vr.dm" +#include "code\datums\supplypacks\musical.dm" +#include "code\datums\supplypacks\recreation.dm" +#include "code\datums\supplypacks\recreation_vr.dm" +#include "code\datums\supplypacks\robotics.dm" +#include "code\datums\supplypacks\robotics_vr.dm" +#include "code\datums\supplypacks\science.dm" +#include "code\datums\supplypacks\science_vr.dm" +#include "code\datums\supplypacks\security.dm" +#include "code\datums\supplypacks\security_vr.dm" +#include "code\datums\supplypacks\supply.dm" +#include "code\datums\supplypacks\supply_vr.dm" +#include "code\datums\supplypacks\supplypacks.dm" +#include "code\datums\supplypacks\voidsuits.dm" +#include "code\datums\supplypacks\voidsuits_vr.dm" +#include "code\datums\underwear\bottom.dm" +#include "code\datums\underwear\socks.dm" +#include "code\datums\underwear\top.dm" +#include "code\datums\underwear\undershirts.dm" +#include "code\datums\underwear\underwear.dm" +#include "code\datums\uplink\ammunition.dm" +#include "code\datums\uplink\ammunition_vr.dm" +#include "code\datums\uplink\announcements.dm" +#include "code\datums\uplink\armor.dm" +#include "code\datums\uplink\backup.dm" +#include "code\datums\uplink\badassery.dm" +#include "code\datums\uplink\grenades.dm" +#include "code\datums\uplink\hardsuit_modules.dm" +#include "code\datums\uplink\implants.dm" +#include "code\datums\uplink\medical.dm" +#include "code\datums\uplink\medical_vr.dm" +#include "code\datums\uplink\resources.dm" +#include "code\datums\uplink\stealth_items.dm" +#include "code\datums\uplink\stealthy_weapons.dm" +#include "code\datums\uplink\telecrystals.dm" +#include "code\datums\uplink\tools.dm" +#include "code\datums\uplink\tools_vr.dm" +#include "code\datums\uplink\uplink_categories.dm" +#include "code\datums\uplink\uplink_items.dm" +#include "code\datums\uplink\visible_weapons.dm" +#include "code\datums\uplink\visible_weapons_vr.dm" +#include "code\datums\vending\stored_item.dm" +#include "code\datums\vending\vending.dm" +#include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" +#include "code\datums\wires\apc.dm" +#include "code\datums\wires\autolathe.dm" +#include "code\datums\wires\camera.dm" +#include "code\datums\wires\explosive.dm" +#include "code\datums\wires\grid_checker.dm" +#include "code\datums\wires\jukebox.dm" +#include "code\datums\wires\mines.dm" +#include "code\datums\wires\particle_accelerator.dm" +#include "code\datums\wires\radio.dm" +#include "code\datums\wires\robot.dm" +#include "code\datums\wires\seedstorage.dm" +#include "code\datums\wires\shield_generator.dm" +#include "code\datums\wires\smartfridge.dm" +#include "code\datums\wires\smes.dm" +#include "code\datums\wires\suit_storage_unit.dm" +#include "code\datums\wires\tesla_coil.dm" +#include "code\datums\wires\vending.dm" +#include "code\datums\wires\wires.dm" +#include "code\defines\gases.dm" +#include "code\defines\obj.dm" +#include "code\defines\obj\weapon.dm" +#include "code\defines\procs\announce.dm" +#include "code\defines\procs\AStar.dm" +#include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\radio.dm" +#include "code\defines\procs\statistics.dm" +#include "code\game\atoms.dm" +#include "code\game\atoms_movable.dm" +#include "code\game\atoms_movable_vr.dm" +#include "code\game\base_turf.dm" +#include "code\game\periodic_news.dm" +#include "code\game\response_team.dm" +#include "code\game\response_team_vr.dm" +#include "code\game\shuttle_engines.dm" +#include "code\game\skincmd.dm" +#include "code\game\sound.dm" +#include "code\game\trader_visit.dm" +#include "code\game\trader_visit_vr.dm" +#include "code\game\world.dm" +#include "code\game\antagonist\_antagonist_setup.dm" +#include "code\game\antagonist\antagonist.dm" +#include "code\game\antagonist\antagonist_add.dm" +#include "code\game\antagonist\antagonist_create.dm" +#include "code\game\antagonist\antagonist_equip.dm" +#include "code\game\antagonist\antagonist_factions.dm" +#include "code\game\antagonist\antagonist_helpers.dm" +#include "code\game\antagonist\antagonist_objectives.dm" +#include "code\game\antagonist\antagonist_panel.dm" +#include "code\game\antagonist\antagonist_place.dm" +#include "code\game\antagonist\antagonist_print.dm" +#include "code\game\antagonist\antagonist_update.dm" +#include "code\game\antagonist\alien\borer.dm" +#include "code\game\antagonist\alien\xenomorph.dm" +#include "code\game\antagonist\outsider\commando.dm" +#include "code\game\antagonist\outsider\deathsquad.dm" +#include "code\game\antagonist\outsider\ert.dm" +#include "code\game\antagonist\outsider\ert_vr.dm" +#include "code\game\antagonist\outsider\mercenary.dm" +#include "code\game\antagonist\outsider\ninja.dm" +#include "code\game\antagonist\outsider\raider.dm" +#include "code\game\antagonist\outsider\technomancer.dm" +#include "code\game\antagonist\outsider\trader.dm" +#include "code\game\antagonist\outsider\wizard.dm" +#include "code\game\antagonist\station\changeling.dm" +#include "code\game\antagonist\station\cultist.dm" +#include "code\game\antagonist\station\highlander.dm" +#include "code\game\antagonist\station\infiltrator.dm" +#include "code\game\antagonist\station\loyalist.dm" +#include "code\game\antagonist\station\renegade.dm" +#include "code\game\antagonist\station\revolutionary.dm" +#include "code\game\antagonist\station\rogue_ai.dm" +#include "code\game\antagonist\station\stowaway.dm" +#include "code\game\antagonist\station\thug.dm" +#include "code\game\antagonist\station\traitor.dm" +#include "code\game\area\ai_monitored.dm" +#include "code\game\area\areas.dm" +#include "code\game\area\areas_vr.dm" +#include "code\game\area\asteroid_areas.dm" +#include "code\game\area\Away Mission areas.dm" +#include "code\game\area\Space Station 13 areas.dm" +#include "code\game\area\Space Station 13 areas_vr.dm" +#include "code\game\area\ss13_deprecated_areas.dm" +#include "code\game\dna\dna2.dm" +#include "code\game\dna\dna2_domutcheck.dm" +#include "code\game\dna\dna2_helpers.dm" +#include "code\game\dna\dna_modifier.dm" +#include "code\game\dna\genes\disabilities.dm" +#include "code\game\dna\genes\gene.dm" +#include "code\game\dna\genes\powers.dm" +#include "code\game\gamemodes\events.dm" +#include "code\game\gamemodes\game_mode.dm" +#include "code\game\gamemodes\game_mode_latespawn.dm" +#include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\calamity\calamity.dm" +#include "code\game\gamemodes\changeling\absorbed_dna.dm" +#include "code\game\gamemodes\changeling\changeling.dm" +#include "code\game\gamemodes\changeling\changeling_powers.dm" +#include "code\game\gamemodes\changeling\generic_equip_procs.dm" +#include "code\game\gamemodes\changeling\modularchangling.dm" +#include "code\game\gamemodes\changeling\powers\absorb.dm" +#include "code\game\gamemodes\changeling\powers\armblade.dm" +#include "code\game\gamemodes\changeling\powers\armor.dm" +#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" +#include "code\game\gamemodes\changeling\powers\bioelectrogenesis.dm" +#include "code\game\gamemodes\changeling\powers\blind_sting.dm" +#include "code\game\gamemodes\changeling\powers\boost_range.dm" +#include "code\game\gamemodes\changeling\powers\cryo_sting.dm" +#include "code\game\gamemodes\changeling\powers\darkvision.dm" +#include "code\game\gamemodes\changeling\powers\deaf_sting.dm" +#include "code\game\gamemodes\changeling\powers\delayed_toxin_sting.dm" +#include "code\game\gamemodes\changeling\powers\digital_camo.dm" +#include "code\game\gamemodes\changeling\powers\electric_lockpick.dm" +#include "code\game\gamemodes\changeling\powers\endoarmor.dm" +#include "code\game\gamemodes\changeling\powers\enfeebling_string.dm" +#include "code\game\gamemodes\changeling\powers\engorged_glands.dm" +#include "code\game\gamemodes\changeling\powers\enrage.dm" +#include "code\game\gamemodes\changeling\powers\epinephrine_overdose.dm" +#include "code\game\gamemodes\changeling\powers\escape_restraints.dm" +#include "code\game\gamemodes\changeling\powers\extract_dna_sting.dm" +#include "code\game\gamemodes\changeling\powers\fabricate_clothing.dm" +#include "code\game\gamemodes\changeling\powers\fake_death.dm" +#include "code\game\gamemodes\changeling\powers\fleshmend.dm" +#include "code\game\gamemodes\changeling\powers\hivemind.dm" +#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" +#include "code\game\gamemodes\changeling\powers\panacea.dm" +#include "code\game\gamemodes\changeling\powers\rapid_regen.dm" +#include "code\game\gamemodes\changeling\powers\recursive_enhancement.dm" +#include "code\game\gamemodes\changeling\powers\respec.dm" +#include "code\game\gamemodes\changeling\powers\revive.dm" +#include "code\game\gamemodes\changeling\powers\self_respiration.dm" +#include "code\game\gamemodes\changeling\powers\shriek.dm" +#include "code\game\gamemodes\changeling\powers\silence_sting.dm" +#include "code\game\gamemodes\changeling\powers\transform.dm" +#include "code\game\gamemodes\changeling\powers\visible_camouflage.dm" +#include "code\game\gamemodes\cult\construct_spells.dm" +#include "code\game\gamemodes\cult\cult.dm" +#include "code\game\gamemodes\cult\cult_items.dm" +#include "code\game\gamemodes\cult\cult_structures.dm" +#include "code\game\gamemodes\cult\hell_universe.dm" +#include "code\game\gamemodes\cult\narsie.dm" +#include "code\game\gamemodes\cult\ritual.dm" +#include "code\game\gamemodes\cult\runes.dm" +#include "code\game\gamemodes\cult\soulstone.dm" +#include "code\game\gamemodes\cult\talisman.dm" +#include "code\game\gamemodes\cult\cultify\mob.dm" +#include "code\game\gamemodes\cult\cultify\obj.dm" +#include "code\game\gamemodes\cult\cultify\turf.dm" +#include "code\game\gamemodes\endgame\endgame.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\blob.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\portal.dm" +#include "code\game\gamemodes\endgame\supermatter_cascade\universe.dm" +#include "code\game\gamemodes\events\black_hole.dm" +#include "code\game\gamemodes\events\clang.dm" +#include "code\game\gamemodes\events\dust.dm" +#include "code\game\gamemodes\events\power_failure.dm" +#include "code\game\gamemodes\events\wormholes.dm" +#include "code\game\gamemodes\events\holidays\Christmas.dm" +#include "code\game\gamemodes\events\holidays\Holidays.dm" +#include "code\game\gamemodes\events\holidays\Other.dm" +#include "code\game\gamemodes\extended\extended.dm" +#include "code\game\gamemodes\heist\heist.dm" +#include "code\game\gamemodes\infiltrator\infiltrator.dm" +#include "code\game\gamemodes\malfunction\malf_hardware.dm" +#include "code\game\gamemodes\malfunction\malf_research.dm" +#include "code\game\gamemodes\malfunction\malf_research_ability.dm" +#include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\HARDWARE.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\HELPERS.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_interdiction.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_manipulation.dm" +#include "code\game\gamemodes\malfunction\newmalf_ability_trees\tree_networking.dm" +#include "code\game\gamemodes\meteor\meteor.dm" +#include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\meteor\meteors_vr.dm" +#include "code\game\gamemodes\mixed\conflux.dm" +#include "code\game\gamemodes\mixed\infestation.dm" +#include "code\game\gamemodes\mixed\intrigue.dm" +#include "code\game\gamemodes\mixed\lizard.dm" +#include "code\game\gamemodes\mixed\mercrenegade.dm" +#include "code\game\gamemodes\mixed\mercwiz.dm" +#include "code\game\gamemodes\mixed\paranoia.dm" +#include "code\game\gamemodes\mixed\traitorling.dm" +#include "code\game\gamemodes\mixed\traitorrenegade.dm" +#include "code\game\gamemodes\mixed\uprising.dm" +#include "code\game\gamemodes\mixed\visitors.dm" +#include "code\game\gamemodes\ninja\ninja.dm" +#include "code\game\gamemodes\nuclear\nuclear.dm" +#include "code\game\gamemodes\nuclear\pinpointer.dm" +#include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\technomancer\catalog.dm" +#include "code\game\gamemodes\technomancer\clothing.dm" +#include "code\game\gamemodes\technomancer\core_obj.dm" +#include "code\game\gamemodes\technomancer\equipment.dm" +#include "code\game\gamemodes\technomancer\instability.dm" +#include "code\game\gamemodes\technomancer\spell_objs.dm" +#include "code\game\gamemodes\technomancer\spell_objs_helpers.dm" +#include "code\game\gamemodes\technomancer\technomancer.dm" +#include "code\game\gamemodes\technomancer\assistance\assistance.dm" +#include "code\game\gamemodes\technomancer\devices\boots_of_speed.dm" +#include "code\game\gamemodes\technomancer\devices\disposable_teleporter.dm" +#include "code\game\gamemodes\technomancer\devices\gloves_of_regen.dm" +#include "code\game\gamemodes\technomancer\devices\hypos.dm" +#include "code\game\gamemodes\technomancer\devices\implants.dm" +#include "code\game\gamemodes\technomancer\devices\shield_armor.dm" +#include "code\game\gamemodes\technomancer\devices\tesla_armor.dm" +#include "code\game\gamemodes\technomancer\spells\abjuration.dm" +#include "code\game\gamemodes\technomancer\spells\apportation.dm" +#include "code\game\gamemodes\technomancer\spells\audible_deception.dm" +#include "code\game\gamemodes\technomancer\spells\blink.dm" +#include "code\game\gamemodes\technomancer\spells\chroma.dm" +#include "code\game\gamemodes\technomancer\spells\condensation.dm" +#include "code\game\gamemodes\technomancer\spells\control.dm" +#include "code\game\gamemodes\technomancer\spells\dispel.dm" +#include "code\game\gamemodes\technomancer\spells\energy_siphon.dm" +#include "code\game\gamemodes\technomancer\spells\flame_tongue.dm" +#include "code\game\gamemodes\technomancer\spells\gambit.dm" +#include "code\game\gamemodes\technomancer\spells\illusion.dm" +#include "code\game\gamemodes\technomancer\spells\instability_tap.dm" +#include "code\game\gamemodes\technomancer\spells\mark_recall.dm" +#include "code\game\gamemodes\technomancer\spells\mend_organs.dm" +#include "code\game\gamemodes\technomancer\spells\oxygenate.dm" +#include "code\game\gamemodes\technomancer\spells\passwall.dm" +#include "code\game\gamemodes\technomancer\spells\phase_shift.dm" +#include "code\game\gamemodes\technomancer\spells\radiance.dm" +#include "code\game\gamemodes\technomancer\spells\reflect.dm" +#include "code\game\gamemodes\technomancer\spells\resurrect.dm" +#include "code\game\gamemodes\technomancer\spells\shared_burden.dm" +#include "code\game\gamemodes\technomancer\spells\shield.dm" +#include "code\game\gamemodes\technomancer\spells\targeting_matrix.dm" +#include "code\game\gamemodes\technomancer\spells\track.dm" +#include "code\game\gamemodes\technomancer\spells\warp_strike.dm" +#include "code\game\gamemodes\technomancer\spells\aura\aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\biomed_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\fire_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\frost_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\shock_aura.dm" +#include "code\game\gamemodes\technomancer\spells\aura\unstable_aura.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\corona.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\haste.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_all.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_life.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\mend_synthetic.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\modifier.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\purify.dm" +#include "code\game\gamemodes\technomancer\spells\modifier\repel_missiles.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\beam.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\chain_lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\force_missile.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\ionic_bolt.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\lesser_chain_lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\lightning.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\overload.dm" +#include "code\game\gamemodes\technomancer\spells\projectile\projectile.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\darkness.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\destablize.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\fire_blast.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\pulsar.dm" +#include "code\game\gamemodes\technomancer\spells\spawner\spawner.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon_creature.dm" +#include "code\game\gamemodes\technomancer\spells\summon\summon_ward.dm" +#include "code\game\gamemodes\traitor\traitor.dm" +#include "code\game\gamemodes\wizard\wizard.dm" +#include "code\game\jobs\_access_defs.dm" +#include "code\game\jobs\access.dm" +#include "code\game\jobs\access_datum.dm" +#include "code\game\jobs\access_datum_vr.dm" +#include "code\game\jobs\job_controller.dm" +#include "code\game\jobs\jobs.dm" +#include "code\game\jobs\whitelist.dm" +#include "code\game\jobs\whitelist_vr.dm" +#include "code\game\jobs\job\_alt_title.dm" +#include "code\game\jobs\job\assistant.dm" +#include "code\game\jobs\job\assistant_vr.dm" +#include "code\game\jobs\job\captain.dm" +#include "code\game\jobs\job\captain_vr.dm" +#include "code\game\jobs\job\civilian.dm" +#include "code\game\jobs\job\civilian_chaplain.dm" +#include "code\game\jobs\job\civilian_vr.dm" +#include "code\game\jobs\job\department.dm" +#include "code\game\jobs\job\department_vr.dm" +#include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\engineering_vr.dm" +#include "code\game\jobs\job\exploration_vr.dm" +#include "code\game\jobs\job\job.dm" +#include "code\game\jobs\job\job_vr.dm" +#include "code\game\jobs\job\medical.dm" +#include "code\game\jobs\job\medical_vr.dm" +#include "code\game\jobs\job\offduty_vr.dm" +#include "code\game\jobs\job\science.dm" +#include "code\game\jobs\job\science_vr.dm" +#include "code\game\jobs\job\security.dm" +#include "code\game\jobs\job\security_vr.dm" +#include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\silicon_vr.dm" +#include "code\game\jobs\job\special_vr.dm" +#include "code\game\machinery\adv_med.dm" +#include "code\game\machinery\adv_med_vr.dm" +#include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\air_alarm.dm" +#include "code\game\machinery\airconditioner_vr.dm" +#include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" +#include "code\game\machinery\Beacon.dm" +#include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\bioprinter.dm" +#include "code\game\machinery\bomb_tester_vr.dm" +#include "code\game\machinery\buttons.dm" +#include "code\game\machinery\buttons_vr.dm" +#include "code\game\machinery\CableLayer.dm" +#include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\cloning.dm" +#include "code\game\machinery\cryo.dm" +#include "code\game\machinery\cryopod.dm" +#include "code\game\machinery\cryopod_vr.dm" +#include "code\game\machinery\deployable.dm" +#include "code\game\machinery\deployable_vr.dm" +#include "code\game\machinery\door_control.dm" +#include "code\game\machinery\doorbell_vr.dm" +#include "code\game\machinery\doppler_array.dm" +#include "code\game\machinery\exonet_node.dm" +#include "code\game\machinery\fire_alarm.dm" +#include "code\game\machinery\flasher.dm" +#include "code\game\machinery\floodlight.dm" +#include "code\game\machinery\floor_light.dm" +#include "code\game\machinery\floorlayer.dm" +#include "code\game\machinery\frame.dm" +#include "code\game\machinery\gear_dispenser.dm" +#include "code\game\machinery\hologram.dm" +#include "code\game\machinery\holoposter.dm" +#include "code\game\machinery\holosign.dm" +#include "code\game\machinery\igniter.dm" +#include "code\game\machinery\iv_drip.dm" +#include "code\game\machinery\jukebox.dm" +#include "code\game\machinery\lightswitch.dm" +#include "code\game\machinery\machinery.dm" +#include "code\game\machinery\machinery_power.dm" +#include "code\game\machinery\magnet.dm" +#include "code\game\machinery\mass_driver.dm" +#include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\neonsign.dm" +#include "code\game\machinery\newscaster.dm" +#include "code\game\machinery\nuclear_bomb.dm" +#include "code\game\machinery\OpTable.dm" +#include "code\game\machinery\overview.dm" +#include "code\game\machinery\oxygen_pump.dm" +#include "code\game\machinery\painter_vr.dm" +#include "code\game\machinery\partslathe_vr.dm" +#include "code\game\machinery\pda_multicaster.dm" +#include "code\game\machinery\pointdefense.dm" +#include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\portable_turret_vr.dm" +#include "code\game\machinery\recharger.dm" +#include "code\game\machinery\rechargestation.dm" +#include "code\game\machinery\requests_console.dm" +#include "code\game\machinery\requests_console_vr.dm" +#include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\seed_extractor.dm" +#include "code\game\machinery\Sleeper.dm" +#include "code\game\machinery\spaceheater.dm" +#include "code\game\machinery\status_display.dm" +#include "code\game\machinery\status_display_ai.dm" +#include "code\game\machinery\suit_cycler_datums.dm" +#include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\suit_storage_unit_vr.dm" +#include "code\game\machinery\supply_display.dm" +#include "code\game\machinery\supplybeacon.dm" +#include "code\game\machinery\syndicatebeacon.dm" +#include "code\game\machinery\syndicatebeacon_vr.dm" +#include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\transportpod.dm" +#include "code\game\machinery\turret_control.dm" +#include "code\game\machinery\vending_machines_vr.dm" +#include "code\game\machinery\vitals_monitor.dm" +#include "code\game\machinery\wall_frames.dm" +#include "code\game\machinery\washing_machine.dm" +#include "code\game\machinery\wishgranter.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer_vr.dm" +#include "code\game\machinery\atmoalter\canister.dm" +#include "code\game\machinery\atmoalter\clamp.dm" +#include "code\game\machinery\atmoalter\meter.dm" +#include "code\game\machinery\atmoalter\portable_atmospherics.dm" +#include "code\game\machinery\atmoalter\pump.dm" +#include "code\game\machinery\atmoalter\pump_vr.dm" +#include "code\game\machinery\atmoalter\scrubber.dm" +#include "code\game\machinery\camera\camera.dm" +#include "code\game\machinery\camera\camera_assembly.dm" +#include "code\game\machinery\camera\camera_vr.dm" +#include "code\game\machinery\camera\motion.dm" +#include "code\game\machinery\camera\presets.dm" +#include "code\game\machinery\camera\tracking.dm" +#include "code\game\machinery\computer\ai_core.dm" +#include "code\game\machinery\computer\aifixer.dm" +#include "code\game\machinery\computer\arcade.dm" +#include "code\game\machinery\computer\arcade_vr.dm" +#include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" +#include "code\game\machinery\computer\camera.dm" +#include "code\game\machinery\computer\camera_vr.dm" +#include "code\game\machinery\computer\card.dm" +#include "code\game\machinery\computer\cloning.dm" +#include "code\game\machinery\computer\communications.dm" +#include "code\game\machinery\computer\computer.dm" +#include "code\game\machinery\computer\crew.dm" +#include "code\game\machinery\computer\guestpass.dm" +#include "code\game\machinery\computer\id_restorer_vr.dm" +#include "code\game\machinery\computer\law.dm" +#include "code\game\machinery\computer\medical.dm" +#include "code\game\machinery\computer\message.dm" +#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\pod.dm" +#include "code\game\machinery\computer\prisoner.dm" +#include "code\game\machinery\computer\prisonshuttle.dm" +#include "code\game\machinery\computer\RCON_Console.dm" +#include "code\game\machinery\computer\robot.dm" +#include "code\game\machinery\computer\security.dm" +#include "code\game\machinery\computer\shutoff_monitor.dm" +#include "code\game\machinery\computer\shuttle.dm" +#include "code\game\machinery\computer\skills.dm" +#include "code\game\machinery\computer\specops_shuttle.dm" +#include "code\game\machinery\computer\station_alert.dm" +#include "code\game\machinery\computer\supply.dm" +#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer\timeclock_vr.dm" +#include "code\game\machinery\computer\~computer_vr.dm" +#include "code\game\machinery\doors\airlock.dm" +#include "code\game\machinery\doors\airlock_control.dm" +#include "code\game\machinery\doors\airlock_electronics.dm" +#include "code\game\machinery\doors\airlock_vr.dm" +#include "code\game\machinery\doors\alarmlock.dm" +#include "code\game\machinery\doors\blast_door.dm" +#include "code\game\machinery\doors\brigdoors.dm" +#include "code\game\machinery\doors\checkForMultipleDoors.dm" +#include "code\game\machinery\doors\door.dm" +#include "code\game\machinery\doors\door_vr.dm" +#include "code\game\machinery\doors\firedoor.dm" +#include "code\game\machinery\doors\firedoor_assembly.dm" +#include "code\game\machinery\doors\firedoor_vr.dm" +#include "code\game\machinery\doors\multi_tile.dm" +#include "code\game\machinery\doors\multi_tile_vr.dm" +#include "code\game\machinery\doors\unpowered.dm" +#include "code\game\machinery\doors\windowdoor.dm" +#include "code\game\machinery\embedded_controller\airlock_controllers.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" +#include "code\game\machinery\embedded_controller\airlock_program.dm" +#include "code\game\machinery\embedded_controller\docking_program.dm" +#include "code\game\machinery\embedded_controller\docking_program_multi.dm" +#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" +#include "code\game\machinery\embedded_controller\embedded_program_base.dm" +#include "code\game\machinery\embedded_controller\mapping_helpers.dm" +#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" +#include "code\game\machinery\event\stage_vr.dm" +#include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\pipe\pipe_recipes.dm" +#include "code\game\machinery\pipe\pipelayer.dm" +#include "code\game\machinery\reagents\pump.dm" +#include "code\game\machinery\telecomms\broadcaster.dm" +#include "code\game\machinery\telecomms\broadcaster_vr.dm" +#include "code\game\machinery\telecomms\logbrowser.dm" +#include "code\game\machinery\telecomms\machine_interactions.dm" +#include "code\game\machinery\telecomms\presets.dm" +#include "code\game\machinery\telecomms\presets_vr.dm" +#include "code\game\machinery\telecomms\telecomunications.dm" +#include "code\game\machinery\telecomms\telemonitor.dm" +#include "code\game\machinery\telecomms\traffic_control.dm" +#include "code\game\machinery\virtual_reality\ar_console.dm" +#include "code\game\machinery\virtual_reality\vr_console.dm" +#include "code\game\magic\Uristrunes.dm" +#include "code\game\mecha\mech_bay.dm" +#include "code\game\mecha\mech_fabricator.dm" +#include "code\game\mecha\mech_prosthetics.dm" +#include "code\game\mecha\mech_sensor.dm" +#include "code\game\mecha\mecha.dm" +#include "code\game\mecha\mecha_actions.dm" +#include "code\game\mecha\mecha_appearance.dm" +#include "code\game\mecha\mecha_construction_paths.dm" +#include "code\game\mecha\mecha_control_console.dm" +#include "code\game\mecha\mecha_helpers.dm" +#include "code\game\mecha\mecha_parts.dm" +#include "code\game\mecha\mecha_vr.dm" +#include "code\game\mecha\mecha_wreckage.dm" +#include "code\game\mecha\combat\combat.dm" +#include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\fighter.dm" +#include "code\game\mecha\combat\gorilla.dm" +#include "code\game\mecha\combat\gygax.dm" +#include "code\game\mecha\combat\marauder.dm" +#include "code\game\mecha\combat\phazon.dm" +#include "code\game\mecha\components\_component.dm" +#include "code\game\mecha\components\actuators.dm" +#include "code\game\mecha\components\armor.dm" +#include "code\game\mecha\components\electrical.dm" +#include "code\game\mecha\components\hull.dm" +#include "code\game\mecha\components\lifesupport.dm" +#include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\mecha_equipment_dynamicprocs.dm" +#include "code\game\mecha\equipment\tools\armor_melee.dm" +#include "code\game\mecha\equipment\tools\armor_ranged.dm" +#include "code\game\mecha\equipment\tools\cable_layer.dm" +#include "code\game\mecha\equipment\tools\catapult.dm" +#include "code\game\mecha\equipment\tools\clamp.dm" +#include "code\game\mecha\equipment\tools\cloak.dm" +#include "code\game\mecha\equipment\tools\drill.dm" +#include "code\game\mecha\equipment\tools\energy_relay.dm" +#include "code\game\mecha\equipment\tools\extinguisher.dm" +#include "code\game\mecha\equipment\tools\generator.dm" +#include "code\game\mecha\equipment\tools\hardpoint_actuator.dm" +#include "code\game\mecha\equipment\tools\inflatables.dm" +#include "code\game\mecha\equipment\tools\jetpack.dm" +#include "code\game\mecha\equipment\tools\medigun_vr.dm" +#include "code\game\mecha\equipment\tools\orescanner.dm" +#include "code\game\mecha\equipment\tools\passenger.dm" +#include "code\game\mecha\equipment\tools\powertool.dm" +#include "code\game\mecha\equipment\tools\rcd.dm" +#include "code\game\mecha\equipment\tools\repair_droid.dm" +#include "code\game\mecha\equipment\tools\running_board.dm" +#include "code\game\mecha\equipment\tools\shield.dm" +#include "code\game\mecha\equipment\tools\shield_omni.dm" +#include "code\game\mecha\equipment\tools\sleeper.dm" +#include "code\game\mecha\equipment\tools\speedboost.dm" +#include "code\game\mecha\equipment\tools\syringe_gun.dm" +#include "code\game\mecha\equipment\tools\teleporter.dm" +#include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\tools\weldinglaser.dm" +#include "code\game\mecha\equipment\tools\wormhole.dm" +#include "code\game\mecha\equipment\weapons\honk.dm" +#include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\equipment\weapons\ballistic\automatic.dm" +#include "code\game\mecha\equipment\weapons\ballistic\ballistic.dm" +#include "code\game\mecha\equipment\weapons\ballistic\mortar.dm" +#include "code\game\mecha\equipment\weapons\ballistic\shotgun.dm" +#include "code\game\mecha\equipment\weapons\defense\shocker.dm" +#include "code\game\mecha\equipment\weapons\energy\energy.dm" +#include "code\game\mecha\equipment\weapons\energy\ion.dm" +#include "code\game\mecha\equipment\weapons\energy\laser.dm" +#include "code\game\mecha\equipment\weapons\energy\phased.dm" +#include "code\game\mecha\equipment\weapons\energy\pulse.dm" +#include "code\game\mecha\equipment\weapons\energy\stun.dm" +#include "code\game\mecha\equipment\weapons\explosive\grenade.dm" +#include "code\game\mecha\equipment\weapons\explosive\missile.dm" +#include "code\game\mecha\equipment\weapons\fire\flamethrower.dm" +#include "code\game\mecha\equipment\weapons\fire\incendiary.dm" +#include "code\game\mecha\medical\medical.dm" +#include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\medical\odysseus_vr.dm" +#include "code\game\mecha\micro\mecha_construction_paths_vr.dm" +#include "code\game\mecha\micro\mecha_parts_vr.dm" +#include "code\game\mecha\micro\mecha_vr.dm" +#include "code\game\mecha\micro\mechfab_designs_vr.dm" +#include "code\game\mecha\micro\micro.dm" +#include "code\game\mecha\micro\micro_equipment.dm" +#include "code\game\mecha\micro\security.dm" +#include "code\game\mecha\micro\utility.dm" +#include "code\game\mecha\space\hoverpod.dm" +#include "code\game\mecha\space\shuttle.dm" +#include "code\game\mecha\working\ripley.dm" +#include "code\game\mecha\working\ripley_vr.dm" +#include "code\game\mecha\working\working.dm" +#include "code\game\objects\banners.dm" +#include "code\game\objects\banners_vr.dm" +#include "code\game\objects\buckling.dm" +#include "code\game\objects\empulse.dm" +#include "code\game\objects\explosion.dm" +#include "code\game\objects\explosion_recursive.dm" +#include "code\game\objects\items.dm" +#include "code\game\objects\mob_spawner_vr.dm" +#include "code\game\objects\objs.dm" +#include "code\game\objects\structures.dm" +#include "code\game\objects\stumble_into_vr.dm" +#include "code\game\objects\weapons.dm" +#include "code\game\objects\effects\bump_teleporter.dm" +#include "code\game\objects\effects\confetti_vr.dm" +#include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" +#include "code\game\objects\effects\gibs.dm" +#include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\item_pickup_ghost.dm" +#include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\landmarks_vr.dm" +#include "code\game\objects\effects\manifest.dm" +#include "code\game\objects\effects\mines.dm" +#include "code\game\objects\effects\misc.dm" +#include "code\game\objects\effects\overlays.dm" +#include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\semirandom_mobs_vr.dm" +#include "code\game\objects\effects\spiders.dm" +#include "code\game\objects\effects\spiders_vr.dm" +#include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\zone_divider.dm" +#include "code\game\objects\effects\alien\aliens.dm" +#include "code\game\objects\effects\chem\chemsmoke.dm" +#include "code\game\objects\effects\chem\coating.dm" +#include "code\game\objects\effects\chem\foam.dm" +#include "code\game\objects\effects\chem\foam_vr.dm" +#include "code\game\objects\effects\chem\water.dm" +#include "code\game\objects\effects\decals\cleanable.dm" +#include "code\game\objects\effects\decals\crayon.dm" +#include "code\game\objects\effects\decals\misc.dm" +#include "code\game\objects\effects\decals\remains.dm" +#include "code\game\objects\effects\decals\warning_stripes.dm" +#include "code\game\objects\effects\decals\Cleanable\aliens.dm" +#include "code\game\objects\effects\decals\Cleanable\fuel.dm" +#include "code\game\objects\effects\decals\Cleanable\humans.dm" +#include "code\game\objects\effects\decals\Cleanable\misc.dm" +#include "code\game\objects\effects\decals\Cleanable\robots.dm" +#include "code\game\objects\effects\decals\Cleanable\tracks.dm" +#include "code\game\objects\effects\decals\posters\bs12.dm" +#include "code\game\objects\effects\decals\posters\polarisposters.dm" +#include "code\game\objects\effects\decals\posters\polarisposters_vr.dm" +#include "code\game\objects\effects\decals\posters\posters.dm" +#include "code\game\objects\effects\decals\posters\tgposters.dm" +#include "code\game\objects\effects\decals\posters\voreposters_vr.dm" +#include "code\game\objects\effects\map_effects\beam_point.dm" +#include "code\game\objects\effects\map_effects\effect_emitter.dm" +#include "code\game\objects\effects\map_effects\map_effects.dm" +#include "code\game\objects\effects\map_effects\perma_light.dm" +#include "code\game\objects\effects\map_effects\portal.dm" +#include "code\game\objects\effects\map_effects\radiation_emitter.dm" +#include "code\game\objects\effects\map_effects\screen_shaker.dm" +#include "code\game\objects\effects\map_effects\sound_emitter.dm" +#include "code\game\objects\effects\prop\columnblast.dm" +#include "code\game\objects\effects\prop\snake.dm" +#include "code\game\objects\effects\spawners\bombspawner.dm" +#include "code\game\objects\effects\spawners\gibspawner.dm" +#include "code\game\objects\effects\spawners\graffiti.dm" +#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" +#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm" +#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm" +#include "code\game\objects\items\antag_spawners.dm" +#include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\bells.dm" +#include "code\game\objects\items\blueprints.dm" +#include "code\game\objects\items\bodybag.dm" +#include "code\game\objects\items\contraband.dm" +#include "code\game\objects\items\contraband_vr.dm" +#include "code\game\objects\items\crayons.dm" +#include "code\game\objects\items\falling_object_vr.dm" +#include "code\game\objects\items\glassjar.dm" +#include "code\game\objects\items\gunbox.dm" +#include "code\game\objects\items\gunbox_vr.dm" +#include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\paintkit.dm" +#include "code\game\objects\items\pizza_voucher_vr.dm" +#include "code\game\objects\items\poi_items.dm" +#include "code\game\objects\items\robobag.dm" +#include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\tailoring.dm" +#include "code\game\objects\items\trash.dm" +#include "code\game\objects\items\trash_material.dm" +#include "code\game\objects\items\trash_vr.dm" +#include "code\game\objects\items\uav.dm" +#include "code\game\objects\items\devices\advnifrepair.dm" +#include "code\game\objects\items\devices\ai_detector.dm" +#include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\binoculars.dm" +#include "code\game\objects\items\devices\body_snatcher_vr.dm" +#include "code\game\objects\items\devices\chameleonproj.dm" +#include "code\game\objects\items\devices\debugger.dm" +#include "code\game\objects\items\devices\defib.dm" +#include "code\game\objects\items\devices\denecrotizer_vr.dm" +#include "code\game\objects\items\devices\flash.dm" +#include "code\game\objects\items\devices\flash_vr.dm" +#include "code\game\objects\items\devices\flashlight.dm" +#include "code\game\objects\items\devices\flashlight_vr.dm" +#include "code\game\objects\items\devices\floor_painter.dm" +#include "code\game\objects\items\devices\geiger.dm" +#include "code\game\objects\items\devices\gps.dm" +#include "code\game\objects\items\devices\hacktool.dm" +#include "code\game\objects\items\devices\holowarrant.dm" +#include "code\game\objects\items\devices\laserpointer.dm" +#include "code\game\objects\items\devices\lightreplacer.dm" +#include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" +#include "code\game\objects\items\devices\multitool.dm" +#include "code\game\objects\items\devices\paicard.dm" +#include "code\game\objects\items\devices\pipe_painter.dm" +#include "code\game\objects\items\devices\powersink.dm" +#include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\scanners_vr.dm" +#include "code\game\objects\items\devices\spy_bug.dm" +#include "code\game\objects\items\devices\suit_cooling.dm" +#include "code\game\objects\items\devices\t_scanner.dm" +#include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\text_to_speech.dm" +#include "code\game\objects\items\devices\traitordevices.dm" +#include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\translator.dm" +#include "code\game\objects\items\devices\translocator_vr.dm" +#include "code\game\objects\items\devices\tvcamera.dm" +#include "code\game\objects\items\devices\uplink.dm" +#include "code\game\objects\items\devices\uplink_random_lists.dm" +#include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\communicator\communicator.dm" +#include "code\game\objects\items\devices\communicator\helper.dm" +#include "code\game\objects\items\devices\communicator\integrated.dm" +#include "code\game\objects\items\devices\communicator\messaging.dm" +#include "code\game\objects\items\devices\communicator\phone.dm" +#include "code\game\objects\items\devices\communicator\UI_tgui.dm" +#include "code\game\objects\items\devices\radio\beacon.dm" +#include "code\game\objects\items\devices\radio\electropack.dm" +#include "code\game\objects\items\devices\radio\encryptionkey.dm" +#include "code\game\objects\items\devices\radio\encryptionkey_vr.dm" +#include "code\game\objects\items\devices\radio\headset.dm" +#include "code\game\objects\items\devices\radio\headset_vr.dm" +#include "code\game\objects\items\devices\radio\intercom.dm" +#include "code\game\objects\items\devices\radio\jammer.dm" +#include "code\game\objects\items\devices\radio\jammer_vr.dm" +#include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\devices\radio\radio_vr.dm" +#include "code\game\objects\items\devices\radio\radiopack.dm" +#include "code\game\objects\items\robot\robot_items.dm" +#include "code\game\objects\items\robot\robot_parts.dm" +#include "code\game\objects\items\robot\robot_upgrades.dm" +#include "code\game\objects\items\robot\robot_upgrades_vr.dm" +#include "code\game\objects\items\stacks\marker_beacons.dm" +#include "code\game\objects\items\stacks\matter_synth.dm" +#include "code\game\objects\items\stacks\medical.dm" +#include "code\game\objects\items\stacks\medical_vr.dm" +#include "code\game\objects\items\stacks\nanopaste.dm" +#include "code\game\objects\items\stacks\nanopaste_vr.dm" +#include "code\game\objects\items\stacks\sandbags.dm" +#include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\telecrystal.dm" +#include "code\game\objects\items\stacks\tickets.dm" +#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm" +#include "code\game\objects\items\stacks\tiles\tile_types.dm" +#include "code\game\objects\items\toys\balls_vr.dm" +#include "code\game\objects\items\toys\godfigures.dm" +#include "code\game\objects\items\toys\mech_toys.dm" +#include "code\game\objects\items\toys\toys.dm" +#include "code\game\objects\items\toys\toys_vr.dm" +#include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\AI_modules_vr.dm" +#include "code\game\objects\items\weapons\augment_items.dm" +#include "code\game\objects\items\weapons\autopsy.dm" +#include "code\game\objects\items\weapons\bones.dm" +#include "code\game\objects\items\weapons\candle.dm" +#include "code\game\objects\items\weapons\canes.dm" +#include "code\game\objects\items\weapons\cards_ids_vr.dm" +#include "code\game\objects\items\weapons\chewables.dm" +#include "code\game\objects\items\weapons\cigs_lighters.dm" +#include "code\game\objects\items\weapons\clown_items.dm" +#include "code\game\objects\items\weapons\cosmetics.dm" +#include "code\game\objects\items\weapons\dna_injector.dm" +#include "code\game\objects\items\weapons\ecigs.dm" +#include "code\game\objects\items\weapons\explosives.dm" +#include "code\game\objects\items\weapons\explosives_vr.dm" +#include "code\game\objects\items\weapons\extinguisher.dm" +#include "code\game\objects\items\weapons\flamethrower.dm" +#include "code\game\objects\items\weapons\gift_wrappaper.dm" +#include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\handcuffs_vr.dm" +#include "code\game\objects\items\weapons\improvised_components.dm" +#include "code\game\objects\items\weapons\inducer_vr.dm" +#include "code\game\objects\items\weapons\manuals.dm" +#include "code\game\objects\items\weapons\manuals_vr.dm" +#include "code\game\objects\items\weapons\mop.dm" +#include "code\game\objects\items\weapons\mop_deploy.dm" +#include "code\game\objects\items\weapons\paint.dm" +#include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\policetape.dm" +#include "code\game\objects\items\weapons\RCD.dm" +#include "code\game\objects\items\weapons\RCD_vr.dm" +#include "code\game\objects\items\weapons\RMS_vr.dm" +#include "code\game\objects\items\weapons\RPD_vr.dm" +#include "code\game\objects\items\weapons\RSF.dm" +#include "code\game\objects\items\weapons\scrolls.dm" +#include "code\game\objects\items\weapons\shields.dm" +#include "code\game\objects\items\weapons\shields_vr.dm" +#include "code\game\objects\items\weapons\stunbaton.dm" +#include "code\game\objects\items\weapons\surgery_tools.dm" +#include "code\game\objects\items\weapons\swords_axes_etc.dm" +#include "code\game\objects\items\weapons\syndie.dm" +#include "code\game\objects\items\weapons\tape.dm" +#include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\towels.dm" +#include "code\game\objects\items\weapons\traps.dm" +#include "code\game\objects\items\weapons\traps_vr.dm" +#include "code\game\objects\items\weapons\trays.dm" +#include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\weldbackpack.dm" +#include "code\game\objects\items\weapons\circuitboards\broken.dm" +#include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" +#include "code\game\objects\items\weapons\circuitboards\circuitboards_vr.dm" +#include "code\game\objects\items\weapons\circuitboards\frame.dm" +#include "code\game\objects\items\weapons\circuitboards\mecha.dm" +#include "code\game\objects\items\weapons\circuitboards\other.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\air_management.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\camera_monitor.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\computer.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\research.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\shuttle.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\supply.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\biogenerator.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\engineering.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\fluidpump.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\jukebox.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\kitchen_appliances.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\papershredder.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\power.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\recharge_station.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\research.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\shieldgen.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\ships.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\unary_atmos.dm" +#include "code\game\objects\items\weapons\grenades\anti_photon_grenade.dm" +#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" +#include "code\game\objects\items\weapons\grenades\concussion.dm" +#include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\explosive.dm" +#include "code\game\objects\items\weapons\grenades\flashbang.dm" +#include "code\game\objects\items\weapons\grenades\grenade.dm" +#include "code\game\objects\items\weapons\grenades\projectile.dm" +#include "code\game\objects\items\weapons\grenades\smokebomb.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade_vr.dm" +#include "code\game\objects\items\weapons\grenades\supermatter.dm" +#include "code\game\objects\items\weapons\id cards\cards.dm" +#include "code\game\objects\items\weapons\id cards\cards_vr.dm" +#include "code\game\objects\items\weapons\id cards\id_stacks.dm" +#include "code\game\objects\items\weapons\id cards\id_stacks_vr.dm" +#include "code\game\objects\items\weapons\id cards\station_ids.dm" +#include "code\game\objects\items\weapons\id cards\station_ids_vr.dm" +#include "code\game\objects\items\weapons\id cards\syndicate_ids.dm" +#include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implant_vr.dm" +#include "code\game\objects\items\weapons\implants\implantaugment.dm" +#include "code\game\objects\items\weapons\implants\implantcase.dm" +#include "code\game\objects\items\weapons\implants\implantcase_vr.dm" +#include "code\game\objects\items\weapons\implants\implantchair.dm" +#include "code\game\objects\items\weapons\implants\implantcircuits.dm" +#include "code\game\objects\items\weapons\implants\implantdud.dm" +#include "code\game\objects\items\weapons\implants\implanter.dm" +#include "code\game\objects\items\weapons\implants\implanter_vr.dm" +#include "code\game\objects\items\weapons\implants\implantfreedom.dm" +#include "code\game\objects\items\weapons\implants\implantlanguage.dm" +#include "code\game\objects\items\weapons\implants\implantpad.dm" +#include "code\game\objects\items\weapons\implants\implantreagent_vr.dm" +#include "code\game\objects\items\weapons\implants\implantrestrainingbolt.dm" +#include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\implants\neuralbasic.dm" +#include "code\game\objects\items\weapons\material\ashtray.dm" +#include "code\game\objects\items\weapons\material\bats.dm" +#include "code\game\objects\items\weapons\material\chainsaw.dm" +#include "code\game\objects\items\weapons\material\foam.dm" +#include "code\game\objects\items\weapons\material\gravemarker.dm" +#include "code\game\objects\items\weapons\material\kitchen.dm" +#include "code\game\objects\items\weapons\material\knives.dm" +#include "code\game\objects\items\weapons\material\knives_vr.dm" +#include "code\game\objects\items\weapons\material\material_armor.dm" +#include "code\game\objects\items\weapons\material\material_weapons.dm" +#include "code\game\objects\items\weapons\material\misc.dm" +#include "code\game\objects\items\weapons\material\shards.dm" +#include "code\game\objects\items\weapons\material\shards_vr.dm" +#include "code\game\objects\items\weapons\material\swords.dm" +#include "code\game\objects\items\weapons\material\thrown.dm" +#include "code\game\objects\items\weapons\material\twohanded.dm" +#include "code\game\objects\items\weapons\material\twohanded_vr.dm" +#include "code\game\objects\items\weapons\material\whetstone.dm" +#include "code\game\objects\items\weapons\melee\deflect.dm" +#include "code\game\objects\items\weapons\melee\energy.dm" +#include "code\game\objects\items\weapons\melee\energy_vr.dm" +#include "code\game\objects\items\weapons\melee\misc.dm" +#include "code\game\objects\items\weapons\melee\misc_vr.dm" +#include "code\game\objects\items\weapons\storage\backpack.dm" +#include "code\game\objects\items\weapons\storage\backpack_vr.dm" +#include "code\game\objects\items\weapons\storage\bags.dm" +#include "code\game\objects\items\weapons\storage\bags_vr.dm" +#include "code\game\objects\items\weapons\storage\belt.dm" +#include "code\game\objects\items\weapons\storage\belt_vr.dm" +#include "code\game\objects\items\weapons\storage\bible.dm" +#include "code\game\objects\items\weapons\storage\boxes.dm" +#include "code\game\objects\items\weapons\storage\boxes_vr.dm" +#include "code\game\objects\items\weapons\storage\briefcase.dm" +#include "code\game\objects\items\weapons\storage\egg_vr.dm" +#include "code\game\objects\items\weapons\storage\fancy.dm" +#include "code\game\objects\items\weapons\storage\firstaid.dm" +#include "code\game\objects\items\weapons\storage\firstaid_vr.dm" +#include "code\game\objects\items\weapons\storage\internal.dm" +#include "code\game\objects\items\weapons\storage\laundry_basket.dm" +#include "code\game\objects\items\weapons\storage\lockbox.dm" +#include "code\game\objects\items\weapons\storage\misc.dm" +#include "code\game\objects\items\weapons\storage\mre.dm" +#include "code\game\objects\items\weapons\storage\pouches.dm" +#include "code\game\objects\items\weapons\storage\quickdraw.dm" +#include "code\game\objects\items\weapons\storage\secure.dm" +#include "code\game\objects\items\weapons\storage\storage.dm" +#include "code\game\objects\items\weapons\storage\toolbox.dm" +#include "code\game\objects\items\weapons\storage\toolbox_vr.dm" +#include "code\game\objects\items\weapons\storage\uplink_kits.dm" +#include "code\game\objects\items\weapons\storage\wallets.dm" +#include "code\game\objects\items\weapons\tanks\jetpack.dm" +#include "code\game\objects\items\weapons\tanks\tank_types.dm" +#include "code\game\objects\items\weapons\tanks\tank_types_vr.dm" +#include "code\game\objects\items\weapons\tanks\tanks.dm" +#include "code\game\objects\items\weapons\tools\crowbar.dm" +#include "code\game\objects\items\weapons\tools\crowbar_vr.dm" +#include "code\game\objects\items\weapons\tools\screwdriver.dm" +#include "code\game\objects\items\weapons\tools\weldingtool.dm" +#include "code\game\objects\items\weapons\tools\wirecutters.dm" +#include "code\game\objects\items\weapons\tools\wrench.dm" +#include "code\game\objects\random\_random.dm" +#include "code\game\objects\random\guns_and_ammo.dm" +#include "code\game\objects\random\maintenance.dm" +#include "code\game\objects\random\mapping.dm" +#include "code\game\objects\random\mapping_vr.dm" +#include "code\game\objects\random\mechs.dm" +#include "code\game\objects\random\misc.dm" +#include "code\game\objects\random\misc_vr.dm" +#include "code\game\objects\random\mob.dm" +#include "code\game\objects\random\mob_vr.dm" +#include "code\game\objects\random\spacesuits.dm" +#include "code\game\objects\random\unidentified\medicine.dm" +#include "code\game\objects\structures\artstuff.dm" +#include "code\game\objects\structures\barricades.dm" +#include "code\game\objects\structures\barsign.dm" +#include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\bedsheet_bin_vr.dm" +#include "code\game\objects\structures\bonfire.dm" +#include "code\game\objects\structures\catwalk.dm" +#include "code\game\objects\structures\cliff.dm" +#include "code\game\objects\structures\coathanger.dm" +#include "code\game\objects\structures\curtains.dm" +#include "code\game\objects\structures\dancepole_vr.dm" +#include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\dogbed.dm" +#include "code\game\objects\structures\door_assembly.dm" +#include "code\game\objects\structures\electricchair.dm" +#include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\fence.dm" +#include "code\game\objects\structures\fireaxe.dm" +#include "code\game\objects\structures\fitness.dm" +#include "code\game\objects\structures\fitness_vr.dm" +#include "code\game\objects\structures\girders.dm" +#include "code\game\objects\structures\gravemarker.dm" +#include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\handrail.dm" +#include "code\game\objects\structures\holoplant.dm" +#include "code\game\objects\structures\inflatable.dm" +#include "code\game\objects\structures\janicart.dm" +#include "code\game\objects\structures\kitchen_foodcart_vr.dm" +#include "code\game\objects\structures\kitchen_spike.dm" +#include "code\game\objects\structures\lattice.dm" +#include "code\game\objects\structures\ledges.dm" +#include "code\game\objects\structures\lightpost.dm" +#include "code\game\objects\structures\loot_piles.dm" +#include "code\game\objects\structures\map_blocker_vr.dm" +#include "code\game\objects\structures\medical_stand_vr.dm" +#include "code\game\objects\structures\mirror.dm" +#include "code\game\objects\structures\mop_bucket.dm" +#include "code\game\objects\structures\morgue.dm" +#include "code\game\objects\structures\morgue_vr.dm" +#include "code\game\objects\structures\plasticflaps.dm" +#include "code\game\objects\structures\railing.dm" +#include "code\game\objects\structures\safe.dm" +#include "code\game\objects\structures\salvageable.dm" +#include "code\game\objects\structures\signs.dm" +#include "code\game\objects\structures\signs_vr.dm" +#include "code\game\objects\structures\simple_doors.dm" +#include "code\game\objects\structures\simple_doors_vr.dm" +#include "code\game\objects\structures\snowman.dm" +#include "code\game\objects\structures\stasis_cage.dm" +#include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\target_stake.dm" +#include "code\game\objects\structures\transit_tubes.dm" +#include "code\game\objects\structures\trash_pile_vr.dm" +#include "code\game\objects\structures\under_wardrobe.dm" +#include "code\game\objects\structures\watercloset.dm" +#include "code\game\objects\structures\watercloset_vr.dm" +#include "code\game\objects\structures\windoor_assembly.dm" +#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\window_spawner.dm" +#include "code\game\objects\structures\window_vr.dm" +#include "code\game\objects\structures\alien\alien egg.dm" +#include "code\game\objects\structures\alien\alien.dm" +#include "code\game\objects\structures\crates_lockers\__closets.dm" +#include "code\game\objects\structures\crates_lockers\_closets_appearance_definitions.dm" +#include "code\game\objects\structures\crates_lockers\_closets_appearance_definitions_vr.dm" +#include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crates_vr.dm" +#include "code\game\objects\structures\crates_lockers\largecrate.dm" +#include "code\game\objects\structures\crates_lockers\largecrate_vr.dm" +#include "code\game\objects\structures\crates_lockers\vehiclecage.dm" +#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" +#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\closets\egg_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" +#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" +#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" +#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" +#include "code\game\objects\structures\crates_lockers\closets\misc_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\statue.dm" +#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\walllocker.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical_vr.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security_vr.dm" +#include "code\game\objects\structures\flora\flora.dm" +#include "code\game\objects\structures\flora\flora_vr.dm" +#include "code\game\objects\structures\flora\grass.dm" +#include "code\game\objects\structures\flora\moretrees_vr.dm" +#include "code\game\objects\structures\flora\trees.dm" +#include "code\game\objects\structures\ghost_pods\event_vr.dm" +#include "code\game\objects\structures\ghost_pods\ghost_pods.dm" +#include "code\game\objects\structures\ghost_pods\ghost_pods_vr.dm" +#include "code\game\objects\structures\ghost_pods\human.dm" +#include "code\game\objects\structures\ghost_pods\mysterious.dm" +#include "code\game\objects\structures\ghost_pods\silicon.dm" +#include "code\game\objects\structures\ghost_pods\silicon_vr.dm" +#include "code\game\objects\structures\props\alien_props.dm" +#include "code\game\objects\structures\props\alien_props_vr.dm" +#include "code\game\objects\structures\props\beam_prism.dm" +#include "code\game\objects\structures\props\blackbox.dm" +#include "code\game\objects\structures\props\fake_ai.dm" +#include "code\game\objects\structures\props\nest.dm" +#include "code\game\objects\structures\props\projectile_lock.dm" +#include "code\game\objects\structures\props\prop.dm" +#include "code\game\objects\structures\props\puzzledoor.dm" +#include "code\game\objects\structures\props\rocks.dm" +#include "code\game\objects\structures\props\swarm.dm" +#include "code\game\objects\structures\props\transmitter.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs_vr.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools_vr.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair_item.dm" +#include "code\game\turfs\simulated.dm" +#include "code\game\turfs\simulated_vr.dm" +#include "code\game\turfs\turf.dm" +#include "code\game\turfs\turf_changing.dm" +#include "code\game\turfs\turf_flick_animations.dm" +#include "code\game\turfs\unsimulated.dm" +#include "code\game\turfs\flooring\flooring.dm" +#include "code\game\turfs\flooring\flooring_decals.dm" +#include "code\game\turfs\flooring\flooring_decals_vr.dm" +#include "code\game\turfs\flooring\flooring_premade.dm" +#include "code\game\turfs\flooring\flooring_vr.dm" +#include "code\game\turfs\flooring\shuttle_vr.dm" +#include "code\game\turfs\initialization\init.dm" +#include "code\game\turfs\initialization\maintenance.dm" +#include "code\game\turfs\simulated\floor.dm" +#include "code\game\turfs\simulated\floor_acts.dm" +#include "code\game\turfs\simulated\floor_attackby.dm" +#include "code\game\turfs\simulated\floor_damage.dm" +#include "code\game\turfs\simulated\floor_icon.dm" +#include "code\game\turfs\simulated\floor_static.dm" +#include "code\game\turfs\simulated\floor_types.dm" +#include "code\game\turfs\simulated\floor_types_eris.dm" +#include "code\game\turfs\simulated\floor_types_vr.dm" +#include "code\game\turfs\simulated\lava.dm" +#include "code\game\turfs\simulated\wall_attacks.dm" +#include "code\game\turfs\simulated\wall_icon.dm" +#include "code\game\turfs\simulated\wall_types.dm" +#include "code\game\turfs\simulated\wall_types_vr.dm" +#include "code\game\turfs\simulated\walls.dm" +#include "code\game\turfs\simulated\water.dm" +#include "code\game\turfs\simulated\water_vr.dm" +#include "code\game\turfs\simulated\dungeon\floor.dm" +#include "code\game\turfs\simulated\dungeon\wall.dm" +#include "code\game\turfs\simulated\outdoors\atmoscaves_vr.dm" +#include "code\game\turfs\simulated\outdoors\dirt.dm" +#include "code\game\turfs\simulated\outdoors\grass.dm" +#include "code\game\turfs\simulated\outdoors\ironsand_vr.dm" +#include "code\game\turfs\simulated\outdoors\outdoors.dm" +#include "code\game\turfs\simulated\outdoors\outdoors_attackby.dm" +#include "code\game\turfs\simulated\outdoors\outdoors_vr.dm" +#include "code\game\turfs\simulated\outdoors\sky.dm" +#include "code\game\turfs\simulated\outdoors\snow.dm" +#include "code\game\turfs\snow\snow.dm" +#include "code\game\turfs\space\cracked_asteroid.dm" +#include "code\game\turfs\space\space.dm" +#include "code\game\turfs\space\transit.dm" +#include "code\game\turfs\unsimulated\beach.dm" +#include "code\game\turfs\unsimulated\beach_vr.dm" +#include "code\game\turfs\unsimulated\floor.dm" +#include "code\game\turfs\unsimulated\planetary.dm" +#include "code\game\turfs\unsimulated\planetary_vr.dm" +#include "code\game\turfs\unsimulated\shuttle.dm" +#include "code\game\turfs\unsimulated\sky_vr.dm" +#include "code\game\turfs\unsimulated\walls.dm" +#include "code\js\byjax.dm" +#include "code\js\menus.dm" +#include "code\modules\admin\admin.dm" +#include "code\modules\admin\admin_attack_log.dm" +#include "code\modules\admin\admin_investigate.dm" +#include "code\modules\admin\admin_memo.dm" +#include "code\modules\admin\admin_ranks.dm" +#include "code\modules\admin\admin_secrets.dm" +#include "code\modules\admin\admin_tools.dm" +#include "code\modules\admin\admin_verb_lists_vr.dm" +#include "code\modules\admin\admin_verbs.dm" +#include "code\modules\admin\admin_vr.dm" +#include "code\modules\admin\banjob.dm" +#include "code\modules\admin\ckey_vr.dm" +#include "code\modules\admin\create_mob.dm" +#include "code\modules\admin\create_object.dm" +#include "code\modules\admin\create_turf.dm" +#include "code\modules\admin\holder2.dm" +#include "code\modules\admin\IsBanned.dm" +#include "code\modules\admin\map_capture.dm" +#include "code\modules\admin\NewBan.dm" +#include "code\modules\admin\news.dm" +#include "code\modules\admin\persistence.dm" +#include "code\modules\admin\player_notes.dm" +#include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\topic.dm" +#include "code\modules\admin\ToRban.dm" +#include "code\modules\admin\callproc\callproc.dm" +#include "code\modules\admin\DB ban\functions.dm" +#include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\secrets\admin_secrets\admin_logs.dm" +#include "code\modules\admin\secrets\admin_secrets\alter_narsie.dm" +#include "code\modules\admin\secrets\admin_secrets\bombing_list.dm" +#include "code\modules\admin\secrets\admin_secrets\jump_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\launch_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\launch_shuttle_forced.dm" +#include "code\modules\admin\secrets\admin_secrets\list_dna.dm" +#include "code\modules\admin\secrets\admin_secrets\list_fingerprints.dm" +#include "code\modules\admin\secrets\admin_secrets\move_shuttle.dm" +#include "code\modules\admin\secrets\admin_secrets\prison_warp.dm" +#include "code\modules\admin\secrets\admin_secrets\show_ai_laws.dm" +#include "code\modules\admin\secrets\admin_secrets\show_crew_manifest.dm" +#include "code\modules\admin\secrets\admin_secrets\show_game_mode.dm" +#include "code\modules\admin\secrets\admin_secrets\show_law_changes.dm" +#include "code\modules\admin\secrets\admin_secrets\show_signalers.dm" +#include "code\modules\admin\secrets\admin_secrets\traitors_and_objectives.dm" +#include "code\modules\admin\secrets\final_solutions\summon_narsie.dm" +#include "code\modules\admin\secrets\final_solutions\supermatter_cascade.dm" +#include "code\modules\admin\secrets\fun_secrets\break_all_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\break_some_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\fix_all_lights.dm" +#include "code\modules\admin\secrets\fun_secrets\ghost_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\only_one.dm" +#include "code\modules\admin\secrets\fun_secrets\paintball_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\power_all_smes.dm" +#include "code\modules\admin\secrets\fun_secrets\power_failure_begin.dm" +#include "code\modules\admin\secrets\fun_secrets\power_failure_end.dm" +#include "code\modules\admin\secrets\fun_secrets\remove_all_clothing.dm" +#include "code\modules\admin\secrets\fun_secrets\remove_internal_clothing.dm" +#include "code\modules\admin\secrets\fun_secrets\send_strike_team.dm" +#include "code\modules\admin\secrets\fun_secrets\toggle_bomb_cap.dm" +#include "code\modules\admin\secrets\fun_secrets\triple_ai_mode.dm" +#include "code\modules\admin\secrets\fun_secrets\turn_humans_into_corgies.dm" +#include "code\modules\admin\secrets\fun_secrets\turn_humans_into_monkeys.dm" +#include "code\modules\admin\secrets\random_events\gravity_vr.dm" +#include "code\modules\admin\secrets\random_events\trigger_cordical_borer_infestation.dm" +#include "code\modules\admin\secrets\random_events\trigger_xenomorph_infestation.dm" +#include "code\modules\admin\verbs\adminhelp.dm" +#include "code\modules\admin\verbs\adminhelp_vr.dm" +#include "code\modules\admin\verbs\adminjump.dm" +#include "code\modules\admin\verbs\adminpm.dm" +#include "code\modules\admin\verbs\adminsay.dm" +#include "code\modules\admin\verbs\antag-ooc.dm" +#include "code\modules\admin\verbs\atmosdebug.dm" +#include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\buildmode.dm" +#include "code\modules\admin\verbs\change_appearance.dm" +#include "code\modules\admin\verbs\check_customitem_activity.dm" +#include "code\modules\admin\verbs\cinematic.dm" +#include "code\modules\admin\verbs\custom_event.dm" +#include "code\modules\admin\verbs\dbcon_fix.dm" +#include "code\modules\admin\verbs\deadsay.dm" +#include "code\modules\admin\verbs\debug.dm" +#include "code\modules\admin\verbs\debug_vr.dm" +#include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\dice.dm" +#include "code\modules\admin\verbs\fps.dm" +#include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\grief_fixers.dm" +#include "code\modules\admin\verbs\lightning_strike.dm" +#include "code\modules\admin\verbs\map_template_loadverb.dm" +#include "code\modules\admin\verbs\mapping.dm" +#include "code\modules\admin\verbs\panicbunker.dm" +#include "code\modules\admin\verbs\playsound.dm" +#include "code\modules\admin\verbs\possess.dm" +#include "code\modules\admin\verbs\pray.dm" +#include "code\modules\admin\verbs\randomverbs.dm" +#include "code\modules\admin\verbs\randomverbs_vr.dm" +#include "code\modules\admin\verbs\resize.dm" +#include "code\modules\admin\verbs\smite.dm" +#include "code\modules\admin\verbs\smite_vr.dm" +#include "code\modules\admin\verbs\striketeam.dm" +#include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm" +#include "code\modules\admin\view_variables\admin_delete.dm" +#include "code\modules\admin\view_variables\debug_variables.dm" +#include "code\modules\admin\view_variables\get_variables.dm" +#include "code\modules\admin\view_variables\helpers.dm" +#include "code\modules\admin\view_variables\mass_edit_variables.dm" +#include "code\modules\admin\view_variables\modify_variables.dm" +#include "code\modules\admin\view_variables\topic.dm" +#include "code\modules\admin\view_variables\topic_list.dm" +#include "code\modules\admin\view_variables\view_variables.dm" +#include "code\modules\admin\view_variables\view_variables_global.dm" +#include "code\modules\ai\_defines.dm" +#include "code\modules\ai\ai_holder.dm" +#include "code\modules\ai\ai_holder_combat.dm" +#include "code\modules\ai\ai_holder_combat_unseen.dm" +#include "code\modules\ai\ai_holder_communication.dm" +#include "code\modules\ai\ai_holder_cooperation.dm" +#include "code\modules\ai\ai_holder_debug.dm" +#include "code\modules\ai\ai_holder_disabled.dm" +#include "code\modules\ai\ai_holder_fleeing.dm" +#include "code\modules\ai\ai_holder_follow.dm" +#include "code\modules\ai\ai_holder_movement.dm" +#include "code\modules\ai\ai_holder_pathfinding.dm" +#include "code\modules\ai\ai_holder_targeting.dm" +#include "code\modules\ai\ai_holder_targeting_vr.dm" +#include "code\modules\ai\interfaces.dm" +#include "code\modules\ai\say_list.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai.dm" +#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai_vr.dm" +#include "code\modules\ai\ai_holder_subtypes\slime_xenobio_ai.dm" +#include "code\modules\alarm\alarm.dm" +#include "code\modules\alarm\alarm_handler.dm" +#include "code\modules\alarm\atmosphere_alarm.dm" +#include "code\modules\alarm\camera_alarm.dm" +#include "code\modules\alarm\fire_alarm.dm" +#include "code\modules\alarm\motion_alarm.dm" +#include "code\modules\alarm\power_alarm.dm" +#include "code\modules\artifice\cursedform.dm" +#include "code\modules\artifice\deadringer.dm" +#include "code\modules\artifice\telecube.dm" +#include "code\modules\assembly\assembly.dm" +#include "code\modules\assembly\helpers.dm" +#include "code\modules\assembly\holder.dm" +#include "code\modules\assembly\igniter.dm" +#include "code\modules\assembly\infrared.dm" +#include "code\modules\assembly\mousetrap.dm" +#include "code\modules\assembly\proximity.dm" +#include "code\modules\assembly\shock_kit.dm" +#include "code\modules\assembly\signaler.dm" +#include "code\modules\assembly\timer.dm" +#include "code\modules\assembly\voice.dm" +#include "code\modules\asset_cache\asset_cache.dm" +#include "code\modules\asset_cache\asset_cache_client.dm" +#include "code\modules\asset_cache\asset_cache_item.dm" +#include "code\modules\asset_cache\asset_list.dm" +#include "code\modules\asset_cache\asset_list_items.dm" +#include "code\modules\awaymissions\bluespaceartillery.dm" +#include "code\modules\awaymissions\corpse.dm" +#include "code\modules\awaymissions\exile.dm" +#include "code\modules\awaymissions\gateway.dm" +#include "code\modules\awaymissions\gateway_vr.dm" +#include "code\modules\awaymissions\loot.dm" +#include "code\modules\awaymissions\loot_vr.dm" +#include "code\modules\awaymissions\pamphlet.dm" +#include "code\modules\awaymissions\trigger.dm" +#include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\blob\blob.dm" +#include "code\modules\blob2\_defines.dm" +#include "code\modules\blob2\core_chunk.dm" +#include "code\modules\blob2\blobs\base_blob.dm" +#include "code\modules\blob2\blobs\core.dm" +#include "code\modules\blob2\blobs\factory.dm" +#include "code\modules\blob2\blobs\node.dm" +#include "code\modules\blob2\blobs\normal.dm" +#include "code\modules\blob2\blobs\resource.dm" +#include "code\modules\blob2\blobs\shield.dm" +#include "code\modules\blob2\overmind\overmind.dm" +#include "code\modules\blob2\overmind\powers.dm" +#include "code\modules\blob2\overmind\types.dm" +#include "code\modules\blob2\overmind\types\blazing_oil.dm" +#include "code\modules\blob2\overmind\types\classic.dm" +#include "code\modules\blob2\overmind\types\cryogenic_goo.dm" +#include "code\modules\blob2\overmind\types\ectoplasmic_horror.dm" +#include "code\modules\blob2\overmind\types\electromagnetic_web.dm" +#include "code\modules\blob2\overmind\types\energized_jelly.dm" +#include "code\modules\blob2\overmind\types\explosive_lattice.dm" +#include "code\modules\blob2\overmind\types\fabrication_swarm.dm" +#include "code\modules\blob2\overmind\types\fulminant_organism.dm" +#include "code\modules\blob2\overmind\types\fungal_bloom.dm" +#include "code\modules\blob2\overmind\types\grey_goo.dm" +#include "code\modules\blob2\overmind\types\pressurized_slime.dm" +#include "code\modules\blob2\overmind\types\radioactive_ooze.dm" +#include "code\modules\blob2\overmind\types\ravenous_macrophage.dm" +#include "code\modules\blob2\overmind\types\reactive_spines.dm" +#include "code\modules\blob2\overmind\types\roiling_mold.dm" +#include "code\modules\blob2\overmind\types\shifting_fragments.dm" +#include "code\modules\blob2\overmind\types\synchronous_mesh.dm" +#include "code\modules\blob2\overmind\types\volatile_alluvium.dm" +#include "code\modules\busy_space_vr\air_traffic.dm" +#include "code\modules\busy_space_vr\loremaster.dm" +#include "code\modules\busy_space_vr\organizations.dm" +#include "code\modules\catalogue\atoms.dm" +#include "code\modules\catalogue\catalogue_data.dm" +#include "code\modules\catalogue\catalogue_data_vr.dm" +#include "code\modules\catalogue\cataloguer.dm" +#include "code\modules\catalogue\cataloguer_visuals.dm" +#include "code\modules\catalogue\cataloguer_vr.dm" +#include "code\modules\client\client defines.dm" +#include "code\modules\client\client procs.dm" +#include "code\modules\client\client procs_vr.dm" +#include "code\modules\client\movement.dm" +#include "code\modules\client\preferences.dm" +#include "code\modules\client\preferences_factions.dm" +#include "code\modules\client\preferences_savefile.dm" +#include "code\modules\client\preferences_spawnpoints.dm" +#include "code\modules\client\preferences_toggle_procs.dm" +#include "code\modules\client\preferences_vr.dm" +#include "code\modules\client\spam_prevention.dm" +#include "code\modules\client\ui_style.dm" +#include "code\modules\client\preference_setup\_defines.dm" +#include "code\modules\client\preference_setup\preference_setup.dm" +#include "code\modules\client\preference_setup\preference_setup_vr.dm" +#include "code\modules\client\preference_setup\antagonism\01_basic.dm" +#include "code\modules\client\preference_setup\antagonism\02_candidacy.dm" +#include "code\modules\client\preference_setup\general\01_basic.dm" +#include "code\modules\client\preference_setup\general\02_language.dm" +#include "code\modules\client\preference_setup\general\03_body.dm" +#include "code\modules\client\preference_setup\general\04_equipment.dm" +#include "code\modules\client\preference_setup\general\05_background.dm" +#include "code\modules\client\preference_setup\general\06_flavor.dm" +#include "code\modules\client\preference_setup\global\01_ui.dm" +#include "code\modules\client\preference_setup\global\02_settings.dm" +#include "code\modules\client\preference_setup\global\03_pai.dm" +#include "code\modules\client\preference_setup\global\04_ooc.dm" +#include "code\modules\client\preference_setup\global\setting_datums.dm" +#include "code\modules\client\preference_setup\loadout\gear_tweaks.dm" +#include "code\modules\client\preference_setup\loadout\gear_tweaks_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout.dm" +#include "code\modules\client\preference_setup\loadout\loadout_accessories.dm" +#include "code\modules\client\preference_setup\loadout\loadout_accessories_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cosmetics.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cosmetics_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_cyberware.dm" +#include "code\modules\client\preference_setup\loadout\loadout_ears.dm" +#include "code\modules\client\preference_setup\loadout\loadout_eyes.dm" +#include "code\modules\client\preference_setup\loadout\loadout_eyes_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_fluffitems_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_general.dm" +#include "code\modules\client\preference_setup\loadout\loadout_general_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_gloves.dm" +#include "code\modules\client\preference_setup\loadout\loadout_gloves_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_head.dm" +#include "code\modules\client\preference_setup\loadout\loadout_head_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_mask.dm" +#include "code\modules\client\preference_setup\loadout\loadout_shoes.dm" +#include "code\modules\client\preference_setup\loadout\loadout_shoes_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_smoking.dm" +#include "code\modules\client\preference_setup\loadout\loadout_suit.dm" +#include "code\modules\client\preference_setup\loadout\loadout_suit_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_uniform.dm" +#include "code\modules\client\preference_setup\loadout\loadout_uniform_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_utility.dm" +#include "code\modules\client\preference_setup\loadout\loadout_utility_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_vr.dm" +#include "code\modules\client\preference_setup\loadout\loadout_xeno.dm" +#include "code\modules\client\preference_setup\loadout\loadout_xeno_vr.dm" +#include "code\modules\client\preference_setup\occupation\occupation.dm" +#include "code\modules\client\preference_setup\skills\skills.dm" +#include "code\modules\client\preference_setup\volume_sliders\01_volume.dm" +#include "code\modules\client\preference_setup\volume_sliders\02_media.dm" +#include "code\modules\client\preference_setup\vore\01_ears.dm" +#include "code\modules\client\preference_setup\vore\02_size.dm" +#include "code\modules\client\preference_setup\vore\03_egg.dm" +#include "code\modules\client\preference_setup\vore\04_resleeving.dm" +#include "code\modules\client\preference_setup\vore\05_persistence.dm" +#include "code\modules\client\preference_setup\vore\06_vantag.dm" +#include "code\modules\client\preference_setup\vore\07_traits.dm" +#include "code\modules\client\preference_setup\vore\08_nif.dm" +#include "code\modules\client\preference_setup\vore\09_misc.dm" +#include "code\modules\client\verbs\advanced_who.dm" +#include "code\modules\client\verbs\character_directory.dm" +#include "code\modules\client\verbs\ignore.dm" +#include "code\modules\client\verbs\ooc.dm" +#include "code\modules\client\verbs\ping.dm" +#include "code\modules\client\verbs\suicide.dm" +#include "code\modules\client\verbs\who.dm" +#include "code\modules\clothing\chameleon.dm" +#include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\clothing_accessories.dm" +#include "code\modules\clothing\clothing_icons.dm" +#include "code\modules\clothing\clothing_vr.dm" +#include "code\modules\clothing\ears\earrings.dm" +#include "code\modules\clothing\ears\ears.dm" +#include "code\modules\clothing\glasses\glasses.dm" +#include "code\modules\clothing\glasses\glasses_vr.dm" +#include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\glasses\hud_vr.dm" +#include "code\modules\clothing\gloves\antagonist.dm" +#include "code\modules\clothing\gloves\arm_guards.dm" +#include "code\modules\clothing\gloves\arm_guards_vr.dm" +#include "code\modules\clothing\gloves\boxing.dm" +#include "code\modules\clothing\gloves\color.dm" +#include "code\modules\clothing\gloves\gauntlets.dm" +#include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\miscellaneous_vr.dm" +#include "code\modules\clothing\head\collectable.dm" +#include "code\modules\clothing\head\flowercrowns.dm" +#include "code\modules\clothing\head\hardhat.dm" +#include "code\modules\clothing\head\helmet.dm" +#include "code\modules\clothing\head\helmet_vr.dm" +#include "code\modules\clothing\head\hood.dm" +#include "code\modules\clothing\head\hood_vr.dm" +#include "code\modules\clothing\head\jobs.dm" +#include "code\modules\clothing\head\jobs_vr.dm" +#include "code\modules\clothing\head\misc.dm" +#include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\misc_vr.dm" +#include "code\modules\clothing\head\pilot_helmet.dm" +#include "code\modules\clothing\head\pilot_helmet_vr.dm" +#include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\head\solgov.dm" +#include "code\modules\clothing\head\solgov_vr.dm" +#include "code\modules\clothing\masks\boxing.dm" +#include "code\modules\clothing\masks\breath.dm" +#include "code\modules\clothing\masks\breath_vr.dm" +#include "code\modules\clothing\masks\gasmask.dm" +#include "code\modules\clothing\masks\gasmask_vr.dm" +#include "code\modules\clothing\masks\hailer.dm" +#include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\masks\shiny_vr.dm" +#include "code\modules\clothing\masks\voice.dm" +#include "code\modules\clothing\rings\material.dm" +#include "code\modules\clothing\rings\rings.dm" +#include "code\modules\clothing\rings\rings_vr.dm" +#include "code\modules\clothing\shoes\boots.dm" +#include "code\modules\clothing\shoes\boots_vr.dm" +#include "code\modules\clothing\shoes\colour.dm" +#include "code\modules\clothing\shoes\leg_guards.dm" +#include "code\modules\clothing\shoes\leg_guards_vr.dm" +#include "code\modules\clothing\shoes\magboots.dm" +#include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\shoes\miscellaneous_vr.dm" +#include "code\modules\clothing\spacesuits\alien.dm" +#include "code\modules\clothing\spacesuits\breaches.dm" +#include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\spacesuits.dm" +#include "code\modules\clothing\spacesuits\syndi.dm" +#include "code\modules\clothing\spacesuits\rig\rig.dm" +#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces_vr.dm" +#include "code\modules\clothing\spacesuits\rig\rig_tgui.dm" +#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" +#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" +#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\ai_container.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\chem_dispenser.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cleaner_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cloak.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\datajack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\device.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\electrowarfare.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\grenade_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\inhand_fabricator.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\jetpack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\metalfoam_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\pat_module_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\powersink.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\rescue_pharm_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\self_destruct.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\sprinter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\teleporter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\vision.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\voice.dm" +#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" +#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert_vr.dm" +#include "code\modules\clothing\spacesuits\rig\suits\light.dm" +#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\pmc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\robotics.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station_vr.dm" +#include "code\modules\clothing\spacesuits\void\ert_vr.dm" +#include "code\modules\clothing\spacesuits\void\event.dm" +#include "code\modules\clothing\spacesuits\void\event_vr.dm" +#include "code\modules\clothing\spacesuits\void\merc.dm" +#include "code\modules\clothing\spacesuits\void\military_vr.dm" +#include "code\modules\clothing\spacesuits\void\station.dm" +#include "code\modules\clothing\spacesuits\void\station_vr.dm" +#include "code\modules\clothing\spacesuits\void\void.dm" +#include "code\modules\clothing\spacesuits\void\void_vr.dm" +#include "code\modules\clothing\spacesuits\void\wizard.dm" +#include "code\modules\clothing\spacesuits\void\zaddat.dm" +#include "code\modules\clothing\suits\armor.dm" +#include "code\modules\clothing\suits\armor_vr.dm" +#include "code\modules\clothing\suits\bio.dm" +#include "code\modules\clothing\suits\bio_vr.dm" +#include "code\modules\clothing\suits\hooded.dm" +#include "code\modules\clothing\suits\hooded_vr.dm" +#include "code\modules\clothing\suits\jobs.dm" +#include "code\modules\clothing\suits\jobs_vr.dm" +#include "code\modules\clothing\suits\labcoat.dm" +#include "code\modules\clothing\suits\labcoat_vr.dm" +#include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\miscellaneous_vr.dm" +#include "code\modules\clothing\suits\solgov.dm" +#include "code\modules\clothing\suits\solgov_vr.dm" +#include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\utility_vr.dm" +#include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\suits\aliens\tajara.dm" +#include "code\modules\clothing\suits\aliens\teshari.dm" +#include "code\modules\clothing\suits\aliens\unathi.dm" +#include "code\modules\clothing\suits\aliens\vox.dm" +#include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\imperial_vr.dm" +#include "code\modules\clothing\under\miscellaneous.dm" +#include "code\modules\clothing\under\miscellaneous_vr.dm" +#include "code\modules\clothing\under\nanotrasen_vr.dm" +#include "code\modules\clothing\under\pants.dm" +#include "code\modules\clothing\under\shiny_vr.dm" +#include "code\modules\clothing\under\shorts.dm" +#include "code\modules\clothing\under\solgov.dm" +#include "code\modules\clothing\under\solgov_vr.dm" +#include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\accessories\accessory.dm" +#include "code\modules\clothing\under\accessories\accessory_vr.dm" +#include "code\modules\clothing\under\accessories\armband.dm" +#include "code\modules\clothing\under\accessories\armor.dm" +#include "code\modules\clothing\under\accessories\badges.dm" +#include "code\modules\clothing\under\accessories\clothing.dm" +#include "code\modules\clothing\under\accessories\holster.dm" +#include "code\modules\clothing\under\accessories\holster_vr.dm" +#include "code\modules\clothing\under\accessories\lockets.dm" +#include "code\modules\clothing\under\accessories\permits.dm" +#include "code\modules\clothing\under\accessories\permits_vr.dm" +#include "code\modules\clothing\under\accessories\shiny_vr.dm" +#include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\accessories\storage_vr.dm" +#include "code\modules\clothing\under\accessories\torch.dm" +#include "code\modules\clothing\under\accessories\torch_vr.dm" +#include "code\modules\clothing\under\accessories\temperature\poncho.dm" +#include "code\modules\clothing\under\jobs\civilian.dm" +#include "code\modules\clothing\under\jobs\engineering.dm" +#include "code\modules\clothing\under\jobs\medsci.dm" +#include "code\modules\clothing\under\jobs\security.dm" +#include "code\modules\clothing\under\xenos\teshari.dm" +#include "code\modules\clothing\under\xenos\vox.dm" +#include "code\modules\compass\_compass.dm" +#include "code\modules\compass\compass_holder.dm" +#include "code\modules\compass\compass_waypoint.dm" +#include "code\modules\compass\~compass.dm" +#include "code\modules\customitems\item_spawning.dm" +#include "code\modules\detectivework\footprints.dm" +#include "code\modules\detectivework\forensics.dm" +#include "code\modules\detectivework\microscope\dnascanner.dm" +#include "code\modules\detectivework\microscope\microscope.dm" +#include "code\modules\detectivework\tools\crimekit.dm" +#include "code\modules\detectivework\tools\evidencebag.dm" +#include "code\modules\detectivework\tools\luminol.dm" +#include "code\modules\detectivework\tools\rag.dm" +#include "code\modules\detectivework\tools\sample_kits.dm" +#include "code\modules\detectivework\tools\scanner.dm" +#include "code\modules\detectivework\tools\storage.dm" +#include "code\modules\detectivework\tools\swabs.dm" +#include "code\modules\detectivework\tools\uvlight.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\cash.dm" +#include "code\modules\economy\cash_register.dm" +#include "code\modules\economy\coins.dm" +#include "code\modules\economy\coins_vr.dm" +#include "code\modules\economy\economy_misc.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Events.dm" +#include "code\modules\economy\Events_Mundane.dm" +#include "code\modules\economy\lorenews.dm" +#include "code\modules\economy\mint.dm" +#include "code\modules\economy\money_bag.dm" +#include "code\modules\economy\price_list.dm" +#include "code\modules\economy\retail_scanner.dm" +#include "code\modules\economy\TradeDestinations.dm" +#include "code\modules\economy\vending.dm" +#include "code\modules\economy\vending_machines.dm" +#include "code\modules\emotes\emote_define.dm" +#include "code\modules\emotes\emote_mob.dm" +#include "code\modules\emotes\definitions\_mob.dm" +#include "code\modules\emotes\definitions\_species.dm" +#include "code\modules\emotes\definitions\audible.dm" +#include "code\modules\emotes\definitions\audible_cough.dm" +#include "code\modules\emotes\definitions\audible_furry_vr.dm" +#include "code\modules\emotes\definitions\audible_scream.dm" +#include "code\modules\emotes\definitions\audible_scream_vr.dm" +#include "code\modules\emotes\definitions\audible_slap.dm" +#include "code\modules\emotes\definitions\audible_snap.dm" +#include "code\modules\emotes\definitions\audible_sneeze.dm" +#include "code\modules\emotes\definitions\audible_whistle.dm" +#include "code\modules\emotes\definitions\exertion.dm" +#include "code\modules\emotes\definitions\helpers_vr.dm" +#include "code\modules\emotes\definitions\human.dm" +#include "code\modules\emotes\definitions\slimes.dm" +#include "code\modules\emotes\definitions\synthetics.dm" +#include "code\modules\emotes\definitions\visible.dm" +#include "code\modules\emotes\definitions\visible_animated.dm" +#include "code\modules\emotes\definitions\visible_vomit.dm" +#include "code\modules\emotes\definitions\visible_vr.dm" +#include "code\modules\entopics_vr\alternate_appearance.dm" +#include "code\modules\entopics_vr\entopics.dm" +#include "code\modules\error_handler\_defines.dm" +#include "code\modules\error_handler\error_handler.dm" +#include "code\modules\error_handler\error_viewer.dm" +#include "code\modules\error_handler\~defines.dm" +#include "code\modules\events\apc_damage.dm" +#include "code\modules\events\atmos_leak.dm" +#include "code\modules\events\aurora_caelus.dm" +#include "code\modules\events\blob.dm" +#include "code\modules\events\brand_intelligence.dm" +#include "code\modules\events\camera_damage.dm" +#include "code\modules\events\canister_leak.dm" +#include "code\modules\events\carp_migration.dm" +#include "code\modules\events\comms_blackout.dm" +#include "code\modules\events\communications_blackout.dm" +#include "code\modules\events\drone_pod_vr.dm" +#include "code\modules\events\dust.dm" +#include "code\modules\events\electrical_storm.dm" +#include "code\modules\events\event.dm" +#include "code\modules\events\event_container.dm" +#include "code\modules\events\event_container_vr.dm" +#include "code\modules\events\event_dynamic.dm" +#include "code\modules\events\event_manager.dm" +#include "code\modules\events\gravity_vr.dm" +#include "code\modules\events\grid_check.dm" +#include "code\modules\events\grubinfestation_vr.dm" +#include "code\modules\events\ian_storm_vr.dm" +#include "code\modules\events\infestation.dm" +#include "code\modules\events\ion_storm.dm" +#include "code\modules\events\maintenance_predator_vr.dm" +#include "code\modules\events\meteor_strike_vr.dm" +#include "code\modules\events\meteors.dm" +#include "code\modules\events\money_hacker.dm" +#include "code\modules\events\money_lotto.dm" +#include "code\modules\events\money_spam.dm" +#include "code\modules\events\morph_spawn_vr.dm" +#include "code\modules\events\prison_break.dm" +#include "code\modules\events\radiation_storm.dm" +#include "code\modules\events\random_antagonist.dm" +#include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\shipping_error.dm" +#include "code\modules\events\solar_storm.dm" +#include "code\modules\events\space_ninja.dm" +#include "code\modules\events\spacevine.dm" +#include "code\modules\events\spider_infestation.dm" +#include "code\modules\events\spontaneous_appendicitis.dm" +#include "code\modules\events\spontaneous_appendicitis_vr.dm" +#include "code\modules\events\supply_demand_vr.dm" +#include "code\modules\events\wallrot.dm" +#include "code\modules\examine\examine.dm" +#include "code\modules\examine\stat_icons.dm" +#include "code\modules\examine\descriptions\armor.dm" +#include "code\modules\examine\descriptions\atmospherics.dm" +#include "code\modules\examine\descriptions\containers.dm" +#include "code\modules\examine\descriptions\devices.dm" +#include "code\modules\examine\descriptions\engineering.dm" +#include "code\modules\examine\descriptions\machines.dm" +#include "code\modules\examine\descriptions\medical.dm" +#include "code\modules\examine\descriptions\mobs.dm" +#include "code\modules\examine\descriptions\paperwork.dm" +#include "code\modules\examine\descriptions\stacks.dm" +#include "code\modules\examine\descriptions\structures.dm" +#include "code\modules\examine\descriptions\telecomms.dm" +#include "code\modules\examine\descriptions\turfs.dm" +#include "code\modules\examine\descriptions\weapons.dm" +#include "code\modules\ext_scripts\irc.dm" +#include "code\modules\ext_scripts\python.dm" +#include "code\modules\fishing\fishing.dm" +#include "code\modules\fishing\fishing_net.dm" +#include "code\modules\fishing\fishing_rod.dm" +#include "code\modules\fishing\fishing_rod_vr.dm" +#include "code\modules\fishing\fishing_vr.dm" +#include "code\modules\flufftext\Dreaming.dm" +#include "code\modules\flufftext\Hallucination.dm" +#include "code\modules\flufftext\look_up.dm" +#include "code\modules\flufftext\TextFilters.dm" +#include "code\modules\food\food.dm" +#include "code\modules\food\recipe.dm" +#include "code\modules\food\recipe_dump.dm" +#include "code\modules\food\recipes_fryer.dm" +#include "code\modules\food\recipes_fryer_vr.dm" +#include "code\modules\food\recipes_grill.dm" +#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\food\recipes_microwave_vr.dm" +#include "code\modules\food\recipes_oven.dm" +#include "code\modules\food\recipes_oven_vr.dm" +#include "code\modules\food\drinkingglass\drinkingglass.dm" +#include "code\modules\food\drinkingglass\extras.dm" +#include "code\modules\food\drinkingglass\glass_boxes.dm" +#include "code\modules\food\drinkingglass\glass_types.dm" +#include "code\modules\food\drinkingglass\metaglass.dm" +#include "code\modules\food\drinkingglass\metaglass_vr.dm" +#include "code\modules\food\drinkingglass\serving_glasses.dm" +#include "code\modules\food\drinkingglass\shaker.dm" +#include "code\modules\food\drinkingglass\shaker_vr.dm" +#include "code\modules\food\food\cans.dm" +#include "code\modules\food\food\cans_vr.dm" +#include "code\modules\food\food\condiment.dm" +#include "code\modules\food\food\drinks.dm" +#include "code\modules\food\food\drinks_vr.dm" +#include "code\modules\food\food\lunch.dm" +#include "code\modules\food\food\sandwich.dm" +#include "code\modules\food\food\snacks.dm" +#include "code\modules\food\food\snacks_vr.dm" +#include "code\modules\food\food\thecake.dm" +#include "code\modules\food\food\z_custom_food_vr.dm" +#include "code\modules\food\food\drinks\bottle.dm" +#include "code\modules\food\food\drinks\cup.dm" +#include "code\modules\food\food\drinks\drinkingglass.dm" +#include "code\modules\food\food\drinks\jar.dm" +#include "code\modules\food\food\drinks\bottle\robot.dm" +#include "code\modules\food\food\snacks\meat.dm" +#include "code\modules\food\glass\bottle.dm" +#include "code\modules\food\glass\bottle_vr.dm" +#include "code\modules\food\glass\bottle\robot.dm" +#include "code\modules\food\kitchen\gibber.dm" +#include "code\modules\food\kitchen\icecream.dm" +#include "code\modules\food\kitchen\microwave.dm" +#include "code\modules\food\kitchen\cooking_machines\_appliance.dm" +#include "code\modules\food\kitchen\cooking_machines\_cooker.dm" +#include "code\modules\food\kitchen\cooking_machines\_cooker_output.dm" +#include "code\modules\food\kitchen\cooking_machines\_mixer.dm" +#include "code\modules\food\kitchen\cooking_machines\candy.dm" +#include "code\modules\food\kitchen\cooking_machines\cereal.dm" +#include "code\modules\food\kitchen\cooking_machines\container.dm" +#include "code\modules\food\kitchen\cooking_machines\fryer.dm" +#include "code\modules\food\kitchen\cooking_machines\grill.dm" +#include "code\modules\food\kitchen\cooking_machines\oven.dm" +#include "code\modules\food\kitchen\smartfridge\drying_rack.dm" +#include "code\modules\food\kitchen\smartfridge\engineering.dm" +#include "code\modules\food\kitchen\smartfridge\hydroponics.dm" +#include "code\modules\food\kitchen\smartfridge\medical.dm" +#include "code\modules\food\kitchen\smartfridge\smartfridge.dm" +#include "code\modules\food\kitchen\smartfridge\smartfridge_vr.dm" +#include "code\modules\gamemaster\defines.dm" +#include "code\modules\gamemaster\event2\event.dm" +#include "code\modules\gamemaster\event2\meta.dm" +#include "code\modules\gamemaster\event2\events\ghost_pod_spawner.dm" +#include "code\modules\gamemaster\event2\events\mob_spawning.dm" +#include "code\modules\gamemaster\event2\events\cargo\shipping_error.dm" +#include "code\modules\gamemaster\event2\events\command\manifest_malfunction.dm" +#include "code\modules\gamemaster\event2\events\command\money_hacker.dm" +#include "code\modules\gamemaster\event2\events\command\raise_funds.dm" +#include "code\modules\gamemaster\event2\events\engineering\airlock_failure.dm" +#include "code\modules\gamemaster\event2\events\engineering\blob.dm" +#include "code\modules\gamemaster\event2\events\engineering\brand_intelligence.dm" +#include "code\modules\gamemaster\event2\events\engineering\camera_damage.dm" +#include "code\modules\gamemaster\event2\events\engineering\canister_leak.dm" +#include "code\modules\gamemaster\event2\events\engineering\dust.dm" +#include "code\modules\gamemaster\event2\events\engineering\gas_leak.dm" +#include "code\modules\gamemaster\event2\events\engineering\grid_check.dm" +#include "code\modules\gamemaster\event2\events\engineering\meteor_defense.dm" +#include "code\modules\gamemaster\event2\events\engineering\spacevine.dm" +#include "code\modules\gamemaster\event2\events\engineering\wallrot.dm" +#include "code\modules\gamemaster\event2\events\engineering\window_break.dm" +#include "code\modules\gamemaster\event2\events\everyone\comms_blackout.dm" +#include "code\modules\gamemaster\event2\events\everyone\electrical_fault.dm" +#include "code\modules\gamemaster\event2\events\everyone\gravity_vr.dm" +#include "code\modules\gamemaster\event2\events\everyone\infestation.dm" +#include "code\modules\gamemaster\event2\events\everyone\pda_spam.dm" +#include "code\modules\gamemaster\event2\events\everyone\radiation_storm.dm" +#include "code\modules\gamemaster\event2\events\everyone\random_antag.dm" +#include "code\modules\gamemaster\event2\events\everyone\solar_storm.dm" +#include "code\modules\gamemaster\event2\events\everyone\sudden_weather_shift.dm" +#include "code\modules\gamemaster\event2\events\legacy\legacy.dm" +#include "code\modules\gamemaster\event2\events\medical\appendicitis.dm" +#include "code\modules\gamemaster\event2\events\medical\virus.dm" +#include "code\modules\gamemaster\event2\events\security\carp_migration.dm" +#include "code\modules\gamemaster\event2\events\security\drill_announcement.dm" +#include "code\modules\gamemaster\event2\events\security\prison_break.dm" +#include "code\modules\gamemaster\event2\events\security\rogue_drones.dm" +#include "code\modules\gamemaster\event2\events\security\security_advisement.dm" +#include "code\modules\gamemaster\event2\events\security\spider_infestation.dm" +#include "code\modules\gamemaster\event2\events\security\stowaway.dm" +#include "code\modules\gamemaster\event2\events\security\surprise_carp.dm" +#include "code\modules\gamemaster\event2\events\security\swarm_boarder.dm" +#include "code\modules\gamemaster\event2\events\synthetic\ion_storm.dm" +#include "code\modules\games\cah.dm" +#include "code\modules\games\cah_black_cards.dm" +#include "code\modules\games\cah_white_cards.dm" +#include "code\modules\games\cardemon.dm" +#include "code\modules\games\cards.dm" +#include "code\modules\games\dice.dm" +#include "code\modules\games\spaceball_cards.dm" +#include "code\modules\games\tarot.dm" +#include "code\modules\genetics\side_effects.dm" +#include "code\modules\ghosttrap\trap.dm" +#include "code\modules\holodeck\HolodeckControl.dm" +#include "code\modules\holodeck\HolodeckObjects.dm" +#include "code\modules\holodeck\HolodeckPrograms.dm" +#include "code\modules\holomap\generate_holomap.dm" +#include "code\modules\holomap\holomap_area.dm" +#include "code\modules\holomap\holomap_datum.dm" +#include "code\modules\holomap\mapper.dm" +#include "code\modules\holomap\station_holomap.dm" +#include "code\modules\hydroponics\grown.dm" +#include "code\modules\hydroponics\grown_inedible.dm" +#include "code\modules\hydroponics\grown_predefined.dm" +#include "code\modules\hydroponics\seed.dm" +#include "code\modules\hydroponics\seed_datums_vr.dm" +#include "code\modules\hydroponics\seed_gene_mut.dm" +#include "code\modules\hydroponics\seed_machines.dm" +#include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seed_packets.dm" +#include "code\modules\hydroponics\seed_packets_vr.dm" +#include "code\modules\hydroponics\seed_storage.dm" +#include "code\modules\hydroponics\seed_storage_vr.dm" +#include "code\modules\hydroponics\beekeeping\beehive.dm" +#include "code\modules\hydroponics\seedtypes\amauri.dm" +#include "code\modules\hydroponics\seedtypes\ambrosia.dm" +#include "code\modules\hydroponics\seedtypes\apples.dm" +#include "code\modules\hydroponics\seedtypes\banana.dm" +#include "code\modules\hydroponics\seedtypes\berries.dm" +#include "code\modules\hydroponics\seedtypes\cabbage.dm" +#include "code\modules\hydroponics\seedtypes\carrots.dm" +#include "code\modules\hydroponics\seedtypes\celery.dm" +#include "code\modules\hydroponics\seedtypes\cherries.dm" +#include "code\modules\hydroponics\seedtypes\chili.dm" +#include "code\modules\hydroponics\seedtypes\citrus.dm" +#include "code\modules\hydroponics\seedtypes\cocoa.dm" +#include "code\modules\hydroponics\seedtypes\corn.dm" +#include "code\modules\hydroponics\seedtypes\diona.dm" +#include "code\modules\hydroponics\seedtypes\durian.dm" +#include "code\modules\hydroponics\seedtypes\eggplant.dm" +#include "code\modules\hydroponics\seedtypes\flowers.dm" +#include "code\modules\hydroponics\seedtypes\gelthi.dm" +#include "code\modules\hydroponics\seedtypes\gnomes.dm" +#include "code\modules\hydroponics\seedtypes\grapes.dm" +#include "code\modules\hydroponics\seedtypes\grass.dm" +#include "code\modules\hydroponics\seedtypes\jurlmah.dm" +#include "code\modules\hydroponics\seedtypes\kudzu.dm" +#include "code\modules\hydroponics\seedtypes\lettuce.dm" +#include "code\modules\hydroponics\seedtypes\malanitear.dm" +#include "code\modules\hydroponics\seedtypes\mushrooms.dm" +#include "code\modules\hydroponics\seedtypes\nettles.dm" +#include "code\modules\hydroponics\seedtypes\onion.dm" +#include "code\modules\hydroponics\seedtypes\peanuts.dm" +#include "code\modules\hydroponics\seedtypes\pineapple.dm" +#include "code\modules\hydroponics\seedtypes\potato.dm" +#include "code\modules\hydroponics\seedtypes\pumpkin.dm" +#include "code\modules\hydroponics\seedtypes\rhubarb.dm" +#include "code\modules\hydroponics\seedtypes\rice.dm" +#include "code\modules\hydroponics\seedtypes\selemhand.dm" +#include "code\modules\hydroponics\seedtypes\soybean.dm" +#include "code\modules\hydroponics\seedtypes\sugarcane.dm" +#include "code\modules\hydroponics\seedtypes\surik.dm" +#include "code\modules\hydroponics\seedtypes\telriis.dm" +#include "code\modules\hydroponics\seedtypes\thaadra.dm" +#include "code\modules\hydroponics\seedtypes\tobacco.dm" +#include "code\modules\hydroponics\seedtypes\tomatoes.dm" +#include "code\modules\hydroponics\seedtypes\vale.dm" +#include "code\modules\hydroponics\seedtypes\vanilla.dm" +#include "code\modules\hydroponics\seedtypes\wabback.dm" +#include "code\modules\hydroponics\seedtypes\watermelon.dm" +#include "code\modules\hydroponics\seedtypes\weeds.dm" +#include "code\modules\hydroponics\seedtypes\wheat.dm" +#include "code\modules\hydroponics\seedtypes\whitebeets.dm" +#include "code\modules\hydroponics\seedtypes\wurmwoad.dm" +#include "code\modules\hydroponics\seedtypes\xeno.dm" +#include "code\modules\hydroponics\spreading\spreading.dm" +#include "code\modules\hydroponics\spreading\spreading_growth.dm" +#include "code\modules\hydroponics\spreading\spreading_response.dm" +#include "code\modules\hydroponics\trays\tray.dm" +#include "code\modules\hydroponics\trays\tray_process.dm" +#include "code\modules\hydroponics\trays\tray_reagents.dm" +#include "code\modules\hydroponics\trays\tray_soil.dm" +#include "code\modules\hydroponics\trays\tray_tools.dm" +#include "code\modules\hydroponics\trays\tray_update_icons.dm" +#include "code\modules\identification\identification.dm" +#include "code\modules\identification\item_procs.dm" +#include "code\modules\instruments\items.dm" +#include "code\modules\instruments\stationary.dm" +#include "code\modules\instruments\instrument_data\_instrument_data.dm" +#include "code\modules\instruments\instrument_data\_instrument_key.dm" +#include "code\modules\instruments\instrument_data\brass.dm" +#include "code\modules\instruments\instrument_data\chromatic_percussion.dm" +#include "code\modules\instruments\instrument_data\fun.dm" +#include "code\modules\instruments\instrument_data\guitar.dm" +#include "code\modules\instruments\instrument_data\hardcoded.dm" +#include "code\modules\instruments\instrument_data\organ.dm" +#include "code\modules\instruments\instrument_data\piano.dm" +#include "code\modules\instruments\instrument_data\synth_tones.dm" +#include "code\modules\instruments\songs\_song.dm" +#include "code\modules\instruments\songs\editor.dm" +#include "code\modules\instruments\songs\play_legacy.dm" +#include "code\modules\instruments\songs\play_synthesized.dm" +#include "code\modules\integrated_electronics\_defines.dm" +#include "code\modules\integrated_electronics\core\assemblies.dm" +#include "code\modules\integrated_electronics\core\detailer.dm" +#include "code\modules\integrated_electronics\core\helpers.dm" +#include "code\modules\integrated_electronics\core\integrated_circuit.dm" +#include "code\modules\integrated_electronics\core\pins.dm" +#include "code\modules\integrated_electronics\core\printer.dm" +#include "code\modules\integrated_electronics\core\tools.dm" +#include "code\modules\integrated_electronics\core\assemblies\clothing.dm" +#include "code\modules\integrated_electronics\core\assemblies\device.dm" +#include "code\modules\integrated_electronics\core\assemblies\generic.dm" +#include "code\modules\integrated_electronics\core\assemblies\implant.dm" +#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm" +#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm" +#include "code\modules\integrated_electronics\passive\passive.dm" +#include "code\modules\integrated_electronics\passive\power.dm" +#include "code\modules\integrated_electronics\subtypes\arithmetic.dm" +#include "code\modules\integrated_electronics\subtypes\built_in.dm" +#include "code\modules\integrated_electronics\subtypes\converters.dm" +#include "code\modules\integrated_electronics\subtypes\data_transfer.dm" +#include "code\modules\integrated_electronics\subtypes\input.dm" +#include "code\modules\integrated_electronics\subtypes\lists.dm" +#include "code\modules\integrated_electronics\subtypes\logic.dm" +#include "code\modules\integrated_electronics\subtypes\manipulation.dm" +#include "code\modules\integrated_electronics\subtypes\memory.dm" +#include "code\modules\integrated_electronics\subtypes\output.dm" +#include "code\modules\integrated_electronics\subtypes\power.dm" +#include "code\modules\integrated_electronics\subtypes\reagents.dm" +#include "code\modules\integrated_electronics\subtypes\smart.dm" +#include "code\modules\integrated_electronics\subtypes\time.dm" +#include "code\modules\integrated_electronics\subtypes\trig.dm" +#include "code\modules\integrated_electronics\~defines\~defines.dm" +#include "code\modules\keybindings\bindings_atom.dm" +#include "code\modules\keybindings\bindings_movekeys.dm" +#include "code\modules\keybindings\setup.dm" +#include "code\modules\library\lib_items.dm" +#include "code\modules\library\lib_machines.dm" +#include "code\modules\library\lib_readme.dm" +#include "code\modules\library\hardcode_library\_library.dm" +#include "code\modules\library\hardcode_library\fiction\APsychonaut.dm" +#include "code\modules\library\hardcode_library\fiction\battlefieldcommander.dm" +#include "code\modules\library\hardcode_library\fiction\PortedBooks.dm" +#include "code\modules\library\hardcode_library\fiction\schnayy.dm" +#include "code\modules\library\hardcode_library\non-fiction\PortedBooks.dm" +#include "code\modules\library\hardcode_library\reference\PortedBooks.dm" +#include "code\modules\library\hardcode_library\reference\Schnayy.dm" +#include "code\modules\library\hardcode_library\religious\PortedBooks.dm" +#include "code\modules\lighting\emissive_blocker.dm" +#include "code\modules\lighting\lighting_area.dm" +#include "code\modules\lighting\lighting_atom.dm" +#include "code\modules\lighting\lighting_corner.dm" +#include "code\modules\lighting\lighting_fake_sun_vr.dm" +#include "code\modules\lighting\lighting_overlay.dm" +#include "code\modules\lighting\lighting_setup.dm" +#include "code\modules\lighting\lighting_source.dm" +#include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\looking_glass\lg_area.dm" +#include "code\modules\looking_glass\lg_console.dm" +#include "code\modules\looking_glass\lg_imageholder.dm" +#include "code\modules\looking_glass\lg_turfs.dm" +#include "code\modules\lore_codex\codex.dm" +#include "code\modules\lore_codex\codex_tree.dm" +#include "code\modules\lore_codex\pages.dm" +#include "code\modules\lore_codex\lore_data_vr\important_locations.dm" +#include "code\modules\lore_codex\lore_data_vr\main.dm" +#include "code\modules\lore_codex\lore_data_vr\orgs.dm" +#include "code\modules\lore_codex\lore_data_vr\political_parties.dm" +#include "code\modules\lore_codex\lore_data_vr\species.dm" +#include "code\modules\lore_codex\news_data\main.dm" +#include "code\modules\lore_codex\robutt_data\bybrand.dm" +#include "code\modules\lore_codex\robutt_data\main_robutts.dm" +#include "code\modules\lore_codex\robutt_data\more.dm" +#include "code\modules\makeup\nailpolish.dm" +#include "code\modules\maps\tg\dmm_suite.dm" +#include "code\modules\maps\tg\map_template.dm" +#include "code\modules\maps\tg\map_template_vr.dm" +#include "code\modules\maps\tg\reader.dm" +#include "code\modules\materials\fifty_spawner.dm" +#include "code\modules\materials\fifty_spawner_mats.dm" +#include "code\modules\materials\fifty_spawner_mats_vr.dm" +#include "code\modules\materials\material_synth.dm" +#include "code\modules\materials\materials\_materials.dm" +#include "code\modules\materials\materials\_materials_vr.dm" +#include "code\modules\materials\materials\alien_alloy.dm" +#include "code\modules\materials\materials\cult.dm" +#include "code\modules\materials\materials\gems.dm" +#include "code\modules\materials\materials\glass.dm" +#include "code\modules\materials\materials\glass_vr.dm" +#include "code\modules\materials\materials\holographic.dm" +#include "code\modules\materials\materials\other_vr.dm" +#include "code\modules\materials\materials\plastic.dm" +#include "code\modules\materials\materials\snow.dm" +#include "code\modules\materials\materials\stone.dm" +#include "code\modules\materials\materials\supermatter.dm" +#include "code\modules\materials\materials\metals\hull.dm" +#include "code\modules\materials\materials\metals\hull_vr.dm" +#include "code\modules\materials\materials\metals\metals.dm" +#include "code\modules\materials\materials\metals\metals_vr.dm" +#include "code\modules\materials\materials\metals\plasteel.dm" +#include "code\modules\materials\materials\metals\plasteel_vr.dm" +#include "code\modules\materials\materials\metals\steel.dm" +#include "code\modules\materials\materials\metals\steel_vr.dm" +#include "code\modules\materials\materials\organic\animal_products.dm" +#include "code\modules\materials\materials\organic\cloth.dm" +#include "code\modules\materials\materials\organic\leather.dm" +#include "code\modules\materials\materials\organic\resin.dm" +#include "code\modules\materials\materials\organic\wood.dm" +#include "code\modules\materials\sheets\_sheets.dm" +#include "code\modules\materials\sheets\gems.dm" +#include "code\modules\materials\sheets\glass.dm" +#include "code\modules\materials\sheets\glass_vr.dm" +#include "code\modules\materials\sheets\plastic.dm" +#include "code\modules\materials\sheets\snow.dm" +#include "code\modules\materials\sheets\stone.dm" +#include "code\modules\materials\sheets\supermatter.dm" +#include "code\modules\materials\sheets\metals\hull.dm" +#include "code\modules\materials\sheets\metals\hull_vr.dm" +#include "code\modules\materials\sheets\metals\metal.dm" +#include "code\modules\materials\sheets\metals\metal_vr.dm" +#include "code\modules\materials\sheets\metals\rods.dm" +#include "code\modules\materials\sheets\organic\animal_products.dm" +#include "code\modules\materials\sheets\organic\resin.dm" +#include "code\modules\materials\sheets\organic\textiles.dm" +#include "code\modules\materials\sheets\organic\wood.dm" +#include "code\modules\materials\sheets\organic\tanning\hide.dm" +#include "code\modules\materials\sheets\organic\tanning\hide_hairless.dm" +#include "code\modules\materials\sheets\organic\tanning\leather_wet.dm" +#include "code\modules\materials\sheets\organic\tanning\tanning_rack.dm" +#include "code\modules\media\juke_remote.dm" +#include "code\modules\media\media_machinery.dm" +#include "code\modules\media\media_player_html5.dm" +#include "code\modules\media\media_player_vlc.dm" +#include "code\modules\media\media_player_wmp.dm" +#include "code\modules\media\media_tracks.dm" +#include "code\modules\media\mediamanager.dm" +#include "code\modules\media\walkpod.dm" +#include "code\modules\metric\activity.dm" +#include "code\modules\metric\count.dm" +#include "code\modules\metric\department.dm" +#include "code\modules\metric\metric.dm" +#include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\abandonedcrates_vr.dm" +#include "code\modules\mining\alloys.dm" +#include "code\modules\mining\alloys_vr.dm" +#include "code\modules\mining\fulton.dm" +#include "code\modules\mining\mine_items.dm" +#include "code\modules\mining\mine_items_vr.dm" +#include "code\modules\mining\mine_outcrops.dm" +#include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\mine_turfs_vr.dm" +#include "code\modules\mining\mineral_effect.dm" +#include "code\modules\mining\ore.dm" +#include "code\modules\mining\ore_box.dm" +#include "code\modules\mining\ore_datum.dm" +#include "code\modules\mining\resonator_vr.dm" +#include "code\modules\mining\shelter_atoms_vr.dm" +#include "code\modules\mining\shelters_vr.dm" +#include "code\modules\mining\drilling\drill.dm" +#include "code\modules\mining\drilling\scanner.dm" +#include "code\modules\mining\machinery\machine_input_output_plates.dm" +#include "code\modules\mining\machinery\machine_processing.dm" +#include "code\modules\mining\machinery\machine_stacking.dm" +#include "code\modules\mining\machinery\machine_unloading.dm" +#include "code\modules\mining\ore_redemption_machine\construction.dm" +#include "code\modules\mining\ore_redemption_machine\equipment_vendor.dm" +#include "code\modules\mining\ore_redemption_machine\mine_point_items.dm" +#include "code\modules\mining\ore_redemption_machine\survey_vendor.dm" +#include "code\modules\mob\animations.dm" +#include "code\modules\mob\death.dm" +#include "code\modules\mob\emote.dm" +#include "code\modules\mob\gender.dm" +#include "code\modules\mob\gender_vr.dm" +#include "code\modules\mob\hear_say.dm" +#include "code\modules\mob\holder.dm" +#include "code\modules\mob\inventory.dm" +#include "code\modules\mob\login.dm" +#include "code\modules\mob\login_vr.dm" +#include "code\modules\mob\logout.dm" +#include "code\modules\mob\mob.dm" +#include "code\modules\mob\mob_defines.dm" +#include "code\modules\mob\mob_defines_vr.dm" +#include "code\modules\mob\mob_grab.dm" +#include "code\modules\mob\mob_grab_specials.dm" +#include "code\modules\mob\mob_helpers.dm" +#include "code\modules\mob\mob_helpers_vr.dm" +#include "code\modules\mob\mob_movement.dm" +#include "code\modules\mob\mob_planes.dm" +#include "code\modules\mob\mob_planes_vr.dm" +#include "code\modules\mob\mob_transformation_simple.dm" +#include "code\modules\mob\say.dm" +#include "code\modules\mob\say_vr.dm" +#include "code\modules\mob\skillset.dm" +#include "code\modules\mob\transform_procs.dm" +#include "code\modules\mob\typing_indicator.dm" +#include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\_modifiers\aura.dm" +#include "code\modules\mob\_modifiers\changeling.dm" +#include "code\modules\mob\_modifiers\cloning.dm" +#include "code\modules\mob\_modifiers\feysight.dm" +#include "code\modules\mob\_modifiers\fire.dm" +#include "code\modules\mob\_modifiers\medical.dm" +#include "code\modules\mob\_modifiers\modifiers.dm" +#include "code\modules\mob\_modifiers\modifiers_misc.dm" +#include "code\modules\mob\_modifiers\traits.dm" +#include "code\modules\mob\_modifiers\traits_phobias.dm" +#include "code\modules\mob\_modifiers\unholy.dm" +#include "code\modules\mob\dead\corpse.dm" +#include "code\modules\mob\dead\corpse_vr.dm" +#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\observer\free_vr.dm" +#include "code\modules\mob\dead\observer\login.dm" +#include "code\modules\mob\dead\observer\logout.dm" +#include "code\modules\mob\dead\observer\observer.dm" +#include "code\modules\mob\dead\observer\observer_vr.dm" +#include "code\modules\mob\dead\observer\say.dm" +#include "code\modules\mob\freelook\chunk.dm" +#include "code\modules\mob\freelook\eye.dm" +#include "code\modules\mob\freelook\life.dm" +#include "code\modules\mob\freelook\update_triggers.dm" +#include "code\modules\mob\freelook\visualnet.dm" +#include "code\modules\mob\freelook\ai\cameranet.dm" +#include "code\modules\mob\freelook\ai\chunk.dm" +#include "code\modules\mob\freelook\ai\eye.dm" +#include "code\modules\mob\freelook\ai\update_triggers.dm" +#include "code\modules\mob\freelook\mask\chunk.dm" +#include "code\modules\mob\freelook\mask\cultnet.dm" +#include "code\modules\mob\freelook\mask\eye.dm" +#include "code\modules\mob\freelook\mask\update_triggers.dm" +#include "code\modules\mob\language\generic.dm" +#include "code\modules\mob\language\language.dm" +#include "code\modules\mob\language\monkey.dm" +#include "code\modules\mob\language\outsider.dm" +#include "code\modules\mob\language\station.dm" +#include "code\modules\mob\language\station_vr.dm" +#include "code\modules\mob\language\synthetic.dm" +#include "code\modules\mob\living\autohiss.dm" +#include "code\modules\mob\living\butchering.dm" +#include "code\modules\mob\living\damage_procs.dm" +#include "code\modules\mob\living\death.dm" +#include "code\modules\mob\living\default_language.dm" +#include "code\modules\mob\living\inventory.dm" +#include "code\modules\mob\living\life.dm" +#include "code\modules\mob\living\living.dm" +#include "code\modules\mob\living\living_defense.dm" +#include "code\modules\mob\living\living_defines.dm" +#include "code\modules\mob\living\living_defines_vr.dm" +#include "code\modules\mob\living\living_movement.dm" +#include "code\modules\mob\living\living_powers.dm" +#include "code\modules\mob\living\living_vr.dm" +#include "code\modules\mob\living\login.dm" +#include "code\modules\mob\living\logout.dm" +#include "code\modules\mob\living\organs.dm" +#include "code\modules\mob\living\riding.dm" +#include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\status_indicators.dm" +#include "code\modules\mob\living\bot\bot.dm" +#include "code\modules\mob\living\bot\bot_vr.dm" +#include "code\modules\mob\living\bot\cleanbot.dm" +#include "code\modules\mob\living\bot\ed209bot.dm" +#include "code\modules\mob\living\bot\edCLNbot.dm" +#include "code\modules\mob\living\bot\farmbot.dm" +#include "code\modules\mob\living\bot\floorbot.dm" +#include "code\modules\mob\living\bot\medbot.dm" +#include "code\modules\mob\living\bot\mulebot.dm" +#include "code\modules\mob\living\bot\mulebot_vr.dm" +#include "code\modules\mob\living\bot\secbot.dm" +#include "code\modules\mob\living\bot\SLed209bot.dm" +#include "code\modules\mob\living\carbon\breathe.dm" +#include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defense.dm" +#include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\carbon_powers.dm" +#include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\lick_wounds.dm" +#include "code\modules\mob\living\carbon\resist.dm" +#include "code\modules\mob\living\carbon\shock.dm" +#include "code\modules\mob\living\carbon\taste.dm" +#include "code\modules\mob\living\carbon\viruses.dm" +#include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_attacks.dm" +#include "code\modules\mob\living\carbon\alien\alien_damage.dm" +#include "code\modules\mob\living\carbon\alien\death.dm" +#include "code\modules\mob\living\carbon\alien\emote.dm" +#include "code\modules\mob\living\carbon\alien\life.dm" +#include "code\modules\mob\living\carbon\alien\progression.dm" +#include "code\modules\mob\living\carbon\alien\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona_attacks.dm" +#include "code\modules\mob\living\carbon\alien\diona\diona_powers.dm" +#include "code\modules\mob\living\carbon\alien\diona\life.dm" +#include "code\modules\mob\living\carbon\alien\diona\progression.dm" +#include "code\modules\mob\living\carbon\alien\diona\say_understands.dm" +#include "code\modules\mob\living\carbon\alien\diona\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\life.dm" +#include "code\modules\mob\living\carbon\alien\larva\progression.dm" +#include "code\modules\mob\living\carbon\brain\brain.dm" +#include "code\modules\mob\living\carbon\brain\death.dm" +#include "code\modules\mob\living\carbon\brain\emote.dm" +#include "code\modules\mob\living\carbon\brain\life.dm" +#include "code\modules\mob\living\carbon\brain\login.dm" +#include "code\modules\mob\living\carbon\brain\MMI.dm" +#include "code\modules\mob\living\carbon\brain\robot.dm" +#include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\appearance.dm" +#include "code\modules\mob\living\carbon\human\death.dm" +#include "code\modules\mob\living\carbon\human\death_vr.dm" +#include "code\modules\mob\living\carbon\human\emote.dm" +#include "code\modules\mob\living\carbon\human\emote_vr.dm" +#include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\examine_vr.dm" +#include "code\modules\mob\living\carbon\human\gradient.dm" +#include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_attackhand.dm" +#include "code\modules\mob\living\carbon\human\human_damage.dm" +#include "code\modules\mob\living\carbon\human\human_defense.dm" +#include "code\modules\mob\living\carbon\human\human_defines.dm" +#include "code\modules\mob\living\carbon\human\human_defines_vr.dm" +#include "code\modules\mob\living\carbon\human\human_helpers.dm" +#include "code\modules\mob\living\carbon\human\human_helpers_vr.dm" +#include "code\modules\mob\living\carbon\human\human_modular_limbs.dm" +#include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_organs.dm" +#include "code\modules\mob\living\carbon\human\human_powers.dm" +#include "code\modules\mob\living\carbon\human\human_powers_vr.dm" +#include "code\modules\mob\living\carbon\human\human_resist.dm" +#include "code\modules\mob\living\carbon\human\human_species.dm" +#include "code\modules\mob\living\carbon\human\human_species_vr.dm" +#include "code\modules\mob\living\carbon\human\human_vr.dm" +#include "code\modules\mob\living\carbon\human\inventory.dm" +#include "code\modules\mob\living\carbon\human\life.dm" +#include "code\modules\mob\living\carbon\human\life_vr.dm" +#include "code\modules\mob\living\carbon\human\login.dm" +#include "code\modules\mob\living\carbon\human\logout.dm" +#include "code\modules\mob\living\carbon\human\MedicalSideEffects.dm" +#include "code\modules\mob\living\carbon\human\npcs.dm" +#include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\stripping.dm" +#include "code\modules\mob\living\carbon\human\unarmed_attack.dm" +#include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled.dm" +#include "code\modules\mob\living\carbon\human\descriptors\_descriptors.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_generic.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_skrell.dm" +#include "code\modules\mob\living\carbon\human\descriptors\descriptors_vox.dm" +#include "code\modules\mob\living\carbon\human\species\species.dm" +#include "code\modules\mob\living\carbon\human\species\species_attack.dm" +#include "code\modules\mob\living\carbon\human\species\species_attack_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_getters.dm" +#include "code\modules\mob\living\carbon\human\species\species_getters_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_helpers.dm" +#include "code\modules\mob\living\carbon\human\species\species_hud.dm" +#include "code\modules\mob\living\carbon\human\species\species_shapeshift.dm" +#include "code\modules\mob\living\carbon\human\species\species_shapeshift_vr.dm" +#include "code\modules\mob\living\carbon\human\species\species_vr.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\event.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\replicant.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\skeleton.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\vox.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\vox_vr.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\_defines.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_abilities.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_hud.dm" +#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_trait.dm" +#include "code\modules\mob\living\carbon\human\species\station\alraune.dm" +#include "code\modules\mob\living\carbon\human\species\station\blank_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\golem.dm" +#include "code\modules\mob\living\carbon\human\species\station\human_subspecies.dm" +#include "code\modules\mob\living\carbon\human\species\station\monkey.dm" +#include "code\modules\mob\living\carbon\human\species\station\monkey_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\prometheans.dm" +#include "code\modules\mob\living\carbon\human\species\station\prometheans_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_special_abilities_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_special_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\teshari.dm" +#include "code\modules\mob\living\carbon\human\species\station\teshari_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\xenochimera_hud_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\xenochimera_trait_vr.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\_protean_defines.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_blob.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_powers.dm" +#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_species.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\neutral.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\positive.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\trait.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_objs.dm" +#include "code\modules\mob\living\carbon\human\species\station\traits_vr\weaver_recipies.dm" +#include "code\modules\mob\living\carbon\human\species\virtual_reality\avatar.dm" +#include "code\modules\mob\living\carbon\human\species\virtual_reality\opaque_form.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_powers.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_species.dm" +#include "code\modules\mob\living\carbon\human\species\xenomorphs\xenomorphs.dm" +#include "code\modules\mob\living\silicon\death.dm" +#include "code\modules\mob\living\silicon\emote.dm" +#include "code\modules\mob\living\silicon\laws.dm" +#include "code\modules\mob\living\silicon\login.dm" +#include "code\modules\mob\living\silicon\say.dm" +#include "code\modules\mob\living\silicon\silicon.dm" +#include "code\modules\mob\living\silicon\silicon_vr.dm" +#include "code\modules\mob\living\silicon\subystems.dm" +#include "code\modules\mob\living\silicon\ai\ai.dm" +#include "code\modules\mob\living\silicon\ai\ai_movement.dm" +#include "code\modules\mob\living\silicon\ai\ai_remote_control.dm" +#include "code\modules\mob\living\silicon\ai\ai_vr.dm" +#include "code\modules\mob\living\silicon\ai\death.dm" +#include "code\modules\mob\living\silicon\ai\examine.dm" +#include "code\modules\mob\living\silicon\ai\icons.dm" +#include "code\modules\mob\living\silicon\ai\latejoin.dm" +#include "code\modules\mob\living\silicon\ai\laws.dm" +#include "code\modules\mob\living\silicon\ai\life.dm" +#include "code\modules\mob\living\silicon\ai\login.dm" +#include "code\modules\mob\living\silicon\ai\logout.dm" +#include "code\modules\mob\living\silicon\ai\malf.dm" +#include "code\modules\mob\living\silicon\ai\multicam.dm" +#include "code\modules\mob\living\silicon\decoy\death.dm" +#include "code\modules\mob\living\silicon\decoy\decoy.dm" +#include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\admin.dm" +#include "code\modules\mob\living\silicon\pai\death.dm" +#include "code\modules\mob\living\silicon\pai\examine.dm" +#include "code\modules\mob\living\silicon\pai\life.dm" +#include "code\modules\mob\living\silicon\pai\pai.dm" +#include "code\modules\mob\living\silicon\pai\pai_vr.dm" +#include "code\modules\mob\living\silicon\pai\personality.dm" +#include "code\modules\mob\living\silicon\pai\recruit.dm" +#include "code\modules\mob\living\silicon\pai\say.dm" +#include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\pai\software_modules.dm" +#include "code\modules\mob\living\silicon\robot\analyzer.dm" +#include "code\modules\mob\living\silicon\robot\component.dm" +#include "code\modules\mob\living\silicon\robot\custom_sprites.dm" +#include "code\modules\mob\living\silicon\robot\death.dm" +#include "code\modules\mob\living\silicon\robot\emote.dm" +#include "code\modules\mob\living\silicon\robot\examine.dm" +#include "code\modules\mob\living\silicon\robot\examine_vr.dm" +#include "code\modules\mob\living\silicon\robot\inventory.dm" +#include "code\modules\mob\living\silicon\robot\laws.dm" +#include "code\modules\mob\living\silicon\robot\life.dm" +#include "code\modules\mob\living\silicon\robot\login.dm" +#include "code\modules\mob\living\silicon\robot\photos.dm" +#include "code\modules\mob\living\silicon\robot\robot.dm" +#include "code\modules\mob\living\silicon\robot\robot_animation_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_movement.dm" +#include "code\modules\mob\living\silicon\robot\robot_remote_control.dm" +#include "code\modules\mob\living\silicon\robot\robot_vr.dm" +#include "code\modules\mob\living\silicon\robot\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\dogborg\dog_modules_vr.dm" +#include "code\modules\mob\living\silicon\robot\dogborg\dog_sleeper_vr.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_vr.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\swarm_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\event.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\event_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\station.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\station_vr.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\swarm.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\gravekeeper.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\lost_drone.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\lost_drone_vr.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\syndicate.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\_thinktank.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_icon.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_interactions.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_module.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_storage.dm" +#include "code\modules\mob\living\silicon\robot\subtypes\thinktank\thinktank_subtypes.dm" +#include "code\modules\mob\living\simple_mob\appearance.dm" +#include "code\modules\mob\living\simple_mob\butchering.dm" +#include "code\modules\mob\living\simple_mob\combat.dm" +#include "code\modules\mob\living\simple_mob\defense.dm" +#include "code\modules\mob\living\simple_mob\donteatpets_vr.dm" +#include "code\modules\mob\living\simple_mob\hands.dm" +#include "code\modules\mob\living\simple_mob\harvesting.dm" +#include "code\modules\mob\living\simple_mob\life.dm" +#include "code\modules\mob\living\simple_mob\on_click.dm" +#include "code\modules\mob\living\simple_mob\simple_hud.dm" +#include "code\modules\mob\living\simple_mob\simple_mob.dm" +#include "code\modules\mob\living\simple_mob\simple_mob_vr.dm" +#include "code\modules\mob\living\simple_mob\taming.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\animal.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer_captive.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer_powers.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\chicken.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\cow.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\farm animals\goat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\_giant_spider.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\carrier.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\electric.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\frost.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\giant_spider_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\hunter.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\lurker.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\nurse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\pepper.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\phorogenic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\thermic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\tunneler.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\webslinger.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\crab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\jerboa_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\misc.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\passive.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\penguin.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\possum.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\bird.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\bird_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\cat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\cat_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\dog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\fox_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\pets\parrot.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\diyaab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\duck.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\fluffy_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\frostfly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\glitterfly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hare.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hooligan_crab.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\kururak.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\leech.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\moth.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\pillbug.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\racoon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\savik.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\shantak.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\sif.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\siffet.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\alien.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bats.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bear.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\carp.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\carp_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\gaslamp_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\snake_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\space.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\space_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\space\worm.dm" +#include "code\modules\mob\living\simple_mob\subtypes\blob\blob.dm" +#include "code\modules\mob\living\simple_mob\subtypes\blob\spore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\bradley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Eddy.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\horror .dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Master.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Rickey.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\sally.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\shittytim.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Smiley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Steve.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\timling.dm" +#include "code\modules\mob\living\simple_mob\subtypes\horror\Willy.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\clown.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\humanoid.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\humanoid_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\pirates.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\russian.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs.dm" +#include "code\modules\mob\living\simple_mob\subtypes\humanoid\mercs\mercs_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\illusion\illusion.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\corrupt_maint_drone_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\disbot_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\golem.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\golem_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\viscerator.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\wahlem_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\drones\combat_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\drones\mining_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\support.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\support_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\tank.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\adv_dark_gygax.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\adv_dark_gygax_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\combat_mecha.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\durand.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\gygax.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\hoverpod.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\marauder.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\mecha.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\odysseus.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\phazon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\ripley.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\ward\monitor_ward.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\ward\ward.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\creature.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\faithless.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\_construct.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\artificer.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\harvester.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\juggernaut.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\shade.dm" +#include "code\modules\mob\living\simple_mob\subtypes\occult\constructs\wraith.dm" +#include "code\modules\mob\living\simple_mob\subtypes\plant\tomato.dm" +#include "code\modules\mob\living\simple_mob\subtypes\plant\tree.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\slime.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\slime_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\feral\feral.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\feral\feral_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\combat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\consumption.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\defense.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\discipline.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes_vr.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\xenobio.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\bee.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\c_pet.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\catgirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\cookiegirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\corrupt_hounds.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\deathclaw.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\dino.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\dragon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\fennec.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\fennix.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\frog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\hippo.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\horse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\jelly.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\lamia.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\oregrub.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\otie.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\panther.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\rabbit.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\sect_drone.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\sect_queen.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\snake.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\softdog.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\solargrub.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\solargrub_larva.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\vore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\weretiger.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\wolfgirl.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\xeno_vore.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\zz_vore_overrides.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\_defines.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_abilities.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\demon_subtypes.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\demon\~defines.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\Big.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\bigclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\bus.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\busclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\c_shift.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\Clowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\hespawner.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\honkelemental.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\regularclowns.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\morph\morph.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_objects.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_procs.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\types.dm" +#include "code\modules\mob\living\voice\voice.dm" +#include "code\modules\mob\living\voice\voice_vr.dm" +#include "code\modules\mob\new_player\login.dm" +#include "code\modules\mob\new_player\login_vr.dm" +#include "code\modules\mob\new_player\logout.dm" +#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\new_player_vr.dm" +#include "code\modules\mob\new_player\news.dm" +#include "code\modules\mob\new_player\poll.dm" +#include "code\modules\mob\new_player\preferences_setup.dm" +#include "code\modules\mob\new_player\preferences_setup_vr.dm" +#include "code\modules\mob\new_player\skill.dm" +#include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\new_player\sprite_accessories_ear.dm" +#include "code\modules\mob\new_player\sprite_accessories_ear_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_extra.dm" +#include "code\modules\mob\new_player\sprite_accessories_extra_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_tail.dm" +#include "code\modules\mob\new_player\sprite_accessories_tail_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_taur.dm" +#include "code\modules\mob\new_player\sprite_accessories_taur_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_vr.dm" +#include "code\modules\mob\new_player\sprite_accessories_wing.dm" +#include "code\modules\mob\new_player\sprite_accessories_wing_vr.dm" +#include "code\modules\modular_computers\laptop_vendor.dm" +#include "code\modules\modular_computers\computers\modular_computer\core.dm" +#include "code\modules\modular_computers\computers\modular_computer\damage.dm" +#include "code\modules\modular_computers\computers\modular_computer\hardware.dm" +#include "code\modules\modular_computers\computers\modular_computer\interaction.dm" +#include "code\modules\modular_computers\computers\modular_computer\power.dm" +#include "code\modules\modular_computers\computers\modular_computer\ui.dm" +#include "code\modules\modular_computers\computers\modular_computer\variables.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_console.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_laptop.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_tablet.dm" +#include "code\modules\modular_computers\computers\subtypes\dev_telescreen.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_console.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_laptop.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_laptop_vr.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_tablet.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_tablet_vr.dm" +#include "code\modules\modular_computers\computers\subtypes\preset_telescreen.dm" +#include "code\modules\modular_computers\file_system\computer_file.dm" +#include "code\modules\modular_computers\file_system\data.dm" +#include "code\modules\modular_computers\file_system\news_article.dm" +#include "code\modules\modular_computers\file_system\program.dm" +#include "code\modules\modular_computers\file_system\program_events.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\access_decrypter.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\hacked_camera.dm" +#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm" +#include "code\modules\modular_computers\file_system\programs\command\card.dm" +#include "code\modules\modular_computers\file_system\programs\command\comm.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\alarm_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\atmos_control.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\power_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\rcon_console.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\shutoff_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\supermatter_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\generic\camera.dm" +#include "code\modules\modular_computers\file_system\programs\generic\configurator.dm" +#include "code\modules\modular_computers\file_system\programs\generic\email_client.dm" +#include "code\modules\modular_computers\file_system\programs\generic\file_browser.dm" +#include "code\modules\modular_computers\file_system\programs\generic\game.dm" +#include "code\modules\modular_computers\file_system\programs\generic\news_browser.dm" +#include "code\modules\modular_computers\file_system\programs\generic\ntdownloader.dm" +#include "code\modules\modular_computers\file_system\programs\generic\ntnrc_client.dm" +#include "code\modules\modular_computers\file_system\programs\generic\nttransfer.dm" +#include "code\modules\modular_computers\file_system\programs\generic\uav.dm" +#include "code\modules\modular_computers\file_system\programs\generic\wordprocessor.dm" +#include "code\modules\modular_computers\file_system\programs\medical\suit_sensors.dm" +#include "code\modules\modular_computers\file_system\programs\research\email_administration.dm" +#include "code\modules\modular_computers\file_system\programs\research\ntmonitor.dm" +#include "code\modules\modular_computers\file_system\programs\security\alarm_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\security\digitalwarrant.dm" +#include "code\modules\modular_computers\file_system\programs\ships\navigation.dm" +#include "code\modules\modular_computers\hardware\_hardware.dm" +#include "code\modules\modular_computers\hardware\battery_module.dm" +#include "code\modules\modular_computers\hardware\card_slot.dm" +#include "code\modules\modular_computers\hardware\hard_drive.dm" +#include "code\modules\modular_computers\hardware\nano_printer.dm" +#include "code\modules\modular_computers\hardware\network_card.dm" +#include "code\modules\modular_computers\hardware\portable_hard_drive.dm" +#include "code\modules\modular_computers\hardware\processor_unit.dm" +#include "code\modules\modular_computers\hardware\tesla_link.dm" +#include "code\modules\modular_computers\NTNet\NTNet.dm" +#include "code\modules\modular_computers\NTNet\NTNet_relay.dm" +#include "code\modules\modular_computers\NTNet\emails\email_account.dm" +#include "code\modules\modular_computers\NTNet\emails\email_message.dm" +#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" +#include "code\modules\multi-tile\multi-tile.dm" +#include "code\modules\multiz\_stubs.dm" +#include "code\modules\multiz\admin_upload.dm" +#include "code\modules\multiz\basic.dm" +#include "code\modules\multiz\hoist.dm" +#include "code\modules\multiz\ladder_assembly_vr.dm" +#include "code\modules\multiz\ladders.dm" +#include "code\modules\multiz\ladders_vr.dm" +#include "code\modules\multiz\movement.dm" +#include "code\modules\multiz\movement_vr.dm" +#include "code\modules\multiz\pipes.dm" +#include "code\modules\multiz\stairs.dm" +#include "code\modules\multiz\turf.dm" +#include "code\modules\news\news_init.dm" +#include "code\modules\news\newspaper.dm" +#include "code\modules\news\newspaper_layout.dm" +#include "code\modules\nifsoft\nif.dm" +#include "code\modules\nifsoft\nif_softshop.dm" +#include "code\modules\nifsoft\nif_tgui.dm" +#include "code\modules\nifsoft\nifsoft.dm" +#include "code\modules\nifsoft\software\01_vision.dm" +#include "code\modules\nifsoft\software\05_health.dm" +#include "code\modules\nifsoft\software\06_screens.dm" +#include "code\modules\nifsoft\software\10_combat.dm" +#include "code\modules\nifsoft\software\13_soulcatcher.dm" +#include "code\modules\nifsoft\software\14_commlink.dm" +#include "code\modules\nifsoft\software\15_misc.dm" +#include "code\modules\organs\blood.dm" +#include "code\modules\organs\misc.dm" +#include "code\modules\organs\organ.dm" +#include "code\modules\organs\organ_external.dm" +#include "code\modules\organs\organ_external_vr.dm" +#include "code\modules\organs\organ_icon.dm" +#include "code\modules\organs\organ_stump.dm" +#include "code\modules\organs\pain.dm" +#include "code\modules\organs\robolimbs.dm" +#include "code\modules\organs\robolimbs_custom.dm" +#include "code\modules\organs\robolimbs_vr.dm" +#include "code\modules\organs\wound.dm" +#include "code\modules\organs\internal\_organ_internal.dm" +#include "code\modules\organs\internal\appendix.dm" +#include "code\modules\organs\internal\augment.dm" +#include "code\modules\organs\internal\brain.dm" +#include "code\modules\organs\internal\eyes.dm" +#include "code\modules\organs\internal\heart.dm" +#include "code\modules\organs\internal\intestine.dm" +#include "code\modules\organs\internal\kidneys.dm" +#include "code\modules\organs\internal\liver.dm" +#include "code\modules\organs\internal\lungs.dm" +#include "code\modules\organs\internal\spleen.dm" +#include "code\modules\organs\internal\stomach.dm" +#include "code\modules\organs\internal\voicebox.dm" +#include "code\modules\organs\internal\augment\armmounted.dm" +#include "code\modules\organs\internal\augment\bio.dm" +#include "code\modules\organs\internal\robotic\diagnostic.dm" +#include "code\modules\organs\internal\robotic\heatsink.dm" +#include "code\modules\organs\internal\robotic\robotic.dm" +#include "code\modules\organs\subtypes\diona.dm" +#include "code\modules\organs\subtypes\indestructible.dm" +#include "code\modules\organs\subtypes\machine.dm" +#include "code\modules\organs\subtypes\nano.dm" +#include "code\modules\organs\subtypes\replicant.dm" +#include "code\modules\organs\subtypes\shadekin.dm" +#include "code\modules\organs\subtypes\shadekin_vr.dm" +#include "code\modules\organs\subtypes\slime.dm" +#include "code\modules\organs\subtypes\slime_vr.dm" +#include "code\modules\organs\subtypes\standard.dm" +#include "code\modules\organs\subtypes\standard_vr.dm" +#include "code\modules\organs\subtypes\teshari.dm" +#include "code\modules\organs\subtypes\unathi.dm" +#include "code\modules\organs\subtypes\unbreakable.dm" +#include "code\modules\organs\subtypes\unseverable.dm" +#include "code\modules\organs\subtypes\vox.dm" +#include "code\modules\organs\subtypes\vox_vr.dm" +#include "code\modules\organs\subtypes\xenos.dm" +#include "code\modules\overmap\abductor_vr.dm" +#include "code\modules\overmap\bluespace_rift_vr.dm" +#include "code\modules\overmap\champagne.dm" +#include "code\modules\overmap\helpers.dm" +#include "code\modules\overmap\overmap_object.dm" +#include "code\modules\overmap\overmap_planet.dm" +#include "code\modules\overmap\overmap_shuttle.dm" +#include "code\modules\overmap\sectors.dm" +#include "code\modules\overmap\spacetravel.dm" +#include "code\modules\overmap\turfs.dm" +#include "code\modules\overmap\disperser\disperser.dm" +#include "code\modules\overmap\disperser\disperser_charge.dm" +#include "code\modules\overmap\disperser\disperser_circuit.dm" +#include "code\modules\overmap\disperser\disperser_console.dm" +#include "code\modules\overmap\disperser\disperser_fire.dm" +#include "code\modules\overmap\events\event_handler.dm" +#include "code\modules\overmap\events\generation.dm" +#include "code\modules\overmap\events\overmap_event.dm" +#include "code\modules\overmap\ships\landable.dm" +#include "code\modules\overmap\ships\panicbutton.dm" +#include "code\modules\overmap\ships\ship.dm" +#include "code\modules\overmap\ships\computers\computer_shims.dm" +#include "code\modules\overmap\ships\computers\engine_control.dm" +#include "code\modules\overmap\ships\computers\helm.dm" +#include "code\modules\overmap\ships\computers\sensors.dm" +#include "code\modules\overmap\ships\computers\ship.dm" +#include "code\modules\overmap\ships\computers\ship_vr.dm" +#include "code\modules\overmap\ships\computers\shuttle.dm" +#include "code\modules\overmap\ships\engines\engine.dm" +#include "code\modules\overmap\ships\engines\gas_thruster.dm" +#include "code\modules\overmap\ships\engines\gas_thruster_vr.dm" +#include "code\modules\overmap\ships\engines\ion_thruster.dm" +#include "code\modules\paperwork\adminpaper.dm" +#include "code\modules\paperwork\carbonpaper.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\faxmachine.dm" +#include "code\modules\paperwork\faxmachine_vr.dm" +#include "code\modules\paperwork\filingcabinet.dm" +#include "code\modules\paperwork\folders.dm" +#include "code\modules\paperwork\handlabeler.dm" +#include "code\modules\paperwork\paper.dm" +#include "code\modules\paperwork\paper_bundle.dm" +#include "code\modules\paperwork\paper_sticky.dm" +#include "code\modules\paperwork\paperbin.dm" +#include "code\modules\paperwork\paperplane.dm" +#include "code\modules\paperwork\papershredder.dm" +#include "code\modules\paperwork\pen.dm" +#include "code\modules\paperwork\photocopier.dm" +#include "code\modules\paperwork\photography.dm" +#include "code\modules\paperwork\silicon_photography.dm" +#include "code\modules\paperwork\stamps.dm" +#include "code\modules\pda\ai.dm" +#include "code\modules\pda\app.dm" +#include "code\modules\pda\cart.dm" +#include "code\modules\pda\cart_apps.dm" +#include "code\modules\pda\cart_vr.dm" +#include "code\modules\pda\core_apps.dm" +#include "code\modules\pda\messenger.dm" +#include "code\modules\pda\messenger_plugins.dm" +#include "code\modules\pda\pda.dm" +#include "code\modules\pda\pda_subtypes.dm" +#include "code\modules\pda\pda_tgui.dm" +#include "code\modules\pda\pda_vr.dm" +#include "code\modules\pda\radio.dm" +#include "code\modules\pda\utilities.dm" +#include "code\modules\persistence\filth.dm" +#include "code\modules\persistence\graffiti.dm" +#include "code\modules\persistence\noticeboard.dm" +#include "code\modules\persistence\paintings.dm" +#include "code\modules\persistence\serialize.dm" +#include "code\modules\persistence\datum\persistence_datum.dm" +#include "code\modules\persistence\effects\filth.dm" +#include "code\modules\persistence\effects\graffiti.dm" +#include "code\modules\persistence\effects\paper.dm" +#include "code\modules\persistence\effects\paper_sticky.dm" +#include "code\modules\persistence\effects\trash.dm" +#include "code\modules\persistence\storage\smartfridge.dm" +#include "code\modules\persistence\storage\storage.dm" +#include "code\modules\planet\planet.dm" +#include "code\modules\planet\sun.dm" +#include "code\modules\planet\time.dm" +#include "code\modules\planet\virgo3b_vr.dm" +#include "code\modules\planet\virgo4_vr.dm" +#include "code\modules\planet\weather.dm" +#include "code\modules\planet\weather_vr.dm" +#include "code\modules\power\apc.dm" +#include "code\modules\power\apc_vr.dm" +#include "code\modules\power\batteryrack.dm" +#include "code\modules\power\batteryrack_vr.dm" +#include "code\modules\power\breaker_box.dm" +#include "code\modules\power\cable.dm" +#include "code\modules\power\cable_ender.dm" +#include "code\modules\power\cable_heavyduty.dm" +#include "code\modules\power\cell.dm" +#include "code\modules\power\debug_items.dm" +#include "code\modules\power\generator.dm" +#include "code\modules\power\gravitygenerator_vr.dm" +#include "code\modules\power\grid_checker.dm" +#include "code\modules\power\lighting.dm" +#include "code\modules\power\lighting_vr.dm" +#include "code\modules\power\lightswitch_vr.dm" +#include "code\modules\power\port_gen.dm" +#include "code\modules\power\port_gen_vr.dm" +#include "code\modules\power\power.dm" +#include "code\modules\power\powernet.dm" +#include "code\modules\power\smes.dm" +#include "code\modules\power\smes_construction.dm" +#include "code\modules\power\smes_vr.dm" +#include "code\modules\power\solar.dm" +#include "code\modules\power\terminal.dm" +#include "code\modules\power\tracker.dm" +#include "code\modules\power\turbine.dm" +#include "code\modules\power\antimatter\containment_jar.dm" +#include "code\modules\power\antimatter\control.dm" +#include "code\modules\power\antimatter\shielding.dm" +#include "code\modules\power\cells\device_cells.dm" +#include "code\modules\power\cells\device_cells_vr.dm" +#include "code\modules\power\cells\esoteric_cells.dm" +#include "code\modules\power\cells\power_cells.dm" +#include "code\modules\power\fusion\_setup.dm" +#include "code\modules\power\fusion\fusion_circuits.dm" +#include "code\modules\power\fusion\fusion_particle_catcher.dm" +#include "code\modules\power\fusion\fusion_reactions.dm" +#include "code\modules\power\fusion\magpower.dm" +#include "code\modules\power\fusion\core\_core.dm" +#include "code\modules\power\fusion\core\core_control.dm" +#include "code\modules\power\fusion\core\core_field.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_assembly.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_compressor.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_control.dm" +#include "code\modules\power\fusion\fuel_assembly\fuel_injector.dm" +#include "code\modules\power\fusion\gyrotron\gyrotron.dm" +#include "code\modules\power\fusion\gyrotron\gyrotron_control.dm" +#include "code\modules\power\sensors\powernet_sensor.dm" +#include "code\modules\power\sensors\sensor_monitoring.dm" +#include "code\modules\power\singularity\act.dm" +#include "code\modules\power\singularity\collector.dm" +#include "code\modules\power\singularity\containment_field.dm" +#include "code\modules\power\singularity\emitter.dm" +#include "code\modules\power\singularity\emitter_vr.dm" +#include "code\modules\power\singularity\field_generator.dm" +#include "code\modules\power\singularity\generator.dm" +#include "code\modules\power\singularity\investigate.dm" +#include "code\modules\power\singularity\singularity.dm" +#include "code\modules\power\singularity\particle_accelerator\particle.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_smasher.dm" +#include "code\modules\power\supermatter\setup_supermatter.dm" +#include "code\modules\power\supermatter\supermatter.dm" +#include "code\modules\power\tesla\coil.dm" +#include "code\modules\power\tesla\energy_ball.dm" +#include "code\modules\power\tesla\generator.dm" +#include "code\modules\power\tesla\telsa_construction.dm" +#include "code\modules\power\tesla\tesla_act.dm" +#include "code\modules\projectiles\ammunition.dm" +#include "code\modules\projectiles\broken.dm" +#include "code\modules\projectiles\dnalocking.dm" +#include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\ammunition\magazines_vr.dm" +#include "code\modules\projectiles\ammunition\magnetic.dm" +#include "code\modules\projectiles\ammunition\rounds.dm" +#include "code\modules\projectiles\ammunition\smartmag.dm" +#include "code\modules\projectiles\brokenguns\energy.dm" +#include "code\modules\projectiles\brokenguns\launcher.dm" +#include "code\modules\projectiles\brokenguns\magnetic.dm" +#include "code\modules\projectiles\brokenguns\projectile.dm" +#include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\launcher.dm" +#include "code\modules\projectiles\guns\magic.dm" +#include "code\modules\projectiles\guns\modular_guns.dm" +#include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\vox.dm" +#include "code\modules\projectiles\guns\energy\bsharpoon_vr.dm" +#include "code\modules\projectiles\guns\energy\crestrose_vr.dm" +#include "code\modules\projectiles\guns\energy\dominator_vr.dm" +#include "code\modules\projectiles\guns\energy\gunsword_vr.dm" +#include "code\modules\projectiles\guns\energy\hooklauncher.dm" +#include "code\modules\projectiles\guns\energy\kinetic_accelerator_vr.dm" +#include "code\modules\projectiles\guns\energy\laser.dm" +#include "code\modules\projectiles\guns\energy\laser_vr.dm" +#include "code\modules\projectiles\guns\energy\netgun_vr.dm" +#include "code\modules\projectiles\guns\energy\nuclear.dm" +#include "code\modules\projectiles\guns\energy\nuclear_vr.dm" +#include "code\modules\projectiles\guns\energy\particle.dm" +#include "code\modules\projectiles\guns\energy\phase.dm" +#include "code\modules\projectiles\guns\energy\protector_vr.dm" +#include "code\modules\projectiles\guns\energy\pulse.dm" +#include "code\modules\projectiles\guns\energy\pummeler_vr.dm" +#include "code\modules\projectiles\guns\energy\sickshot_vr.dm" +#include "code\modules\projectiles\guns\energy\special.dm" +#include "code\modules\projectiles\guns\energy\special_vr.dm" +#include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\energy\stun_vr.dm" +#include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\cell_loaded.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\ml3m.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\ml3m_cells.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\multi_cannon.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\multi_cannon_cells.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw.dm" +#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw_cells.dm" +#include "code\modules\projectiles\guns\launcher\bows.dm" +#include "code\modules\projectiles\guns\launcher\crossbow.dm" +#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm" +#include "code\modules\projectiles\guns\launcher\pneumatic.dm" +#include "code\modules\projectiles\guns\launcher\rocket.dm" +#include "code\modules\projectiles\guns\launcher\syringe_gun.dm" +#include "code\modules\projectiles\guns\magic\fireball.dm" +#include "code\modules\projectiles\guns\magnetic\bore.dm" +#include "code\modules\projectiles\guns\magnetic\gasthrower.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_construction.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_railgun.dm" +#include "code\modules\projectiles\guns\magnetic\magnetic_railgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\automatic_vr.dm" +#include "code\modules\projectiles\guns\projectile\boltaction.dm" +#include "code\modules\projectiles\guns\projectile\boltaction_vr.dm" +#include "code\modules\projectiles\guns\projectile\caseless.dm" +#include "code\modules\projectiles\guns\projectile\contender.dm" +#include "code\modules\projectiles\guns\projectile\dartgun.dm" +#include "code\modules\projectiles\guns\projectile\dartgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\pistol.dm" +#include "code\modules\projectiles\guns\projectile\pistol_vr.dm" +#include "code\modules\projectiles\guns\projectile\revolver.dm" +#include "code\modules\projectiles\guns\projectile\revolver_vr.dm" +#include "code\modules\projectiles\guns\projectile\semiauto.dm" +#include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\guns\projectile\shotgun_vr.dm" +#include "code\modules\projectiles\guns\projectile\sniper.dm" +#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm" +#include "code\modules\projectiles\projectile\arc.dm" +#include "code\modules\projectiles\projectile\beams.dm" +#include "code\modules\projectiles\projectile\beams_vr.dm" +#include "code\modules\projectiles\projectile\blob.dm" +#include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\bullets_vr.dm" +#include "code\modules\projectiles\projectile\change.dm" +#include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\energy_vr.dm" +#include "code\modules\projectiles\projectile\explosive.dm" +#include "code\modules\projectiles\projectile\force.dm" +#include "code\modules\projectiles\projectile\hook.dm" +#include "code\modules\projectiles\projectile\magic.dm" +#include "code\modules\projectiles\projectile\magnetic.dm" +#include "code\modules\projectiles\projectile\pellets.dm" +#include "code\modules\projectiles\projectile\scatter.dm" +#include "code\modules\projectiles\projectile\special.dm" +#include "code\modules\projectiles\projectile\trace.dm" +#include "code\modules\projectiles\targeting\targeting_client.dm" +#include "code\modules\projectiles\targeting\targeting_gun.dm" +#include "code\modules\projectiles\targeting\targeting_mob.dm" +#include "code\modules\projectiles\targeting\targeting_overlay.dm" +#include "code\modules\projectiles\targeting\targeting_triggers.dm" +#include "code\modules\radiation\radiation.dm" +#include "code\modules\random_map\_random_map_setup.dm" +#include "code\modules\random_map\random_map.dm" +#include "code\modules\random_map\random_map_verbs.dm" +#include "code\modules\random_map\automata\automata.dm" +#include "code\modules\random_map\automata\caves.dm" +#include "code\modules\random_map\building\building.dm" +#include "code\modules\random_map\drop\drop_types.dm" +#include "code\modules\random_map\drop\droppod.dm" +#include "code\modules\random_map\drop\droppod_doors.dm" +#include "code\modules\random_map\drop\supply.dm" +#include "code\modules\random_map\mazes\maze.dm" +#include "code\modules\random_map\mazes\maze_cell.dm" +#include "code\modules\random_map\noise\desert.dm" +#include "code\modules\random_map\noise\noise.dm" +#include "code\modules\random_map\noise\ore.dm" +#include "code\modules\random_map\noise\tundra.dm" +#include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Logging.dm" +#include "code\modules\reagents\Chemistry-Metabolism.dm" +#include "code\modules\reagents\holder\distilling.dm" +#include "code\modules\reagents\holder\holder.dm" +#include "code\modules\reagents\hoses\connector.dm" +#include "code\modules\reagents\hoses\hose.dm" +#include "code\modules\reagents\hoses\hose_connector.dm" +#include "code\modules\reagents\machinery\chem_master.dm" +#include "code\modules\reagents\machinery\chemalyzer.dm" +#include "code\modules\reagents\machinery\distillery.dm" +#include "code\modules\reagents\machinery\grinder.dm" +#include "code\modules\reagents\machinery\dispenser\_defines.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_presets.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_presets_vr.dm" +#include "code\modules\reagents\machinery\dispenser\cartridge_spawn.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser2.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser2_energy.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser_presets.dm" +#include "code\modules\reagents\machinery\dispenser\dispenser_presets_vr.dm" +#include "code\modules\reagents\machinery\dispenser\reagent_tank.dm" +#include "code\modules\reagents\machinery\dispenser\supply.dm" +#include "code\modules\reagents\reactions\_reactions.dm" +#include "code\modules\reagents\reactions\distilling\distilling.dm" +#include "code\modules\reagents\reactions\fusion\fusion.dm" +#include "code\modules\reagents\reactions\instant\drinks.dm" +#include "code\modules\reagents\reactions\instant\drinks_vr.dm" +#include "code\modules\reagents\reactions\instant\food.dm" +#include "code\modules\reagents\reactions\instant\food_vr.dm" +#include "code\modules\reagents\reactions\instant\instant.dm" +#include "code\modules\reagents\reactions\instant\instant_vr.dm" +#include "code\modules\reagents\reagent_containers\_reagent_containers.dm" +#include "code\modules\reagents\reagent_containers\blood_pack.dm" +#include "code\modules\reagents\reagent_containers\blood_pack_vr.dm" +#include "code\modules\reagents\reagent_containers\borghypo.dm" +#include "code\modules\reagents\reagent_containers\dropper.dm" +#include "code\modules\reagents\reagent_containers\glass.dm" +#include "code\modules\reagents\reagent_containers\glass_vr.dm" +#include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\hypospray_vr.dm" +#include "code\modules\reagents\reagent_containers\patch.dm" +#include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\pill_vr.dm" +#include "code\modules\reagents\reagent_containers\spray.dm" +#include "code\modules\reagents\reagent_containers\spray_vr.dm" +#include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\syringes_vr.dm" +#include "code\modules\reagents\reagent_containers\unidentified_hypospray.dm" +#include "code\modules\reagents\reagents\_helpers.dm" +#include "code\modules\reagents\reagents\_reagents.dm" +#include "code\modules\reagents\reagents\core.dm" +#include "code\modules\reagents\reagents\dispenser.dm" +#include "code\modules\reagents\reagents\food_drinks.dm" +#include "code\modules\reagents\reagents\food_drinks_vr.dm" +#include "code\modules\reagents\reagents\medicine.dm" +#include "code\modules\reagents\reagents\medicine_vr.dm" +#include "code\modules\reagents\reagents\modifiers.dm" +#include "code\modules\reagents\reagents\other.dm" +#include "code\modules\reagents\reagents\other_vr.dm" +#include "code\modules\reagents\reagents\toxins.dm" +#include "code\modules\reagents\reagents\vore_vr.dm" +#include "code\modules\recycling\conveyor2.dm" +#include "code\modules\recycling\disposal-construction.dm" +#include "code\modules\recycling\disposal.dm" +#include "code\modules\recycling\sortingmachinery.dm" +#include "code\modules\research\circuitprinter.dm" +#include "code\modules\research\designs.dm" +#include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\mechfab_designs.dm" +#include "code\modules\research\message_server.dm" +#include "code\modules\research\prosfab_designs.dm" +#include "code\modules\research\prosfab_designs_vr.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdconsole_tgui.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" +#include "code\modules\research\teleport_vr.dm" +#include "code\modules\research\designs\ai_holders.dm" +#include "code\modules\research\designs\bag_of_holding.dm" +#include "code\modules\research\designs\beakers.dm" +#include "code\modules\research\designs\bio_devices.dm" +#include "code\modules\research\designs\bio_devices_vr.dm" +#include "code\modules\research\designs\circuit_assembly.dm" +#include "code\modules\research\designs\engineering.dm" +#include "code\modules\research\designs\HUDs.dm" +#include "code\modules\research\designs\HUDs_vr.dm" +#include "code\modules\research\designs\implants.dm" +#include "code\modules\research\designs\implants_vr.dm" +#include "code\modules\research\designs\locator_devices.dm" +#include "code\modules\research\designs\medical.dm" +#include "code\modules\research\designs\medical_vr.dm" +#include "code\modules\research\designs\mining_toys.dm" +#include "code\modules\research\designs\misc.dm" +#include "code\modules\research\designs\misc_vr.dm" +#include "code\modules\research\designs\modular_computer.dm" +#include "code\modules\research\designs\pdas.dm" +#include "code\modules\research\designs\power_cells.dm" +#include "code\modules\research\designs\precursor.dm" +#include "code\modules\research\designs\stock_parts.dm" +#include "code\modules\research\designs\subspace_parts.dm" +#include "code\modules\research\designs\tech_disks.dm" +#include "code\modules\research\designs\weapons.dm" +#include "code\modules\research\designs\weapons_vr.dm" +#include "code\modules\research\designs\xenoarch_toys.dm" +#include "code\modules\research\designs\xenobio_toys.dm" +#include "code\modules\research\designs\circuits\ai_modules.dm" +#include "code\modules\research\designs\circuits\ai_modules_vr.dm" +#include "code\modules\research\designs\circuits\circuits.dm" +#include "code\modules\research\designs\circuits\circuits_vr.dm" +#include "code\modules\research\designs\circuits\disks.dm" +#include "code\modules\resleeving\circuitboards.dm" +#include "code\modules\resleeving\computers.dm" +#include "code\modules\resleeving\designer.dm" +#include "code\modules\resleeving\documents.dm" +#include "code\modules\resleeving\implant.dm" +#include "code\modules\resleeving\infocore_records.dm" +#include "code\modules\resleeving\infomorph.dm" +#include "code\modules\resleeving\infomorph_software.dm" +#include "code\modules\resleeving\machines.dm" +#include "code\modules\resleeving\machines_vr.dm" +#include "code\modules\resleeving\resleeving_sickness.dm" +#include "code\modules\resleeving\sleevecard.dm" +#include "code\modules\rogueminer_vr\asteroid.dm" +#include "code\modules\rogueminer_vr\controller.dm" +#include "code\modules\rogueminer_vr\debug.dm" +#include "code\modules\rogueminer_vr\landmarks.dm" +#include "code\modules\rogueminer_vr\roguemines_mobs.dm" +#include "code\modules\rogueminer_vr\wrappers.dm" +#include "code\modules\rogueminer_vr\zone_console.dm" +#include "code\modules\rogueminer_vr\zonemaster.dm" +#include "code\modules\scripting\Errors.dm" +#include "code\modules\scripting\IDE.dm" +#include "code\modules\scripting\Options.dm" +#include "code\modules\scripting\stack.dm" +#include "code\modules\scripting\AST\AST Nodes.dm" +#include "code\modules\scripting\AST\Blocks.dm" +#include "code\modules\scripting\AST\Statements.dm" +#include "code\modules\scripting\AST\Operators\Binary Operators.dm" +#include "code\modules\scripting\AST\Operators\Unary Operators.dm" +#include "code\modules\scripting\Implementations\_Logic.dm" +#include "code\modules\scripting\Implementations\Telecomms.dm" +#include "code\modules\scripting\Interpreter\Evaluation.dm" +#include "code\modules\scripting\Interpreter\Interaction.dm" +#include "code\modules\scripting\Interpreter\Interpreter.dm" +#include "code\modules\scripting\Interpreter\Scope.dm" +#include "code\modules\scripting\Parser\Expressions.dm" +#include "code\modules\scripting\Parser\Keywords.dm" +#include "code\modules\scripting\Parser\Parser.dm" +#include "code\modules\scripting\Scanner\Scanner.dm" +#include "code\modules\scripting\Scanner\Tokens.dm" +#include "code\modules\security levels\keycard authentication.dm" +#include "code\modules\security levels\security levels.dm" +#include "code\modules\shieldgen\directional_shield.dm" +#include "code\modules\shieldgen\emergency_shield.dm" +#include "code\modules\shieldgen\energy_field.dm" +#include "code\modules\shieldgen\energy_shield.dm" +#include "code\modules\shieldgen\handheld_defuser.dm" +#include "code\modules\shieldgen\sheldwallgen.dm" +#include "code\modules\shieldgen\shield_capacitor.dm" +#include "code\modules\shieldgen\shield_diffuser.dm" +#include "code\modules\shieldgen\shield_gen.dm" +#include "code\modules\shieldgen\shield_gen_external.dm" +#include "code\modules\shieldgen\shield_generator.dm" +#include "code\modules\shieldgen\shield_modes.dm" +#include "code\modules\shuttles\antagonist.dm" +#include "code\modules\shuttles\crashes.dm" +#include "code\modules\shuttles\departmental.dm" +#include "code\modules\shuttles\escape_pods.dm" +#include "code\modules\shuttles\landmarks.dm" +#include "code\modules\shuttles\shuttle.dm" +#include "code\modules\shuttles\shuttle_autodock.dm" +#include "code\modules\shuttles\shuttle_console.dm" +#include "code\modules\shuttles\shuttle_console_multi.dm" +#include "code\modules\shuttles\shuttle_emergency.dm" +#include "code\modules\shuttles\shuttle_ferry.dm" +#include "code\modules\shuttles\shuttle_specops.dm" +#include "code\modules\shuttles\shuttle_supply.dm" +#include "code\modules\shuttles\shuttles_multi.dm" +#include "code\modules\shuttles\shuttles_vr.dm" +#include "code\modules\shuttles\shuttles_web.dm" +#include "code\modules\shuttles\web_datums.dm" +#include "code\modules\spells\artifacts.dm" +#include "code\modules\spells\construct_spells.dm" +#include "code\modules\spells\no_clothes.dm" +#include "code\modules\spells\spell_code.dm" +#include "code\modules\spells\spell_projectile.dm" +#include "code\modules\spells\spellbook.dm" +#include "code\modules\spells\spells.dm" +#include "code\modules\spells\aoe_turf\aoe_turf.dm" +#include "code\modules\spells\aoe_turf\blink.dm" +#include "code\modules\spells\aoe_turf\charge.dm" +#include "code\modules\spells\aoe_turf\disable_tech.dm" +#include "code\modules\spells\aoe_turf\knock.dm" +#include "code\modules\spells\aoe_turf\smoke.dm" +#include "code\modules\spells\aoe_turf\summons.dm" +#include "code\modules\spells\aoe_turf\conjure\conjure.dm" +#include "code\modules\spells\aoe_turf\conjure\construct.dm" +#include "code\modules\spells\aoe_turf\conjure\forcewall.dm" +#include "code\modules\spells\general\area_teleport.dm" +#include "code\modules\spells\general\rune_write.dm" +#include "code\modules\spells\targeted\ethereal_jaunt.dm" +#include "code\modules\spells\targeted\genetic.dm" +#include "code\modules\spells\targeted\harvest.dm" +#include "code\modules\spells\targeted\mind_transfer.dm" +#include "code\modules\spells\targeted\shift.dm" +#include "code\modules\spells\targeted\subjugate.dm" +#include "code\modules\spells\targeted\targeted.dm" +#include "code\modules\spells\targeted\equip\equip.dm" +#include "code\modules\spells\targeted\equip\horsemask.dm" +#include "code\modules\spells\targeted\projectile\dumbfire.dm" +#include "code\modules\spells\targeted\projectile\fireball.dm" +#include "code\modules\spells\targeted\projectile\magic_missile.dm" +#include "code\modules\spells\targeted\projectile\projectile.dm" +#include "code\modules\surgery\_defines.dm" +#include "code\modules\surgery\bones.dm" +#include "code\modules\surgery\encased.dm" +#include "code\modules\surgery\external_repair.dm" +#include "code\modules\surgery\face.dm" +#include "code\modules\surgery\generic.dm" +#include "code\modules\surgery\implant.dm" +#include "code\modules\surgery\limb_reattach.dm" +#include "code\modules\surgery\neck.dm" +#include "code\modules\surgery\organs_internal.dm" +#include "code\modules\surgery\other.dm" +#include "code\modules\surgery\robotics.dm" +#include "code\modules\surgery\surgery.dm" +#include "code\modules\surgery\~defines.dm" +#include "code\modules\tables\bench.dm" +#include "code\modules\tables\flipping.dm" +#include "code\modules\tables\interactions.dm" +#include "code\modules\tables\presets.dm" +#include "code\modules\tables\presets_vr.dm" +#include "code\modules\tables\rack.dm" +#include "code\modules\tables\rack_vr.dm" +#include "code\modules\tables\tables.dm" +#include "code\modules\tables\update_triggers.dm" +#include "code\modules\telesci\bscyrstal.dm" +#include "code\modules\telesci\construction.dm" +#include "code\modules\telesci\gps_advanced.dm" +#include "code\modules\telesci\quantum_pad.dm" +#include "code\modules\telesci\telepad.dm" +#include "code\modules\telesci\telesci_computer.dm" +#include "code\modules\tension\tension.dm" +#include "code\modules\tgs\includes.dm" +#include "code\modules\tgui\external.dm" +#include "code\modules\tgui\modal.dm" +#include "code\modules\tgui\states.dm" +#include "code\modules\tgui\tgui.dm" +#include "code\modules\tgui\tgui_alert.dm" +#include "code\modules\tgui\tgui_input_list.dm" +#include "code\modules\tgui\tgui_input_text.dm" +#include "code\modules\tgui\tgui_window.dm" +#include "code\modules\tgui\modules\_base.dm" +#include "code\modules\tgui\modules\admin_shuttle_controller.dm" +#include "code\modules\tgui\modules\agentcard.dm" +#include "code\modules\tgui\modules\alarm.dm" +#include "code\modules\tgui\modules\appearance_changer.dm" +#include "code\modules\tgui\modules\appearance_changer_vr.dm" +#include "code\modules\tgui\modules\atmos_control.dm" +#include "code\modules\tgui\modules\camera.dm" +#include "code\modules\tgui\modules\communications.dm" +#include "code\modules\tgui\modules\crew_manifest.dm" +#include "code\modules\tgui\modules\crew_monitor.dm" +#include "code\modules\tgui\modules\gyrotron_control.dm" +#include "code\modules\tgui\modules\law_manager.dm" +#include "code\modules\tgui\modules\overmap.dm" +#include "code\modules\tgui\modules\power_monitor.dm" +#include "code\modules\tgui\modules\rcon.dm" +#include "code\modules\tgui\modules\rustcore_monitor.dm" +#include "code\modules\tgui\modules\rustfuel_control.dm" +#include "code\modules\tgui\modules\shutoff_monitor.dm" +#include "code\modules\tgui\modules\supermatter_monitor.dm" +#include "code\modules\tgui\modules\teleporter.dm" +#include "code\modules\tgui\modules\ntos-only\cardmod.dm" +#include "code\modules\tgui\modules\ntos-only\configurator.dm" +#include "code\modules\tgui\modules\ntos-only\email.dm" +#include "code\modules\tgui\modules\ntos-only\uav.dm" +#include "code\modules\tgui\states\admin.dm" +#include "code\modules\tgui\states\always.dm" +#include "code\modules\tgui\states\conscious.dm" +#include "code\modules\tgui\states\contained.dm" +#include "code\modules\tgui\states\deep_inventory.dm" +#include "code\modules\tgui\states\default.dm" +#include "code\modules\tgui\states\hands.dm" +#include "code\modules\tgui\states\human_adjacent.dm" +#include "code\modules\tgui\states\inventory.dm" +#include "code\modules\tgui\states\inventory_vr.dm" +#include "code\modules\tgui\states\not_incapacitated.dm" +#include "code\modules\tgui\states\notcontained.dm" +#include "code\modules\tgui\states\observer.dm" +#include "code\modules\tgui\states\physical.dm" +#include "code\modules\tgui\states\self.dm" +#include "code\modules\tgui\states\vorepanel_vr.dm" +#include "code\modules\tgui\states\zlevel.dm" +#include "code\modules\tooltip\tooltip.dm" +#include "code\modules\turbolift\_turbolift.dm" +#include "code\modules\turbolift\turbolift.dm" +#include "code\modules\turbolift\turbolift_areas.dm" +#include "code\modules\turbolift\turbolift_console.dm" +#include "code\modules\turbolift\turbolift_console_vr.dm" +#include "code\modules\turbolift\turbolift_door.dm" +#include "code\modules\turbolift\turbolift_door_vr.dm" +#include "code\modules\turbolift\turbolift_floor.dm" +#include "code\modules\turbolift\turbolift_map.dm" +#include "code\modules\turbolift\turbolift_turfs.dm" +#include "code\modules\vchat\vchat_client.dm" +#include "code\modules\vchat\vchat_db.dm" +#include "code\modules\vehicles\bike.dm" +#include "code\modules\vehicles\boat.dm" +#include "code\modules\vehicles\cargo_train.dm" +#include "code\modules\vehicles\construction.dm" +#include "code\modules\vehicles\quad.dm" +#include "code\modules\vehicles\train.dm" +#include "code\modules\vehicles\vehicle.dm" +#include "code\modules\ventcrawl\ventcrawl.dm" +#include "code\modules\ventcrawl\ventcrawl_atmospherics.dm" +#include "code\modules\ventcrawl\ventcrawl_multiz.dm" +#include "code\modules\ventcrawl\ventcrawl_verb.dm" +#include "code\modules\virus2\admin.dm" +#include "code\modules\virus2\analyser.dm" +#include "code\modules\virus2\antibodies.dm" +#include "code\modules\virus2\centrifuge.dm" +#include "code\modules\virus2\curer.dm" +#include "code\modules\virus2\disease2.dm" +#include "code\modules\virus2\diseasesplicer.dm" +#include "code\modules\virus2\dishincubator.dm" +#include "code\modules\virus2\effect.dm" +#include "code\modules\virus2\effect_vr.dm" +#include "code\modules\virus2\helpers.dm" +#include "code\modules\virus2\isolator.dm" +#include "code\modules\virus2\items_devices.dm" +#include "code\modules\vore\hook-defs_vr.dm" +#include "code\modules\vore\trycatch_vr.dm" +#include "code\modules\vore\appearance\preferences_vr.dm" +#include "code\modules\vore\appearance\update_icons_vr.dm" +#include "code\modules\vore\eating\belly_dat_vr.dm" +#include "code\modules\vore\eating\belly_obj_vr.dm" +#include "code\modules\vore\eating\bellymodes_datum_vr.dm" +#include "code\modules\vore\eating\bellymodes_vr.dm" +#include "code\modules\vore\eating\contaminate_vr.dm" +#include "code\modules\vore\eating\digest_act_vr.dm" +#include "code\modules\vore\eating\leave_remains_vr.dm" +#include "code\modules\vore\eating\living_vr.dm" +#include "code\modules\vore\eating\silicon_vr.dm" +#include "code\modules\vore\eating\simple_animal_vr.dm" +#include "code\modules\vore\eating\transforming_vr.dm" +#include "code\modules\vore\eating\vore_vr.dm" +#include "code\modules\vore\eating\vorehooks_vr.dm" +#include "code\modules\vore\eating\vorepanel_vr.dm" +#include "code\modules\vore\fluffstuff\custom_boxes_vr.dm" +#include "code\modules\vore\fluffstuff\custom_clothes_vr.dm" +#include "code\modules\vore\fluffstuff\custom_items_vr.dm" +#include "code\modules\vore\fluffstuff\custom_mecha_vr.dm" +#include "code\modules\vore\fluffstuff\custom_permits_vr.dm" +#include "code\modules\vore\persist\persist_vr.dm" +#include "code\modules\vore\resizing\grav_pull_vr.dm" +#include "code\modules\vore\resizing\holder_micro_vr.dm" +#include "code\modules\vore\resizing\resize_vr.dm" +#include "code\modules\vore\resizing\sizegun_vr.dm" +#include "code\modules\vore\smoleworld\smoleworld_vr.dm" +#include "code\modules\vore\weight\fitness_machines_vr.dm" +#include "code\modules\webhooks\_webhook.dm" +#include "code\modules\webhooks\webhook_ahelp2discord.dm" +#include "code\modules\webhooks\webhook_custom_event.dm" +#include "code\modules\webhooks\webhook_fax2discord.dm" +#include "code\modules\webhooks\webhook_roundend.dm" +#include "code\modules\webhooks\webhook_roundprep.dm" +#include "code\modules\webhooks\webhook_roundstart.dm" +#include "code\modules\xenoarcheaology\anomaly_container.dm" +#include "code\modules\xenoarcheaology\boulder.dm" +#include "code\modules\xenoarcheaology\effect.dm" +#include "code\modules\xenoarcheaology\manuals.dm" +#include "code\modules\xenoarcheaology\misc.dm" +#include "code\modules\xenoarcheaology\sampling.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact_find.dm" +#include "code\modules\xenoarcheaology\artifacts\artifact_vr.dm" +#include "code\modules\xenoarcheaology\artifacts\autocloner.dm" +#include "code\modules\xenoarcheaology\artifacts\crystal.dm" +#include "code\modules\xenoarcheaology\artifacts\gigadrill.dm" +#include "code\modules\xenoarcheaology\artifacts\replicator.dm" +#include "code\modules\xenoarcheaology\artifacts\predefined\_predefined.dm" +#include "code\modules\xenoarcheaology\artifacts\predefined\hungry_statue.dm" +#include "code\modules\xenoarcheaology\effects\animate_anomaly.dm" +#include "code\modules\xenoarcheaology\effects\badfeeling.dm" +#include "code\modules\xenoarcheaology\effects\berserk.dm" +#include "code\modules\xenoarcheaology\effects\cannibal.dm" +#include "code\modules\xenoarcheaology\effects\cellcharge.dm" +#include "code\modules\xenoarcheaology\effects\celldrain.dm" +#include "code\modules\xenoarcheaology\effects\cold.dm" +#include "code\modules\xenoarcheaology\effects\dnaswitch.dm" +#include "code\modules\xenoarcheaology\effects\electric_field.dm" +#include "code\modules\xenoarcheaology\effects\emp.dm" +#include "code\modules\xenoarcheaology\effects\feysight.dm" +#include "code\modules\xenoarcheaology\effects\forcefield.dm" +#include "code\modules\xenoarcheaology\effects\gaia.dm" +#include "code\modules\xenoarcheaology\effects\gasco2.dm" +#include "code\modules\xenoarcheaology\effects\gasnitro.dm" +#include "code\modules\xenoarcheaology\effects\gasoxy.dm" +#include "code\modules\xenoarcheaology\effects\gasphoron.dm" +#include "code\modules\xenoarcheaology\effects\gassleeping.dm" +#include "code\modules\xenoarcheaology\effects\goodfeeling.dm" +#include "code\modules\xenoarcheaology\effects\gravitational_waves.dm" +#include "code\modules\xenoarcheaology\effects\heal.dm" +#include "code\modules\xenoarcheaology\effects\heat.dm" +#include "code\modules\xenoarcheaology\effects\hurt.dm" +#include "code\modules\xenoarcheaology\effects\poltergeist.dm" +#include "code\modules\xenoarcheaology\effects\radiate.dm" +#include "code\modules\xenoarcheaology\effects\resurrect.dm" +#include "code\modules\xenoarcheaology\effects\roboheal.dm" +#include "code\modules\xenoarcheaology\effects\robohurt.dm" +#include "code\modules\xenoarcheaology\effects\sleepy.dm" +#include "code\modules\xenoarcheaology\effects\stun.dm" +#include "code\modules\xenoarcheaology\effects\teleport.dm" +#include "code\modules\xenoarcheaology\effects\vampire.dm" +#include "code\modules\xenoarcheaology\finds\eguns.dm" +#include "code\modules\xenoarcheaology\finds\eguns_vr.dm" +#include "code\modules\xenoarcheaology\finds\find_spawning.dm" +#include "code\modules\xenoarcheaology\finds\finds.dm" +#include "code\modules\xenoarcheaology\finds\finds_defines.dm" +#include "code\modules\xenoarcheaology\finds\fossils.dm" +#include "code\modules\xenoarcheaology\finds\misc.dm" +#include "code\modules\xenoarcheaology\finds\special.dm" +#include "code\modules\xenoarcheaology\finds\talking.dm" +#include "code\modules\xenoarcheaology\tools\ano_device_battery.dm" +#include "code\modules\xenoarcheaology\tools\artifact_analyser.dm" +#include "code\modules\xenoarcheaology\tools\artifact_harvester.dm" +#include "code\modules\xenoarcheaology\tools\artifact_scanner.dm" +#include "code\modules\xenoarcheaology\tools\coolant_tank.dm" +#include "code\modules\xenoarcheaology\tools\equipment.dm" +#include "code\modules\xenoarcheaology\tools\geosample_scanner.dm" +#include "code\modules\xenoarcheaology\tools\suspension_generator.dm" +#include "code\modules\xenoarcheaology\tools\tools.dm" +#include "code\modules\xenoarcheaology\tools\tools_pickaxe.dm" +#include "code\modules\xenoarcheaology\tools\tools_pickaxe_vr.dm" +#include "code\modules\xenoarcheaology\tools\tools_vr.dm" +#include "code\modules\xenobio\items\extracts.dm" +#include "code\modules\xenobio\items\slime_objects.dm" +#include "code\modules\xenobio\items\slimepotions.dm" +#include "code\modules\xenobio\items\weapons.dm" +#include "code\modules\xenobio\machinery\processor.dm" +#include "code\modules\xgm\xgm_gas_data.dm" +#include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\decl_tests.dm" +#include "code\unit_tests\language_tests.dm" +#include "code\unit_tests\loadout_tests.dm" +#include "code\unit_tests\map_tests.dm" +#include "code\unit_tests\material_tests.dm" +#include "code\unit_tests\mob_tests.dm" +#include "code\unit_tests\recipe_tests.dm" +#include "code\unit_tests\research_tests.dm" +#include "code\unit_tests\sqlite_tests.dm" +#include "code\unit_tests\subsystem_tests.dm" +#include "code\unit_tests\unit_test.dm" +#include "code\unit_tests\unit_test_vr.dm" +#include "code\unit_tests\vore_tests_vr.dm" +#include "code\unit_tests\zas_tests.dm" +#include "code\unit_tests\integrated_circuits\arithmetic.dm" +#include "code\unit_tests\integrated_circuits\circuits.dm" +#include "code\unit_tests\integrated_circuits\converter.dm" +#include "code\unit_tests\integrated_circuits\logic.dm" +#include "code\unit_tests\integrated_circuits\trig.dm" +#include "code\ZAS\Airflow.dm" +#include "code\ZAS\Atom.dm" +#include "code\ZAS\Connection.dm" +#include "code\ZAS\ConnectionGroup.dm" +#include "code\ZAS\ConnectionManager.dm" +#include "code\ZAS\Controller.dm" +#include "code\ZAS\Debug.dm" +#include "code\ZAS\Diagnostic.dm" +#include "code\ZAS\Fire.dm" +#include "code\ZAS\Phoron.dm" +#include "code\ZAS\Turf.dm" +#include "code\ZAS\Variable Settings.dm" +#include "code\ZAS\Zone.dm" +#include "interface\interface.dm" +#include "interface\skin.dmf" +#include "maps\gateway_archive_vr\blackmarketpackers.dm" +#include "maps\offmap_vr\om_ships\abductor.dm" +#include "maps\southern_cross\items\clothing\sc_accessory.dm" +#include "maps\southern_cross\items\clothing\sc_suit.dm" +#include "maps\southern_cross\items\clothing\sc_under.dm" +#include "maps\southern_cross\loadout\loadout_suit.dm" +#include "maps\southern_cross\loadout\loadout_uniform.dm" +#include "maps\southern_cross\loadout\loadout_vr.dm" +#include "maps\submaps\_helpers.dm" +#include "maps\submaps\_readme.dm" +#include "maps\submaps\engine_submaps\engine.dm" +#include "maps\submaps\engine_submaps\engine_areas.dm" +#include "maps\submaps\engine_submaps_vr\tether\_engine_submaps.dm" +#include "maps\submaps\space_submaps\space.dm" +#include "maps\submaps\space_submaps\debrisfield\debrisfield.dm" +#include "maps\submaps\surface_submaps\mountains\mountains.dm" +#include "maps\submaps\surface_submaps\mountains\mountains_areas.dm" +#include "maps\submaps\surface_submaps\mountains\mountains_areas_vr.dm" +#include "maps\submaps\surface_submaps\plains\plains.dm" +#include "maps\submaps\surface_submaps\plains\plains_areas.dm" +#include "maps\submaps\surface_submaps\wilderness\wilderness.dm" +#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" +#include "maps\tether\tether.dm" +#include "maps\~map_system\maps.dm" +// END_INCLUDE +>>>>>>> eb76662be1... Merge pull request #11112 from MisterGrimm/XenomorphOverhaul