diff --git a/.gitignore b/.gitignore index c1c488d24b6..b0cdc822cb3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,6 @@ #ignore other, specific files and folers data/ -maps/backup/* -maps/cyberiad.dmm.backup -nano/debug.html \ No newline at end of file +/maps/backup/* +/maps/cyberiad.dmm.backup +/nano/debug.html \ No newline at end of file diff --git a/COPYING b/COPYING index 5005fcd90f0..5c2d485924d 100644 --- a/COPYING +++ b/COPYING @@ -1,5 +1,5 @@ -Baystation12 -Copyright (C) 2010-2013 Baystation12 and tgstation13. +Paradise +Copyright (C) 2010-2014 Paradise, Baystation12 and tgstation13. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 1636a940c04..18666b56217 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -40,6 +40,14 @@ face_atom(A) // change direction to face what you clicked on + if(aiCamera.in_camera_mode) + aiCamera.camera_mode_off() + if(is_component_functioning("camera")) + aiCamera.captureimage(A, usr) + else + src << "Your camera isn't functional." + return + /* cyborg restrained() currently does nothing if(restrained()) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 6d0cb0a80c5..464593bbd47 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -60,6 +60,7 @@ #define ui_alien_head "4:12,1:5" //aliens #define ui_alien_oclothing "5:14,1:5" //aliens +#define ui_borg_sensor "5:16,1:5" //borgs #define ui_inv1 "6:16,1:5" //borgs #define ui_inv2 "7:16,1:5" //borgs #define ui_inv3 "8:16,1:5" //borgs diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index 52832285b4c..b528832c573 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -132,7 +132,7 @@ //Medical/Security sensors using = new /obj/screen() - using.name = "Toggle Sensors" + using.name = "Set Sensor Augmentation" using.icon = 'icons/mob/screen_ai.dmi' using.icon_state = "ai_sensor" using.screen_loc = ui_ai_sensor @@ -140,8 +140,4 @@ adding += using mymob.client.screen += adding + other - return - - mymob.client.screen += adding + other - return \ No newline at end of file diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 1ec46cea82b..1495714e51c 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -50,6 +50,15 @@ //End of module select +//Sec/Med HUDs + using = new /obj/screen() + using.name = "Toggle Sensor Augmentation" + using.icon = 'icons/mob/screen_ai.dmi' + using.icon_state = "ai_sensor" + using.screen_loc = ui_borg_sensor + using.layer = 20 + adding += using + //Intent using = new /obj/screen() using.name = "act_intent" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index c2c307e70f8..b31ef842b4f 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -406,6 +406,11 @@ R.uneq_active() R.hud_used.update_robot_modules_display() + if("Toggle Sensor Augmentation") + if(isrobot(usr)) + var/mob/living/silicon/robot/R = usr + R.control_hud() + if("module1") if(istype(usr, /mob/living/silicon/robot)) usr:toggle_module(1) @@ -549,7 +554,7 @@ var/mob/living/silicon/ai/AI = usr AI.aiCamera.viewpictures() - if("Toggle Sensors") + if("Set Sensor Augmentation") if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.control_hud() diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index e94f02efcf9..a20997140f0 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -667,6 +667,17 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee access = access_security group = "Security" +/datum/supply_packs/disabler + name = "Disabler Crate" + contains = list(/obj/item/weapon/gun/energy/disabler, + /obj/item/weapon/gun/energy/disabler, + /obj/item/weapon/gun/energy/disabler) + cost = 10 + containertype = /obj/structure/closet/crate/secure/weapon + containername = "disabler crate" + access = access_security + group = "Security" + /datum/supply_packs/eweapons name = "Experimental weapons crate" contains = list(/obj/item/weapon/flamethrower/full, diff --git a/code/defines/procs/hud.dm b/code/defines/procs/hud.dm new file mode 100644 index 00000000000..c225a896cf5 --- /dev/null +++ b/code/defines/procs/hud.dm @@ -0,0 +1,82 @@ +/* Using the HUD procs is simple. Call these procs in the life.dm of the intended mob. +Use the regular_hud_updates() proc before process_med_hud(mob) or process_sec_hud(mob) so +the HUD updates properly! */ + +//Medical HUD outputs. Called by the Life() proc of the mob using it, usually. +proc/process_med_hud(var/mob/M, var/local_scanner, var/mob/Alt) + if(!can_process_hud(M)) + return + + var/datum/arranged_hud_process/P = arrange_hud_process(M, Alt, med_hud_users) + for(var/mob/living/carbon/human/patient in P.Mob.in_view(P.Turf)) + if(P.Mob.see_invisible < patient.invisibility) + continue + + if(!local_scanner) + if(istype(patient.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/U = patient.w_uniform + if(U.sensor_mode < 2) + continue + else + continue + + P.Client.images += patient.hud_list[HEALTH_HUD] + if(local_scanner) + P.Client.images += patient.hud_list[STATUS_HUD] + +//Security HUDs. Pass a value for the second argument to enable implant viewing or other special features. +proc/process_sec_hud(var/mob/M, var/advanced_mode, var/mob/Alt) + if(!can_process_hud(M)) + return + var/datum/arranged_hud_process/P = arrange_hud_process(M, Alt, sec_hud_users) + for(var/mob/living/carbon/human/perp in P.Mob.in_view(P.Turf)) + if(P.Mob.see_invisible < perp.invisibility) + continue + + P.Client.images += perp.hud_list[ID_HUD] + if(advanced_mode) + P.Client.images += perp.hud_list[WANTED_HUD] + P.Client.images += perp.hud_list[IMPTRACK_HUD] + P.Client.images += perp.hud_list[IMPLOYAL_HUD] + P.Client.images += perp.hud_list[IMPCHEM_HUD] + +datum/arranged_hud_process + var/client/Client + var/mob/Mob + var/turf/Turf + +proc/arrange_hud_process(var/mob/M, var/mob/Alt, var/list/hud_list) + hud_list |= M + var/datum/arranged_hud_process/P = new + P.Client = M.client + P.Mob = Alt ? Alt : M + P.Turf = get_turf(P.Mob) + return P + +proc/can_process_hud(var/mob/M) + if(!M) + return 0 + if(!M.client) + return 0 + if(M.stat != CONSCIOUS) + return 0 + return 1 + +//Deletes the current HUD images so they can be refreshed with new ones. +mob/proc/regular_hud_updates() //Used in the life.dm of mobs that can use HUDs. + if(client) + for(var/image/hud in client.images) + if(copytext(hud.icon_state,1,4) == "hud") + client.images -= hud + med_hud_users -= src + sec_hud_users -= src + +mob/proc/in_view(var/turf/T) + return view(T) + +/mob/aiEye/in_view(var/turf/T) + var/list/viewed = new + for(var/mob/living/carbon/human/H in mob_list) + if(get_dist(H, T) <= 7) + viewed += H + return viewed diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 799f7f7da90..627d24d9355 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -16,6 +16,7 @@ var/global/datum/controller/gameticker/ticker var/event_time = null var/event = 0 + var/login_music // music played in pregame lobby var/list/datum/mind/minds = list()//The people in the game. Used for objective tracking. @@ -38,6 +39,10 @@ var/global/datum/controller/gameticker/ticker var/initialtpass = 0 //holder for inital autotransfer vote timer /datum/controller/gameticker/proc/pregame() + login_music = pick(\ + 'sound/music/space.ogg',\ + 'sound/music/Title1.ogg',\ + 'sound/music/Title2.ogg',) do pregame_timeleft = 180 world << "Welcome to the pre-game lobby!" diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index f16bfc65334..36984e5c314 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -20,11 +20,8 @@ if (computer) computer.table = src break -// spawn(100) //Wont the MC just call this process() before and at the 10 second mark anyway? -// process() /obj/machinery/optable/ex_act(severity) - switch(severity) if(1.0) //SN src = null @@ -76,41 +73,17 @@ /obj/machinery/optable/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) - - if(O.loc == user) //no you can't pull things out of your ass - return - if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis || user.resting) //are you cuffed, dying, lying, stunned or other - return - if(O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)) // is the mob anchored, too far away from you, or are you too far away from the source - return - if(!ismob(O)) //humans only - return - if(istype(O, /mob/living/simple_animal) || istype(O, /mob/living/silicon)) //animals and robutts dont fit - return - if(!ishuman(user) && !isrobot(user)) //No ghosts or mice putting people into the sleeper - return - if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems - return - if(!istype(user.loc, /turf) || !istype(O.loc, /turf)) // are you in a container/closet/pod/etc? + if(usr.stat || !ishuman(usr) || usr.restrained() || !check_table(usr)) return + var/mob/living/L = O - if(!istype(L) || L.buckled) - return - for(var/mob/living/carbon/slime/M in range(1,L)) - if(M.Victim == L) - usr << "[L.name] cannot be operated on while they have \a [M] attached to their head!" - return - if(src.victim) - usr << "\blue The table is already occupied!" - return - - take_victim(L, user) + take_victim(L,usr) return /obj/machinery/optable/proc/check_victim() if(locate(/mob/living/carbon/human, src.loc)) var/mob/living/carbon/human/M = locate(/mob/living/carbon/human, src.loc) - if(M.resting) + if(M.lying) src.victim = M icon_state = M.pulse ? "table2-active" : "table2-idle" return 1 @@ -146,11 +119,7 @@ set category = "Object" set src in oview(1) - if(usr.stat || !ishuman(usr) || usr.buckled || usr.restrained()) - return - - if(src.victim) - usr << "\blue The table is already occupied!" + if(usr.stat || !ishuman(usr) || usr.restrained() || !check_table(usr)) return take_victim(usr,usr) @@ -162,5 +131,14 @@ del(W) return -/obj/machinery/optable/slime - icon_state = "table-slime" + +/obj/machinery/optable/proc/check_table(mob/living/carbon/patient as mob) + if(src.victim) + usr << "\blue The table is already occupied!" + return 0 + + if(patient.buckled) + usr << "\blue Unbuckle first!" + return 0 + + return 1 diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index fc32f40e931..19a89339c62 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -602,6 +602,5 @@ if((robot.z == src.z) && !robot.blinded) if((skin == "bezerk") && (!("syndicate" in robot.faction))) continue - for(var/obj/I in robot.contents) - if(istype(I, /obj/item/borg/sight/hud/med)) - robot << "\icon[I] Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!" \ No newline at end of file + if(robot.sensor_mode == 2) + robot << "Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!" \ No newline at end of file diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index bd61055fcf0..995f0a17378 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -264,7 +264,7 @@ Auto Patrol: []"}, playsound(loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2) target.visible_message("[src] is trying to put handcuffs on [target]!",\ "[src] is trying to put handcuffs on [target]!") - spawn(80) + spawn(60) if( !Adjacent(target) || !isturf(target.loc) ) //if he's in a closet or not adjacent, we cancel cuffing. return if(!target.handcuffed) @@ -483,7 +483,5 @@ Auto Patrol: []"}, if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security) || istype(human.glasses, /obj/item/clothing/glasses/sunglasses/sechud) && !human.blinded) human << "\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]" for(var/mob/living/silicon/robot in world) - if((robot.z == src.z) && !robot.blinded) - for(var/obj/I in robot.contents) - if(istype(I, /obj/item/borg/sight/hud/sec)) - robot << "\icon[I] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]" \ No newline at end of file + if((robot.z == src.z) && !robot.blinded && robot.sensor_mode == 1) + robot << "[src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]" \ No newline at end of file diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 4b4fa66350f..7bfab1eddec 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -398,7 +398,7 @@ //user << browse(t, "window=turretid;size=500x250") //onclose(user, "turretid") - var/datum/browser/popup = new(user, "turretid", "Turret Control Panel ([area.name])") + var/datum/browser/popup = new(user, "turretid", "Turret Control Panel ([area.name])", 500, 250) popup.set_content(t) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.open() diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index f63b3fd114b..a2a5e5228c2 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -109,7 +109,7 @@ icon_state = "mecha_taser" energy_drain = 20 equip_cooldown = 8 - projectile = /obj/item/projectile/energy/electrode/revolver + projectile = /obj/item/projectile/energy/electrode fire_sound = 'sound/weapons/Taser.ogg' size = 1 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index ec5506e125b..224de285a1c 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -1,227 +1,148 @@ /obj/item/device/flash name = "flash" - desc = "Used for blinding and being an asshole." + desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production." icon_state = "flash" item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) - throwforce = 5 - w_class = 1.0 - throw_speed = 4 - throw_range = 10 - flags = FPRINT | TABLEPASS| CONDUCT + throwforce = 0 + w_class = 1 + throw_speed = 3 + throw_range = 7 + flags = FPRINT | TABLEPASS | CONDUCT origin_tech = "magnets=2;combat=1" var/times_used = 0 //Number of times it's been used. var/broken = 0 //Is the flash burnt out? var/last_used = 0 //last world.time it was used. -/obj/item/device/flash/proc/clown_check(var/mob/user) + +/obj/item/device/flash/proc/clown_check(mob/user) if(user && (M_CLUMSY in user.mutations) && prob(50)) - user << "\red \The [src] slips out of your hand." - user.drop_item() + flash_carbon(user, user, 15, 0) + user.visible_message("[user] blinds [user] with the flash!") return 0 return 1 -/obj/item/device/flash/proc/flash_recharge() - //capacitor recharges over time - for(var/i=0, i<3, i++) - if(last_used+600 > world.time) - break - last_used += 600 - times_used -= 2 + +/obj/item/device/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. + broken = 1 + icon_state = "[initial(icon_state)]burnt" + visible_message("The [src.name] burns out!") + + +/obj/item/device/flash/proc/flash_recharge(var/mob/user) + if(prob(times_used * 2)) //if you use it 5 times in a minute it has a 10% chance to break! + burn_out() + return 0 + + var/deciseconds_passed = world.time - last_used + for(var/seconds = deciseconds_passed/10, seconds>=10, seconds-=10) //get 1 charge every 10 seconds + times_used-- + last_used = world.time - times_used = max(0,round(times_used)) //sanity + times_used = max(0, times_used) //sanity -/obj/item/device/flash/attack(mob/living/M as mob, mob/user as mob) - if(!user || !M) return //sanity +/obj/item/device/flash/proc/try_use_flash(var/mob/user) + flash_recharge(user) - M.attack_log += text("\[[time_stamp()]\] Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to flash [M.name] ([M.ckey])") - if(M.ckey) - msg_admin_attack("[user.name] ([user.ckey]) Used the [src.name] to flash [M.name] ([M.ckey]) (JMP)") - - if(!iscarbon(user)) - M.LAssailant = null - else - M.LAssailant = user - - if(!clown_check(user)) return if(broken) - user << "\The [src] is broken." - return + return 0 - flash_recharge() - - //spamming the flash before it's fully charged (60seconds) increases the chance of it breaking - //It will never break on the first use. - switch(times_used) - if(0 to 5) - last_used = world.time - if(prob(times_used)) //if you use it 5 times in a minute it has a 10% chance to break! - broken = 1 - user << "The bulb has burnt out!" - icon_state = "flashburnt" - return - times_used++ - else //can only use it 5 times a minute - user << "*click* *click*" - return playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) - var/flashfail = 0 + flick("[initial(icon_state)]2", src) + times_used++ + + if(user && !clown_check(user)) + return 0 + + return 1 + + +/obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, convert = 1) + add_logs(M, user, "flashed", object="the flash") + var/safety = M:eyecheck() + if(safety <= 0) + M.confused += power + flick("e_flash", M.flash) + if(user && convert) + terrible_conversion_proc(M, user) + M.Stun(1) + +/obj/item/device/flash/attack(mob/living/M, mob/user) + if(!try_use_flash(user)) + return 0 if(iscarbon(M)) - var/safety = M:eyecheck() - if(safety <= 0) - M.Weaken(5) - flick("e_flash", M.flash) - - if(ishuman(M) && ishuman(user) && M.stat!=DEAD) - if(user.mind && user.mind in ticker.mode.head_revolutionaries) - var/revsafe = 0 - for(var/obj/item/weapon/implant/loyalty/L in M) - if(L && L.implanted) - revsafe = 1 - break - M.mind_initialize() //give them a mind datum if they don't have one. - if(M.mind.has_been_rev) - revsafe = 2 - if(!revsafe) - M.mind.has_been_rev = 1 - ticker.mode.add_revolutionary(M.mind) - else if(revsafe == 1) - user << "Something seems to be blocking the flash!" - else - user << "This mind seems resistant to the flash!" - user << "This mind is so vacant that it is not susceptible to influence!" - else - flashfail = 1 + flash_carbon(M, user, 5, 1) + user.visible_message("[user] blinds [M] with the flash!") + return 1 else if(issilicon(M)) M.Weaken(rand(5,10)) - else - flashfail = 1 + add_logs(M, user, "flashed", object="[src.name]") + user.visible_message("[user] overloads [M]'s sensors with the flash!") + return 1 - if(isrobot(user)) - spawn(0) - var/atom/movable/overlay/animation = new(user.loc) - animation.layer = user.layer + 1 - animation.icon_state = "blank" - animation.icon = 'icons/mob/mob.dmi' - animation.master = user - flick("blspell", animation) - sleep(5) - del(animation) - - if(!flashfail) - flick("flash2", src) - if(!issilicon(M)) - - user.visible_message("[user] blinds [M] with the flash!") - else - - user.visible_message("[user] overloads [M]'s sensors with the flash!") - else - - user.visible_message("[user] fails to blind [M] with the flash!") - - return + user.visible_message("[user] fails to blind [M] with the flash!") - - -/obj/item/device/flash/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0) - if(!user || !clown_check(user)) return - if(broken) - user.show_message("The [src.name] is broken", 2) - return - - flash_recharge() - - //spamming the flash before it's fully charged (60seconds) increases the chance of it breaking - //It will never break on the first use. - switch(times_used) - if(0 to 5) - if(prob(2*times_used)) //if you use it 5 times in a minute it has a 10% chance to break! - broken = 1 - user << "The bulb has burnt out!" - icon_state = "flashburnt" - return - times_used++ - else //can only use it 5 times a minute - user.show_message("*click* *click*", 2) - return - playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) - flick("flash2", src) - if(user && isrobot(user)) - spawn(0) - var/atom/movable/overlay/animation = new(user.loc) - animation.layer = user.layer + 1 - animation.icon_state = "blank" - animation.icon = 'icons/mob/mob.dmi' - animation.master = user - flick("blspell", animation) - sleep(5) - del(animation) - +/obj/item/device/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0) + if(!try_use_flash(user)) + return 0 for(var/mob/living/carbon/M in oviewers(3, null)) - if(prob(50)) - if (locate(/obj/item/weapon/cloaking_device, M)) - for(var/obj/item/weapon/cloaking_device/S in M) - S.active = 0 - S.icon_state = "shield0" - if(M.alpha < 255) - var/oldalpha = M.alpha - if(prob(80)) - M.alpha = 255 - M.visible_message("[M] suddenly becomes fully visible!",\ - "You see a bright flash of light and are suddenly fully visible again.") - spawn(50) - M.alpha = oldalpha - var/safety = M:eyecheck() - if(!safety) - if(!M.blinded) - flick("flash", M.flash) + flash_carbon(M, user, 3, 0) - return /obj/item/device/flash/emp_act(severity) - if(broken) return - flash_recharge() - switch(times_used) - if(0 to 5) - if(prob(2*times_used)) - broken = 1 - icon_state = "flashburnt" - return - times_used++ - if(istype(loc, /mob/living/carbon)) - var/mob/living/carbon/M = loc - var/safety = M.eyecheck() - if(safety <= 0) - M.Weaken(5) - flick("e_flash", M.flash) - for(var/mob/O in viewers(M, null)) - O.show_message("[M] is blinded by the flash!") + if(!try_use_flash()) + return 0 + for(var/mob/living/carbon/M in viewers(3, null)) + flash_carbon(M, null, 10, 0) + burn_out() ..() -/obj/item/device/flash/synthetic - name = "synthetic flash" - desc = "When a problem arises, SCIENCE is the solution." - icon_state = "sflash" - origin_tech = "magnets=2;combat=1" - var/construction_cost = list("metal"=750,"glass"=750) - var/construction_time=100 -/obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob) - ..() - if(!broken) - broken = 1 - user << "\red The bulb has burnt out!" - icon_state = "flashburnt" +/obj/item/device/flash/proc/terrible_conversion_proc(var/mob/M, var/mob/user) + if(ishuman(M) && ishuman(user) && M.stat != DEAD) + if(user.mind && ((user.mind in ticker.mode.head_revolutionaries))) + if(M.client) + if(M.stat == CONSCIOUS) + M.mind_initialize() //give them a mind datum if they don't have one. + var/resisted + if(!isloyal(M)) + if(user.mind in ticker.mode.head_revolutionaries) + if(!ticker.mode.add_revolutionary(M.mind)) + resisted = 1 + else + resisted = 1 -/obj/item/device/flash/synthetic/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0) + if(resisted) + user << "This mind seems resistant to the flash!" + else + user << "They must be conscious before you can convert them!" + else + user << "This mind is so vacant that it is not susceptible to influence!" + + +/obj/item/device/flash/cyborg + origin_tech = null + +/obj/item/device/flash/cyborg/attack(mob/living/M, mob/user) ..() - if(!broken) - broken = 1 - user << "\red The bulb has burnt out!" - icon_state = "flashburnt" + cyborg_flash_animation(user) + +/obj/item/device/flash/cyborg/attack_self(mob/user) + ..() + cyborg_flash_animation(user) + +/obj/item/device/flash/cyborg/proc/cyborg_flash_animation(var/mob/living/user) + var/atom/movable/overlay/animation = new(user.loc) + animation.layer = user.layer + 1 + animation.icon_state = "blank" + animation.icon = 'icons/mob/mob.dmi' + animation.master = user + flick("blspell", animation) + sleep(5) + del(animation) + +/obj/item/device/flash/synthetic //just a regular flash now \ No newline at end of file diff --git a/code/game/objects/items/weapons/alien_specific.dm b/code/game/objects/items/weapons/alien_specific.dm index 7026cf6f74a..ba914f4f8ce 100644 --- a/code/game/objects/items/weapons/alien_specific.dm +++ b/code/game/objects/items/weapons/alien_specific.dm @@ -56,7 +56,7 @@ //SKREEEEEEEEEEEE tool -/obj/item/device/flash/alien +/obj/item/device/flash/cyborg/alien name = "eye flash" desc = "Useful for taking pictures, making friends and flash-frying chips." icon = 'icons/mob/alien.dmi' diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index fb273ff1ed2..d7e501ea6e1 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -3,29 +3,24 @@ desc = "A stun baton for incapacitating people with." icon_state = "stunbaton" item_state = "baton" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT + flags = FPRINT | TABLEPASS force = 10 throwforce = 7 w_class = 3 origin_tech = "combat=2" attack_verb = list("beaten") - var/stunforce = 0 - var/agonyforce = 60 - var/status = 0 //whether the thing is on or not + var/stunforce = 7 + var/status = 0 var/obj/item/weapon/cell/high/bcell = null - var/mob/foundmob = "" //Used in throwing proc. - var/hitcost = 1500 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else. - var/allowharm = 1 // Allow or disallow harming with the stunbaton + var/hitcost = 1500 /obj/item/weapon/melee/baton/suicide_act(mob/user) user.visible_message("[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.") return (FIRELOSS) - -/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed. +/obj/item/weapon/melee/baton/New() ..() - bcell = new/obj/item/weapon/cell/high(src) update_icon() return @@ -33,25 +28,22 @@ bcell = locate(/obj/item/weapon/cell) in contents update_icon() +/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed. + ..() + bcell = new(src) + update_icon() + return + /obj/item/weapon/melee/baton/proc/deductcharge(var/chrgdeductamt) if(bcell) - if(bcell.rigged) - bcell.explode()//exploding baton of justice + if(bcell.charge < (hitcost+chrgdeductamt)) // If after the deduction the baton doesn't have enough charge for a stun hit it turns off. + status = 0 update_icon() - return + playsound(loc, "sparks", 75, 1, -1) + if(bcell.use(chrgdeductamt)) + return 1 else - bcell.charge -= max(chrgdeductamt,0) - if(bcell.charge < hitcost) - status = 0 - update_icon() - -/obj/item/weapon/melee/baton/examine() - set src in view(1) - ..() - if(bcell) - usr <<"The baton is [round(bcell.percent())]% charged." - if(!bcell) - usr <<"The baton does not have a power source installed." + return 0 /obj/item/weapon/melee/baton/update_icon() if(status) @@ -61,16 +53,27 @@ else icon_state = "[initial(icon_state)]" +/obj/item/weapon/melee/baton/examine(mob/user) + ..() + if(bcell) + user <<"The baton is [round(bcell.percent())]% charged." + if(!bcell) + user <<"The baton does not have a power source installed." + /obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user) if(istype(W, /obj/item/weapon/cell)) - if(!bcell) + var/obj/item/weapon/cell/C = W + if(bcell) + user << "[src] already has a cell." + else + if(C.maxcharge < hitcost) + user << "[src] requires a higher capacity cell." + return user.drop_item() W.loc = src bcell = W user << "You install a cell in [src]." update_icon() - else - user << "[src] already has a cell." else if(istype(W, /obj/item/weapon/screwdriver)) if(bcell) @@ -85,143 +88,88 @@ return /obj/item/weapon/melee/baton/attack_self(mob/user) - if(status && (M_CLUMSY in user.mutations) && prob(50)) - user << "\red You grab the [src] on the wrong side." - user.Weaken(stunforce*3) - deductcharge(hitcost) - return - if(bcell && bcell.charge) - if(bcell.charge < hitcost) - status = 0 - user << "[src] is out of charge." - else - status = !status - user << "[src] is now [status ? "on" : "off"]." - playsound(loc, "sparks", 75, 1, -1) - update_icon() + if(bcell && bcell.charge > hitcost) + status = !status + user << "[src] is now [status ? "on" : "off"]." + playsound(loc, "sparks", 75, 1, -1) else status = 0 if(!bcell) user << "[src] does not have a power source!" else user << "[src] is out of charge." + update_icon() add_fingerprint(user) -/obj/item/weapon/melee/baton/attack(mob/M, mob/user) +/obj/item/weapon/melee/baton/attack(mob/M, mob/living/user) if(status && (M_CLUMSY in user.mutations) && prob(50)) - user << "span class='danger'>You accidentally hit yourself with the [src]!" - user.Weaken(30) + user.visible_message("[user] accidentally hits themself with [src]!", \ + "You accidentally hit yourself with [src]!") + user.Weaken(stunforce*3) deductcharge(hitcost) return if(isrobot(M)) ..() return + if(!isliving(M)) + return - var/agony = agonyforce - var/stun = stunforce var/mob/living/L = M - var/target_zone = check_zone(user.zone_sel.selecting) - if(user.a_intent == "harm" && allowharm == 1) - if (!..()) //item/attack() does it's own messaging and logs - return 0 // item/attack() will return 1 if they hit, 0 if they missed. - agony *= 0.5 //whacking someone causes a much poorer contact than prodding them. - stun *= 0.5 - //we can't really extract the actual hit zone from ..(), unfortunately. Just act like they attacked the area they intended to. - else - //copied from human_defense.dm - human defence code should really be refactored some time. - if (ishuman(L)) - user.lastattacked = L //are these used at all, if we have logs? - L.lastattacker = user - - if (user != L) // Attacking yourself can't miss - target_zone = get_zone_with_miss_chance(user.zone_sel.selecting, L) - - if(!target_zone) - L.visible_message("\red [user] misses [L] with \the [src]!") - return 0 - - var/mob/living/carbon/human/H = L - var/datum/organ/external/affecting = H.get_organ(target_zone) - if (affecting) - if(!status) - L.visible_message("[L] has been prodded in the [affecting.display_name] with [src] by [user]. Luckily it was off.") - return 1 - else - H.visible_message("[L] has been prodded in the [affecting.display_name] with [src] by [user]!") + if(user.a_intent != "harm") + if(status) + baton_stun(L, user) else - if(!status) - L.visible_message("[L] has been prodded with [src] by [user]. Luckily it was off.") - return 1 - else - L.visible_message("[L] has been prodded with [src] by [user]!") + L.visible_message("[L] has been prodded with [src] by [user]. Luckily it was off.", \ + "You've been prodded with [src] by [user]. Luckily it was off") + return + else + ..() + if(status) + baton_stun(L, user) - //stun effects - L.stun_effect_act(stun, agony, target_zone, src) +/obj/item/weapon/melee/baton/proc/baton_stun(mob/living/L, mob/user) + user.lastattacked = L + L.lastattacker = user + + L.Stun(stunforce) + L.Weaken(stunforce) + L.apply_effect(STUTTER, stunforce) + + L.visible_message("[L] has been stunned with [src] by [user]!", \ + "You've been stunned with [src] by [user]!") playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) - msg_admin_attack("[key_name(user)] stunned [key_name(L)] with the [src].") - deductcharge(hitcost) + if(isrobot(loc)) + var/mob/living/silicon/robot/R = loc + if(R && R.cell) + R.cell.use(hitcost) + else + deductcharge(hitcost) if(ishuman(L)) var/mob/living/carbon/human/H = L H.forcesay(hit_appends) - return 1 - - -/obj/item/weapon/melee/baton/throw_impact(atom/hit_atom) - . = ..() - if (prob(50)) - if(istype(hit_atom, /mob/living)) - var/mob/living/carbon/human/H = hit_atom - if(status) - //stun effects - if (stunforce) - H.Stun(stunforce) - H.Weaken(stunforce) - H.apply_effect(STUTTER, stunforce) - - if (agonyforce) - //Siemens coefficient? - //TODO: Merge this with taser effects - H.apply_effect(agonyforce,AGONY,0) - H.apply_effect(STUTTER, agonyforce/10) - H.apply_effect(EYE_BLUR, agonyforce/10) - H.flash_pain() - - deductcharge(hitcost) - - if(bcell.charge < hitcost) - status = 0 - update_icon() - - - for(var/mob/M in player_list) if(M.key == src.fingerprintslast) - foundmob = M - break - - H.visible_message("[src], thrown by [foundmob.name], strikes [H] and stuns them!") - - H.attack_log += "\[[time_stamp()]\] Stunned by thrown [src.name] last touched by ([src.fingerprintslast])" - log_attack("Flying [src.name], last touched by ([src.fingerprintslast]) stunned [H.name] ([H.ckey])" ) - - if(!iscarbon(foundmob)) - H.LAssailant = null - else - H.LAssailant = foundmob + add_logs(L, user, "stunned", object="stunbaton") /obj/item/weapon/melee/baton/emp_act(severity) if(bcell) - bcell.emp_act(severity) //let's not duplicate code everywhere if we don't have to please. + deductcharge(1000 / severity) + if(bcell.reliability != 100 && prob(50/severity)) + bcell.reliability -= 10 / severity ..() //secborg stun baton module /obj/item/weapon/melee/baton/robot hitcost = 500 +/obj/item/weapon/melee/baton/robot/New() + ..() + return + /obj/item/weapon/melee/baton/robot/attack_self(mob/user) //try to find our power cell var/mob/living/silicon/robot/R = loc @@ -246,16 +194,6 @@ item_state = "prod" force = 3 throwforce = 5 - stunforce = 0 - agonyforce = 42 //less than a stunbaton and uses way more charge. + stunforce = 5 hitcost = 3750 - attack_verb = list("poked") - slot_flags = null - -/obj/item/weapon/melee/baton/cattleprod/update_icon() - if(status) - icon_state = "stunprod_active" - else if(!bcell) - icon_state = "stunprod_nocell" - else - icon_state = "stunprod" + slot_flags = null \ No newline at end of file diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 96d58bf6dc6..4838c848339 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -463,7 +463,6 @@ item_state = "crowbar_red" /obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob) - if(hasorgans(M)) var/datum/organ/external/S = M:organs_by_name[user.zone_sel.selecting] @@ -480,14 +479,27 @@ return if(S.brute_dam) - S.heal_damage(15,0,0,1) - user.visible_message("\red \The [user] patches some dents on \the [M]'s [S.display_name] with \the [src].") - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - H.updatehealth() - return + var/obj/item/weapon/weldingtool/WT = src + if (WT.remove_fuel(0,user)) + playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) + S.heal_damage(15,0,0,1) + user.visible_message("\red \The [user] patches some dents on \the [M]'s [S.display_name] with \the [src].") + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + H.updatehealth() + if(istype(M,/mob/living/carbon/human/machine) && M.stat == 0) // If an IPC is brought back to life by welding it, which is possible, update the mob list + if(M in dead_mob_list) + dead_mob_list -= M + respawnable_list -= M + living_mob_list += M + mob_list += M + return + else + user << "\red You need more welding fuel to complete this task." + return else user << "Nothing to fix!" + return else return ..() diff --git a/code/game/sound.dm b/code/game/sound.dm index 925dbb0fad2..8f76396ed4c 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -93,6 +93,10 @@ var/const/FALLOFF_SOUNDS = 0.5 S.environment = 2 src << S +/client/proc/playtitlemusic() + if(!ticker || !ticker.login_music) return + if(prefs.sound & SOUND_LOBBY) + src << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS /proc/get_rand_frequency() return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. diff --git a/code/game/vehicles/spacepods/equipment.dm b/code/game/vehicles/spacepods/equipment.dm index 0cb0d21fbc2..e8815739966 100644 --- a/code/game/vehicles/spacepods/equipment.dm +++ b/code/game/vehicles/spacepods/equipment.dm @@ -1,5 +1,4 @@ /obj/item/device/spacepod_equipment/weaponry/proc/fire_weapons() - if(my_atom.next_firetime > world.time) usr << "Your weapons are recharging." return @@ -12,37 +11,39 @@ my_atom.battery.use(shot_cost) var/olddir for(var/i = 0; i < shots_per; i++) - if(olddir != dir) - switch(dir) + if(olddir != my_atom.dir) + switch(my_atom.dir) if(NORTH) - firstloc = get_step(src, NORTH) + firstloc = get_step(my_atom, NORTH) + firstloc = get_step(firstloc, NORTH) secondloc = get_step(firstloc,EAST) if(SOUTH) - firstloc = get_turf(src) + firstloc = get_step(my_atom, SOUTH) secondloc = get_step(firstloc,EAST) if(EAST) - firstloc = get_turf(src) + firstloc = get_step(my_atom, EAST) firstloc = get_step(firstloc, EAST) secondloc = get_step(firstloc,NORTH) if(WEST) - firstloc = get_turf(src) + firstloc = get_step(my_atom, WEST) secondloc = get_step(firstloc,NORTH) olddir = dir - var/obj/item/projectile/projone = new projectile_type(firstloc) - var/obj/item/projectile/projtwo = new projectile_type(secondloc) - projone.starting = get_turf(src) + var/proj_type = text2path(projectile_type) + var/obj/item/projectile/projone = new proj_type(firstloc) + var/obj/item/projectile/projtwo = new proj_type(secondloc) + projone.starting = get_turf(my_atom) projone.shot_from = src projone.firer = usr projone.def_zone = "chest" - projtwo.starting = get_turf(src) + projtwo.starting = get_turf(my_atom) projtwo.shot_from = src projtwo.firer = usr projtwo.def_zone = "chest" spawn() playsound(src, fire_sound, 50, 1) - projone.dumbfire(dir) - projtwo.dumbfire(dir) - sleep(1) + projone.dumbfire(my_atom.dir) + projtwo.dumbfire(my_atom.dir) + sleep(2) my_atom.next_firetime = world.time + fire_delay /datum/spacepod/equipment @@ -70,44 +71,32 @@ var/shot_cost = 0 var/shots_per = 1 var/fire_sound - var/fire_delay = 10 + var/fire_delay = 20 /obj/item/device/spacepod_equipment/weaponry/taser name = "\improper taser system" desc = "A weak taser system for space pods, fires electrodes that shock upon impact." icon_state = "pod_taser" projectile_type = "/obj/item/projectile/energy/electrode" - shot_cost = 10 + shot_cost = 250 fire_sound = "sound/weapons/Taser.ogg" -/obj/item/device/spacepod_equipment/weaponry/taser/proc/fire_weapon_system() - set category = "Spacepod" - set name = "Fire Taser System" - set desc = "Fire the tasers." - set src = usr.loc - - fire_weapons() - -/obj/item/device/spacepod_equipment/weaponry/taser/burst - name = "\improper taser system" +/obj/item/device/spacepod_equipment/weaponry/burst_taser + name = "\improper burst taser system" desc = "A weak taser system for space pods, this one fires 3 at a time." icon_state = "pod_b_taser" - shot_cost = 20 + projectile_type = "/obj/item/projectile/energy/electrode" + shot_cost = 350 shots_per = 3 + fire_sound = "sound/weapons/Taser.ogg" + fire_delay = 40 /obj/item/device/spacepod_equipment/weaponry/laser name = "\improper laser system" desc = "A weak laser system for space pods, fires concentrated bursts of energy" icon_state = "pod_w_laser" projectile_type = "/obj/item/projectile/beam" - shot_cost = 15 + shot_cost = 300 fire_sound = 'sound/weapons/Laser.ogg' - fire_delay = 25 + fire_delay = 30 -/obj/item/device/spacepod_equipment/weaponry/laser/proc/fire_weapon_system() - set category = "Spacepod" - set name = "Fire Laser System" - set desc = "Fire the lasers." - set src = usr.loc - - fire_weapons() \ No newline at end of file diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm index dec4673d13b..e41bfee03fd 100644 --- a/code/game/vehicles/spacepods/spacepod.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -24,7 +24,9 @@ var/hatch_open = 0 var/next_firetime = 0 var/list/pod_overlays - var/health = 400 + var/health = 100 + var/lights = 0 + var/lights_power = 6 /obj/spacepod/New() . = ..() @@ -140,9 +142,6 @@ W.loc = equipment_system equipment_system.weapon_system = W equipment_system.weapon_system.my_atom = src - var/path = text2path("[W.type]/proc/fire_weapon_system") - if(path) - verbs += path//obj/spacepod/proc/fire_weapons return @@ -205,18 +204,16 @@ /obj/spacepod/sec name = "\improper security spacepod" - desc = "An armed security spacepod." + desc = "An armed security spacepod with reinforced armor plating." icon_state = "pod_mil" + health = 150 /obj/spacepod/sec/New() ..() - var/obj/item/device/spacepod_equipment/weaponry/taser/burst/T = new /obj/item/device/spacepod_equipment/weaponry/taser/burst + var/obj/item/device/spacepod_equipment/weaponry/taser/T = new /obj/item/device/spacepod_equipment/weaponry/taser T.loc = equipment_system equipment_system.weapon_system = T - equipment_system.weapon_system.my_atom = T - var/path = text2path("[T.type]/proc/fire_weapon_system") - if(path) - verbs += path//obj/spacepod/proc/fire_weapons + equipment_system.weapon_system.my_atom = src return /obj/spacepod/random/New() @@ -368,12 +365,12 @@ src.occupant = null usr << "You climb out of the pod" return - + /obj/spacepod/verb/toggleDoors() set name = "Toggle Nearby Pod Doors" set category = "Spacepod" set src = usr.loc - + for(var/obj/machinery/door/poddoor/P in oview(3,src)) if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver)) var/mob/living/carbon/human/L = usr @@ -384,9 +381,30 @@ else P.close() return 1 - usr << "Access denied." + usr << "Access denied." return - usr << "You are not close to any pod doors." + usr << "You are not close to any pod doors." + return + +/obj/spacepod/verb/fireWeapon() + set name = "Fire Pod Weapons" + set desc = "Fire the weapons." + set category = "Spacepod" + set src = usr.loc + equipment_system.weapon_system.fire_weapons() + +obj/spacepod/verb/toggleLights() + set name = "Toggle Lights" + set category = "Spacepod" + set src = usr.loc + if (usr != occupant) + return + lights = !lights + if(lights) + SetLuminosity(luminosity + lights_power) + else + SetLuminosity(luminosity - lights_power) + occupant << "Toggled lights [lights?"on":"off"]." return /obj/spacepod/proc/enter_after(delay as num, var/mob/user as mob, var/numticks = 5) diff --git a/code/global.dm b/code/global.dm index 7f4e9487828..3818db51cc1 100644 --- a/code/global.dm +++ b/code/global.dm @@ -12,6 +12,8 @@ var/global/list/machines = list() var/global/list/processing_objects = list() var/global/list/active_diseases = list() var/global/list/events = list() +var/global/list/med_hud_users = list() +var/global/list/sec_hud_users = list() //items that ask to be called every cycle var/global/defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 1ae25534cd8..004e572ddf5 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1618,9 +1618,6 @@ var/obj/pageobj = B.contents[page] data += "Page [page] - [pageobj.name]
" - world << data - world << "Sent by: [usr]" - usr << browse(data, "window=[B.name]") else usr << "\red The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index acd0a4585a4..e832922a0ef 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -310,6 +310,7 @@ datum/preferences dat += "-Color: [UI_style_color]
__

