Merge remote-tracking branch 'refs/remotes/origin/master' into oties-and-wild-removed

This commit is contained in:
Spades
2017-08-26 15:51:47 -04:00
20 changed files with 368 additions and 48 deletions
+10
View File
@@ -0,0 +1,10 @@
/*
get_holder_at_turf_level(): Similar to get_turf(), will return the "highest up" holder of this atom, excluding the turf.
Example: A fork inside a box inside a locker will return the locker. Essentially, get_just_before_turf().
*/ //Credit to /vg/
/proc/get_holder_at_turf_level(const/atom/movable/O)
if(!istype(O)) //atom/movable does not include areas
return
var/atom/A
for(A=O, A && !isturf(A.loc), A=A.loc); // semicolon is for the empty statement
return A
+7 -1
View File
@@ -42,6 +42,12 @@
/obj/item/mecha_parts/part/phazon_right_arm,
/obj/item/mecha_parts/part/phazon_right_leg,
/obj/item/mecha_parts/part/phazon_torso,
/obj/item/device/bodysnatcher,
/obj/item/weapon/bluespace_harpoon,
/obj/item/weapon/permit,
/obj/item/device/perfect_tele,
/obj/item/device/sleevemate,
/obj/item/weapon/disk/nifsoft/compliance,
/obj/item/seeds/ambrosiadeusseed,
/obj/item/seeds/ambrosiavulgarisseed,
/obj/item/seeds/libertymycelium,
@@ -92,4 +98,4 @@
slot_flags = SLOT_BELT
storage_slots = 7
can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar/havana)
icon_type = "cigar"
icon_type = "cigar"
+106
View File
@@ -0,0 +1,106 @@
/obj/structure/mob_spawner
name = "mob spawner"
desc = "This shouldn't be seen, yell at a dev."
icon = 'icons/effects/effects.dmi'
icon_state = "rift"
anchored = 1
var/last_spawn = 0
var/spawn_delay = 10 MINUTES
var/list/spawn_types = list(
/mob/living/simple_animal/corgi = 100,
/mob/living/simple_animal/cat = 25
)
var/total_spawns = -1 //Total mob spawns, over all time, -1 for no limit
var/simultaneous_spawns = 3 //Max spawned mobs active at one time
var/mob_faction
var/destructible = 0
var/health = 50
var/list/spawned_mobs = list()
/obj/structure/mob_spawner/initialize()
..()
processing_objects.Add(src)
last_spawn = world.time + rand(0,spawn_delay)
/obj/structure/mob_spawner/Destroy()
processing_objects.Remove(src)
for(var/mob/living/L in spawned_mobs)
L.source_spawner = null
spawned_mobs.Cut()
return ..()
/obj/structure/mob_spawner/process()
if(!can_spawn())
return
var/chosen_mob = choose_spawn()
if(chosen_mob)
do_spawn(chosen_mob)
/obj/structure/mob_spawner/proc/can_spawn()
if(!total_spawns)
return 0
if(spawned_mobs.len >= simultaneous_spawns)
return 0
if(world.time < last_spawn + spawn_delay)
return 0
return 1
/obj/structure/mob_spawner/proc/choose_spawn()
return pickweight(spawn_types)
/obj/structure/mob_spawner/proc/do_spawn(var/mob_path)
if(!ispath(mob_path))
return 0
var/mob/living/L = new mob_path(get_turf(src))
L.source_spawner = src
spawned_mobs.Add(L)
last_spawn = world.time
if(total_spawns > 0)
total_spawns--
if(mob_faction)
L.faction = mob_faction
return L
/obj/structure/mob_spawner/proc/get_death_report(var/mob/living/L)
if(L in spawned_mobs)
spawned_mobs.Remove(L)
/obj/structure/mob_spawner/attackby(var/obj/item/I, var/mob/living/user)
if(!I.force || I.flags & NOBLUDGEON || !destructible)
return
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.do_attack_animation(src)
visible_message("<span class='warning'>\The [src] has been [I.attack_verb.len ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].</span>")
take_damage(I.force)
/obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj)
..()
if(destructible)
take_damage(Proj.get_structure_damage())
/obj/structure/mob_spawner/proc/take_damage(var/damage)
health -= damage
if(health <= 0)
visible_message("<span class='warning'>\The [src] breaks apart!</span>")
qdel(src)
/obj/structure/mob_spawner/clear_zlevel/can_spawn()
if(!..())
return 0
var/turf/T = get_turf(src)
if(!T)
return 0
for(var/mob/living/L in player_list)
var/turf/L_T
if(L.stat == DEAD)
continue
L_T = get_turf(L)
if(T.z == L_T.z)
return 0
return 1
@@ -9,6 +9,8 @@
var/list/searchedby = list()// Characters that have searched this trashpile, with values of searched time.
var/mob/living/hider // A simple animal that might be hiding in the pile
var/obj/structure/mob_spawner/mouse_nest/mouse_nest = null
var/chance_alpha = 79 // Alpha list is junk items and normal random stuff.
var/chance_beta = 20 // Beta list is actually maybe some useful illegal items. If it's not alpha or gamma, it's beta.
var/chance_gamma = 1 // Gamma list is unique items only, and will only spawn one of each. This is a sub-chance of beta chance.
@@ -40,6 +42,12 @@
"boxfort",
"trashbag",
"brokecomp")
mouse_nest = new(src)
/obj/structure/trash_pile/Destroy()
qdel(mouse_nest)
mouse_nest = null
return ..()
/obj/structure/trash_pile/attackby(obj/item/W as obj, mob/user as mob)
var/w_type = W.type
@@ -252,3 +260,31 @@
else
return produce_beta_item()
/obj/structure/mob_spawner/mouse_nest
name = "trash"
desc = "A small heap of trash, perfect for mice to nest in."
icon = 'icons/obj/trash_piles.dmi'
icon_state = "randompile"
spawn_types = list(/mob/living/simple_animal/mouse)
simultaneous_spawns = 1
destructible = 1
/obj/structure/mob_spawner/mouse_nest/initialize()
..()
icon_state = pick(
"pile1",
"pile2",
"pilechair",
"piletable",
"pilevending",
"brtrashpile",
"microwavepile",
"rackpile",
"boxfort",
"trashbag",
"brokecomp")
/obj/structure/mob_spawner/mouse_nest/do_spawn(var/mob_path)
. = ..()
var/atom/A = get_holder_at_turf_level(src)
A.visible_message("[.] crawls out of \the [src].")
@@ -31,9 +31,100 @@
/obj/item/clothing/accessory/collar/shock
name = "Shock collar"
desc = "A collar used to ease hungry predators."
icon_state = "collar_shk"
icon_state = "collar_shk0"
item_state = "collar_shk_overlay"
overlay_state = "collar_shk_overlay"
// How about some copypasta?
var/on = 0 // 0 for off, 1 for on, starts off to encourage people to set non-default frequencies and codes.
var/frequency = 1449
var/code = 2
var/datum/radio_frequency/radio_connection
var/list/datum/radio_frequency/secure_radio_connections = new
proc/set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT)
/obj/item/clothing/accessory/collar/shock/New()
radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) // Makes it so you don't need to change the frequency off of default for it to work.
/obj/item/clothing/accessory/collar/shock/Topic(href, href_list)
if(usr.stat || usr.restrained())
return
if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf)))))
usr.set_machine(src)
if(href_list["freq"])
var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
set_frequency(new_frequency)
else
if(href_list["code"])
code += text2num(href_list["code"])
code = round(code)
code = min(100, code)
code = max(1, code)
else
if(href_list["power"])
on = !( on )
icon_state = "collar_shk[on]" // And apparently this works, too?!
if(!( master ))
if(istype(loc, /mob))
attack_self(loc)
else
for(var/mob/M in viewers(1, src))
if(M.client)
attack_self(M)
else
if(istype(master.loc, /mob))
attack_self(master.loc)
else
for(var/mob/M in viewers(1, master))
if(M.client)
attack_self(M)
else
usr << browse(null, "window=radio")
return
return
/obj/item/clothing/accessory/collar/shock/receive_signal(datum/signal/signal)
if(!signal || signal.encryption != code)
return
if(on)
var/mob/M = null
if(ismob(loc))
M = loc
if(ismob(loc.loc))
M = loc.loc // This is about as terse as I can make my solution to the whole 'collar won't work when attached as accessory' thing.
M << "<span class='danger'>You feel a sharp shock!</span>"
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()
M.Weaken(10)
return
/obj/item/clothing/accessory/collar/shock/attack_self(mob/user as mob, flag1)
if(!istype(user, /mob/living/carbon/human))
return
user.set_machine(src)
var/dat = {"<TT>
<A href='?src=\ref[src];power=1'>Turn [on ? "Off" : "On"]</A><BR>
<B>Frequency/Code</B> for collar:<BR>
Frequency:
<A href='byond://?src=\ref[src];freq=-10'>-</A>
<A href='byond://?src=\ref[src];freq=-2'>-</A> [format_frequency(frequency)]
<A href='byond://?src=\ref[src];freq=2'>+</A>
<A href='byond://?src=\ref[src];freq=10'>+</A><BR>
Code:
<A href='byond://?src=\ref[src];code=-5'>-</A>
<A href='byond://?src=\ref[src];code=-1'>-</A> [code]
<A href='byond://?src=\ref[src];code=1'>+</A>
<A href='byond://?src=\ref[src];code=5'>+</A><BR>
</TT>"}
user << browse(dat, "window=radio")
onclose(user, "radio")
return
/obj/item/clothing/accessory/collar/spike
name = "Spiked collar"
+5
View File
@@ -1,3 +1,8 @@
/mob/living/death()
clear_fullscreens()
//VOREStation Edit - Mob spawner stuff
if(source_spawner)
source_spawner.get_death_report(src)
source_spawner = null
//VOREStation Edit End
. = ..()
+2 -1
View File
@@ -1,2 +1,3 @@
/mob/living
var/ooc_notes = null
var/ooc_notes = null
var/obj/structure/mob_spawner/source_spawner = null
@@ -15,6 +15,7 @@
var/list/injection_chems = list("dexalin", "bicaridine", "kelotane","anti_toxin", "alkysine", "imidazoline", "spaceacillin", "paracetamol") //The borg is able to heal every damage type. As a nerf, they use 750 charge per injection.
var/eject_port = "ingestion"
var/list/items_preserved = list()
var/UI_open = 0
/obj/item/device/dogborg/sleeper/New()
..()
@@ -50,6 +51,8 @@
user.visible_message("<span class='warning'>[hound.name]'s medical pod lights up as [target.name] slips inside into their [src.name].</span>", "<span class='notice'>Your medical pod lights up as [target] slips into your [src]. Life support functions engaged.</span>")
message_admins("[key_name(hound)] has eaten [key_name(patient)] as a dogborg. ([hound ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[hound.x];Y=[hound.y];Z=[hound.z]'>JMP</a>" : "null"])")
playsound(hound, 'sound/vore/gulp.ogg', 100, 1) //POLARISTODO
if(UI_open == 1)
sleeperUI(usr)
/obj/item/device/dogborg/sleeper/proc/go_out(var/target)
hound = src.loc
@@ -88,6 +91,7 @@
if(..())
return
sleeperUI(user)
UI_open = 1
/obj/item/device/dogborg/sleeper/proc/sleeperUI(mob/user)
var/dat
@@ -174,9 +178,11 @@
dat += "</div>"
var/datum/browser/popup = new(user, "sleeper", "Sleeper Console", 520, 540) //Set up the popup browser window
popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
//popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) //I have no idea what this is, but it feels irrelevant and causes runtimes idk.
popup.set_content(dat)
popup.open()
onclose(user, "sleeper")
UI_open = 0
return
/obj/item/device/dogborg/sleeper/Topic(href, href_list)
@@ -292,6 +298,8 @@
patient_laststat = null
patient = null
hound.updateicon()
if(UI_open == 1)
sleeperUI(usr)
return
//Gurgleborg process
@@ -390,6 +398,8 @@
T.drop_from_inventory(I, src)
qdel(T)
src.update_patient()
if(UI_open == 1)
sleeperUI(hound)
//Handle the target being anything but a /mob/living/carbon/human
else
@@ -438,6 +448,9 @@
contents -= T
qdel(T)
src.update_patient()
if(UI_open == 1)
sleeperUI(hound)
return
/obj/item/device/dogborg/sleeper/process()
@@ -514,6 +527,8 @@
if(length(contents) > 11) //grow that tum after a certain junk amount
hound.sleeper_r = 1
hound.updateicon()
if(UI_open == 1)
sleeperUI(usr)
return
if(istype(target, /mob/living/simple_animal/mouse)) //Edible mice, dead or alive whatever. Mostly for carcass picking you cruel bastard :v
@@ -527,6 +542,8 @@
if(length(contents) > 11) //grow that tum after a certain junk amount
hound.sleeper_r = 1
hound.updateicon()
if(UI_open == 1)
sleeperUI(usr)
return
else if(ishuman(target))
@@ -547,6 +564,8 @@
playsound(hound, 'sound/vore/gulp.ogg', 80, 1)
hound.sleeper_r = 1
hound.updateicon()
if(UI_open == 1)
sleeperUI(usr)
return
return
+1 -1
View File
@@ -115,7 +115,7 @@
if(mannequin.wing_style.do_colouration)
temp["color"] = MOB_HEX_COLOR(mannequin, wing)
temp["colorHref"] = "wing_color"
styles["Tail"] = temp
styles["Wing"] = temp
temp = list("styleHref" = "hair_style", "style" = mannequin.h_style)
if(mannequin.species && (mannequin.species.appearance_flags & HAS_HAIR_COLOR))
+1 -2
View File
@@ -83,7 +83,7 @@
if(process_longjump(departing, destination)) //VOREStation Edit - To hook custom shuttle code in
return //VOREStation Edit - It handled it for us (shuttle crash or such)
/*
var/last_progress_sound = 0
while (world.time < arrive_time)
// Make the shuttle make sounds every four seconds, since the sound file is five seconds.
@@ -91,7 +91,6 @@
make_sounds(interim, HYPERSPACE_PROGRESS)
last_progress_sound = world.time
sleep(5)
*/ //VOREStation Edit. Polaris code in this commented out part, but line 84 takes care of it as far as I cna see.
move(interim, destination, direction)
moving_status = SHUTTLE_IDLE
+7 -1
View File
@@ -175,6 +175,9 @@
prey.forceMove(owner)
internal_contents |= prey
owner.updateVRPanel()
for(var/mob/living/M in internal_contents)
M.updateVRPanel()
if(inside_flavor)
prey << "<span class='notice'><B>[inside_flavor]</B></span>"
@@ -519,7 +522,10 @@
to_chat(owner, "<span class='notice'>[M] tastes of [M.get_taste_message(0)].</span>")
if(!silent)
for(var/mob/hearer in range(1,owner))
hearer << sound('sound/vore/squish2.ogg',volume=80)
hearer << sound(target.vore_sound,volume=80)
owner.updateVRPanel()
for(var/mob/living/M in internal_contents)
M.updateVRPanel()
// Belly copies and then returns the copy
// Needs to be updated for any var changes
+7 -1
View File
@@ -84,6 +84,7 @@
owner.nutrition += offset*(10/difference) // 9.5 nutrition per digestion tick if they're 130 pounds and it's same size. 10.2 per digestion tick if they're 140 and it's same size. Etc etc.
else
owner.nutrition += (10/difference)
M.updateVRPanel()
if(digest_mode == DM_ITEMWEAK)
var/obj/item/T = pick(touchable_items)
@@ -189,6 +190,7 @@
else
return
owner.updateVRPanel()
return
//////////////////////////// DM_STRIPDIGEST ////////////////////////////
@@ -255,6 +257,8 @@
s_owner.cell.charge += (50 * T.w_class)
internal_contents -= T
qdel(T)
for(var/mob/living/carbon/human/M in internal_contents)
M.updateVRPanel()
for(var/mob/living/carbon/human/M in internal_contents)
if(!M)
@@ -289,7 +293,7 @@
for(var/stashslot in stash)
var/obj/item/SL = M.get_equipped_item(stashslot)
if(SL)
SL.forceMove(owner)
M.remove_from_mob(SL,owner)
internal_contents += SL
M.remove_from_mob(I,owner)
internal_contents += I
@@ -298,7 +302,9 @@
if(!(istype(I,/obj/item/organ) || istype(I,/obj/item/weapon/storage/internal) || istype(I,/obj/screen)))
M.remove_from_mob(I,owner)
internal_contents += I
M.updateVRPanel()
owner.updateVRPanel()
return
//////////////////////////// DM_ABSORB ////////////////////////////
+1
View File
@@ -13,6 +13,7 @@
var/metabolism = 0.0015
var/vore_taste = null // What the character tastes like
var/no_vore = 0 // If the character/mob can vore.
var/openpanel = 0 // Is the vore panel open?
//
// Hook for generic creation of stuff on new creatures
+14
View File
@@ -21,6 +21,19 @@
picker_holder.popup = new(src, "insidePanel","Inside!", 400, 600, picker_holder)
picker_holder.popup.set_content(dat)
picker_holder.popup.open()
src.openpanel = 1
/mob/living/proc/updateVRPanel() //Panel popup update call from belly évents.
if(src.openpanel == 1)
var/datum/vore_look/picker_holder = new()
picker_holder.loop = picker_holder
picker_holder.selected = vore_organs[vore_selected]
var/dat = picker_holder.gen_ui(src)
picker_holder.popup = new(src, "insidePanel","Inside!", 400, 600, picker_holder)
picker_holder.popup.set_content(dat)
picker_holder.popup.open()
//
// Callback Handler for the Inside form
@@ -253,6 +266,7 @@
if(href_list["close"])
qdel(src) // Cleanup
user.openpanel = 0
return
if(href_list["show_int"])
@@ -1342,3 +1342,14 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
user.visible_message("<span class='notice'>[user] displays their [src.name].\nIt reads: [stored_name], [badge_string].</span>","<span class='notice'>You display your [src.name].\nIt reads: [stored_name], [badge_string].</span>")
else
user.visible_message("<span class='notice'>[user] displays their [src.name].\nIt reads: [badge_string].</span>","<span class='notice'>You display your [src.name]. It reads: [badge_string].</span>")
/obj/item/weapon/card/id/fluff/xennith
name = "\improper Amy Lessen's Central Command ID (Xenobiology Director)"
desc = "This ID card identifies Dr. Amelie Lessen as the founder and director of the NanoTrasen Xenobiology Research Department, circa 2553."
icon_state = "centcom"
registered_name = "Amy Lessen"
assignment = "Xenobiology Director"
access = list(access_cent_general,access_cent_thunder,access_cent_medical,access_cent_living,access_cent_storage,access_cent_teleporter,access_research,access_xenobiology,access_maint_tunnels,access_xenoarch,access_robotics,access_tox_storage,access_tox) //Yes, this looks awful. I tried calling both central and resarch access but it didn't work.
age = 39
blood_type = "O-"
sex = "Female"
+6
View File
@@ -727,6 +727,12 @@ character_name: Penelope Allen
item_path: /obj/item/weapon/storage/box/fluff/penelope
}
{
ckey: Xennith
character_name: Amy Lessen
item_path: /obj/item/weapon/card/id/fluff/xennith
}
# ######## Y CKEYS
# ######## Z CKEYS
{
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

+34 -33
View File
@@ -139,12 +139,12 @@
"acI" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/turf/simulated/floor,/area/engineering/engine_room)
"acJ" = (/turf/simulated/floor,/area/engineering/engine_room)
"acK" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room)
"acL" = (/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_gas)
"acM" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/engineering,/turf/simulated/floor,/area/engineering/engine_gas)
"acN" = (/obj/machinery/power/terminal{tag = "icon-term (WEST)"; icon_state = "term"; dir = 8},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_gas)
"acO" = (/obj/machinery/power/grid_checker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_gas)
"acP" = (/obj/machinery/power/smes/buildable{charge = 2e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Power - Main"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_gas)
"acQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_gas)
"acL" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes)
"acM" = (/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_smes)
"acN" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/engineering,/turf/simulated/floor,/area/engineering/engine_smes)
"acO" = (/obj/machinery/power/terminal{tag = "icon-term (WEST)"; icon_state = "term"; dir = 8},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_smes)
"acP" = (/obj/machinery/power/grid_checker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_smes)
"acQ" = (/obj/machinery/power/smes/buildable{charge = 2e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Power - Main"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_smes)
"acR" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway)
"acS" = (/turf/simulated/wall/r_wall,/area/engineering/workshop)
"acT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/Dorm_5)
@@ -168,12 +168,12 @@
"adl" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/engine_room)
"adm" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room)
"adn" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_room)
"ado" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"ads" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_gas)
"adt" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"ado" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_smes)
"adp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"ads" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes)
"adu" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway)
"adv" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway)
"adw" = (/obj/structure/curtain/open/bed,/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/random/plushie,/turf/simulated/floor,/area/maintenance/station/eng_lower)
@@ -200,15 +200,15 @@
"adR" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room)
"adS" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/backup)
"adT" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/engine_room)
"adU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adV" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adV" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adW" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"adY" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/backup)
"adZ" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aea" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aec" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"adZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aea" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aec" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aed" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/engineering/hallway)
"aee" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway)
"aef" = (/obj/random/junk,/obj/random/trash,/turf/simulated/floor,/area/maintenance/station/eng_lower)
@@ -232,14 +232,14 @@
"aex" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room)
"aey" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_room)
"aez" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/cable/cyan{d1 = 0; d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor,/area/engineering/engine_room)
"aeA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeB" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas)
"aeA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeB" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"aeI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/machinery/camera/network/engineering{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/hallway)
"aeJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway)
"aeK" = (/obj/machinery/light/small{dir = 8; pixel_y = 0},/obj/random/trash,/turf/simulated/floor,/area/maintenance/station/eng_lower)
@@ -642,6 +642,7 @@
"amr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{tag = "icon-techmaint"; icon_state = "techmaint"},/area/engineering/storage)
"ams" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/station/eng_lower)
"amt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring)
"amu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes)
"amv" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor,/area/engineering/engine_gas)
"amw" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/engineering/engine_gas)
"amx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_gas)
@@ -5529,11 +5530,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaiAaiBaiBapVaiBaiBapWahWahVaaaaaaaaaahVaiAaiBap
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWabpaqEapVapVapVapVaqFahWahWaaaaaaaaaahWajiaiBapVaiBabjabBabkaiBapVaiBarEahWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmabQabSabRabTabQaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaahVaiAaiBapVaiBabjabBabkaiBapVaiBapWahVaaaaaaaaaaaaaaaaaaaacaacaacaaaaaaabVackabSacaabTackacbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaahVajiaiBapVaiBabjabBabkaiBapVaiBarEahVaaaaaaaaaaacaacaacaacaacaacaacabCabCacdackackackaceabCabCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaagJagJagJagJagJariacfagJagJagJacgacgacgacgacgacgacgacgaczaczaczaacaacabCacAacjackackacjackacBabCaaaaaaaaaaaaaaaaaaaadaaeaaeaafaaeaaeaaeaaeaaeaaeaaeaaeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaagJacCacEacDacGacFacIacHacKacJacgacLacNacMacPacOacQacgadfacRaczaacaacabCadgacjackadhacjacjadiabCaacaacaacaacaaaaaaaaeaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWaccajiaiBapVaiBaiBapWahWariagJadjagJagJadkacHadmacGacFanuadlacKadnacgadoadpadpadradqadtadsadvaduaczaacaacabCanGackackaciacjackadwabCaacaacaacaacaacaacaahaaiaajaakaalaamaanaaoaakaakaapaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaabaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJadxanHadyadAadzadCadBadDadDadDadRacJadTadVadUadXadWaeaadZaecaebaeeaedaczaacaacabCaegaefackacjacjachaehabCaacaacaacaacaacaacaahaaiaajaaqaaqaaqaaqaaqaaqaaqaaqaaraasaataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWagJaekaemaelaepaeoaeuaetaewaewaewaexaezaeyaeBaeAaeDaeCaeFaeEaeHaeGaeJaeIarMarMarMarMarMaeKackackackaeLabCabCaacaacaacaacaacaacaahaaiaajaauaavaaqaawaaxaauaavaavaagaagaataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaagJagJagJagJagJariacfagJagJagJacLacLacLacLacLacLacLacLaczaczaczaacaacabCacAacjackackacjackacBabCaaaaaaaaaaaaaaaaaaaadaaeaaeaafaaeaaeaaeaaeaaeaaeaaeaaeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaagJacCacEacDacGacFacIacHacKacJacLacMacOacNacQacPadoacLadfacRaczaacaacabCadgacjackadhacjacjadiabCaacaacaacaacaaaaaaaaeaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWaccajiaiBapVaiBaiBapWahWariagJadjagJagJadkacHadmacGacFanuadlacKadnacLadpadqadqadsadradUadtadvaduaczaacaacabCanGackackaciacjackadwabCaacaacaacaacaacaacaahaaiaajaakaalaamaanaaoaakaakaapaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaabaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJadxanHadyadAadzadCadBadDadDadDadRacJadTadWadVadZadXaebaeaaeAaecaeeaedaczaacaacabCaegaefackacjacjachaehabCaacaacaacaacaacaacaahaaiaajaaqaaqaaqaaqaaqaaqaaqaaqaaraasaataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWagJaekaemaelaepaeoaeuaetaewaewaewaexaezaeyaeCaeBaeEaeDaeGaeFamuaeHaeJaeIarMarMarMarMarMaeKackackackaeLabCabCaacaacaacaacaacaacaahaaiaajaauaavaaqaawaaxaauaavaavaagaagaataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJaeZamQafaafcafbafeafdaffacJacJafgacJafhafialFalFafjalFalFalFamtaflafkarMafmatcatbarMabCabCafnabCabCabCaacaacaacaacaacaacaacaahaagaagaagaagaayaayaagaagaagaagaagaataataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWagJagJafoafqafpagJafrafuafsafsafHacJafgacJafIafKafJafNafMafQafOagPafPafSafRafVafTafXafWagsagragtagragraguabCaacaacaacaacaacaacaacaahaahaahaahaahaazaazaahaahaahaahaahaahaataataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWabpaqEapVapVapVapVaqFagJagxagwagzagyagBagAagCagCagCagCagLagKafHagMafKahuagNafLagOafLahZafPahmahlarMahnahpahoarMahqackackackahrabCaacaacaacaacaacaacaacaacaacaacaahaaAaaBaaCaaDaaEaaFaaGaaHaahaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+6 -6
View File
@@ -132,7 +132,7 @@
"cB" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"cC" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start)
"cD" = (/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start)
"cE" = (/obj/machinery/vending/medical{pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start)
"cE" = (/obj/machinery/vending/medical{density = 0; pixel_y = -32; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"cF" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/floor/plating,/area/syndicate_station/start)
"cG" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/black,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plating,/area/syndicate_station/start)
"cH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "lino"},/area/antag/antag_base)
@@ -514,7 +514,7 @@
"jT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom)
"jU" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"jV" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"jW" = (/obj/machinery/vending/medical{pixel_y = -32; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"jW" = (/obj/structure/closet/wardrobe/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"jX" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start)
"jY" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"jZ" = (/obj/structure/table/steel_reinforced,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
@@ -603,7 +603,7 @@
"lE" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/structure/largecrate/animal/cat,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"lF" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access = list(160); req_one_access = newlist()},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"lG" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom)
"lH" = (/obj/structure/closet/wardrobe/captain,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"lH" = (/obj/machinery/vending/medical{density = 0; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start)
"lI" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"lJ" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
"lK" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom)
@@ -1125,7 +1125,7 @@ apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiai
apgXgXgXgXhlinipioipipipipioipiqhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiCiSiTiEiUiViWiXiYiEiEapapapiEiEiCamiDiCiEiIiKiCiZjaiEiNjbgpap
apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapjejfjgjgjhjgjgjijjjkiEiEiIiJiKiEiEjljgjgjmiEjnjojpjgjqiEiNjbgpap
apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakakakakakakakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapjujvjwjxiEjgjgjyjzjkiEjAjBjCjDjEjFjGjHjHjgjIjgjgjgjgjJiEiNjKgpap
apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEiEjMjgjgjNiEjOjPjQjRjSjTjUjHjHjgjIjgjVjWjgjgiEiEiEgpap
apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEiEjMjgjgjNiEjOjPjQjRjSjTjUjHjHjgjIjgjVcEjgjgiEiEiEgpap
apgXgXgXgXhlinipioipipipipioipiqhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapiEiEiEjYjgiEiCjZkakbkckdkejUjHjgjMiCiEiEiCkfkgiEiEapgpap
apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapiEkhkiiEiEiEiEiEiEiEiEkjjgjgjgjgkkjgjgjgjgiEiEkljgiCiEkmkmiEiEiEiEapapgpap
apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpiEiEknkoiEkpiEkqkrksiCiEktjgjHjHjHjHjHjHjHjHjHjgjHjgkukvjHjHjgiEiNiOapapgpap
@@ -1135,7 +1135,7 @@ apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahahahahahahahahahahahahahahahahahah
apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapiEljlkiEiEiEiEiEiEiEiClljgjgjgjgjVjgjgjgjgiEiEkljgiCiElmlniEiEiEiEapapgpap
apgXgXgXgXhlialoioipipipipioloifhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapiEiEiEjYjgiEiClplqlrlsltjFlujHjglviCiEiEiEjglwiEiEapgpap
apgXgXgXgXhlinlolxlololololxloiqhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEjglvjgjglyiElzlAlBlClDjTlEjHjHjglFjgkkjgjgjgiEiEiEgpap
apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplGlHlIlJiEjgjgjilKlLiElMlNlOlPlQkelRjHjHjglFjgjgjgjgjgiEiNiOgpap
apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplGjWlIlJiEjgjgjilKlLiElMlNlOlPlQkelRjHjHjglFjgjgjgjgjgiEiNiOgpap
apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplSjgjgjglTjgjglUlVlWiEiElXlYlZiEiEmambmcjgiEmdmemfjgjqiEiNjbgpap
apgXgXgXgXhlhvhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiCmgmhiEmijgmjmkmliEiEapapapiEiEiCmmmniCiElXlZiEmompiEiNjbgpap
apgXgXgXgXhlhmhnhohnhnhnhnhohnhIhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapiEiEiEiEiEiElXlYlZiEapapapapapiEiEmqmriEiEapapiEiEiEiEiNjKgpap
@@ -1178,7 +1178,7 @@ apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapap
apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapaBaBapaBaBaBaBaBaBaBaBaBaBaBapapapoXrXrYoXapapapapapapapapapapapapapapapapapaBaBaBgp
apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapaBaBaBaBapaBaBapapapaCaCaErZsaaEsfseapapapapapaCaCaCaGaGaGaCaCaCapapapapgp
apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapapapapaCaCaHcgcicichcjaCaCapapapaCaCaCckcmclcocnaCaCaCapapapgp
apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapaCaCaCaCaCcpcqcicichcjaCaCaGaGaGaCaCaCcCcDcDcDcEaCaCaCaCapapgp
apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapaCaCaCaCaCcpcqcicichcjaCaCaGaGaGaCaCaCcCcDcDcDlHaCaCaCaCapapgp
ahahahahahahahahahappqpqpqpqpqpqpqpqpqapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapaCaCcFsgcGcJcIcLcKcMcraCaCcJcNcWcVcYcXcJcDcDcDcDcZaCaCaCaCaCapgp
ahaiaiaiaiaiaiaiahappEpFpGpGpGpGpGpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapaCaCaCshsvsusGchtEtbtbuhezeyeDexeAexexfFeBhecDeCeEhseFaCaCaCcJapgp
ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapuiaCaChwdgukcJeDexdCdCdCdCuldCdCdCdCdCdCulcDcDeHeSeIaCaCcJfkflapgp
+2
View File
@@ -84,6 +84,7 @@
#include "code\_helpers\type2type.dm"
#include "code\_helpers\type2type_vr.dm"
#include "code\_helpers\unsorted.dm"
#include "code\_helpers\unsorted_vr.dm"
#include "code\_helpers\vector.dm"
#include "code\_helpers\sorts\__main.dm"
#include "code\_helpers\sorts\comparators.dm"
@@ -783,6 +784,7 @@
#include "code\game\objects\explosion.dm"
#include "code\game\objects\explosion_recursive.dm"
#include "code\game\objects\items.dm"
#include "code\game\objects\mob_spawner_vr.dm"
#include "code\game\objects\objs.dm"
#include "code\game\objects\structures.dm"
#include "code\game\objects\stumble_into_vr.dm"