" dat += "-Alpha(transparence): [UI_style_alpha]
" dat += "Play admin midis: [(sound & SOUND_MIDI) ? "Yes" : "No"]
" + dat += "Play lobby music: [(sound & SOUND_LOBBY) ? "Yes" : "No"]
" dat += "Randomized Character Slot: [randomslot ? "Yes" : "No"]
" dat += "Ghost ears: [(toggles & CHAT_GHOSTEARS) ? "Nearest Creatures" : "All Speech"]
" dat += "Ghost sight: [(toggles & CHAT_GHOSTSIGHT) ? "Nearest Creatures" : "All Emotes"]
" @@ -1291,6 +1292,13 @@ datum/preferences if("hear_midis") sound ^= SOUND_MIDI + if("lobby_music") + sound ^= SOUND_LOBBY + if(sound & SOUND_LOBBY) + user << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) + else + user << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) + if("ghost_ears") toggles ^= CHAT_GHOSTEARS diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index a9b9d9aad9c..196674eefde 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -59,6 +59,21 @@ src << "You will [(prefs.toggles & CHAT_PRAYER) ? "now" : "no longer"] see prayerchat." feedback_add_details("admin_verb","TP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/verb/toggletitlemusic() + set name = "Hear/Silence LobbyMusic" + set category = "Preferences" + set desc = "Toggles hearing the GameLobby music" + prefs.sound ^= SOUND_LOBBY + prefs.save_preferences(src) + if(prefs.sound & SOUND_LOBBY) + src << "You will now hear music in the game lobby." + if(istype(mob, /mob/new_player)) + playtitlemusic() + else + src << "You will no longer hear music in the game lobby." + if(istype(mob, /mob/new_player)) + src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jamsz + feedback_add_details("admin_verb","TLobby") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/togglemidis() set name = "Hear/Silence Midis" diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 1382b25ef07..09f5db93afe 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -28,24 +28,10 @@ darkness_view = 8 /obj/item/clothing/glasses/hud/health/process_hud(var/mob/M) - if(!M) return - if(!M.client) return - var/client/C = M.client - for(var/mob/living/carbon/human/patient in view(get_turf(M))) - if(M.see_invisible < patient.invisibility) - continue - C.images += patient.hud_list[HEALTH_HUD] - C.images += patient.hud_list[STATUS_HUD] + process_med_hud(M,1) /obj/item/clothing/glasses/hud/health_advanced/process_hud(var/mob/M) - if(!M) return - if(!M.client) return - var/client/C = M.client - for(var/mob/living/carbon/human/patient in view(get_turf(M))) - if(M.see_invisible < patient.invisibility) - continue - C.images += patient.hud_list[HEALTH_HUD] - C.images += patient.hud_list[STATUS_HUD] + process_sec_hud(M,1) /obj/item/clothing/glasses/hud/security diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 070d89ffa9d..8eaf1c3ee7b 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -8,7 +8,7 @@ if (M.internals) M.internals.icon_state = "internal1" - M.generate_name() + //M.generate_name() if( M.species.name=="Tajaran" || M.species.name=="Unathi" ) if(M.mind.assigned_role == "Cyborg" || M.mind.assigned_role == "Clown") diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index fa09d87f22a..1e7a9da9a76 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -1,6 +1,9 @@ /mob/living/carbon/brain/say(var/message) if (silent) return + + if (stat == 2) // Dead. + return say_dead(message) if(!(container && (istype(container, /obj/item/device/mmi) || istype(container, /obj/item/device/mmi/posibrain)))) return //No MMI, can't speak, bucko./N diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 882d972ddd7..7d307c92aac 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -219,8 +219,6 @@ "\blue [M] gives [src] a [pick("hug","warm embrace")].", \ "\blue You hug [src].", \ ) - if(prob(10)) - src.emote("fart") /mob/living/carbon/proc/eyecheck() diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index f18ab76d718..55e894b90bf 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -5,13 +5,13 @@ canmove = 0 icon = null invisibility = 101 + if(!(species.flags & IS_SYNTHETIC)) + animation = new(loc) + animation.icon_state = "blank" + animation.icon = 'icons/mob/mob.dmi' + animation.master = src - animation = new(loc) - animation.icon_state = "blank" - animation.icon = 'icons/mob/mob.dmi' - animation.master = src - - playsound(src.loc, 'sound/effects/gib.ogg', 100, 1, 10) + playsound(src.loc, 'sound/effects/gib.ogg', 100, 1, 10) for(var/datum/organ/external/E in src.organs) if(istype(E, /datum/organ/external/chest)) @@ -20,9 +20,15 @@ if(prob(100 - E.get_damage())) // Override the current limb status and don't cause an explosion E.droplimb(1,1) - - flick("gibbed-h", animation) - hgibs(loc, viruses, dna) + + if(!(species.flags & IS_SYNTHETIC)) + flick("gibbed-h", animation) + hgibs(loc, viruses, dna) + else + new /obj/effect/decal/cleanable/robot_debris(src.loc) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() spawn(15) if(animation) del(animation) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index a59a0c8d636..28afe49ab45 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -635,8 +635,11 @@ // Needed for M_TOXIC_FART if("fart") if(world.time-lastFart >= 600) - playsound(src.loc, 'sound/effects/fart.ogg', 50, 1, -3) //Admins voted no to fun - message = "[src] [pick("passes wind","farts")]." +// playsound(src.loc, 'sound/effects/fart.ogg', 50, 1, -3) //Admins still vote no to fun + if(M_TOXIC_FARTS in mutations) + message = "[src] unleashes a [pick("horrible","terrible","foul","disgusting","awful")] fart." + else + message = "[src] [pick("passes wind","farts")]." m_type = 2 var/turf/location = get_turf(src) @@ -644,38 +647,31 @@ if(M_SUPER_FART in mutations) aoe_range+=3 //Was 5 - // If we're wearing a suit, don't blast or gas those around us. + /* // If we're wearing a suit, don't blast or gas those around us. var/wearing_suit=0 var/wearing_mask=0 if(wear_suit && wear_suit.body_parts_covered & LOWER_TORSO) wearing_suit=1 if (internal != null && wear_mask && (wear_mask.flags & MASKINTERNALS)) - wearing_mask=1 + wearing_mask=1 */ // Process toxic farts first. if(M_TOXIC_FARTS in mutations) - if(wearing_suit) - if(!wearing_mask) - src << "\red You gas yourself!" - reagents.add_reagent("space_drugs", rand(10,20)) - else - // Was /turf/, now /mob/ - - for(var/mob/M in range(location,aoe_range)) - if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS)) - continue - if(!airborne_can_reach(location,M,aoe_range)) - continue - // Now, we don't have this: - //new /obj/effects/fart_cloud(T,L) - // But: - // <[REDACTED]> so, what it does is...imagine a 3x3 grid with the person in the center. When someone uses the emote *fart (it's not a spell style ability and has no cooldown), then anyone in the 8 tiles AROUND the person who uses it - // <[REDACTED]> gets between 1 and 10 units of jenkem added to them...we obviously don't have Jenkem, but Space Drugs do literally the same exact thing as Jenkem - // <[REDACTED]> the user, of course, isn't impacted because it's not an actual smoke cloud - // So, let's give 'em space drugs. - if (M == src) - continue - M.reagents.add_reagent("space_drugs",rand(1,10)) + for(var/mob/M in range(location,aoe_range)) + if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS)) + continue + if(!airborne_can_reach(location,M,aoe_range)) + continue + // Now, we don't have this: + //new /obj/effects/fart_cloud(T,L) + // But: + // <[REDACTED]> so, what it does is...imagine a 3x3 grid with the person in the center. When someone uses the emote *fart (it's not a spell style ability and has no cooldown), then anyone in the 8 tiles AROUND the person who uses it + // <[REDACTED]> gets between 1 and 10 units of jenkem added to them...we obviously don't have Jenkem, but Space Drugs do literally the same exact thing as Jenkem + // <[REDACTED]> the user, of course, isn't impacted because it's not an actual smoke cloud + // So, let's give 'em space drugs. + if (M == src) + continue + M.reagents.add_reagent("space_drugs",rand(1,10)) /* var/datum/effect/effect/system/smoke_spread/chem/fart/S = new /datum/effect/effect/system/smoke_spread/chem/fart S.attach(location) @@ -686,23 +682,21 @@ S.start() */ if(M_SUPER_FART in mutations) - playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) visible_message("\red [name] hunches down and grits their teeth!") if(do_after(usr,30)) visible_message("\red [name] unleashes a [pick("tremendous","gigantic","colossal")] fart!","You hear a [pick("tremendous","gigantic","colossal")] fart.") //playsound(L.loc, 'superfart.ogg', 50, 0) - if(!wearing_suit) - for(var/mob/living/V in range(location,aoe_range)) - shake_camera(V,10,5) - if (V == src) - continue - if(!airborne_can_reach(get_turf(src), get_turf(V))) - continue - V << "\red You are sent flying!" - V.Weaken(5) // why the hell was this set to 12 christ - step_away(V,location,15) - step_away(V,location,15) - step_away(V,location,15) + for(var/mob/living/V in range(location,aoe_range)) + shake_camera(V,10,5) + if (V == src) + continue + if(!airborne_can_reach(get_turf(src), get_turf(V))) + continue + V << "\red You are sent flying!" + V.Weaken(5) // why the hell was this set to 12 christ + step_away(V,location,15) + step_away(V,location,15) + step_away(V,location,15) else usr << "\red You were interrupted and couldn't fart! Rude!" lastFart=world.time diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d4bd758201d..3f8953c397a 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -474,30 +474,15 @@ return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(H.glasses, /obj/item/clothing/glasses/hud/health_advanced) else return 0 - else if(istype(M, /mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = M + else if(istype(M, /mob/living/silicon)) + var/mob/living/silicon/R = M switch(hudtype) if("security") - for(var/obj/I in R.contents) - if(istype(I, /obj/item/borg/sight/hud/sec)) - return 1 + if(R.sensor_mode == 1) + return 1 if("medical") - for(var/obj/I in R.contents) - if(istype(I, /obj/item/borg/sight/hud/med)) - return 1 - else - return 0 - else if(istype(M, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/A = M - switch(hudtype) - if("security") - for(var/obj/I in A.contents) - if(istype(I, /obj/item/borg/sight/hud/sec)) - return 1 - if("medical") - for(var/obj/I in A.contents) - if(istype(I, /obj/item/borg/sight/hud/med)) - return 1 + if(R.sensor_mode == 2) + return 1 else return 0 else diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 250e17f4101..904cc91cdc9 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1555,7 +1555,7 @@ //Check for ID var/obj/item/weapon/card/id/idcard = get_idcard() - if(judgebot.idcheck && !idcard && name=="Unknown") + if(judgebot.idcheck && !idcard) threatcount += 4 //Check for weapons diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 1f2b53fe5f4..046fad8d152 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1672,6 +1672,9 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc proc/handle_decay() var/decaytime = world.time - timeofdeath + + if(species.flags & IS_SYNTHETIC) + return if(decaytime <= 6000) //10 minutes for decaylevel1 -- stinky return diff --git a/code/modules/mob/living/carbon/metroid/hud.dm b/code/modules/mob/living/carbon/metroid/hud.dm index cfaa7f4f169..c5282b9a839 100644 --- a/code/modules/mob/living/carbon/metroid/hud.dm +++ b/code/modules/mob/living/carbon/metroid/hud.dm @@ -1,2 +1,2 @@ -/mob/living/carbon/slime/proc/regular_hud_updates() +/mob/living/carbon/slime/regular_hud_updates() return \ No newline at end of file diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 113f00e1fb9..73c5f3b1857 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -64,12 +64,13 @@ src <<"\red You have been hit by [P]!" del P return -*/ + if(istype(P, /obj/item/projectile/energy/electrode) || istype(P, /obj/item/projectile/bullet/stunshot)) stun_effect_act(0, P.agony, def_zone, P) src <<"\red You have been hit by [P]!" del P return +*/ //Armor var/absorb = run_armor_check(def_zone, P.flag) @@ -81,7 +82,7 @@ if(!P.nodamage) apply_damage(P.damage, P.damage_type, def_zone, absorb, 0, P, sharp=proj_sharp, edge=proj_edge) - + P.on_hit(src, absorb, def_zone) if(istype(P, /obj/item/projectile/beam/lightning)) if(P.damage >= 200) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ecdfd40b84c..64f5c33dbc6 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -10,11 +10,11 @@ var/list/department_radio_keys = list( ":s" = "Security", "#s" = "Security", ".s" = "Security", ":w" = "whisper", "#w" = "whisper", ".w" = "whisper", ":b" = "binary", "#b" = "binary", ".b" = "binary", - ":d" = "drone", "#d" = "drone", ".d" = "drone", + ":d" = "drone", "#d" = "drone", ".d" = "drone", ":a" = "alientalk", "#a" = "alientalk", ".a" = "alientalk", ":t" = "Syndicate", "#t" = "Syndicate", ".t" = "Syndicate", ":u" = "Supply", "#u" = "Supply", ".u" = "Supply", - ":z" = "Service", "#z" = "Service", ".z" = "Service", + ":z" = "Service", "#z" = "Service", ".z" = "Service", ":g" = "changeling", "#g" = "changeling", ".g" = "changeling", @@ -28,14 +28,14 @@ var/list/department_radio_keys = list( ":E" = "Engineering", "#E" = "Engineering", ".E" = "Engineering", ":S" = "Security", "#S" = "Security", ".S" = "Security", ":W" = "whisper", "#W" = "whisper", ".W" = "whisper", - ":D" = "drone", "#D" = "drone", ".D" = "drone", + ":D" = "drone", "#D" = "drone", ".D" = "drone", ":B" = "binary", "#B" = "binary", ".B" = "binary", ":A" = "alientalk", "#A" = "alientalk", ".A" = "alientalk", ":T" = "Syndicate", "#T" = "Syndicate", ".T" = "Syndicate", ":U" = "Supply", "#U" = "Supply", ".U" = "Supply", ":Z" = "Service", "#Z" = "Service", ".Z" = "Service", ":G" = "changeling", "#G" = "changeling", ".G" = "changeling" - + /* //kinda localization -- rastaf0 //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. ":ê" = "right hand", "#ê" = "right hand", ".ê" = "right hand", @@ -185,8 +185,8 @@ var/list/department_radio_keys = list( if (!(istype(src,/mob/living/carbon/human) && !isAI(src) && !isrobot(src) || istype(src,/mob/living/carbon/monkey) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src) && (message_mode=="department") || isAI(src) && (message_mode=="department") || (message_mode in radiochannels))) message_mode = null //only humans can use headsets - if(src.stunned > 2 || (traumatic_shock > 61 && prob(50))) - message_mode = null //Stunned people shouldn't be able to physically turn on their radio/hold down the button to speak into it + if(traumatic_shock > 61 && prob(50)) + message_mode = null //people in shock will have a high chance of not being able to speak on radio; needed since people don't instantly pass out at 100 damage. message = capitalize(message) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 08cca9e9c04..47c5f3c496c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -830,23 +830,10 @@ var/list/ai_list = list() lightNearbyCamera() /mob/living/silicon/ai/proc/control_hud() - set name = "Toggle Sensors" - set desc = "Toggles your sensors to display security records, medical records or nothing." + set name = "Set Sensor Augmentation" + set desc = "Augment visual feed with internal sensor overlays." set category = "AI Commands" - - if(stat != 0) - return - - var/hud = input("Please select a sensor module!", "Toggle Sensors", "None", null) in list("None","Security","Medical") - for(var/obj/item/borg/sight/hud/H in contents) - del(H) - switch(hud) - if("Security") - sechud = new/obj/item/borg/sight/hud/sec(src) - if("Medical") - healthhud = new/obj/item/borg/sight/hud/med(src) - else - return + toggle_sensor_mode() // Handled camera lighting, when toggled. // It will get the nearest camera from the eyeobj, lighting it. diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index bd54abad2c4..a4a0d5bdc28 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -1,7 +1,4 @@ /mob/living/silicon/ai/Life() - if(client) - handle_regular_hud_updates() - if (src.stat == 2) return else //I'm not removing that shitton of tabs, unneeded as they are. -- Urist @@ -176,6 +173,13 @@ sleep(50) theAPC = null + regular_hud_updates() + switch(src.sensor_mode) + if (SEC_HUD) + process_sec_hud(src,1,src.eyeobj) + if (MED_HUD) + process_med_hud(src,1,src.eyeobj) + /mob/living/silicon/ai/updatehealth() if(status_flags & GODMODE) health = 100 @@ -184,12 +188,4 @@ if(fire_res_on_core) health = 100 - getOxyLoss() - getToxLoss() - getBruteLoss() else - health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - -/mob/living/silicon/ai/proc/handle_regular_hud_updates() - for(var/image/hud in client.images) //COPIED FROM the human handle_regular_hud_updates() proc - if(copytext(hud.icon_state,1,4) == "hud") //ugly, but icon comparison is worse, I believe - client.images.Remove(hud) - - var/obj/item/borg/sight/hud/hud = (locate(/obj/item/borg/sight/hud) in src) - if(hud && hud.hud) hud.hud.process_hud(src) \ No newline at end of file + health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/hud.dm b/code/modules/mob/living/silicon/pai/hud.dm deleted file mode 100644 index 8aecc924366..00000000000 --- a/code/modules/mob/living/silicon/pai/hud.dm +++ /dev/null @@ -1,110 +0,0 @@ -/mob/living/silicon/pai/proc/regular_hud_updates() - if(client) - for(var/image/hud in client.images) - if(copytext(hud.icon_state,1,4) == "hud") - client.images -= hud - -/mob/living/silicon/pai/proc/securityHUD() - if(client) - var/image/holder - var/turf/T = get_turf_or_move(src.loc) - for(var/mob/living/carbon/human/perp in view(T)) - if(src.see_invisible < perp.invisibility) - continue - var/perpname = "wot" - holder = perp.hud_list[ID_HUD] - if(perp.wear_id) - var/obj/item/weapon/card/id/I = perp.wear_id.GetID() - if(I) - perpname = I.registered_name - holder.icon_state = "hud[ckey(perp:wear_id:GetJobName())]" - client.images += holder - else - perpname = perp.name - holder.icon_state = "hudunknown" - client.images += holder - else - holder.icon_state = "hudunknown" - client.images += holder - - for(var/datum/data/record/E in data_core.general) - if(E.fields["name"] == perpname) - holder = perp.hud_list[WANTED_HUD] - for(var/datum/data/record/R in data_core.security) - if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*")) - holder.icon_state = "hudwanted" - client.images += holder - break - else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated")) - holder.icon_state = "hudprisoner" - client.images += holder - break - else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Parolled")) - holder.icon_state = "hudparolled" - client.images += holder - break - else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Released")) - holder.icon_state = "hudreleased" - client.images += holder - break - -/mob/living/silicon/pai/proc/medicalHUD() - if(client) - var/image/holder - var/turf/T = get_turf_or_move(src.loc) - for(var/mob/living/carbon/human/patient in view(T)) - if(src.see_invisible < patient.invisibility) - continue - var/foundVirus = 0 - - for (var/ID in patient.virus2) - if (ID in virusDB) - foundVirus = 1 - break - - holder = patient.hud_list[HEALTH_HUD] - if(patient.stat == 2) - holder.icon_state = "hudhealth-100" - client.images += holder - else - holder.icon_state = "hud[RoundHealth(patient.health)]" - client.images += holder - - holder = patient.hud_list[STATUS_HUD] - if(patient.stat == 2) - holder.icon_state = "huddead" - else if(patient.status_flags & XENO_HOST) - holder.icon_state = "hudxeno" - else if(foundVirus) - holder.icon_state = "hudill" - else if(patient.has_brain_worms()) - var/mob/living/simple_animal/borer/B = patient.has_brain_worms() - if(B.controlling) - holder.icon_state = "hudbrainworm" - else - holder.icon_state = "hudhealthy" - else - holder.icon_state = "hudhealthy" - client.images += holder - -/mob/living/silicon/pai/proc/RoundHealth(health) - switch(health) - if(100 to INFINITY) - return "health100" - if(70 to 100) - return "health80" - if(50 to 70) - return "health60" - if(30 to 50) - return "health40" - if(20 to 30) - return "health25" - if(5 to 15) - return "health10" - if(1 to 5) - return "health1" - if(-99 to 0) - return "health0" - else - return "health-100" - return "0" \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 0054b32f57f..5ddbc0efe38 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -10,9 +10,9 @@ regular_hud_updates() if(src.secHUD == 1) - src.securityHUD() + process_sec_hud(src, 1) if(src.medHUD == 1) - src.medicalHUD() + process_med_hud(src, 1) if(silence_time) if(world.timeofday >= silence_time) silence_time = null diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 7a30a91b8f4..e60aa9d2c90 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -177,12 +177,17 @@ src.see_in_dark = 8 src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - for(var/image/hud in client.images) //COPIED FROM the human handle_regular_hud_updates() proc - if(copytext(hud.icon_state,1,4) == "hud") //ugly, but icon comparison is worse, I believe - client.images.Remove(hud) + regular_hud_updates() var/obj/item/borg/sight/hud/hud = (locate(/obj/item/borg/sight/hud) in src) - if(hud && hud.hud) hud.hud.process_hud(src) + if(hud && hud.hud) + hud.hud.process_hud(src) + else + switch(src.sensor_mode) + if (SEC_HUD) + process_sec_hud(src,1) + if (MED_HUD) + process_med_hud(src,1) if (src.healths) if (src.stat != 2) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 29c1d27e26e..7329eb5b677 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -460,23 +460,10 @@ src << "\red You enable [C.name]." /mob/living/silicon/robot/verb/control_hud() - set name = "Toggle Sensors" - set desc = "Toggles your sensors to display security records, medical records or nothing." + set name = "Set Sensor Augmentation" + set desc = "Augment visual feed with internal sensor overlays." set category = "Robot Commands" - - if(stat != 0) - return - - var/hud = input("Please select a sensor module!", "Toggle Sensors", "None", null) in list("None","Security","Medical") - for(var/obj/item/borg/sight/hud/H in contents) - del(H) - switch(hud) - if("Security") - sechud = new/obj/item/borg/sight/hud/sec(src) - if("Medical") - healthhud = new/obj/item/borg/sight/hud/med(src) - else - return + toggle_sensor_mode() /mob/living/silicon/robot/blob_act() if (stat != 2) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 38fd15f0cd3..7f97febc907 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -24,7 +24,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.emag = new /obj/item/toy/sword(src) src.emag.name = "Placeholder Emag Item" // src.jetpack = new /obj/item/toy/sword(src) @@ -62,7 +62,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/melee/baton/loaded(src) src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/wrench(src) @@ -80,7 +80,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/weapon/reagent_containers/borghypo/surgeon(src) src.modules += new /obj/item/weapon/scalpel(src) @@ -119,7 +119,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/device/reagent_scanner/adv(src) src.modules += new /obj/item/roller_holder(src) @@ -164,7 +164,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/borg/sight/meson(src) src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/rcd/borg(src) @@ -187,7 +187,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/borg/sight/meson(src) src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/weldingtool/largetank(src) @@ -228,7 +228,7 @@ New() src.modules += new /obj/item/device/flashlight/seclite(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton/robot(src) src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) @@ -244,7 +244,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/soap/nanotrasen(src) src.modules += new /obj/item/weapon/storage/bag/trash(src) src.modules += new /obj/item/weapon/mop(src) @@ -264,7 +264,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) @@ -291,7 +291,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/pen/robopen(src) src.modules += new /obj/item/weapon/form_printer(src) src.modules += new /obj/item/device/taperecorder(src) @@ -312,7 +312,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/borg/sight/meson(src) src.modules += new /obj/item/weapon/wrench(src) src.modules += new /obj/item/weapon/screwdriver(src) @@ -326,7 +326,7 @@ name = "NT advanced combat module" /obj/item/weapon/robot_module/deathsquad/New() - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/borg/sight/thermal(src) src.modules += new /obj/item/weapon/melee/energy/sword/cyborg(src) @@ -340,7 +340,7 @@ name = "syndicate robot module" /obj/item/weapon/robot_module/syndicate/New() - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/weapon/melee/energy/sword/cyborg(src) src.modules += new /obj/item/weapon/gun/energy/crossbow/cyborg(src) @@ -356,7 +356,7 @@ New() src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/borg/sight/thermal(src) src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) @@ -371,7 +371,7 @@ New() src.modules += new /obj/item/weapon/melee/energy/alien/claws(src) - src.modules += new /obj/item/device/flash/alien(src) + src.modules += new /obj/item/device/flash/cyborg/alien(src) src.modules += new /obj/item/borg/sight/thermal/alien(src) var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src) S.reagents.add_reagent("stoxin",250) //nerfed to sleeptoxin to make it less instant drop. diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index bf980fe365e..6f88c99c71e 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -17,6 +17,9 @@ var/speak_exclamation = "declares" var/speak_query = "queries" var/pose //Yes, now AIs can pose too. + var/sensor_mode = 0 //Determines the current HUD. + #define SEC_HUD 1 //Security HUD mode + #define MED_HUD 2 //Medical HUD mode /mob/living/silicon/proc/cancelAlarm() return @@ -254,3 +257,16 @@ set category = "IC" flavor_text = copytext(sanitize(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text), 1) + +/mob/living/silicon/proc/toggle_sensor_mode() + var/sensor_type = input("Please select sensor type.", "Sensor Integration", null) in list("Security", "Medical","Disable") + switch(sensor_type) + if ("Security") + sensor_mode = SEC_HUD + src << "Security records overlay enabled." + if ("Medical") + sensor_mode = MED_HUD + src << "Life signs monitor overlay enabled." + if ("Disable") + sensor_mode = 0 + src << "Sensor augmentations disabled." diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 6c4230439ea..a32e373fccd 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -33,3 +33,4 @@ spawn(40) if(client) handle_privacy_poll() + client.playtitlemusic() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index c688127ad2b..1223913f0ce 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -633,6 +633,12 @@ obj/structure/cable/proc/cableColor(var/colorC) if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M H.updatehealth() + if(istype(M,/mob/living/carbon/human/machine) && M.stat == 0) // If an IPC is brought back to life by welding it, which is possible, update the mob list + if(M in dead_mob_list) + dead_mob_list -= M + respawnable_list -= M + living_mob_list += M + mob_list += M return else user << "Nothing to fix!" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index a7f59cbecdf..e11a604b45e 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -19,7 +19,7 @@ charge_cost = 100 fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/energy/electrode/revolver" + projectile_type = "/obj/item/projectile/energy/electrode" if(0) mode = 1 charge_cost = 100 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 06ae671bd87..6826924c6e5 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -232,3 +232,13 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. power_supply.give(5000) playsound(src.loc, 'sound/weapons/shotgunpump.ogg', 60, 1) return + + +/obj/item/weapon/gun/energy/disabler + name = "disabler" + desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." + icon_state = "disabler" + item_state = null + projectile_type = "/obj/item/projectile/energy/disabler" + cell_type = "/obj/item/weapon/cell" + charge_cost = 500 \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 487ba361f9d..41e3764fdfe 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,7 +6,7 @@ item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' projectile_type = "/obj/item/projectile/energy/electrode" - cell_type = "/obj/item/weapon/cell" + cell_type = "/obj/item/weapon/cell/crap" /obj/item/weapon/gun/energy/taser/cyborg name = "taser gun" @@ -29,7 +29,7 @@ /obj/item/weapon/gun/energy/taser/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg return 1 - + /obj/item/weapon/gun/energy/taser/cyborg/process_chambered() if(in_chamber) return 1 @@ -46,9 +46,9 @@ name = "stun revolver" desc = "A high-tech revolver that fires stun cartridges. The stun cartridges can be recharged using a conventional energy weapon recharger." icon_state = "stunrevolver" - fire_sound = 'sound/weapons/Taser.ogg' + fire_sound = "sound/weapons/gunshot.ogg" origin_tech = "combat=3;materials=3;powerstorage=2" - projectile_type = "/obj/item/projectile/energy/electrode/revolver" + projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/cell" @@ -77,10 +77,10 @@ /obj/item/weapon/gun/energy/crossbow/process() charge_tick++ - if(charge_tick < 4) + if(charge_tick < 4) return 0 charge_tick = 0 - if(!power_supply) + if(!power_supply) return 0 power_supply.give(1000) return 1 @@ -92,8 +92,8 @@ desc = "An energy-based crossbow that draws power from the cyborg's internal energy cell directly." /obj/item/weapon/gun/energy/crossbow/cyborg/process() - return 1 - + return 1 + /obj/item/weapon/gun/energy/crossbow/cyborg/process_chambered() if(in_chamber) return 1 diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 15e8b3af1fa..c5be6dcd6fa 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -10,13 +10,9 @@ name = "electrode" icon_state = "spark" nodamage = 1 - /* - stun = 10 - weaken = 10 - stutter = 10 - */ - agony = 40 - damage_type = HALLOSS + stun = 5 + weaken = 5 + stutter = 5 hitsound = 'sound/weapons/tase.ogg' //Damage will be handled on the MOB side, to prevent window shattering. @@ -74,3 +70,15 @@ damage = 20 damage_type = TOX irradiate = 20 + +/obj/item/projectile/energy/disabler + name = "disabler beam" + icon_state = "omnilaser" + damage = 34 + damage_type = HALLOSS + var/range = 8 + +/obj/item/projectile/energy/disabler/Range() + range-- + if(range <= 0) + del(src) \ No newline at end of file diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index b97908a76ab..f4736a33fdd 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -251,6 +251,7 @@ icon_state = "virusfoodtank" amount_per_transfer_from_this = 10 anchored = 1 + density = 0 New() ..() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 85ad55e083c..eea7cdb687f 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1579,6 +1579,16 @@ datum/design/adv_reagent_scanner reliability_base = 74 build_path = "/obj/item/device/reagent_scanner/adv" +datum/design/cyborg_analyzer + name = "Cyborg Analyzer" + desc = "A hand-held scanner able to diagnose robotic injuries." + id = "cyborg_analyzer" + req_tech = list("programming" = 2, "biotech" = 2, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 30, "$glass" = 20) + reliability_base = 74 + build_path = "/obj/item/device/robotanalyzer" + datum/design/mmi name = "Man-Machine Interface" desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." @@ -1602,7 +1612,7 @@ datum/design/mmi_radio category = "Misc" datum/design/synthetic_flash - name = "Synthetic Flash" + name = "Flash" desc = "When a problem arises, SCIENCE is the solution." id = "sflash" req_tech = list("magnets" = 3, "combat" = 2) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact.dm b/code/modules/research/xenoarchaeology/artifact/artifact.dm index 669ae3d17b0..1ba21f79667 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact.dm @@ -44,6 +44,25 @@ /obj/structure/boulder/New() icon_state = "boulder[rand(1,4)]" excavation_level = rand(5,50) + +/obj/structure/boulder/Bumped(AM) + . = ..() + if(istype(AM,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = AM + if((istype(H.l_hand,/obj/item/weapon/pickaxe)) && (!H.hand)) + attackby(H.l_hand,H) + else if((istype(H.r_hand,/obj/item/weapon/pickaxe)) && H.hand) + attackby(H.r_hand,H) + + else if(istype(AM,/mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = AM + if(istype(R.module_active,/obj/item/weapon/pickaxe)) + attackby(R.module_active,R) + + else if(istype(AM,/obj/mecha)) + var/obj/mecha/M = AM + if(istype(M.selected,/obj/item/mecha_parts/mecha_equipment/tool/drill)) + M.selected.action(src) /obj/structure/boulder/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/device/core_sampler)) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index daec3c36eca..13a90e1ab2d 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -128,6 +128,8 @@ if (target.op_stage.face == 3) var/datum/organ/external/head/h = affected h.disfigured = 0 + h.update_icon() + target.regenerate_icons() target.op_stage.face = 0 fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/modules/surgery/headreattach.dm b/code/modules/surgery/headreattach.dm index 43d5c3c44d2..3c49a9e8c0a 100644 --- a/code/modules/surgery/headreattach.dm +++ b/code/modules/surgery/headreattach.dm @@ -26,20 +26,28 @@ min_duration = 80 max_duration = 100 - + can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) return ..() && !(affected.status & ORGAN_CUT_AWAY) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts peeling back tattered flesh where [target]'s head used to be with \the [tool].", \ - "You start peeling back tattered flesh where [target]'s head used to be with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("[user] starts peeling back tattered flesh where [target]'s head used to be with \the [tool].", \ + "You start peeling back tattered flesh where [target]'s head used to be with \the [tool].") + else + user.visible_message("[user] starts peeling back metal where [target]'s head used to be with \the [tool].", \ + "You start peeling back metal where [target]'s head used to be with \the [tool].") ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] peels back tattered flesh where [target]'s head used to be with \the [tool].", \ - "\blue You peel back tattered flesh where [target]'s head used to be with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("\blue [user] peels back tattered flesh where [target]'s head used to be with \the [tool].", \ + "\blue You peel back tattered flesh where [target]'s head used to be with \the [tool].") + else + user.visible_message("\blue [user] peels back metal where [target]'s head used to be with \the [tool].", \ + "\blue You peel back metal where [target]'s head used to be with \the [tool].") affected.status |= ORGAN_CUT_AWAY fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -47,7 +55,7 @@ if (affected.parent) affected = affected.parent user.visible_message("\red [user]'s hand slips, ripping [target]'s [affected.display_name] open!", \ - "\red Your hand slips, ripping [target]'s [affected.display_name] open!") + "\red Your hand slips, ripping [target]'s [affected.display_name] open!") affected.createwound(CUT, 10) @@ -72,16 +80,25 @@ ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("\blue [user] has finished repositioning flesh and tissue to something anatomically recognizable where [target]'s head used to be with \the [tool].", \ - "\blue You have finished repositioning flesh and tissue to something anatomically recognizable where [target]'s head used to be with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("\blue [user] has finished repositioning flesh and tissue to something anatomically recognizable where [target]'s head used to be with \the [tool].", \ + "\blue You have finished repositioning flesh and tissue to something anatomically recognizable where [target]'s head used to be with \the [tool].") + else + user.visible_message("\blue [user] has finished repositioning metal to something recognizable where [target]'s head used to be with \the [tool].", \ + "\blue You have finished repositioning metal to something anatomically recognizable where [target]'s head used to be with \the [tool].") + target.op_stage.head_reattach = 1 fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) if (affected.parent) affected = affected.parent + if(!(target.species.flags & IS_SYNTHETIC)) user.visible_message("\red [user]'s hand slips, further rending flesh on [target]'s neck!", \ "\red Your hand slips, further rending flesh on [target]'s neck!") + else + user.visible_message("\red [user]'s hand slips, further rending metal on [target]'s neck!", \ + "\red Your hand slips, further rending metal on [target]'s neck!") target.apply_damage(10, BRUTE, affected) /datum/surgery_step/head/suture @@ -99,8 +116,12 @@ begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) // var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] is stapling and suturing flesh into place in [target]'s esophagal and vocal region with \the [tool].", \ - "You start to staple and suture flesh into place in [target]'s esophagal and vocal region with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("[user] is stapling and suturing flesh into place in [target]'s esophagal and vocal region with \the [tool].", \ + "You start to staple and suture flesh into place in [target]'s esophagal and vocal region with \the [tool].") + else + user.visible_message("[user] is stapling and suturing metal into place in [target]'s esophagal and vocal region with \the [tool].", \ + "You start to staple and suture metal into place in [target]'s esophagal and vocal region with \the [tool].") ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -175,15 +196,19 @@ user.visible_message("\blue [user] has attached [target]'s head to the body.", \ "\blue You have attached [target]'s head to the body.") affected.status = 0 + if(istype(target,/mob/living/carbon/human/machine)) + affected.status = 128 affected.amputated = 0 affected.destspawn = 0 var/obj/item/weapon/organ/head/B = tool if (B.brainmob.mind) B.brainmob.mind.transfer_to(target) + affected.setAmputatedTree() + target.handle_organs() target.update_body() - target.updatehealth() target.UpdateDamageIcon() - + target.regenerate_icons() + target.updatehealth() del(B) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/modules/surgery/robolimbs.dm b/code/modules/surgery/robolimbs.dm index d79437ace40..94aac677711 100644 --- a/code/modules/surgery/robolimbs.dm +++ b/code/modules/surgery/robolimbs.dm @@ -37,14 +37,22 @@ begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts cutting away flesh where [target]'s [affected.display_name] used to be with \the [tool].", \ - "You start cutting away flesh where [target]'s [affected.display_name] used to be with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("[user] starts cutting away flesh where [target]'s [affected.display_name] used to be with \the [tool].", \ + "You start cutting away flesh where [target]'s [affected.display_name] used to be with \the [tool].") + else + user.visible_message("[user] starts cutting away metal where [target]'s [affected.display_name] used to be with \the [tool].", \ + "You start cutting away metal where [target]'s [affected.display_name] used to be with \the [tool].") ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] cuts away flesh where [target]'s [affected.display_name] used to be with \the [tool].", \ - "\blue You cut away flesh where [target]'s [affected.display_name] used to be with \the [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("\blue [user] cuts away flesh where [target]'s [affected.display_name] used to be with \the [tool].", \ + "\blue You cut away flesh where [target]'s [affected.display_name] used to be with \the [tool].") + else + user.visible_message("\blue [user] cuts away metal where [target]'s [affected.display_name] used to be with \the [tool].", \ + "\blue You cut away metal where [target]'s [affected.display_name] used to be with \the [tool].") affected.status |= ORGAN_CUT_AWAY fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -52,7 +60,7 @@ if (affected.parent) affected = affected.parent user.visible_message("\red [user]'s hand slips, cutting [target]'s [affected.display_name] open!", \ - "\red Your hand slips, cutting [target]'s [affected.display_name] open!") + "\red Your hand slips, cutting [target]'s [affected.display_name] open!") affected.createwound(CUT, 10) @@ -71,22 +79,34 @@ begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] is beginning reposition flesh and nerve endings where where [target]'s [affected.display_name] used to be with [tool].", \ - "You start repositioning flesh and nerve endings where where [target]'s [affected.display_name] used to be with [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("[user] is beginning to reposition flesh and nerve endings where where [target]'s [affected.display_name] used to be with [tool].", \ + "You start repositioning flesh and nerve endings where where [target]'s [affected.display_name] used to be with [tool].") + else + user.visible_message("[user] is beginning to reposition metal and wire endings where where [target]'s [affected.display_name] used to be with [tool].", \ + "You start repositioning metal and wire endings where where [target]'s [affected.display_name] used to be with [tool].") ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] has finished repositioning flesh and nerve endings where [target]'s [affected.display_name] used to be with [tool].", \ - "\blue You have finished repositioning flesh and nerve endings where [target]'s [affected.display_name] used to be with [tool].") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("\blue [user] has finished repositioning flesh and nerve endings where [target]'s [affected.display_name] used to be with [tool].", \ + "\blue You have finished repositioning flesh and nerve endings where [target]'s [affected.display_name] used to be with [tool].") + else + user.visible_message("\blue [user] has finished repositioning metal and wire endings where [target]'s [affected.display_name] used to be with [tool].", \ + "\blue You have finished repositioning metal and wire endings where [target]'s [affected.display_name] used to be with [tool].") affected.open = 3 fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) if (affected.parent) affected = affected.parent - user.visible_message("\red [user]'s hand slips, tearing flesh on [target]'s [affected.display_name]!", \ - "\red Your hand slips, tearing flesh on [target]'s [affected.display_name]!") + if(!(target.species.flags & IS_SYNTHETIC)) + user.visible_message("\red [user]'s hand slips, tearing flesh on [target]'s [affected.display_name]!", \ + "\red Your hand slips, tearing flesh on [target]'s [affected.display_name]!") + else + user.visible_message("\red [user]'s hand slips, tearing metal on [target]'s [affected.display_name]!", \ + "\red Your hand slips, tearing metal on [target]'s [affected.display_name]!") target.apply_damage(10, BRUTE, affected, sharp=1) @@ -108,7 +128,7 @@ begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) user.visible_message("[user] starts adjusting area around [target]'s [affected.display_name] with \the [tool].", \ - "You start adjusting area around [target]'s [affected.display_name] with \the [tool]..") + "You start adjusting area around [target]'s [affected.display_name] with \the [tool].") ..() end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/setup.dm b/code/setup.dm index 8073c8c7648..227480126f7 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -698,7 +698,7 @@ var/list/TAGGERLOCATIONS = list("Disposals", #define SOUND_ADMINHELP 1 #define SOUND_MIDI 2 #define SOUND_AMBIENCE 4 -#define SOUND_LOBBY 8 //Removed, can be replaced with any other sound bitflag as needed. +#define SOUND_LOBBY 8 #define SOUND_STREAMING 16 #define SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_STREAMING) diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 758e6dc1877..f206f2c013c 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index d6e8c0595fd..9050acacb72 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -8398,7 +8398,7 @@ "dfz" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "dfA" = (/obj/structure/closet{name = "Loot Closet"},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) "dfB" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"dfC" = (/obj/effect/landmark/start,/obj/machinery/media/jukebox/lobby,/turf/unsimulated/floor,/area/start) +"dfC" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) "dfD" = (/turf/unsimulated/wall/splashscreen,/area/start) "dfE" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/flashbang/clusterbang,/turf/simulated/floor/engine,/area/shuttle/gamma/space) "dfF" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/machinery/light{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine,/area/shuttle/gamma/space) diff --git a/baystation12.dme b/paradise.dme similarity index 98% rename from baystation12.dme rename to paradise.dme index a108d27664c..2689cc3ae6a 100644 --- a/baystation12.dme +++ b/paradise.dme @@ -1,1640 +1,1640 @@ -// 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 . -#define FILE_DIR "code" -#define FILE_DIR "code/TriDimension" -#define FILE_DIR "code/unused" -#define FILE_DIR "code/unused/goonheist" -#define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" -#define FILE_DIR "code/WorkInProgress/IndexLP" -#define FILE_DIR "code/WorkInProgress/Susan" -#define FILE_DIR "html" -#define FILE_DIR "icons" -#define FILE_DIR "icons/48x48" -#define FILE_DIR "icons/ass" -#define FILE_DIR "icons/effects" -#define FILE_DIR "icons/mecha" -#define FILE_DIR "icons/misc" -#define FILE_DIR "icons/mob" -#define FILE_DIR "icons/mob/human_races" -#define FILE_DIR "icons/mob/in-hand" -#define FILE_DIR "icons/mob/in-hand/left" -#define FILE_DIR "icons/mob/in-hand/right" -#define FILE_DIR "icons/mob/otherHuman" -#define FILE_DIR "icons/mob/species" -#define FILE_DIR "icons/mob/species/armalis" -#define FILE_DIR "icons/mob/species/skrell" -#define FILE_DIR "icons/mob/species/tajaran" -#define FILE_DIR "icons/mob/species/unathi" -#define FILE_DIR "icons/mob/species/vox" -#define FILE_DIR "icons/mob/spirits" -#define FILE_DIR "icons/NTOS" -#define FILE_DIR "icons/NTOS/battery_icons" -#define FILE_DIR "icons/obj" -#define FILE_DIR "icons/obj/assemblies" -#define FILE_DIR "icons/obj/atmospherics" -#define FILE_DIR "icons/obj/clothing" -#define FILE_DIR "icons/obj/clothing/species" -#define FILE_DIR "icons/obj/clothing/species/skrell" -#define FILE_DIR "icons/obj/clothing/species/tajaran" -#define FILE_DIR "icons/obj/clothing/species/unathi" -#define FILE_DIR "icons/obj/doors" -#define FILE_DIR "icons/obj/flora" -#define FILE_DIR "icons/obj/machines" -#define FILE_DIR "icons/obj/pipes" -#define FILE_DIR "icons/obj/power_cond" -#define FILE_DIR "icons/pda_icons" -#define FILE_DIR "icons/pods" -#define FILE_DIR "icons/spideros_icons" -#define FILE_DIR "icons/stamp_icons" -#define FILE_DIR "icons/Testing" -#define FILE_DIR "icons/turf" -#define FILE_DIR "icons/vehicles" -#define FILE_DIR "icons/vending_icons" -#define FILE_DIR "maps" -#define FILE_DIR "maps/overmap" -#define FILE_DIR "maps/overmap/bearcat" -#define FILE_DIR "nano" -#define FILE_DIR "nano/images" -#define FILE_DIR "sound" -#define FILE_DIR "sound/AI" -#define FILE_DIR "sound/ambience" -#define FILE_DIR "sound/effects" -#define FILE_DIR "sound/effects/turret" -#define FILE_DIR "sound/effects/wind" -#define FILE_DIR "sound/hallucinations" -#define FILE_DIR "sound/items" -#define FILE_DIR "sound/machines" -#define FILE_DIR "sound/mecha" -#define FILE_DIR "sound/misc" -#define FILE_DIR "sound/music" -#define FILE_DIR "sound/piano" -#define FILE_DIR "sound/turntable" -#define FILE_DIR "sound/violin" -#define FILE_DIR "sound/voice" -#define FILE_DIR "sound/voice/complionator" -#define FILE_DIR "sound/voice/Serithi" -#define FILE_DIR "sound/vox" -#define FILE_DIR "sound/vox_fem" -#define FILE_DIR "sound/weapons" -// END_FILE_DIR -// BEGIN_PREFERENCES -#define DEBUG -// END_PREFERENCES -// BEGIN_INCLUDE -#include "code\global.dm" -#include "code\hub.dm" -#include "code\names.dm" -#include "code\setup.dm" -#include "code\stylesheet.dm" -#include "code\world.dm" -#include "code\__HELPERS\experimental.dm" -#include "code\__HELPERS\files.dm" -#include "code\__HELPERS\game.dm" -#include "code\__HELPERS\global_lists.dm" -#include "code\__HELPERS\icons.dm" -#include "code\__HELPERS\lists.dm" -#include "code\__HELPERS\logging.dm" -#include "code\__HELPERS\maths.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\text.dm" -#include "code\__HELPERS\time.dm" -#include "code\__HELPERS\timed_alerts.dm" -#include "code\__HELPERS\type2type.dm" -#include "code\__HELPERS\unsorted.dm" -#include "code\_hooks\area.dm" -#include "code\_hooks\hooks.dm" -#include "code\_hooks\mob.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\overmind.dm" -#include "code\_onclick\telekinesis.dm" -#include "code\_onclick\hud\_defines.dm" -#include "code\_onclick\hud\ai.dm" -#include "code\_onclick\hud\alien.dm" -#include "code\_onclick\hud\alien_larva.dm" -#include "code\_onclick\hud\hud.dm" -#include "code\_onclick\hud\human.dm" -#include "code\_onclick\hud\monkey.dm" -#include "code\_onclick\hud\other_mobs.dm" -#include "code\_onclick\hud\robot.dm" -#include "code\_onclick\hud\screen_objects.dm" -#include "code\ATMOSPHERICS\atmospherics.dm" -#include "code\ATMOSPHERICS\chiller.dm" -#include "code\ATMOSPHERICS\datum_pipe_network.dm" -#include "code\ATMOSPHERICS\datum_pipeline.dm" -#include "code\ATMOSPHERICS\he_pipes.dm" -#include "code\ATMOSPHERICS\pipes.dm" -#include "code\ATMOSPHERICS\components\portables_connector.dm" -#include "code\ATMOSPHERICS\components\tvalve.dm" -#include "code\ATMOSPHERICS\components\valve.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\pump.dm" -#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.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\generator_input.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\oxygen_generator.dm" -#include "code\ATMOSPHERICS\components\unary\thermal_plate.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\controllers\_DynamicAreaLighting_TG.dm" -#include "code\controllers\configuration.dm" -#include "code\controllers\emergency_shuttle_controller.dm" -#include "code\controllers\failsafe.dm" -#include "code\controllers\garbage.dm" -#include "code\controllers\hooks-defs.dm" -#include "code\controllers\hooks.dm" -#include "code\controllers\lighting_controller.dm" -#include "code\controllers\master_controller.dm" -#include "code\controllers\shuttle_controller.dm" -#include "code\controllers\verbs.dm" -#include "code\controllers\voting.dm" -#include "code\datums\ai_laws.dm" -#include "code\datums\browser.dm" -#include "code\datums\computerfiles.dm" -#include "code\datums\datacore.dm" -#include "code\datums\datumvars.dm" -#include "code\datums\mind.dm" -#include "code\datums\mixed.dm" -#include "code\datums\modules.dm" -#include "code\datums\organs.dm" -#include "code\datums\recipe.dm" -#include "code\datums\spell.dm" -#include "code\datums\sun.dm" -#include "code\datums\supplypacks.dm" -#include "code\datums\uplink_item.dm" -#include "code\datums\crafting\crafting.dm" -#include "code\datums\crafting\recipes.dm" -#include "code\datums\helper_datums\construction_datum.dm" -#include "code\datums\helper_datums\events.dm" -#include "code\datums\helper_datums\global_iterator.dm" -#include "code\datums\helper_datums\teleport.dm" -#include "code\datums\helper_datums\topic_input.dm" -#include "code\datums\spells\area_teleport.dm" -#include "code\datums\spells\charge.dm" -#include "code\datums\spells\conjure.dm" -#include "code\datums\spells\construct_spells.dm" -#include "code\datums\spells\dumbfire.dm" -#include "code\datums\spells\emplosion.dm" -#include "code\datums\spells\ethereal_jaunt.dm" -#include "code\datums\spells\explosion.dm" -#include "code\datums\spells\genetic.dm" -#include "code\datums\spells\horsemask.dm" -#include "code\datums\spells\inflict_handler.dm" -#include "code\datums\spells\knock.dm" -#include "code\datums\spells\mind_transfer.dm" -#include "code\datums\spells\projectile.dm" -#include "code\datums\spells\trigger.dm" -#include "code\datums\spells\turf_teleport.dm" -#include "code\datums\spells\wizard.dm" -#include "code\datums\visibility_networks\chunk.dm" -#include "code\datums\visibility_networks\dictionary.dm" -#include "code\datums\visibility_networks\update_triggers.dm" -#include "code\datums\visibility_networks\visibility_interface.dm" -#include "code\datums\visibility_networks\visibility_network.dm" -#include "code\datums\wires\airlock.dm" -#include "code\datums\wires\alarm.dm" -#include "code\datums\wires\apc.dm" -#include "code\datums\wires\camera.dm" -#include "code\datums\wires\explosive.dm" -#include "code\datums\wires\mulebot.dm" -#include "code\datums\wires\particle_accelerator.dm" -#include "code\datums\wires\radio.dm" -#include "code\datums\wires\robot.dm" -#include "code\datums\wires\syndicatebomb.dm" -#include "code\datums\wires\vending.dm" -#include "code\datums\wires\wires.dm" -#include "code\defines\obj.dm" -#include "code\defines\vox_sounds.dm" -#include "code\defines\obj\weapon.dm" -#include "code\defines\procs\AStar.dm" -#include "code\defines\procs\captain_announce.dm" -#include "code\defines\procs\command_alert.dm" -#include "code\defines\procs\dbcore.dm" -#include "code\defines\procs\sd_Alert.dm" -#include "code\defines\procs\statistics.dm" -#include "code\game\asteroid.dm" -#include "code\game\atoms.dm" -#include "code\game\atoms_movable.dm" -#include "code\game\communications.dm" -#include "code\game\response_team.dm" -#include "code\game\shuttle_engines.dm" -#include "code\game\skincmd.dm" -#include "code\game\smoothwall.dm" -#include "code\game\sound.dm" -#include "code\game\supplyshuttle.dm" -#include "code\game\area\ai_monitored.dm" -#include "code\game\area\areas.dm" -#include "code\game\area\Dynamic areas.dm" -#include "code\game\area\Space Station 13 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\goon_disabilities.dm" -#include "code\game\dna\genes\goon_powers.dm" -#include "code\game\dna\genes\monkey.dm" -#include "code\game\dna\genes\powers.dm" -#include "code\game\dna\genes\vg_disabilities.dm" -#include "code\game\dna\genes\vg_powers.dm" -#include "code\game\gamemodes\antag_spawner.dm" -#include "code\game\gamemodes\events.dm" -#include "code\game\gamemodes\factions.dm" -#include "code\game\gamemodes\game_mode.dm" -#include "code\game\gamemodes\gameticker.dm" -#include "code\game\gamemodes\intercept_report.dm" -#include "code\game\gamemodes\objective.dm" -#include "code\game\gamemodes\scoreboard.dm" -#include "code\game\gamemodes\setupgame.dm" -#include "code\game\gamemodes\steal_items.dm" -#include "code\game\gamemodes\autotraitor\autotraitor.dm" -#include "code\game\gamemodes\blob\blob.dm" -#include "code\game\gamemodes\blob\blob_finish.dm" -#include "code\game\gamemodes\blob\blob_report.dm" -#include "code\game\gamemodes\blob\overmind.dm" -#include "code\game\gamemodes\blob\powers.dm" -#include "code\game\gamemodes\blob\theblob.dm" -#include "code\game\gamemodes\blob\blobs\core.dm" -#include "code\game\gamemodes\blob\blobs\factory.dm" -#include "code\game\gamemodes\blob\blobs\node.dm" -#include "code\game\gamemodes\blob\blobs\resource.dm" -#include "code\game\gamemodes\blob\blobs\shield.dm" -#include "code\game\gamemodes\borer\borer.dm" -#include "code\game\gamemodes\changeling\changeling.dm" -#include "code\game\gamemodes\changeling\changeling_powers.dm" -#include "code\game\gamemodes\changeling\modularchangling.dm" -#include "code\game\gamemodes\changeling\traitor_chan.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\ritual.dm" -#include "code\game\gamemodes\cult\runes.dm" -#include "code\game\gamemodes\cult\talisman.dm" -#include "code\game\gamemodes\events\biomass.dm" -#include "code\game\gamemodes\events\black_hole.dm" -#include "code\game\gamemodes\events\clang.dm" -#include "code\game\gamemodes\events\ninja_abilities.dm" -#include "code\game\gamemodes\events\ninja_equipment.dm" -#include "code\game\gamemodes\events\power_failure.dm" -#include "code\game\gamemodes\events\space_ninja.dm" -#include "code\game\gamemodes\events\spacevines.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\malfunction\Malf_Modules.dm" -#include "code\game\gamemodes\malfunction\malfunction.dm" -#include "code\game\gamemodes\meteor\meteor.dm" -#include "code\game\gamemodes\meteor\meteors.dm" -#include "code\game\gamemodes\mutiny\auth_key.dm" -#include "code\game\gamemodes\mutiny\directive.dm" -#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" -#include "code\game\gamemodes\mutiny\key_pinpointer.dm" -#include "code\game\gamemodes\mutiny\mutiny.dm" -#include "code\game\gamemodes\mutiny\mutiny_admin.dm" -#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" -#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" -#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" -#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" -#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" -#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" -#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" -#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" -#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" -#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" -#include "code\game\gamemodes\nations\flag_pinpointer.dm" -#include "code\game\gamemodes\nations\flagprocs.dm" -#include "code\game\gamemodes\nations\nationdatums.dm" -#include "code\game\gamemodes\nations\nations.dm" -#include "code\game\gamemodes\ninja\ninja.dm" -#include "code\game\gamemodes\nuclear\nuclear.dm" -#include "code\game\gamemodes\nuclear\nuclearbomb.dm" -#include "code\game\gamemodes\nuclear\pinpointer.dm" -#include "code\game\gamemodes\revolution\revolution.dm" -#include "code\game\gamemodes\revolution\rp_revolution.dm" -#include "code\game\gamemodes\traitor\traitor.dm" -#include "code\game\gamemodes\vampire\hud.dm" -#include "code\game\gamemodes\vampire\vampire.dm" -#include "code\game\gamemodes\vampire\vampire_powers.dm" -#include "code\game\gamemodes\vox\vox.dm" -#include "code\game\gamemodes\vox\heist\heist.dm" -#include "code\game\gamemodes\vox\trade\trade.dm" -#include "code\game\gamemodes\wizard\artefact.dm" -#include "code\game\gamemodes\wizard\raginmages.dm" -#include "code\game\gamemodes\wizard\rightandwrong.dm" -#include "code\game\gamemodes\wizard\soulstone.dm" -#include "code\game\gamemodes\wizard\spellbook.dm" -#include "code\game\gamemodes\wizard\wizard.dm" -#include "code\game\gamemodes\xenos\xenos.dm" -#include "code\game\jobs\access.dm" -#include "code\game\jobs\job_controller.dm" -#include "code\game\jobs\job_objective.dm" -#include "code\game\jobs\jobprocs.dm" -#include "code\game\jobs\jobs.dm" -#include "code\game\jobs\whitelist.dm" -#include "code\game\jobs\job\civilian.dm" -#include "code\game\jobs\job\engineering.dm" -#include "code\game\jobs\job\job.dm" -#include "code\game\jobs\job\medical.dm" -#include "code\game\jobs\job\science.dm" -#include "code\game\jobs\job\security.dm" -#include "code\game\jobs\job\silicon.dm" -#include "code\game\jobs\job\supervisor.dm" -#include "code\game\jobs\job\support.dm" -#include "code\game\jobs\job\support_chaplain.dm" -#include "code\game\jobs\job_objectives\science.dm" -#include "code\game\machinery\adv_med.dm" -#include "code\game\machinery\ai_slipper.dm" -#include "code\game\machinery\alarm.dm" -#include "code\game\machinery\atmo_control.dm" -#include "code\game\machinery\autolathe.dm" -#include "code\game\machinery\Beacon.dm" -#include "code\game\machinery\bees_apiary.dm" -#include "code\game\machinery\bees_items.dm" -#include "code\game\machinery\biogenerator.dm" -#include "code\game\machinery\buttons.dm" -#include "code\game\machinery\cell_charger.dm" -#include "code\game\machinery\cloning.dm" -#include "code\game\machinery\constructable_frame.dm" -#include "code\game\machinery\cryo.dm" -#include "code\game\machinery\cryopod.dm" -#include "code\game\machinery\deployable.dm" -#include "code\game\machinery\door_control.dm" -#include "code\game\machinery\doppler_array.dm" -#include "code\game\machinery\flasher.dm" -#include "code\game\machinery\floodlight.dm" -#include "code\game\machinery\Freezer.dm" -#include "code\game\machinery\hologram.dm" -#include "code\game\machinery\holosign.dm" -#include "code\game\machinery\hydroponics.dm" -#include "code\game\machinery\igniter.dm" -#include "code\game\machinery\iv_drip.dm" -#include "code\game\machinery\lightswitch.dm" -#include "code\game\machinery\machinery.dm" -#include "code\game\machinery\magnet.dm" -#include "code\game\machinery\mass_driver.dm" -#include "code\game\machinery\metaldetector.dm" -#include "code\game\machinery\navbeacon.dm" -#include "code\game\machinery\newscaster.dm" -#include "code\game\machinery\OpTable.dm" -#include "code\game\machinery\overview.dm" -#include "code\game\machinery\PDApainter.dm" -#include "code\game\machinery\portable_turret.dm" -#include "code\game\machinery\recharger.dm" -#include "code\game\machinery\rechargestation.dm" -#include "code\game\machinery\recycler.dm" -#include "code\game\machinery\requests_console.dm" -#include "code\game\machinery\robot_fabricator.dm" -#include "code\game\machinery\seed_extractor.dm" -#include "code\game\machinery\shieldgen.dm" -#include "code\game\machinery\Sleeper.dm" -#include "code\game\machinery\slotmachine.dm" -#include "code\game\machinery\spaceheater.dm" -#include "code\game\machinery\status_display.dm" -#include "code\game\machinery\suit_storage_unit.dm" -#include "code\game\machinery\supply_display.dm" -#include "code\game\machinery\syndicatebeacon.dm" -#include "code\game\machinery\syndicatebomb.dm" -#include "code\game\machinery\telepad.dm" -#include "code\game\machinery\teleporter.dm" -#include "code\game\machinery\transformer.dm" -#include "code\game\machinery\turrets.dm" -#include "code\game\machinery\vending.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\canister.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\scrubber.dm" -#include "code\game\machinery\atmoalter\zvent.dm" -#include "code\game\machinery\bots\bots.dm" -#include "code\game\machinery\bots\cleanbot.dm" -#include "code\game\machinery\bots\ed209bot.dm" -#include "code\game\machinery\bots\floorbot.dm" -#include "code\game\machinery\bots\medbot.dm" -#include "code\game\machinery\bots\mulebot.dm" -#include "code\game\machinery\bots\secbot.dm" -#include "code\game\machinery\camera\camera.dm" -#include "code\game\machinery\camera\camera_assembly.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\atmos_alert.dm" -#include "code\game\machinery\computer\buildandrepair.dm" -#include "code\game\machinery\computer\camera.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\HolodeckControl.dm" -#include "code\game\machinery\computer\hologram.dm" -#include "code\game\machinery\computer\honkputer.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\power.dm" -#include "code\game\machinery\computer\prisoner.dm" -#include "code\game\machinery\computer\prisonshuttle.dm" -#include "code\game\machinery\computer\robot.dm" -#include "code\game\machinery\computer\salvage_ship.dm" -#include "code\game\machinery\computer\security.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\store.dm" -#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" -#include "code\game\machinery\computer\telecrystalconsoles.dm" -#include "code\game\machinery\computer\telescience.dm" -#include "code\game\machinery\computer\xenos_shuttle.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\alarmlock.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\firedoor.dm" -#include "code\game\machinery\doors\multi_tile.dm" -#include "code\game\machinery\doors\poddoor.dm" -#include "code\game\machinery\doors\shutters.dm" -#include "code\game\machinery\doors\spacepod.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\simple_docking_controller.dm" -#include "code\game\machinery\kitchen\gibber.dm" -#include "code\game\machinery\kitchen\icecream_vat.dm" -#include "code\game\machinery\kitchen\juicer.dm" -#include "code\game\machinery\kitchen\microwave.dm" -#include "code\game\machinery\kitchen\monkeyrecycler.dm" -#include "code\game\machinery\kitchen\processor.dm" -#include "code\game\machinery\kitchen\smartfridge.dm" -#include "code\game\machinery\pipe\construction.dm" -#include "code\game\machinery\pipe\pipe_dispenser.dm" -#include "code\game\machinery\telecomms\broadcaster.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\telecomunications.dm" -#include "code\game\machinery\telecomms\telemonitor.dm" -#include "code\game\machinery\telecomms\traffic_control.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\mecha.dm" -#include "code\game\mecha\mecha_construction_paths.dm" -#include "code\game\mecha\mecha_control_console.dm" -#include "code\game\mecha\mecha_parts.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\gygax.dm" -#include "code\game\mecha\combat\honker.dm" -#include "code\game\mecha\combat\marauder.dm" -#include "code\game\mecha\combat\phazon.dm" -#include "code\game\mecha\combat\recitence.dm" -#include "code\game\mecha\equipment\mecha_equipment.dm" -#include "code\game\mecha\equipment\tools\medical_tools.dm" -#include "code\game\mecha\equipment\tools\tools.dm" -#include "code\game\mecha\equipment\weapons\weapons.dm" -#include "code\game\mecha\medical\medical.dm" -#include "code\game\mecha\medical\odysseus.dm" -#include "code\game\mecha\working\ripley.dm" -#include "code\game\mecha\working\working.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\objs.dm" -#include "code\game\objects\structures.dm" -#include "code\game\objects\weapons.dm" -#include "code\game\objects\closets\walllocker.dm" -#include "code\game\objects\effects\aliens.dm" -#include "code\game\objects\effects\anomalies.dm" -#include "code\game\objects\effects\bump_teleporter.dm" -#include "code\game\objects\effects\effect_system.dm" -#include "code\game\objects\effects\gibs.dm" -#include "code\game\objects\effects\glowshroom.dm" -#include "code\game\objects\effects\landmarks.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\spiders.dm" -#include "code\game\objects\effects\step_triggers.dm" -#include "code\game\objects\effects\decals\cleanable.dm" -#include "code\game\objects\effects\decals\contraband.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\posters\bs12.dm" -#include "code\game\objects\effects\decals\posters\tgposters.dm" -#include "code\game\objects\effects\spawners\bombspawner.dm" -#include "code\game\objects\effects\spawners\gibspawner.dm" -#include "code\game\objects\effects\spawners\vaultspawner.dm" -#include "code\game\objects\items\apc_frame.dm" -#include "code\game\objects\items\blueprints.dm" -#include "code\game\objects\items\bluespace_crystal.dm" -#include "code\game\objects\items\bodybag.dm" -#include "code\game\objects\items\candle.dm" -#include "code\game\objects\items\contraband.dm" -#include "code\game\objects\items\crayons.dm" -#include "code\game\objects\items\flag.dm" -#include "code\game\objects\items\latexballoon.dm" -#include "code\game\objects\items\shooting_range.dm" -#include "code\game\objects\items\toys.dm" -#include "code\game\objects\items\trash.dm" -#include "code\game\objects\items\devices\aicard.dm" -#include "code\game\objects\items\devices\chameleonproj.dm" -#include "code\game\objects\items\devices\debugger.dm" -#include "code\game\objects\items\devices\flash.dm" -#include "code\game\objects\items\devices\flashlight.dm" -#include "code\game\objects\items\devices\gps.dm" -#include "code\game\objects\items\devices\handtv.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_freezer.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\suit_cooling.dm" -#include "code\game\objects\items\devices\taperecorder.dm" -#include "code\game\objects\items\devices\traitordevices.dm" -#include "code\game\objects\items\devices\transfer_valve.dm" -#include "code\game\objects\items\devices\uplinks.dm" -#include "code\game\objects\items\devices\violin.dm" -#include "code\game\objects\items\devices\whistle.dm" -#include "code\game\objects\items\devices\PDA\cart.dm" -#include "code\game\objects\items\devices\PDA\chatroom.dm" -#include "code\game\objects\items\devices\PDA\PDA.dm" -#include "code\game\objects\items\devices\PDA\radio.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\headset.dm" -#include "code\game\objects\items\devices\radio\intercom.dm" -#include "code\game\objects\items\devices\radio\radio.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\stacks\medical.dm" -#include "code\game\objects\items\stacks\nanopaste.dm" -#include "code\game\objects\items\stacks\rods.dm" -#include "code\game\objects\items\stacks\stack.dm" -#include "code\game\objects\items\stacks\sheets\glass.dm" -#include "code\game\objects\items\stacks\sheets\leather.dm" -#include "code\game\objects\items\stacks\sheets\light.dm" -#include "code\game\objects\items\stacks\sheets\mineral.dm" -#include "code\game\objects\items\stacks\sheets\sheet_types.dm" -#include "code\game\objects\items\stacks\sheets\sheets.dm" -#include "code\game\objects\items\stacks\tiles\light.dm" -#include "code\game\objects\items\stacks\tiles\plasteel.dm" -#include "code\game\objects\items\stacks\tiles\tile_types.dm" -#include "code\game\objects\items\weapons\AI_modules.dm" -#include "code\game\objects\items\weapons\alien_specific.dm" -#include "code\game\objects\items\weapons\cards_ids.dm" -#include "code\game\objects\items\weapons\cash.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\dice.dm" -#include "code\game\objects\items\weapons\dna_injector.dm" -#include "code\game\objects\items\weapons\dnascrambler.dm" -#include "code\game\objects\items\weapons\explosives.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\hydroponics.dm" -#include "code\game\objects\items\weapons\kitchen.dm" -#include "code\game\objects\items\weapons\manuals.dm" -#include "code\game\objects\items\weapons\mop.dm" -#include "code\game\objects\items\weapons\ninja_manuscript.dm" -#include "code\game\objects\items\weapons\paint.dm" -#include "code\game\objects\items\weapons\paiwire.dm" -#include "code\game\objects\items\weapons\power_cells.dm" -#include "code\game\objects\items\weapons\RCD.dm" -#include "code\game\objects\items\weapons\RCS.dm" -#include "code\game\objects\items\weapons\RSF.dm" -#include "code\game\objects\items\weapons\scrolls.dm" -#include "code\game\objects\items\weapons\shards.dm" -#include "code\game\objects\items\weapons\shields.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\table_rack_parts.dm" -#include "code\game\objects\items\weapons\teleportation.dm" -#include "code\game\objects\items\weapons\tools.dm" -#include "code\game\objects\items\weapons\twohanded.dm" -#include "code\game\objects\items\weapons\vending_items.dm" -#include "code\game\objects\items\weapons\weaponry.dm" -#include "code\game\objects\items\weapons\wires.dm" -#include "code\game\objects\items\weapons\grenades\bananade.dm" -#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" -#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" -#include "code\game\objects\items\weapons\grenades\emgrenade.dm" -#include "code\game\objects\items\weapons\grenades\flashbang.dm" -#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" -#include "code\game\objects\items\weapons\grenades\grenade.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\syndieminibomb.dm" -#include "code\game\objects\items\weapons\implants\deadman.dm" -#include "code\game\objects\items\weapons\implants\implant.dm" -#include "code\game\objects\items\weapons\implants\implantcase.dm" -#include "code\game\objects\items\weapons\implants\implantchair.dm" -#include "code\game\objects\items\weapons\implants\implanter.dm" -#include "code\game\objects\items\weapons\implants\implantfreedom.dm" -#include "code\game\objects\items\weapons\implants\implantpad.dm" -#include "code\game\objects\items\weapons\implants\implantuplink.dm" -#include "code\game\objects\items\weapons\melee\energy.dm" -#include "code\game\objects\items\weapons\melee\misc.dm" -#include "code\game\objects\items\weapons\storage\backpack.dm" -#include "code\game\objects\items\weapons\storage\bags.dm" -#include "code\game\objects\items\weapons\storage\belt.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\briefcase.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\lockbox.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\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\tanks.dm" -#include "code\game\objects\items\weapons\tanks\watertank.dm" -#include "code\game\objects\random\random.dm" -#include "code\game\objects\storage\coat.dm" -#include "code\game\objects\structures\barsign.dm" -#include "code\game\objects\structures\bedsheet_bin.dm" -#include "code\game\objects\structures\coathanger.dm" -#include "code\game\objects\structures\displaycase.dm" -#include "code\game\objects\structures\door_assembly.dm" -#include "code\game\objects\structures\electricchair.dm" -#include "code\game\objects\structures\engicart.dm" -#include "code\game\objects\structures\extinguisher.dm" -#include "code\game\objects\structures\false_walls.dm" -#include "code\game\objects\structures\flora.dm" -#include "code\game\objects\structures\fullwindow.dm" -#include "code\game\objects\structures\girders.dm" -#include "code\game\objects\structures\grille.dm" -#include "code\game\objects\structures\inflatable.dm" -#include "code\game\objects\structures\janicart.dm" -#include "code\game\objects\structures\kitchen_spike.dm" -#include "code\game\objects\structures\ladders.dm" -#include "code\game\objects\structures\lamarr_cage.dm" -#include "code\game\objects\structures\lattice.dm" -#include "code\game\objects\structures\mineral_doors.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\musician.dm" -#include "code\game\objects\structures\noticeboard.dm" -#include "code\game\objects\structures\safe.dm" -#include "code\game\objects\structures\segway.dm" -#include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\tables_racks.dm" -#include "code\game\objects\structures\tank_dispenser.dm" -#include "code\game\objects\structures\target_stake.dm" -#include "code\game\objects\structures\watercloset.dm" -#include "code\game\objects\structures\windoor_assembly.dm" -#include "code\game\objects\structures\window.dm" -#include "code\game\objects\structures\crates_lockers\closets.dm" -#include "code\game\objects\structures\crates_lockers\crates.dm" -#include "code\game\objects\structures\crates_lockers\crittercrate.dm" -#include "code\game\objects\structures\crates_lockers\largecrate.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\fireaxe.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\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\wardrobe.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\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\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\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\stools.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" -#include "code\game\objects\structures\transit_tubes\station.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" -#include "code\game\structure\structure.dm" -#include "code\game\turfs\simulated.dm" -#include "code\game\turfs\turf.dm" -#include "code\game\turfs\unsimulated.dm" -#include "code\game\turfs\simulated\floor.dm" -#include "code\game\turfs\simulated\floor_types.dm" -#include "code\game\turfs\simulated\walls.dm" -#include "code\game\turfs\simulated\walls_mineral.dm" -#include "code\game\turfs\simulated\walls_misc.dm" -#include "code\game\turfs\simulated\walls_reinforced.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\floor.dm" -#include "code\game\turfs\unsimulated\walls.dm" -#include "code\game\vehicles\spacepods\construction.dm" -#include "code\game\vehicles\spacepods\equipment.dm" -#include "code\game\vehicles\spacepods\parts.dm" -#include "code\game\vehicles\spacepods\spacepod.dm" -#include "code\game\verbs\atom_verbs.dm" -#include "code\game\verbs\ooc.dm" -#include "code\game\verbs\suicide.dm" -#include "code\game\verbs\who.dm" -#include "code\js\byjax.dm" -#include "code\js\menus.dm" -#include "code\modules\admin\admin.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_verbs.dm" -#include "code\modules\admin\banappearance.dm" -#include "code\modules\admin\banjob.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\NewBan.dm" -#include "code\modules\admin\newbanjob.dm" -#include "code\modules\admin\player_notes.dm" -#include "code\modules\admin\player_panel.dm" -#include "code\modules\admin\secrets.dm" -#include "code\modules\admin\topic.dm" -#include "code\modules\admin\ToRban.dm" -#include "code\modules\admin\DB ban\functions.dm" -#include "code\modules\admin\permissionverbs\permissionedit.dm" -#include "code\modules\admin\verbs\adminhelp.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\atmosdebug.dm" -#include "code\modules\admin\verbs\BrokenInhands.dm" -#include "code\modules\admin\verbs\cinematic.dm" -#include "code\modules\admin\verbs\custom_event.dm" -#include "code\modules\admin\verbs\deadsay.dm" -#include "code\modules\admin\verbs\debug.dm" -#include "code\modules\admin\verbs\diagnostics.dm" -#include "code\modules\admin\verbs\getlogs.dm" -#include "code\modules\admin\verbs\honksquad.dm" -#include "code\modules\admin\verbs\mapping.dm" -#include "code\modules\admin\verbs\massmodvar.dm" -#include "code\modules\admin\verbs\modifyvariables.dm" -#include "code\modules\admin\verbs\one_click_antag.dm" -#include "code\modules\admin\verbs\onlyone.dm" -#include "code\modules\admin\verbs\onlyoneteam.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\striketeam.dm" -#include "code\modules\admin\verbs\striketeam_syndicate.dm" -#include "code\modules\admin\verbs\tripAI.dm" -#include "code\modules\admin\verbs\vox_raiders.dm" -#include "code\modules\assembly\assembly.dm" -#include "code\modules\assembly\bomb.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\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\loot.dm" -#include "code\modules\awaymissions\pamphlet.dm" -#include "code\modules\awaymissions\trigger.dm" -#include "code\modules\client\client defines.dm" -#include "code\modules\client\client procs.dm" -#include "code\modules\client\preferences.dm" -#include "code\modules\client\preferences_mysql.dm" -#include "code\modules\client\preferences_toggles.dm" -#include "code\modules\clothing\clothing.dm" -#include "code\modules\clothing\glasses\glasses.dm" -#include "code\modules\clothing\glasses\hud.dm" -#include "code\modules\clothing\gloves\boxing.dm" -#include "code\modules\clothing\gloves\color.dm" -#include "code\modules\clothing\gloves\miscellaneous.dm" -#include "code\modules\clothing\gloves\ninja.dm" -#include "code\modules\clothing\head\collectable.dm" -#include "code\modules\clothing\head\hardhat.dm" -#include "code\modules\clothing\head\helmet.dm" -#include "code\modules\clothing\head\jobs.dm" -#include "code\modules\clothing\head\misc.dm" -#include "code\modules\clothing\head\misc_special.dm" -#include "code\modules\clothing\head\soft_caps.dm" -#include "code\modules\clothing\masks\boxing.dm" -#include "code\modules\clothing\masks\breath.dm" -#include "code\modules\clothing\masks\gasmask.dm" -#include "code\modules\clothing\masks\miscellaneous.dm" -#include "code\modules\clothing\shoes\colour.dm" -#include "code\modules\clothing\shoes\magboots.dm" -#include "code\modules\clothing\shoes\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\alien.dm" -#include "code\modules\clothing\spacesuits\breaches.dm" -#include "code\modules\clothing\spacesuits\captain.dm" -#include "code\modules\clothing\spacesuits\ert.dm" -#include "code\modules\clothing\spacesuits\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\ninja.dm" -#include "code\modules\clothing\spacesuits\rig.dm" -#include "code\modules\clothing\spacesuits\syndi.dm" -#include "code\modules\clothing\spacesuits\void.dm" -#include "code\modules\clothing\suits\alien.dm" -#include "code\modules\clothing\suits\armor.dm" -#include "code\modules\clothing\suits\bio.dm" -#include "code\modules\clothing\suits\jobs.dm" -#include "code\modules\clothing\suits\labcoat.dm" -#include "code\modules\clothing\suits\miscellaneous.dm" -#include "code\modules\clothing\suits\utility.dm" -#include "code\modules\clothing\suits\wiz_robe.dm" -#include "code\modules\clothing\under\chameleon.dm" -#include "code\modules\clothing\under\color.dm" -#include "code\modules\clothing\under\miscellaneous.dm" -#include "code\modules\clothing\under\shorts.dm" -#include "code\modules\clothing\under\syndicate.dm" -#include "code\modules\clothing\under\ties.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\customitems\item_defines.dm" -#include "code\modules\customitems\item_spawning.dm" -#include "code\modules\customitems\definitions\base.dm" -#include "code\modules\DetectiveWork\detective_work.dm" -#include "code\modules\DetectiveWork\evidence.dm" -#include "code\modules\DetectiveWork\footprints_and_rag.dm" -#include "code\modules\DetectiveWork\scanner.dm" -#include "code\modules\economy\Accounts.dm" -#include "code\modules\economy\Accounts_DB.dm" -#include "code\modules\economy\ATM.dm" -#include "code\modules\economy\Economy.dm" -#include "code\modules\economy\Economy_Events.dm" -#include "code\modules\economy\Economy_Events_Mundane.dm" -#include "code\modules\economy\Economy_TradeDestinations.dm" -#include "code\modules\economy\EFTPOS.dm" -#include "code\modules\economy\Job_Departments.dm" -#include "code\modules\economy\POS.dm" -#include "code\modules\economy\utils.dm" -#include "code\modules\events\blob.dm" -#include "code\modules\events\borers.dm" -#include "code\modules\events\cargobonus.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\electrical_storm.dm" -#include "code\modules\events\event.dm" -#include "code\modules\events\event_dynamic.dm" -#include "code\modules\events\event_manager.dm" -#include "code\modules\events\grid_check.dm" -#include "code\modules\events\infestation.dm" -#include "code\modules\events\ion_storm.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\organ_failure.dm" -#include "code\modules\events\prison_break.dm" -#include "code\modules\events\radiation_storm.dm" -#include "code\modules\events\rogue_drones.dm" -#include "code\modules\events\space_ninja.dm" -#include "code\modules\events\spacevine.dm" -#include "code\modules\events\tear.dm" -#include "code\modules\events\viral_infection.dm" -#include "code\modules\events\viral_outbreak.dm" -#include "code\modules\events\wallrot.dm" -#include "code\modules\events\sayuevents\meaty_ores.dm" -#include "code\modules\events\sayuevents\spooky.dm" -#include "code\modules\events\sayuevents\undead.dm" -#include "code\modules\events\sayuevents\wormholes.dm" -#include "code\modules\events\tgevents\alien_infestation.dm" -#include "code\modules\events\tgevents\anomaly.dm" -#include "code\modules\events\tgevents\anomaly_bluespace.dm" -#include "code\modules\events\tgevents\anomaly_flux.dm" -#include "code\modules\events\tgevents\anomaly_grav.dm" -#include "code\modules\events\tgevents\anomaly_pyro.dm" -#include "code\modules\events\tgevents\anomaly_vortex.dm" -#include "code\modules\events\tgevents\brand_intelligence.dm" -#include "code\modules\events\tgevents\dust.dm" -#include "code\modules\events\tgevents\false_alarm.dm" -#include "code\modules\events\tgevents\immovable_rod.dm" -#include "code\modules\events\tgevents\mass_hallucination.dm" -#include "code\modules\events\tgevents\spider_infestation.dm" -#include "code\modules\events\tgevents\vent_clog.dm" -#include "code\modules\ext_scripts\irc.dm" -#include "code\modules\ext_scripts\python.dm" -#include "code\modules\flufftext\Dreaming.dm" -#include "code\modules\flufftext\Hallucination.dm" -#include "code\modules\flufftext\TextFilters.dm" -#include "code\modules\food\cereal_maker.dm" -#include "code\modules\food\cooker.dm" -#include "code\modules\food\customizables.dm" -#include "code\modules\food\deep_fryer.dm" -#include "code\modules\food\food_grill.dm" -#include "code\modules\food\icecream_vat.dm" -#include "code\modules\food\oven.dm" -#include "code\modules\food\recipes_microwave.dm" -#include "code\modules\genetics\side_effects.dm" -#include "code\modules\hydroponics\grown_inedible.dm" -#include "code\modules\hydroponics\hydro_tools.dm" -#include "code\modules\hydroponics\seed_datums.dm" -#include "code\modules\hydroponics\seed_machines.dm" -#include "code\modules\hydroponics\seed_mobs.dm" -#include "code\modules\hydroponics\seeds.dm" -#include "code\modules\hydroponics\vines.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\media\jukebox.dm" -#include "code\modules\media\machinery.dm" -#include "code\modules\media\mediamanager.dm" -#include "code\modules\media\broadcast\receiver.dm" -#include "code\modules\media\broadcast\transmitter.dm" -#include "code\modules\media\broadcast\receivers\radio.dm" -#include "code\modules\media\broadcast\transmitters\broadcast.dm" -#include "code\modules\mining\abandonedcrates.dm" -#include "code\modules\mining\alloys.dm" -#include "code\modules\mining\coins.dm" -#include "code\modules\mining\equipment_locker.dm" -#include "code\modules\mining\machine_input_output_plates.dm" -#include "code\modules\mining\machine_processing.dm" -#include "code\modules\mining\machine_stacking.dm" -#include "code\modules\mining\machine_unloading.dm" -#include "code\modules\mining\manufacturing.dm" -#include "code\modules\mining\materials.dm" -#include "code\modules\mining\mine_areas.dm" -#include "code\modules\mining\mine_items.dm" -#include "code\modules\mining\mine_turfs.dm" -#include "code\modules\mining\minerals.dm" -#include "code\modules\mining\mining_recipes.dm" -#include "code\modules\mining\mint.dm" -#include "code\modules\mining\money_bag.dm" -#include "code\modules\mining\ore.dm" -#include "code\modules\mining\ore_datum.dm" -#include "code\modules\mining\satchel_ore_boxdm.dm" -#include "code\modules\mining\security_recipes.dm" -#include "code\modules\mining\surprise.dm" -#include "code\modules\mining\drilling\distribution.dm" -#include "code\modules\mining\drilling\drill.dm" -#include "code\modules\mining\drilling\scanner.dm" -#include "code\modules\mining\laborcamp\laborminerals.dm" -#include "code\modules\mining\laborcamp\laborshuttle.dm" -#include "code\modules\mining\laborcamp\laborstacker.dm" -#include "code\modules\mining\surprises\tg.dm" -#include "code\modules\mining\surprises\vg.dm" -#include "code\modules\mob\abilities.dm" -#include "code\modules\mob\death.dm" -#include "code\modules\mob\emote.dm" -#include "code\modules\mob\holder.dm" -#include "code\modules\mob\inventory.dm" -#include "code\modules\mob\language.dm" -#include "code\modules\mob\login.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_grab.dm" -#include "code\modules\mob\mob_helpers.dm" -#include "code\modules\mob\mob_movement.dm" -#include "code\modules\mob\mob_transformation_simple.dm" -#include "code\modules\mob\say.dm" -#include "code\modules\mob\transform_procs.dm" -#include "code\modules\mob\update_icons.dm" -#include "code\modules\mob\camera\camera.dm" -#include "code\modules\mob\dead\death.dm" -#include "code\modules\mob\dead\observer\logout.dm" -#include "code\modules\mob\dead\observer\observer.dm" -#include "code\modules\mob\dead\observer\say.dm" -#include "code\modules\mob\dead\observer\spells.dm" -#include "code\modules\mob\living\damage_procs.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\login.dm" -#include "code\modules\mob\living\logout.dm" -#include "code\modules\mob\living\say.dm" -#include "code\modules\mob\living\carbon\_defines.dm" -#include "code\modules\mob\living\carbon\carbon.dm" -#include "code\modules\mob\living\carbon\carbon_defenses.dm" -#include "code\modules\mob\living\carbon\carbon_defines.dm" -#include "code\modules\mob\living\carbon\give.dm" -#include "code\modules\mob\living\carbon\shock.dm" -#include "code\modules\mob\living\carbon\species.dm" -#include "code\modules\mob\living\carbon\alien\alien.dm" -#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" -#include "code\modules\mob\living\carbon\alien\death.dm" -#include "code\modules\mob\living\carbon\alien\login.dm" -#include "code\modules\mob\living\carbon\alien\logout.dm" -#include "code\modules\mob\living\carbon\alien\powers.dm" -#include "code\modules\mob\living\carbon\alien\say.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" -#include "code\modules\mob\living\carbon\alien\larva\death.dm" -#include "code\modules\mob\living\carbon\alien\larva\emote.dm" -#include "code\modules\mob\living\carbon\alien\larva\inventory.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\powers.dm" -#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" -#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" -#include "code\modules\mob\living\carbon\brain\brain.dm" -#include "code\modules\mob\living\carbon\brain\brain_item.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\posibrain.dm" -#include "code\modules\mob\living\carbon\brain\say.dm" -#include "code\modules\mob\living\carbon\human\death.dm" -#include "code\modules\mob\living\carbon\human\emote.dm" -#include "code\modules\mob\living\carbon\human\examine.dm" -#include "code\modules\mob\living\carbon\human\human.dm" -#include "code\modules\mob\living\carbon\human\human_attackalien.dm" -#include "code\modules\mob\living\carbon\human\human_attackhand.dm" -#include "code\modules\mob\living\carbon\human\human_attackpaw.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_movement.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\login.dm" -#include "code\modules\mob\living\carbon\human\say.dm" -#include "code\modules\mob\living\carbon\human\update_icons.dm" -#include "code\modules\mob\living\carbon\human\whisper.dm" -#include "code\modules\mob\living\carbon\human\plasmaman\species.dm" -#include "code\modules\mob\living\carbon\metroid\death.dm" -#include "code\modules\mob\living\carbon\metroid\emote.dm" -#include "code\modules\mob\living\carbon\metroid\examine.dm" -#include "code\modules\mob\living\carbon\metroid\hud.dm" -#include "code\modules\mob\living\carbon\metroid\life.dm" -#include "code\modules\mob\living\carbon\metroid\login.dm" -#include "code\modules\mob\living\carbon\metroid\metroid.dm" -#include "code\modules\mob\living\carbon\metroid\powers.dm" -#include "code\modules\mob\living\carbon\metroid\say.dm" -#include "code\modules\mob\living\carbon\metroid\subtypes.dm" -#include "code\modules\mob\living\carbon\metroid\update_icons.dm" -#include "code\modules\mob\living\carbon\monkey\death.dm" -#include "code\modules\mob\living\carbon\monkey\diona.dm" -#include "code\modules\mob\living\carbon\monkey\emote.dm" -#include "code\modules\mob\living\carbon\monkey\examine.dm" -#include "code\modules\mob\living\carbon\monkey\inventory.dm" -#include "code\modules\mob\living\carbon\monkey\life.dm" -#include "code\modules\mob\living\carbon\monkey\login.dm" -#include "code\modules\mob\living\carbon\monkey\monkey.dm" -#include "code\modules\mob\living\carbon\monkey\powers.dm" -#include "code\modules\mob\living\carbon\monkey\update_icons.dm" -#include "code\modules\mob\living\silicon\death.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\ai\ai.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\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\say.dm" -#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" -#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" -#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" -#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" -#include "code\modules\mob\living\silicon\ai\freelook\update_triggers.dm" -#include "code\modules\mob\living\silicon\ai\freelook\visibility_interface.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\death.dm" -#include "code\modules\mob\living\silicon\pai\examine.dm" -#include "code\modules\mob\living\silicon\pai\hud.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\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\robot\component.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\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_damage.dm" -#include "code\modules\mob\living\silicon\robot\robot_items.dm" -#include "code\modules\mob\living\silicon\robot\robot_modules.dm" -#include "code\modules\mob\living\silicon\robot\robot_movement.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\simple_animal\bees.dm" -#include "code\modules\mob\living\simple_animal\borer.dm" -#include "code\modules\mob\living\simple_animal\constructs.dm" -#include "code\modules\mob\living\simple_animal\corpse.dm" -#include "code\modules\mob\living\simple_animal\parrot.dm" -#include "code\modules\mob\living\simple_animal\powers.dm" -#include "code\modules\mob\living\simple_animal\shade.dm" -#include "code\modules\mob\living\simple_animal\simple_animal.dm" -#include "code\modules\mob\living\simple_animal\tribbles.dm" -#include "code\modules\mob\living\simple_animal\vox.dm" -#include "code\modules\mob\living\simple_animal\worm.dm" -#include "code\modules\mob\living\simple_animal\friendly\cat.dm" -#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" -#include "code\modules\mob\living\simple_animal\friendly\crab.dm" -#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" -#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" -#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" -#include "code\modules\mob\living\simple_animal\friendly\slime.dm" -#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" -#include "code\modules\mob\living\simple_animal\hostile\alien.dm" -#include "code\modules\mob\living\simple_animal\hostile\bat.dm" -#include "code\modules\mob\living\simple_animal\hostile\bear.dm" -#include "code\modules\mob\living\simple_animal\hostile\carp.dm" -#include "code\modules\mob\living\simple_animal\hostile\creature.dm" -#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" -#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" -#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" -#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" -#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" -#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" -#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" -#include "code\modules\mob\living\simple_animal\hostile\russian.dm" -#include "code\modules\mob\living\simple_animal\hostile\statue.dm" -#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" -#include "code\modules\mob\living\simple_animal\hostile\tree.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" -#include "code\modules\mob\new_player\login.dm" -#include "code\modules\mob\new_player\logout.dm" -#include "code\modules\mob\new_player\new_player.dm" -#include "code\modules\mob\new_player\poll.dm" -#include "code\modules\mob\new_player\preferences_setup.dm" -#include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\spirit\cultnet.dm" -#include "code\modules\mob\spirit\movement.dm" -#include "code\modules\mob\spirit\spirit.dm" -#include "code\modules\mob\spirit\viewpoint.dm" -#include "code\modules\mob\spirit\mask\mask.dm" -#include "code\modules\mob\spirit\mask\respawn.dm" -#include "code\modules\nano\_JSON.dm" -#include "code\modules\nano\JSON Reader.dm" -#include "code\modules\nano\JSON Writer.dm" -#include "code\modules\nano\nanoexternal.dm" -#include "code\modules\nano\nanomanager.dm" -#include "code\modules\nano\nanomapgen.dm" -#include "code\modules\nano\nanoui.dm" -#include "code\modules\organs\blood.dm" -#include "code\modules\organs\organ.dm" -#include "code\modules\organs\organ_external.dm" -#include "code\modules\organs\organ_internal.dm" -#include "code\modules\organs\pain.dm" -#include "code\modules\organs\skeleton.dm" -#include "code\modules\organs\wound.dm" -#include "code\modules\paperwork\carbonpaper.dm" -#include "code\modules\paperwork\clipboard.dm" -#include "code\modules\paperwork\faxmachine.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\paperbin.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\power\apc.dm" -#include "code\modules\power\cable.dm" -#include "code\modules\power\cable_heavyduty.dm" -#include "code\modules\power\cable_logic.dm" -#include "code\modules\power\cell.dm" -#include "code\modules\power\engine.dm" -#include "code\modules\power\generator.dm" -#include "code\modules\power\generator_type2.dm" -#include "code\modules\power\gravitygenerator.dm" -#include "code\modules\power\lighting.dm" -#include "code\modules\power\port_gen.dm" -#include "code\modules\power\power.dm" -#include "code\modules\power\smes.dm" -#include "code\modules\power\solar.dm" -#include "code\modules\power\switch.dm" -#include "code\modules\power\terminal.dm" -#include "code\modules\power\tracker.dm" -#include "code\modules\power\turbine.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\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\projectiles\ammunition.dm" -#include "code\modules\projectiles\gun.dm" -#include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\targeting.dm" -#include "code\modules\projectiles\ammunition\boxes.dm" -#include "code\modules\projectiles\ammunition\bullets.dm" -#include "code\modules\projectiles\ammunition\magazines.dm" -#include "code\modules\projectiles\guns\alien.dm" -#include "code\modules\projectiles\guns\energy.dm" -#include "code\modules\projectiles\guns\magic.dm" -#include "code\modules\projectiles\guns\projectile.dm" -#include "code\modules\projectiles\guns\energy\laser.dm" -#include "code\modules\projectiles\guns\energy\nuclear.dm" -#include "code\modules\projectiles\guns\energy\pulse.dm" -#include "code\modules\projectiles\guns\energy\special.dm" -#include "code\modules\projectiles\guns\energy\stun.dm" -#include "code\modules\projectiles\guns\energy\temperature.dm" -#include "code\modules\projectiles\guns\magic\staff.dm" -#include "code\modules\projectiles\guns\magic\wand.dm" -#include "code\modules\projectiles\guns\projectile\automatic.dm" -#include "code\modules\projectiles\guns\projectile\crossbow.dm" -#include "code\modules\projectiles\guns\projectile\launcher.dm" -#include "code\modules\projectiles\guns\projectile\pistol.dm" -#include "code\modules\projectiles\guns\projectile\pneumatic.dm" -#include "code\modules\projectiles\guns\projectile\revolver.dm" -#include "code\modules\projectiles\guns\projectile\rocket.dm" -#include "code\modules\projectiles\guns\projectile\shotgun.dm" -#include "code\modules\projectiles\projectile\animate.dm" -#include "code\modules\projectiles\projectile\beams.dm" -#include "code\modules\projectiles\projectile\bullets.dm" -#include "code\modules\projectiles\projectile\change.dm" -#include "code\modules\projectiles\projectile\energy.dm" -#include "code\modules\projectiles\projectile\force.dm" -#include "code\modules\projectiles\projectile\magic.dm" -#include "code\modules\projectiles\projectile\special.dm" -#include "code\modules\reagents\Chemistry-Colours.dm" -#include "code\modules\reagents\Chemistry-Holder.dm" -#include "code\modules\reagents\Chemistry-Machinery.dm" -#include "code\modules\reagents\Chemistry-Readme.dm" -#include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" -#include "code\modules\reagents\Chemistry-Reagents.dm" -#include "code\modules\reagents\Chemistry-Recipes.dm" -#include "code\modules\reagents\dartgun.dm" -#include "code\modules\reagents\grenade_launcher.dm" -#include "code\modules\reagents\reagent_containers.dm" -#include "code\modules\reagents\reagent_dispenser.dm" -#include "code\modules\reagents\syringe_gun.dm" -#include "code\modules\reagents\reagent_containers\blood_pack.dm" -#include "code\modules\reagents\reagent_containers\borghydro.dm" -#include "code\modules\reagents\reagent_containers\dropper.dm" -#include "code\modules\reagents\reagent_containers\drugs.dm" -#include "code\modules\reagents\reagent_containers\food.dm" -#include "code\modules\reagents\reagent_containers\glass.dm" -#include "code\modules\reagents\reagent_containers\hypospray.dm" -#include "code\modules\reagents\reagent_containers\pill.dm" -#include "code\modules\reagents\reagent_containers\robodropper.dm" -#include "code\modules\reagents\reagent_containers\spray.dm" -#include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\food\cans.dm" -#include "code\modules\reagents\reagent_containers\food\condiment.dm" -#include "code\modules\reagents\reagent_containers\food\drinks.dm" -#include "code\modules\reagents\reagent_containers\food\sandwich.dm" -#include "code\modules\reagents\reagent_containers\food\snacks.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\grown.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle\robot.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\message_server.dm" -#include "code\modules\research\protolathe.dm" -#include "code\modules\research\rd-readme.dm" -#include "code\modules\research\rdconsole.dm" -#include "code\modules\research\rdmachines.dm" -#include "code\modules\research\research.dm" -#include "code\modules\research\server.dm" -#include "code\modules\research\xenoarchaeology\areas.dm" -#include "code\modules\research\xenoarchaeology\chemistry.dm" -#include "code\modules\research\xenoarchaeology\geosample.dm" -#include "code\modules\research\xenoarchaeology\manuals.dm" -#include "code\modules\research\xenoarchaeology\master_controller.dm" -#include "code\modules\research\xenoarchaeology\misc.dm" -#include "code\modules\research\xenoarchaeology\readme.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" -#include "code\modules\research\xenoarchaeology\artifact\effect.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_forcefield.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasco2.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasnitro.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasoxy.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasplasma.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gassleeping.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" -#include "code\modules\research\xenoarchaeology\finds\finds.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" -#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" -#include "code\modules\research\xenoarchaeology\genetics\prehistoric_plants.dm" -#include "code\modules\research\xenoarchaeology\genetics\prehistoric_seeds.dm" -#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" -#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" -#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" -#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" -#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" -#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" -#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" -#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" -#include "code\modules\research\xenoarchaeology\tools\tools.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.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\shuttles\antagonist.dm" -#include "code\modules\shuttles\departmental.dm" -#include "code\modules\shuttles\escape_pods.dm" -#include "code\modules\shuttles\shuttle.dm" -#include "code\modules\shuttles\shuttle_console.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\store\items.dm" -#include "code\modules\store\store.dm" -#include "code\modules\supermatter\supermatter.dm" -#include "code\modules\surgery\bones.dm" -#include "code\modules\surgery\braincore.dm" -#include "code\modules\surgery\eye.dm" -#include "code\modules\surgery\face.dm" -#include "code\modules\surgery\generic.dm" -#include "code\modules\surgery\headreattach.dm" -#include "code\modules\surgery\implant.dm" -#include "code\modules\surgery\other.dm" -#include "code\modules\surgery\ribcage.dm" -#include "code\modules\surgery\robolimbs.dm" -#include "code\modules\surgery\surgery.dm" -#include "code\modules\vehicles\ambulance.dm" -#include "code\modules\vehicles\cargo_train.dm" -#include "code\modules\vehicles\janicart.dm" -#include "code\modules\vehicles\train.dm" -#include "code\modules\vehicles\vehicle.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\helpers.dm" -#include "code\modules\virus2\isolator.dm" -#include "code\modules\virus2\items_devices.dm" -#include "code\WorkInProgress\autopsy.dm" -#include "code\WorkInProgress\buildmode.dm" -#include "code\WorkInProgress\explosion_particles.dm" -#include "code\WorkInProgress\fireworks.dm" -#include "code\WorkInProgress\periodic_news.dm" -#include "code\WorkInProgress\Apples\artifacts.dm" -#include "code\WorkInProgress\Cael_Aislinn\sculpture.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\falsewall.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_temple.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_turfs.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\misc_helpers.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\circuits_and_designs.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\energy_field.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_capacitor.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen_external.dm" -#include "code\WorkInProgress\Chinsky\ashtray.dm" -#include "code\WorkInProgress\Chinsky\guestpass.dm" -#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" -#include "code\WorkInProgress\computer3\bios.dm" -#include "code\WorkInProgress\computer3\buildandrepair.dm" -#include "code\WorkInProgress\computer3\component.dm" -#include "code\WorkInProgress\computer3\computer.dm" -#include "code\WorkInProgress\computer3\computer3_notes.dm" -#include "code\WorkInProgress\computer3\file.dm" -#include "code\WorkInProgress\computer3\laptop.dm" -#include "code\WorkInProgress\computer3\lapvend.dm" -#include "code\WorkInProgress\computer3\networking.dm" -#include "code\WorkInProgress\computer3\NTOS.dm" -#include "code\WorkInProgress\computer3\program.dm" -#include "code\WorkInProgress\computer3\program_disks.dm" -#include "code\WorkInProgress\computer3\server.dm" -#include "code\WorkInProgress\computer3\storage.dm" -#include "code\WorkInProgress\computer3\computers\arcade.dm" -#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" -#include "code\WorkInProgress\computer3\computers\camera.dm" -#include "code\WorkInProgress\computer3\computers\card.dm" -#include "code\WorkInProgress\computer3\computers\communications.dm" -#include "code\WorkInProgress\computer3\computers\crew.dm" -#include "code\WorkInProgress\computer3\computers\customs.dm" -#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" -#include "code\WorkInProgress\computer3\computers\law.dm" -#include "code\WorkInProgress\computer3\computers\medical.dm" -#include "code\WorkInProgress\computer3\computers\Operating.dm" -#include "code\WorkInProgress\computer3\computers\power.dm" -#include "code\WorkInProgress\computer3\computers\prisoner.dm" -#include "code\WorkInProgress\computer3\computers\robot.dm" -#include "code\WorkInProgress\computer3\computers\security.dm" -#include "code\WorkInProgress\computer3\computers\welcome.dm" -#include "code\WorkInProgress\Mini\atmos_control.dm" -#include "code\WorkInProgress\Ported\policetape.dm" -#include "code\WorkInProgress\Sayu\belt.dm" -#include "code\WorkInProgress\Sayu\cargoprofile.dm" -#include "code\WorkInProgress\Sayu\grenades.dm" -#include "code\WorkInProgress\Sayu\programmable.dm" -#include "code\WorkInProgress\Sayu\random_items.dm" -#include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" -#include "code\WorkInProgress\ZomgPonies\karma.dm" -#include "code\WorkInProgress\ZomgPonies\clothing\civilian.dm" -#include "code\WorkInProgress\ZomgPonies\mobs\pony.dm" -#include "code\WorkInProgress\ZomgPonies\oldcode\turntable.dm" -#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmor.dm" -#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmorcomponents.dm" -#include "code\ZAS\_docs.dm" -#include "code\ZAS\_gas_mixture.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\Plasma.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\cyberiad.dmm" -#include "maps\RandomZLevels\clown3.dmm" -// 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 . +#define FILE_DIR "code" +#define FILE_DIR "code/TriDimension" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/goonheist" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" +#define FILE_DIR "code/WorkInProgress/IndexLP" +#define FILE_DIR "code/WorkInProgress/Susan" +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/48x48" +#define FILE_DIR "icons/ass" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/mob/human_races" +#define FILE_DIR "icons/mob/in-hand" +#define FILE_DIR "icons/mob/in-hand/left" +#define FILE_DIR "icons/mob/in-hand/right" +#define FILE_DIR "icons/mob/otherHuman" +#define FILE_DIR "icons/mob/species" +#define FILE_DIR "icons/mob/species/armalis" +#define FILE_DIR "icons/mob/species/skrell" +#define FILE_DIR "icons/mob/species/tajaran" +#define FILE_DIR "icons/mob/species/unathi" +#define FILE_DIR "icons/mob/species/vox" +#define FILE_DIR "icons/mob/spirits" +#define FILE_DIR "icons/NTOS" +#define FILE_DIR "icons/NTOS/battery_icons" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/clothing/species" +#define FILE_DIR "icons/obj/clothing/species/skrell" +#define FILE_DIR "icons/obj/clothing/species/tajaran" +#define FILE_DIR "icons/obj/clothing/species/unathi" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/obj/power_cond" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/pods" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/stamp_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vehicles" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "maps" +#define FILE_DIR "maps/overmap" +#define FILE_DIR "maps/overmap/bearcat" +#define FILE_DIR "nano" +#define FILE_DIR "nano/images" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/effects/turret" +#define FILE_DIR "sound/effects/wind" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/music" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/turntable" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/voice/complionator" +#define FILE_DIR "sound/voice/Serithi" +#define FILE_DIR "sound/vox" +#define FILE_DIR "sound/vox_fem" +#define FILE_DIR "sound/weapons" +// END_FILE_DIR +// BEGIN_PREFERENCES +#define DEBUG +// END_PREFERENCES +// BEGIN_INCLUDE +#include "code\global.dm" +#include "code\hub.dm" +#include "code\names.dm" +#include "code\setup.dm" +#include "code\stylesheet.dm" +#include "code\world.dm" +#include "code\__HELPERS\experimental.dm" +#include "code\__HELPERS\files.dm" +#include "code\__HELPERS\game.dm" +#include "code\__HELPERS\global_lists.dm" +#include "code\__HELPERS\icons.dm" +#include "code\__HELPERS\lists.dm" +#include "code\__HELPERS\logging.dm" +#include "code\__HELPERS\maths.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\text.dm" +#include "code\__HELPERS\time.dm" +#include "code\__HELPERS\timed_alerts.dm" +#include "code\__HELPERS\type2type.dm" +#include "code\__HELPERS\unsorted.dm" +#include "code\_hooks\area.dm" +#include "code\_hooks\hooks.dm" +#include "code\_hooks\mob.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\overmind.dm" +#include "code\_onclick\telekinesis.dm" +#include "code\_onclick\hud\_defines.dm" +#include "code\_onclick\hud\ai.dm" +#include "code\_onclick\hud\alien.dm" +#include "code\_onclick\hud\alien_larva.dm" +#include "code\_onclick\hud\hud.dm" +#include "code\_onclick\hud\human.dm" +#include "code\_onclick\hud\monkey.dm" +#include "code\_onclick\hud\other_mobs.dm" +#include "code\_onclick\hud\robot.dm" +#include "code\_onclick\hud\screen_objects.dm" +#include "code\ATMOSPHERICS\atmospherics.dm" +#include "code\ATMOSPHERICS\chiller.dm" +#include "code\ATMOSPHERICS\datum_pipe_network.dm" +#include "code\ATMOSPHERICS\datum_pipeline.dm" +#include "code\ATMOSPHERICS\he_pipes.dm" +#include "code\ATMOSPHERICS\pipes.dm" +#include "code\ATMOSPHERICS\components\portables_connector.dm" +#include "code\ATMOSPHERICS\components\tvalve.dm" +#include "code\ATMOSPHERICS\components\valve.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\pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.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\generator_input.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\oxygen_generator.dm" +#include "code\ATMOSPHERICS\components\unary\thermal_plate.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\controllers\_DynamicAreaLighting_TG.dm" +#include "code\controllers\configuration.dm" +#include "code\controllers\emergency_shuttle_controller.dm" +#include "code\controllers\failsafe.dm" +#include "code\controllers\garbage.dm" +#include "code\controllers\hooks-defs.dm" +#include "code\controllers\hooks.dm" +#include "code\controllers\lighting_controller.dm" +#include "code\controllers\master_controller.dm" +#include "code\controllers\shuttle_controller.dm" +#include "code\controllers\verbs.dm" +#include "code\controllers\voting.dm" +#include "code\datums\ai_laws.dm" +#include "code\datums\browser.dm" +#include "code\datums\computerfiles.dm" +#include "code\datums\datacore.dm" +#include "code\datums\datumvars.dm" +#include "code\datums\mind.dm" +#include "code\datums\mixed.dm" +#include "code\datums\modules.dm" +#include "code\datums\organs.dm" +#include "code\datums\recipe.dm" +#include "code\datums\spell.dm" +#include "code\datums\sun.dm" +#include "code\datums\supplypacks.dm" +#include "code\datums\uplink_item.dm" +#include "code\datums\crafting\crafting.dm" +#include "code\datums\crafting\recipes.dm" +#include "code\datums\helper_datums\construction_datum.dm" +#include "code\datums\helper_datums\events.dm" +#include "code\datums\helper_datums\global_iterator.dm" +#include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\topic_input.dm" +#include "code\datums\spells\area_teleport.dm" +#include "code\datums\spells\charge.dm" +#include "code\datums\spells\conjure.dm" +#include "code\datums\spells\construct_spells.dm" +#include "code\datums\spells\dumbfire.dm" +#include "code\datums\spells\emplosion.dm" +#include "code\datums\spells\ethereal_jaunt.dm" +#include "code\datums\spells\explosion.dm" +#include "code\datums\spells\genetic.dm" +#include "code\datums\spells\horsemask.dm" +#include "code\datums\spells\inflict_handler.dm" +#include "code\datums\spells\knock.dm" +#include "code\datums\spells\mind_transfer.dm" +#include "code\datums\spells\projectile.dm" +#include "code\datums\spells\trigger.dm" +#include "code\datums\spells\turf_teleport.dm" +#include "code\datums\spells\wizard.dm" +#include "code\datums\visibility_networks\chunk.dm" +#include "code\datums\visibility_networks\dictionary.dm" +#include "code\datums\visibility_networks\update_triggers.dm" +#include "code\datums\visibility_networks\visibility_interface.dm" +#include "code\datums\visibility_networks\visibility_network.dm" +#include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" +#include "code\datums\wires\apc.dm" +#include "code\datums\wires\camera.dm" +#include "code\datums\wires\explosive.dm" +#include "code\datums\wires\mulebot.dm" +#include "code\datums\wires\particle_accelerator.dm" +#include "code\datums\wires\radio.dm" +#include "code\datums\wires\robot.dm" +#include "code\datums\wires\syndicatebomb.dm" +#include "code\datums\wires\vending.dm" +#include "code\datums\wires\wires.dm" +#include "code\defines\obj.dm" +#include "code\defines\vox_sounds.dm" +#include "code\defines\obj\weapon.dm" +#include "code\defines\procs\AStar.dm" +#include "code\defines\procs\captain_announce.dm" +#include "code\defines\procs\command_alert.dm" +#include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\hud.dm" +#include "code\defines\procs\sd_Alert.dm" +#include "code\defines\procs\statistics.dm" +#include "code\game\asteroid.dm" +#include "code\game\atoms.dm" +#include "code\game\atoms_movable.dm" +#include "code\game\communications.dm" +#include "code\game\response_team.dm" +#include "code\game\shuttle_engines.dm" +#include "code\game\skincmd.dm" +#include "code\game\smoothwall.dm" +#include "code\game\sound.dm" +#include "code\game\supplyshuttle.dm" +#include "code\game\area\ai_monitored.dm" +#include "code\game\area\areas.dm" +#include "code\game\area\Dynamic areas.dm" +#include "code\game\area\Space Station 13 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\goon_disabilities.dm" +#include "code\game\dna\genes\goon_powers.dm" +#include "code\game\dna\genes\monkey.dm" +#include "code\game\dna\genes\powers.dm" +#include "code\game\dna\genes\vg_disabilities.dm" +#include "code\game\dna\genes\vg_powers.dm" +#include "code\game\gamemodes\antag_spawner.dm" +#include "code\game\gamemodes\events.dm" +#include "code\game\gamemodes\factions.dm" +#include "code\game\gamemodes\game_mode.dm" +#include "code\game\gamemodes\gameticker.dm" +#include "code\game\gamemodes\intercept_report.dm" +#include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\scoreboard.dm" +#include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\steal_items.dm" +#include "code\game\gamemodes\autotraitor\autotraitor.dm" +#include "code\game\gamemodes\blob\blob.dm" +#include "code\game\gamemodes\blob\blob_finish.dm" +#include "code\game\gamemodes\blob\blob_report.dm" +#include "code\game\gamemodes\blob\overmind.dm" +#include "code\game\gamemodes\blob\powers.dm" +#include "code\game\gamemodes\blob\theblob.dm" +#include "code\game\gamemodes\blob\blobs\core.dm" +#include "code\game\gamemodes\blob\blobs\factory.dm" +#include "code\game\gamemodes\blob\blobs\node.dm" +#include "code\game\gamemodes\blob\blobs\resource.dm" +#include "code\game\gamemodes\blob\blobs\shield.dm" +#include "code\game\gamemodes\borer\borer.dm" +#include "code\game\gamemodes\changeling\changeling.dm" +#include "code\game\gamemodes\changeling\changeling_powers.dm" +#include "code\game\gamemodes\changeling\modularchangling.dm" +#include "code\game\gamemodes\changeling\traitor_chan.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\ritual.dm" +#include "code\game\gamemodes\cult\runes.dm" +#include "code\game\gamemodes\cult\talisman.dm" +#include "code\game\gamemodes\events\biomass.dm" +#include "code\game\gamemodes\events\black_hole.dm" +#include "code\game\gamemodes\events\clang.dm" +#include "code\game\gamemodes\events\ninja_abilities.dm" +#include "code\game\gamemodes\events\ninja_equipment.dm" +#include "code\game\gamemodes\events\power_failure.dm" +#include "code\game\gamemodes\events\space_ninja.dm" +#include "code\game\gamemodes\events\spacevines.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\malfunction\Malf_Modules.dm" +#include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\meteor\meteor.dm" +#include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\mutiny\auth_key.dm" +#include "code\game\gamemodes\mutiny\directive.dm" +#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" +#include "code\game\gamemodes\mutiny\key_pinpointer.dm" +#include "code\game\gamemodes\mutiny\mutiny.dm" +#include "code\game\gamemodes\mutiny\mutiny_admin.dm" +#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" +#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" +#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" +#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" +#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" +#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" +#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" +#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" +#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" +#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" +#include "code\game\gamemodes\nations\flag_pinpointer.dm" +#include "code\game\gamemodes\nations\flagprocs.dm" +#include "code\game\gamemodes\nations\nationdatums.dm" +#include "code\game\gamemodes\nations\nations.dm" +#include "code\game\gamemodes\ninja\ninja.dm" +#include "code\game\gamemodes\nuclear\nuclear.dm" +#include "code\game\gamemodes\nuclear\nuclearbomb.dm" +#include "code\game\gamemodes\nuclear\pinpointer.dm" +#include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\revolution\rp_revolution.dm" +#include "code\game\gamemodes\traitor\traitor.dm" +#include "code\game\gamemodes\vampire\hud.dm" +#include "code\game\gamemodes\vampire\vampire.dm" +#include "code\game\gamemodes\vampire\vampire_powers.dm" +#include "code\game\gamemodes\vox\vox.dm" +#include "code\game\gamemodes\vox\heist\heist.dm" +#include "code\game\gamemodes\vox\trade\trade.dm" +#include "code\game\gamemodes\wizard\artefact.dm" +#include "code\game\gamemodes\wizard\raginmages.dm" +#include "code\game\gamemodes\wizard\rightandwrong.dm" +#include "code\game\gamemodes\wizard\soulstone.dm" +#include "code\game\gamemodes\wizard\spellbook.dm" +#include "code\game\gamemodes\wizard\wizard.dm" +#include "code\game\gamemodes\xenos\xenos.dm" +#include "code\game\jobs\access.dm" +#include "code\game\jobs\job_controller.dm" +#include "code\game\jobs\job_objective.dm" +#include "code\game\jobs\jobprocs.dm" +#include "code\game\jobs\jobs.dm" +#include "code\game\jobs\whitelist.dm" +#include "code\game\jobs\job\civilian.dm" +#include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\job.dm" +#include "code\game\jobs\job\medical.dm" +#include "code\game\jobs\job\science.dm" +#include "code\game\jobs\job\security.dm" +#include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\supervisor.dm" +#include "code\game\jobs\job\support.dm" +#include "code\game\jobs\job\support_chaplain.dm" +#include "code\game\jobs\job_objectives\science.dm" +#include "code\game\machinery\adv_med.dm" +#include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\alarm.dm" +#include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" +#include "code\game\machinery\Beacon.dm" +#include "code\game\machinery\bees_apiary.dm" +#include "code\game\machinery\bees_items.dm" +#include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\buttons.dm" +#include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\cloning.dm" +#include "code\game\machinery\constructable_frame.dm" +#include "code\game\machinery\cryo.dm" +#include "code\game\machinery\cryopod.dm" +#include "code\game\machinery\deployable.dm" +#include "code\game\machinery\door_control.dm" +#include "code\game\machinery\doppler_array.dm" +#include "code\game\machinery\flasher.dm" +#include "code\game\machinery\floodlight.dm" +#include "code\game\machinery\Freezer.dm" +#include "code\game\machinery\hologram.dm" +#include "code\game\machinery\holosign.dm" +#include "code\game\machinery\hydroponics.dm" +#include "code\game\machinery\igniter.dm" +#include "code\game\machinery\iv_drip.dm" +#include "code\game\machinery\lightswitch.dm" +#include "code\game\machinery\machinery.dm" +#include "code\game\machinery\magnet.dm" +#include "code\game\machinery\mass_driver.dm" +#include "code\game\machinery\metaldetector.dm" +#include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\newscaster.dm" +#include "code\game\machinery\OpTable.dm" +#include "code\game\machinery\overview.dm" +#include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\recharger.dm" +#include "code\game\machinery\rechargestation.dm" +#include "code\game\machinery\recycler.dm" +#include "code\game\machinery\requests_console.dm" +#include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\seed_extractor.dm" +#include "code\game\machinery\shieldgen.dm" +#include "code\game\machinery\Sleeper.dm" +#include "code\game\machinery\slotmachine.dm" +#include "code\game\machinery\spaceheater.dm" +#include "code\game\machinery\status_display.dm" +#include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\supply_display.dm" +#include "code\game\machinery\syndicatebeacon.dm" +#include "code\game\machinery\syndicatebomb.dm" +#include "code\game\machinery\telepad.dm" +#include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\transformer.dm" +#include "code\game\machinery\turrets.dm" +#include "code\game\machinery\vending.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\canister.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\scrubber.dm" +#include "code\game\machinery\atmoalter\zvent.dm" +#include "code\game\machinery\bots\bots.dm" +#include "code\game\machinery\bots\cleanbot.dm" +#include "code\game\machinery\bots\ed209bot.dm" +#include "code\game\machinery\bots\floorbot.dm" +#include "code\game\machinery\bots\medbot.dm" +#include "code\game\machinery\bots\mulebot.dm" +#include "code\game\machinery\bots\secbot.dm" +#include "code\game\machinery\camera\camera.dm" +#include "code\game\machinery\camera\camera_assembly.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\atmos_alert.dm" +#include "code\game\machinery\computer\buildandrepair.dm" +#include "code\game\machinery\computer\camera.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\HolodeckControl.dm" +#include "code\game\machinery\computer\hologram.dm" +#include "code\game\machinery\computer\honkputer.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\power.dm" +#include "code\game\machinery\computer\prisoner.dm" +#include "code\game\machinery\computer\prisonshuttle.dm" +#include "code\game\machinery\computer\robot.dm" +#include "code\game\machinery\computer\salvage_ship.dm" +#include "code\game\machinery\computer\security.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\store.dm" +#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer\telecrystalconsoles.dm" +#include "code\game\machinery\computer\telescience.dm" +#include "code\game\machinery\computer\xenos_shuttle.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\alarmlock.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\firedoor.dm" +#include "code\game\machinery\doors\multi_tile.dm" +#include "code\game\machinery\doors\poddoor.dm" +#include "code\game\machinery\doors\shutters.dm" +#include "code\game\machinery\doors\spacepod.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\simple_docking_controller.dm" +#include "code\game\machinery\kitchen\gibber.dm" +#include "code\game\machinery\kitchen\icecream_vat.dm" +#include "code\game\machinery\kitchen\juicer.dm" +#include "code\game\machinery\kitchen\microwave.dm" +#include "code\game\machinery\kitchen\monkeyrecycler.dm" +#include "code\game\machinery\kitchen\processor.dm" +#include "code\game\machinery\kitchen\smartfridge.dm" +#include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\telecomms\broadcaster.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\telecomunications.dm" +#include "code\game\machinery\telecomms\telemonitor.dm" +#include "code\game\machinery\telecomms\traffic_control.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\mecha.dm" +#include "code\game\mecha\mecha_construction_paths.dm" +#include "code\game\mecha\mecha_control_console.dm" +#include "code\game\mecha\mecha_parts.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\gygax.dm" +#include "code\game\mecha\combat\honker.dm" +#include "code\game\mecha\combat\marauder.dm" +#include "code\game\mecha\combat\phazon.dm" +#include "code\game\mecha\combat\recitence.dm" +#include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\tools\medical_tools.dm" +#include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\medical\medical.dm" +#include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\working\ripley.dm" +#include "code\game\mecha\working\working.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\objs.dm" +#include "code\game\objects\structures.dm" +#include "code\game\objects\weapons.dm" +#include "code\game\objects\closets\walllocker.dm" +#include "code\game\objects\effects\aliens.dm" +#include "code\game\objects\effects\anomalies.dm" +#include "code\game\objects\effects\bump_teleporter.dm" +#include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\gibs.dm" +#include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\landmarks.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\spiders.dm" +#include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\decals\cleanable.dm" +#include "code\game\objects\effects\decals\contraband.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\posters\bs12.dm" +#include "code\game\objects\effects\decals\posters\tgposters.dm" +#include "code\game\objects\effects\spawners\bombspawner.dm" +#include "code\game\objects\effects\spawners\gibspawner.dm" +#include "code\game\objects\effects\spawners\vaultspawner.dm" +#include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\blueprints.dm" +#include "code\game\objects\items\bluespace_crystal.dm" +#include "code\game\objects\items\bodybag.dm" +#include "code\game\objects\items\candle.dm" +#include "code\game\objects\items\contraband.dm" +#include "code\game\objects\items\crayons.dm" +#include "code\game\objects\items\flag.dm" +#include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\toys.dm" +#include "code\game\objects\items\trash.dm" +#include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\chameleonproj.dm" +#include "code\game\objects\items\devices\debugger.dm" +#include "code\game\objects\items\devices\flash.dm" +#include "code\game\objects\items\devices\flashlight.dm" +#include "code\game\objects\items\devices\gps.dm" +#include "code\game\objects\items\devices\handtv.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_freezer.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\suit_cooling.dm" +#include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\traitordevices.dm" +#include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\uplinks.dm" +#include "code\game\objects\items\devices\violin.dm" +#include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\PDA\cart.dm" +#include "code\game\objects\items\devices\PDA\chatroom.dm" +#include "code\game\objects\items\devices\PDA\PDA.dm" +#include "code\game\objects\items\devices\PDA\radio.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\headset.dm" +#include "code\game\objects\items\devices\radio\intercom.dm" +#include "code\game\objects\items\devices\radio\radio.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\stacks\medical.dm" +#include "code\game\objects\items\stacks\nanopaste.dm" +#include "code\game\objects\items\stacks\rods.dm" +#include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\sheets\glass.dm" +#include "code\game\objects\items\stacks\sheets\leather.dm" +#include "code\game\objects\items\stacks\sheets\light.dm" +#include "code\game\objects\items\stacks\sheets\mineral.dm" +#include "code\game\objects\items\stacks\sheets\sheet_types.dm" +#include "code\game\objects\items\stacks\sheets\sheets.dm" +#include "code\game\objects\items\stacks\tiles\light.dm" +#include "code\game\objects\items\stacks\tiles\plasteel.dm" +#include "code\game\objects\items\stacks\tiles\tile_types.dm" +#include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\alien_specific.dm" +#include "code\game\objects\items\weapons\cards_ids.dm" +#include "code\game\objects\items\weapons\cash.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\dice.dm" +#include "code\game\objects\items\weapons\dna_injector.dm" +#include "code\game\objects\items\weapons\dnascrambler.dm" +#include "code\game\objects\items\weapons\explosives.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\hydroponics.dm" +#include "code\game\objects\items\weapons\kitchen.dm" +#include "code\game\objects\items\weapons\manuals.dm" +#include "code\game\objects\items\weapons\mop.dm" +#include "code\game\objects\items\weapons\ninja_manuscript.dm" +#include "code\game\objects\items\weapons\paint.dm" +#include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\power_cells.dm" +#include "code\game\objects\items\weapons\RCD.dm" +#include "code\game\objects\items\weapons\RCS.dm" +#include "code\game\objects\items\weapons\RSF.dm" +#include "code\game\objects\items\weapons\scrolls.dm" +#include "code\game\objects\items\weapons\shards.dm" +#include "code\game\objects\items\weapons\shields.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\table_rack_parts.dm" +#include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\twohanded.dm" +#include "code\game\objects\items\weapons\vending_items.dm" +#include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\wires.dm" +#include "code\game\objects\items\weapons\grenades\bananade.dm" +#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" +#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" +#include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\flashbang.dm" +#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" +#include "code\game\objects\items\weapons\grenades\grenade.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\syndieminibomb.dm" +#include "code\game\objects\items\weapons\implants\deadman.dm" +#include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implantcase.dm" +#include "code\game\objects\items\weapons\implants\implantchair.dm" +#include "code\game\objects\items\weapons\implants\implanter.dm" +#include "code\game\objects\items\weapons\implants\implantfreedom.dm" +#include "code\game\objects\items\weapons\implants\implantpad.dm" +#include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\melee\energy.dm" +#include "code\game\objects\items\weapons\melee\misc.dm" +#include "code\game\objects\items\weapons\storage\backpack.dm" +#include "code\game\objects\items\weapons\storage\bags.dm" +#include "code\game\objects\items\weapons\storage\belt.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\briefcase.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\lockbox.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\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\tanks.dm" +#include "code\game\objects\items\weapons\tanks\watertank.dm" +#include "code\game\objects\random\random.dm" +#include "code\game\objects\storage\coat.dm" +#include "code\game\objects\structures\barsign.dm" +#include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\coathanger.dm" +#include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\door_assembly.dm" +#include "code\game\objects\structures\electricchair.dm" +#include "code\game\objects\structures\engicart.dm" +#include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\false_walls.dm" +#include "code\game\objects\structures\flora.dm" +#include "code\game\objects\structures\fullwindow.dm" +#include "code\game\objects\structures\girders.dm" +#include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\inflatable.dm" +#include "code\game\objects\structures\janicart.dm" +#include "code\game\objects\structures\kitchen_spike.dm" +#include "code\game\objects\structures\ladders.dm" +#include "code\game\objects\structures\lamarr_cage.dm" +#include "code\game\objects\structures\lattice.dm" +#include "code\game\objects\structures\mineral_doors.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\musician.dm" +#include "code\game\objects\structures\noticeboard.dm" +#include "code\game\objects\structures\safe.dm" +#include "code\game\objects\structures\segway.dm" +#include "code\game\objects\structures\signs.dm" +#include "code\game\objects\structures\tables_racks.dm" +#include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\target_stake.dm" +#include "code\game\objects\structures\watercloset.dm" +#include "code\game\objects\structures\windoor_assembly.dm" +#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\crates_lockers\closets.dm" +#include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\largecrate.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\fireaxe.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\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\wardrobe.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\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\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\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\stools.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" +#include "code\game\objects\structures\transit_tubes\station.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\structure\structure.dm" +#include "code\game\turfs\simulated.dm" +#include "code\game\turfs\turf.dm" +#include "code\game\turfs\unsimulated.dm" +#include "code\game\turfs\simulated\floor.dm" +#include "code\game\turfs\simulated\floor_types.dm" +#include "code\game\turfs\simulated\walls.dm" +#include "code\game\turfs\simulated\walls_mineral.dm" +#include "code\game\turfs\simulated\walls_misc.dm" +#include "code\game\turfs\simulated\walls_reinforced.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\floor.dm" +#include "code\game\turfs\unsimulated\walls.dm" +#include "code\game\vehicles\spacepods\construction.dm" +#include "code\game\vehicles\spacepods\equipment.dm" +#include "code\game\vehicles\spacepods\parts.dm" +#include "code\game\vehicles\spacepods\spacepod.dm" +#include "code\game\verbs\atom_verbs.dm" +#include "code\game\verbs\ooc.dm" +#include "code\game\verbs\suicide.dm" +#include "code\game\verbs\who.dm" +#include "code\js\byjax.dm" +#include "code\js\menus.dm" +#include "code\modules\admin\admin.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_verbs.dm" +#include "code\modules\admin\banappearance.dm" +#include "code\modules\admin\banjob.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\NewBan.dm" +#include "code\modules\admin\newbanjob.dm" +#include "code\modules\admin\player_notes.dm" +#include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\secrets.dm" +#include "code\modules\admin\topic.dm" +#include "code\modules\admin\ToRban.dm" +#include "code\modules\admin\DB ban\functions.dm" +#include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\verbs\adminhelp.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\atmosdebug.dm" +#include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\cinematic.dm" +#include "code\modules\admin\verbs\custom_event.dm" +#include "code\modules\admin\verbs\deadsay.dm" +#include "code\modules\admin\verbs\debug.dm" +#include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\honksquad.dm" +#include "code\modules\admin\verbs\mapping.dm" +#include "code\modules\admin\verbs\massmodvar.dm" +#include "code\modules\admin\verbs\modifyvariables.dm" +#include "code\modules\admin\verbs\one_click_antag.dm" +#include "code\modules\admin\verbs\onlyone.dm" +#include "code\modules\admin\verbs\onlyoneteam.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\striketeam.dm" +#include "code\modules\admin\verbs\striketeam_syndicate.dm" +#include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\admin\verbs\vox_raiders.dm" +#include "code\modules\assembly\assembly.dm" +#include "code\modules\assembly\bomb.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\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\loot.dm" +#include "code\modules\awaymissions\pamphlet.dm" +#include "code\modules\awaymissions\trigger.dm" +#include "code\modules\client\client defines.dm" +#include "code\modules\client\client procs.dm" +#include "code\modules\client\preferences.dm" +#include "code\modules\client\preferences_mysql.dm" +#include "code\modules\client\preferences_toggles.dm" +#include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\glasses\glasses.dm" +#include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\gloves\boxing.dm" +#include "code\modules\clothing\gloves\color.dm" +#include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\ninja.dm" +#include "code\modules\clothing\head\collectable.dm" +#include "code\modules\clothing\head\hardhat.dm" +#include "code\modules\clothing\head\helmet.dm" +#include "code\modules\clothing\head\jobs.dm" +#include "code\modules\clothing\head\misc.dm" +#include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\masks\boxing.dm" +#include "code\modules\clothing\masks\breath.dm" +#include "code\modules\clothing\masks\gasmask.dm" +#include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\shoes\colour.dm" +#include "code\modules\clothing\shoes\magboots.dm" +#include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\alien.dm" +#include "code\modules\clothing\spacesuits\breaches.dm" +#include "code\modules\clothing\spacesuits\captain.dm" +#include "code\modules\clothing\spacesuits\ert.dm" +#include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\ninja.dm" +#include "code\modules\clothing\spacesuits\rig.dm" +#include "code\modules\clothing\spacesuits\syndi.dm" +#include "code\modules\clothing\spacesuits\void.dm" +#include "code\modules\clothing\suits\alien.dm" +#include "code\modules\clothing\suits\armor.dm" +#include "code\modules\clothing\suits\bio.dm" +#include "code\modules\clothing\suits\jobs.dm" +#include "code\modules\clothing\suits\labcoat.dm" +#include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\under\chameleon.dm" +#include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\miscellaneous.dm" +#include "code\modules\clothing\under\shorts.dm" +#include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\ties.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\customitems\item_defines.dm" +#include "code\modules\customitems\item_spawning.dm" +#include "code\modules\customitems\definitions\base.dm" +#include "code\modules\DetectiveWork\detective_work.dm" +#include "code\modules\DetectiveWork\evidence.dm" +#include "code\modules\DetectiveWork\footprints_and_rag.dm" +#include "code\modules\DetectiveWork\scanner.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\Economy.dm" +#include "code\modules\economy\Economy_Events.dm" +#include "code\modules\economy\Economy_Events_Mundane.dm" +#include "code\modules\economy\Economy_TradeDestinations.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Job_Departments.dm" +#include "code\modules\economy\POS.dm" +#include "code\modules\economy\utils.dm" +#include "code\modules\events\blob.dm" +#include "code\modules\events\borers.dm" +#include "code\modules\events\cargobonus.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\electrical_storm.dm" +#include "code\modules\events\event.dm" +#include "code\modules\events\event_dynamic.dm" +#include "code\modules\events\event_manager.dm" +#include "code\modules\events\grid_check.dm" +#include "code\modules\events\infestation.dm" +#include "code\modules\events\ion_storm.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\organ_failure.dm" +#include "code\modules\events\prison_break.dm" +#include "code\modules\events\radiation_storm.dm" +#include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\space_ninja.dm" +#include "code\modules\events\spacevine.dm" +#include "code\modules\events\tear.dm" +#include "code\modules\events\viral_infection.dm" +#include "code\modules\events\viral_outbreak.dm" +#include "code\modules\events\wallrot.dm" +#include "code\modules\events\sayuevents\meaty_ores.dm" +#include "code\modules\events\sayuevents\spooky.dm" +#include "code\modules\events\sayuevents\undead.dm" +#include "code\modules\events\sayuevents\wormholes.dm" +#include "code\modules\events\tgevents\alien_infestation.dm" +#include "code\modules\events\tgevents\anomaly.dm" +#include "code\modules\events\tgevents\anomaly_bluespace.dm" +#include "code\modules\events\tgevents\anomaly_flux.dm" +#include "code\modules\events\tgevents\anomaly_grav.dm" +#include "code\modules\events\tgevents\anomaly_pyro.dm" +#include "code\modules\events\tgevents\anomaly_vortex.dm" +#include "code\modules\events\tgevents\brand_intelligence.dm" +#include "code\modules\events\tgevents\dust.dm" +#include "code\modules\events\tgevents\false_alarm.dm" +#include "code\modules\events\tgevents\immovable_rod.dm" +#include "code\modules\events\tgevents\mass_hallucination.dm" +#include "code\modules\events\tgevents\spider_infestation.dm" +#include "code\modules\events\tgevents\vent_clog.dm" +#include "code\modules\ext_scripts\irc.dm" +#include "code\modules\ext_scripts\python.dm" +#include "code\modules\flufftext\Dreaming.dm" +#include "code\modules\flufftext\Hallucination.dm" +#include "code\modules\flufftext\TextFilters.dm" +#include "code\modules\food\cereal_maker.dm" +#include "code\modules\food\cooker.dm" +#include "code\modules\food\customizables.dm" +#include "code\modules\food\deep_fryer.dm" +#include "code\modules\food\food_grill.dm" +#include "code\modules\food\icecream_vat.dm" +#include "code\modules\food\oven.dm" +#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\genetics\side_effects.dm" +#include "code\modules\hydroponics\grown_inedible.dm" +#include "code\modules\hydroponics\hydro_tools.dm" +#include "code\modules\hydroponics\seed_datums.dm" +#include "code\modules\hydroponics\seed_machines.dm" +#include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seeds.dm" +#include "code\modules\hydroponics\vines.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\media\jukebox.dm" +#include "code\modules\media\machinery.dm" +#include "code\modules\media\mediamanager.dm" +#include "code\modules\media\broadcast\receiver.dm" +#include "code\modules\media\broadcast\transmitter.dm" +#include "code\modules\media\broadcast\receivers\radio.dm" +#include "code\modules\media\broadcast\transmitters\broadcast.dm" +#include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\alloys.dm" +#include "code\modules\mining\coins.dm" +#include "code\modules\mining\equipment_locker.dm" +#include "code\modules\mining\machine_input_output_plates.dm" +#include "code\modules\mining\machine_processing.dm" +#include "code\modules\mining\machine_stacking.dm" +#include "code\modules\mining\machine_unloading.dm" +#include "code\modules\mining\manufacturing.dm" +#include "code\modules\mining\materials.dm" +#include "code\modules\mining\mine_areas.dm" +#include "code\modules\mining\mine_items.dm" +#include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\minerals.dm" +#include "code\modules\mining\mining_recipes.dm" +#include "code\modules\mining\mint.dm" +#include "code\modules\mining\money_bag.dm" +#include "code\modules\mining\ore.dm" +#include "code\modules\mining\ore_datum.dm" +#include "code\modules\mining\satchel_ore_boxdm.dm" +#include "code\modules\mining\security_recipes.dm" +#include "code\modules\mining\surprise.dm" +#include "code\modules\mining\drilling\distribution.dm" +#include "code\modules\mining\drilling\drill.dm" +#include "code\modules\mining\drilling\scanner.dm" +#include "code\modules\mining\laborcamp\laborminerals.dm" +#include "code\modules\mining\laborcamp\laborshuttle.dm" +#include "code\modules\mining\laborcamp\laborstacker.dm" +#include "code\modules\mining\surprises\tg.dm" +#include "code\modules\mining\surprises\vg.dm" +#include "code\modules\mob\abilities.dm" +#include "code\modules\mob\death.dm" +#include "code\modules\mob\emote.dm" +#include "code\modules\mob\holder.dm" +#include "code\modules\mob\inventory.dm" +#include "code\modules\mob\language.dm" +#include "code\modules\mob\login.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_grab.dm" +#include "code\modules\mob\mob_helpers.dm" +#include "code\modules\mob\mob_movement.dm" +#include "code\modules\mob\mob_transformation_simple.dm" +#include "code\modules\mob\say.dm" +#include "code\modules\mob\transform_procs.dm" +#include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\camera\camera.dm" +#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\observer\logout.dm" +#include "code\modules\mob\dead\observer\observer.dm" +#include "code\modules\mob\dead\observer\say.dm" +#include "code\modules\mob\dead\observer\spells.dm" +#include "code\modules\mob\living\damage_procs.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\login.dm" +#include "code\modules\mob\living\logout.dm" +#include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\carbon\_defines.dm" +#include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defenses.dm" +#include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\shock.dm" +#include "code\modules\mob\living\carbon\species.dm" +#include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" +#include "code\modules\mob\living\carbon\alien\death.dm" +#include "code\modules\mob\living\carbon\alien\login.dm" +#include "code\modules\mob\living\carbon\alien\logout.dm" +#include "code\modules\mob\living\carbon\alien\powers.dm" +#include "code\modules\mob\living\carbon\alien\say.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" +#include "code\modules\mob\living\carbon\alien\larva\death.dm" +#include "code\modules\mob\living\carbon\alien\larva\emote.dm" +#include "code\modules\mob\living\carbon\alien\larva\inventory.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\powers.dm" +#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" +#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" +#include "code\modules\mob\living\carbon\brain\brain.dm" +#include "code\modules\mob\living\carbon\brain\brain_item.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\posibrain.dm" +#include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\death.dm" +#include "code\modules\mob\living\carbon\human\emote.dm" +#include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_attackalien.dm" +#include "code\modules\mob\living\carbon\human\human_attackhand.dm" +#include "code\modules\mob\living\carbon\human\human_attackpaw.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_movement.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\login.dm" +#include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\whisper.dm" +#include "code\modules\mob\living\carbon\human\plasmaman\species.dm" +#include "code\modules\mob\living\carbon\metroid\death.dm" +#include "code\modules\mob\living\carbon\metroid\emote.dm" +#include "code\modules\mob\living\carbon\metroid\examine.dm" +#include "code\modules\mob\living\carbon\metroid\hud.dm" +#include "code\modules\mob\living\carbon\metroid\life.dm" +#include "code\modules\mob\living\carbon\metroid\login.dm" +#include "code\modules\mob\living\carbon\metroid\metroid.dm" +#include "code\modules\mob\living\carbon\metroid\powers.dm" +#include "code\modules\mob\living\carbon\metroid\say.dm" +#include "code\modules\mob\living\carbon\metroid\subtypes.dm" +#include "code\modules\mob\living\carbon\metroid\update_icons.dm" +#include "code\modules\mob\living\carbon\monkey\death.dm" +#include "code\modules\mob\living\carbon\monkey\diona.dm" +#include "code\modules\mob\living\carbon\monkey\emote.dm" +#include "code\modules\mob\living\carbon\monkey\examine.dm" +#include "code\modules\mob\living\carbon\monkey\inventory.dm" +#include "code\modules\mob\living\carbon\monkey\life.dm" +#include "code\modules\mob\living\carbon\monkey\login.dm" +#include "code\modules\mob\living\carbon\monkey\monkey.dm" +#include "code\modules\mob\living\carbon\monkey\powers.dm" +#include "code\modules\mob\living\carbon\monkey\update_icons.dm" +#include "code\modules\mob\living\silicon\death.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\ai\ai.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\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\say.dm" +#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" +#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" +#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" +#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" +#include "code\modules\mob\living\silicon\ai\freelook\update_triggers.dm" +#include "code\modules\mob\living\silicon\ai\freelook\visibility_interface.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\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\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\robot\component.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\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_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules.dm" +#include "code\modules\mob\living\silicon\robot\robot_movement.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\simple_animal\bees.dm" +#include "code\modules\mob\living\simple_animal\borer.dm" +#include "code\modules\mob\living\simple_animal\constructs.dm" +#include "code\modules\mob\living\simple_animal\corpse.dm" +#include "code\modules\mob\living\simple_animal\parrot.dm" +#include "code\modules\mob\living\simple_animal\powers.dm" +#include "code\modules\mob\living\simple_animal\shade.dm" +#include "code\modules\mob\living\simple_animal\simple_animal.dm" +#include "code\modules\mob\living\simple_animal\tribbles.dm" +#include "code\modules\mob\living\simple_animal\vox.dm" +#include "code\modules\mob\living\simple_animal\worm.dm" +#include "code\modules\mob\living\simple_animal\friendly\cat.dm" +#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" +#include "code\modules\mob\living\simple_animal\friendly\crab.dm" +#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" +#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" +#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" +#include "code\modules\mob\living\simple_animal\friendly\slime.dm" +#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" +#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" +#include "code\modules\mob\living\simple_animal\hostile\alien.dm" +#include "code\modules\mob\living\simple_animal\hostile\bat.dm" +#include "code\modules\mob\living\simple_animal\hostile\bear.dm" +#include "code\modules\mob\living\simple_animal\hostile\carp.dm" +#include "code\modules\mob\living\simple_animal\hostile\creature.dm" +#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" +#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" +#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" +#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" +#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" +#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" +#include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\statue.dm" +#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" +#include "code\modules\mob\living\simple_animal\hostile\tree.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" +#include "code\modules\mob\new_player\login.dm" +#include "code\modules\mob\new_player\logout.dm" +#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\poll.dm" +#include "code\modules\mob\new_player\preferences_setup.dm" +#include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\spirit\cultnet.dm" +#include "code\modules\mob\spirit\movement.dm" +#include "code\modules\mob\spirit\spirit.dm" +#include "code\modules\mob\spirit\viewpoint.dm" +#include "code\modules\mob\spirit\mask\mask.dm" +#include "code\modules\mob\spirit\mask\respawn.dm" +#include "code\modules\nano\_JSON.dm" +#include "code\modules\nano\JSON Reader.dm" +#include "code\modules\nano\JSON Writer.dm" +#include "code\modules\nano\nanoexternal.dm" +#include "code\modules\nano\nanomanager.dm" +#include "code\modules\nano\nanomapgen.dm" +#include "code\modules\nano\nanoui.dm" +#include "code\modules\organs\blood.dm" +#include "code\modules\organs\organ.dm" +#include "code\modules\organs\organ_external.dm" +#include "code\modules\organs\organ_internal.dm" +#include "code\modules\organs\pain.dm" +#include "code\modules\organs\skeleton.dm" +#include "code\modules\organs\wound.dm" +#include "code\modules\paperwork\carbonpaper.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\faxmachine.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\paperbin.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\power\apc.dm" +#include "code\modules\power\cable.dm" +#include "code\modules\power\cable_heavyduty.dm" +#include "code\modules\power\cable_logic.dm" +#include "code\modules\power\cell.dm" +#include "code\modules\power\engine.dm" +#include "code\modules\power\generator.dm" +#include "code\modules\power\generator_type2.dm" +#include "code\modules\power\gravitygenerator.dm" +#include "code\modules\power\lighting.dm" +#include "code\modules\power\port_gen.dm" +#include "code\modules\power\power.dm" +#include "code\modules\power\smes.dm" +#include "code\modules\power\solar.dm" +#include "code\modules\power\switch.dm" +#include "code\modules\power\terminal.dm" +#include "code\modules\power\tracker.dm" +#include "code\modules\power\turbine.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\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\projectiles\ammunition.dm" +#include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\targeting.dm" +#include "code\modules\projectiles\ammunition\boxes.dm" +#include "code\modules\projectiles\ammunition\bullets.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\guns\alien.dm" +#include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\magic.dm" +#include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\energy\laser.dm" +#include "code\modules\projectiles\guns\energy\nuclear.dm" +#include "code\modules\projectiles\guns\energy\pulse.dm" +#include "code\modules\projectiles\guns\energy\special.dm" +#include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\magic\staff.dm" +#include "code\modules\projectiles\guns\magic\wand.dm" +#include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\crossbow.dm" +#include "code\modules\projectiles\guns\projectile\launcher.dm" +#include "code\modules\projectiles\guns\projectile\pistol.dm" +#include "code\modules\projectiles\guns\projectile\pneumatic.dm" +#include "code\modules\projectiles\guns\projectile\revolver.dm" +#include "code\modules\projectiles\guns\projectile\rocket.dm" +#include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\projectile\animate.dm" +#include "code\modules\projectiles\projectile\beams.dm" +#include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\change.dm" +#include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\force.dm" +#include "code\modules\projectiles\projectile\magic.dm" +#include "code\modules\projectiles\projectile\special.dm" +#include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Holder.dm" +#include "code\modules\reagents\Chemistry-Machinery.dm" +#include "code\modules\reagents\Chemistry-Readme.dm" +#include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" +#include "code\modules\reagents\Chemistry-Reagents.dm" +#include "code\modules\reagents\Chemistry-Recipes.dm" +#include "code\modules\reagents\dartgun.dm" +#include "code\modules\reagents\grenade_launcher.dm" +#include "code\modules\reagents\reagent_containers.dm" +#include "code\modules\reagents\reagent_dispenser.dm" +#include "code\modules\reagents\syringe_gun.dm" +#include "code\modules\reagents\reagent_containers\blood_pack.dm" +#include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\dropper.dm" +#include "code\modules\reagents\reagent_containers\drugs.dm" +#include "code\modules\reagents\reagent_containers\food.dm" +#include "code\modules\reagents\reagent_containers\glass.dm" +#include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\robodropper.dm" +#include "code\modules\reagents\reagent_containers\spray.dm" +#include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\food\cans.dm" +#include "code\modules\reagents\reagent_containers\food\condiment.dm" +#include "code\modules\reagents\reagent_containers\food\drinks.dm" +#include "code\modules\reagents\reagent_containers\food\sandwich.dm" +#include "code\modules\reagents\reagent_containers\food\snacks.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\grown.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle\robot.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\message_server.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" +#include "code\modules\research\xenoarchaeology\areas.dm" +#include "code\modules\research\xenoarchaeology\chemistry.dm" +#include "code\modules\research\xenoarchaeology\geosample.dm" +#include "code\modules\research\xenoarchaeology\manuals.dm" +#include "code\modules\research\xenoarchaeology\master_controller.dm" +#include "code\modules\research\xenoarchaeology\misc.dm" +#include "code\modules\research\xenoarchaeology\readme.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" +#include "code\modules\research\xenoarchaeology\artifact\effect.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_forcefield.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasco2.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasnitro.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasoxy.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gasplasma.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_gassleeping.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" +#include "code\modules\research\xenoarchaeology\finds\finds.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_plants.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_seeds.dm" +#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" +#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" +#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" +#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" +#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" +#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" +#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" +#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" +#include "code\modules\research\xenoarchaeology\tools\tools.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.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\shuttles\antagonist.dm" +#include "code\modules\shuttles\departmental.dm" +#include "code\modules\shuttles\escape_pods.dm" +#include "code\modules\shuttles\shuttle.dm" +#include "code\modules\shuttles\shuttle_console.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\store\items.dm" +#include "code\modules\store\store.dm" +#include "code\modules\supermatter\supermatter.dm" +#include "code\modules\surgery\bones.dm" +#include "code\modules\surgery\braincore.dm" +#include "code\modules\surgery\eye.dm" +#include "code\modules\surgery\face.dm" +#include "code\modules\surgery\generic.dm" +#include "code\modules\surgery\headreattach.dm" +#include "code\modules\surgery\implant.dm" +#include "code\modules\surgery\other.dm" +#include "code\modules\surgery\ribcage.dm" +#include "code\modules\surgery\robolimbs.dm" +#include "code\modules\surgery\surgery.dm" +#include "code\modules\vehicles\ambulance.dm" +#include "code\modules\vehicles\cargo_train.dm" +#include "code\modules\vehicles\janicart.dm" +#include "code\modules\vehicles\train.dm" +#include "code\modules\vehicles\vehicle.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\helpers.dm" +#include "code\modules\virus2\isolator.dm" +#include "code\modules\virus2\items_devices.dm" +#include "code\WorkInProgress\autopsy.dm" +#include "code\WorkInProgress\buildmode.dm" +#include "code\WorkInProgress\explosion_particles.dm" +#include "code\WorkInProgress\fireworks.dm" +#include "code\WorkInProgress\periodic_news.dm" +#include "code\WorkInProgress\Apples\artifacts.dm" +#include "code\WorkInProgress\Cael_Aislinn\sculpture.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\falsewall.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_temple.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_turfs.dm" +#include "code\WorkInProgress\Cael_Aislinn\Jungle\misc_helpers.dm" +#include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm" +#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\circuits_and_designs.dm" +#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\energy_field.dm" +#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_capacitor.dm" +#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen.dm" +#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen_external.dm" +#include "code\WorkInProgress\Chinsky\ashtray.dm" +#include "code\WorkInProgress\Chinsky\guestpass.dm" +#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" +#include "code\WorkInProgress\computer3\bios.dm" +#include "code\WorkInProgress\computer3\buildandrepair.dm" +#include "code\WorkInProgress\computer3\component.dm" +#include "code\WorkInProgress\computer3\computer.dm" +#include "code\WorkInProgress\computer3\computer3_notes.dm" +#include "code\WorkInProgress\computer3\file.dm" +#include "code\WorkInProgress\computer3\laptop.dm" +#include "code\WorkInProgress\computer3\lapvend.dm" +#include "code\WorkInProgress\computer3\networking.dm" +#include "code\WorkInProgress\computer3\NTOS.dm" +#include "code\WorkInProgress\computer3\program.dm" +#include "code\WorkInProgress\computer3\program_disks.dm" +#include "code\WorkInProgress\computer3\server.dm" +#include "code\WorkInProgress\computer3\storage.dm" +#include "code\WorkInProgress\computer3\computers\arcade.dm" +#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" +#include "code\WorkInProgress\computer3\computers\camera.dm" +#include "code\WorkInProgress\computer3\computers\card.dm" +#include "code\WorkInProgress\computer3\computers\communications.dm" +#include "code\WorkInProgress\computer3\computers\crew.dm" +#include "code\WorkInProgress\computer3\computers\customs.dm" +#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" +#include "code\WorkInProgress\computer3\computers\law.dm" +#include "code\WorkInProgress\computer3\computers\medical.dm" +#include "code\WorkInProgress\computer3\computers\Operating.dm" +#include "code\WorkInProgress\computer3\computers\power.dm" +#include "code\WorkInProgress\computer3\computers\prisoner.dm" +#include "code\WorkInProgress\computer3\computers\robot.dm" +#include "code\WorkInProgress\computer3\computers\security.dm" +#include "code\WorkInProgress\computer3\computers\welcome.dm" +#include "code\WorkInProgress\Mini\atmos_control.dm" +#include "code\WorkInProgress\Ported\policetape.dm" +#include "code\WorkInProgress\Sayu\belt.dm" +#include "code\WorkInProgress\Sayu\cargoprofile.dm" +#include "code\WorkInProgress\Sayu\grenades.dm" +#include "code\WorkInProgress\Sayu\programmable.dm" +#include "code\WorkInProgress\Sayu\random_items.dm" +#include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" +#include "code\WorkInProgress\ZomgPonies\karma.dm" +#include "code\WorkInProgress\ZomgPonies\clothing\civilian.dm" +#include "code\WorkInProgress\ZomgPonies\mobs\pony.dm" +#include "code\WorkInProgress\ZomgPonies\oldcode\turntable.dm" +#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmor.dm" +#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmorcomponents.dm" +#include "code\ZAS\_docs.dm" +#include "code\ZAS\_gas_mixture.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\Plasma.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\cyberiad.dmm" +#include "maps\RandomZLevels\clown3.dmm" +// END_INCLUDE diff --git a/baystation12.otr b/paradise.otr similarity index 100% rename from baystation12.otr rename to paradise.otr