From a12bec23e433884f7f8f593d111d320feb4ff0a8 Mon Sep 17 00:00:00 2001 From: smet19 Date: Thu, 18 Sep 2014 16:13:49 +0400 Subject: [PATCH 001/153] Added chambers for mag.type guns --- code/modules/projectiles/ammunition.dm | 14 ++++ code/modules/projectiles/gun.dm | 10 +-- code/modules/projectiles/guns/energy.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 2 +- code/modules/projectiles/guns/energy/pulse.dm | 2 +- .../projectiles/guns/energy/special.dm | 2 +- code/modules/projectiles/guns/projectile.dm | 69 ++++++++++++------- .../projectiles/guns/projectile/revolver.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 4 +- 9 files changed, 71 insertions(+), 36 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 6357702abe1..1d1b69cf8ff 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -174,3 +174,17 @@ bullets_from.update_icon() target.update_icon() return bullets_loaded + + proc/get_round(var/keep = 0) + if(!stored_ammo.len) + return null + else + var/b = stored_ammo[stored_ammo.len] + stored_ammo -= b + if(keep) + stored_ammo.Insert(1,b) + else + update_icon() + return b + proc/ammo_count() + return stored_ammo.len diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 278242bbeec..5cf2ed621d6 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -41,7 +41,7 @@ else return 0 - proc/load_into_chamber() + proc/process_chambered() return 0 proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. @@ -107,7 +107,7 @@ user << "[src] is not ready to fire again!" return - if(!load_into_chamber()) //CHECK + if(!process_chambered()) //CHECK return click_empty(user) if(!in_chamber) @@ -165,7 +165,7 @@ user.update_inv_r_hand() /obj/item/weapon/gun/proc/can_fire() - return load_into_chamber() + return process_chambered() /obj/item/weapon/gun/proc/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) return in_chamber.check_fire(target,user) @@ -190,7 +190,7 @@ M.visible_message("\blue [user] decided life was worth living") mouthshoot = 0 return - if (load_into_chamber()) + if (process_chambered()) user.visible_message("[user] pulls the trigger.") if(silenced) playsound(user, fire_sound, 10, 1) @@ -212,7 +212,7 @@ mouthshoot = 0 return - if (src.load_into_chamber()) + if (src.process_chambered()) //Point blank shooting if on harm intent or target we were targeting. if(user.a_intent == "hurt") user.visible_message("\red \The [user] fires \the [src] point blank at [M]!") diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index c9acfb2025e..86ff88fc8b4 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -16,7 +16,7 @@ ..() - load_into_chamber() + process_chambered() if(in_chamber) return 1 if(!power_supply) return 0 if(!power_supply.use(charge_cost)) return 0 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index eb0c62af02f..b9b67af1599 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -118,7 +118,7 @@ obj/item/weapon/gun/energy/laser/retro isHandgun() return 0 -/obj/item/weapon/gun/energy/lasercannon/cyborg/load_into_chamber() +/obj/item/weapon/gun/energy/lasercannon/cyborg/process_chambered() if(in_chamber) return 1 if(isrobot(src.loc)) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 9d91750fa70..ba2dfe9e709 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -36,7 +36,7 @@ isHandgun() return 0 -/obj/item/weapon/gun/energy/pulse_rifle/cyborg/load_into_chamber() +/obj/item/weapon/gun/energy/pulse_rifle/cyborg/process_chambered() if(in_chamber) return 1 if(isrobot(src.loc)) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index c0dcd1070b3..9289859233f 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -68,7 +68,7 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","clu update_icon() return - load_into_chamber() + process_chambered() if(!..()) return 0 var/obj/item/projectile/change/P=in_chamber if(P && istype(P)) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index b619abb9539..2e030b6cd2c 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -18,6 +18,7 @@ var/max_shells = 7 //only used by guns with no magazine var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine var/obj/item/ammo_storage/magazine/stored_magazine = null + var/obj/item/ammo_casing/chambered = null var/mag_type = "" var/auto_mag_drop = 0 //whether the mag drops when it empties, or if the user has to do it @@ -25,9 +26,7 @@ ..() if(mag_type && load_method == 2) stored_magazine = new mag_type(src) - var/new_ammo = min(stored_magazine.max_ammo, max_shells) - for(var/i = 1, i <= new_ammo, i++) - loaded += new ammo_type(stored_magazine) //we put it straight into loaded because that's how magazines work + chamber_round() else for(var/i = 1, i <= max_shells, i++) loaded += new ammo_type(src) @@ -37,26 +36,25 @@ //loads the argument magazine into the gun /obj/item/weapon/gun/projectile/proc/LoadMag(var/obj/item/ammo_storage/magazine/AM, var/mob/user) if(istype(AM) && !stored_magazine) - AM.loc = src - stored_magazine = AM - loaded = AM.stored_ammo if(user) user.drop_item(AM) usr << "You load the magazine into \the [src]." + AM.loc = src + stored_magazine = AM + chamber_round() + AM.update_icon() update_icon() return 1 return 0 /obj/item/weapon/gun/projectile/proc/RemoveMag(var/mob/user) if(stored_magazine) - stored_magazine.stored_ammo = loaded stored_magazine.loc = get_turf(src.loc) if(user) user.put_in_hands(stored_magazine) - usr << "You remove the magazine from \the [src]." + usr << "You pull the magazine out of \the [src]!" stored_magazine.update_icon() stored_magazine = null - loaded = list() //nevar 4get this or you start getting problems update_icon() return 1 return 0 @@ -70,16 +68,37 @@ else usr << "There is no magazine to remove!" -/obj/item/weapon/gun/projectile/load_into_chamber() + +/obj/item/weapon/gun/projectile/proc/chamber_round() //Only used by guns with magazine + if(chambered || !stored_magazine) + return 0 + else + var/obj/item/ammo_casing/round = stored_magazine.get_round() + if(istype(round)) + chambered = round + chambered.loc = src + return 1 + return 0 + +/obj/item/weapon/gun/projectile/proc/getAC() + var/obj/item/ammo_casing/AC = null + if(mag_type && load_method == 2) + AC = chambered + else if(loaded.len) + AC = loaded[1] //load next casing. + return AC + +/obj/item/weapon/gun/projectile/process_chambered() + var/obj/item/ammo_casing/AC = getAC() if(in_chamber) return 1 //{R} - - if(!loaded.len) - return 0 - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. - loaded -= AC //Remove casing from loaded list. if(isnull(AC) || !istype(AC)) - return 0 + return + if(mag_type && load_method == 2) + chambered = null //Remove casing from chamber. + chamber_round() + else + loaded -= AC //Remove casing from loaded list. if(empty_casings == 1) AC.loc = get_turf(src) //Eject casing onto ground. if(AC.BB) @@ -145,7 +164,7 @@ /obj/item/weapon/gun/projectile/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() - if(!loaded.len && stored_magazine && auto_mag_drop) //auto_mag_drop decides whether or not the mag is dropped once it empties + if(!chambered && stored_magazine && !stored_magazine.ammo_count() && auto_mag_drop) //auto_mag_drop decides whether or not the mag is dropped once it empties RemoveMag() playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) return @@ -153,16 +172,18 @@ /obj/item/weapon/gun/projectile/examine() ..() usr << "Has [getAmmo()] round\s remaining." -// if(in_chamber && !loaded.len) -// usr << "However, it has a chambered round." -// if(in_chamber && loaded.len) -// usr << "It also has a chambered round." {R} return /obj/item/weapon/gun/projectile/proc/getAmmo() var/bullets = 0 - for(var/obj/item/ammo_casing/AC in loaded) - if(istype(AC)) - bullets += 1 + if(mag_type && load_method == 2) + if(stored_magazine) + bullets += stored_magazine.ammo_count() + if(chambered) + bullets++ + else + for(var/obj/item/ammo_casing/AC in loaded) + if(istype(AC)) + bullets += 1 return bullets diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index addb433f1df..d9f9b6b2c0f 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -163,7 +163,7 @@ if(affecting == "head") var/obj/item/ammo_casing/AC = loaded[1] - if(!load_into_chamber()) + if(!process_chambered()) user.visible_message("\red *click*", "\red *click*") playsound(user, 'sound/weapons/empty.ogg', 100, 1) return diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index ec7eff04634..de2738843ea 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -28,7 +28,7 @@ recentpump = 0 return - load_into_chamber() + process_chambered() if(in_chamber) return 1 return 0 @@ -82,7 +82,7 @@ origin_tech = "combat=3;materials=1" ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" - load_into_chamber() + process_chambered() if(in_chamber) return 1 if(!loaded.len) From 72ad6072ec5af553272c3bad16da2ef9c9983fce Mon Sep 17 00:00:00 2001 From: smet19 Date: Thu, 18 Sep 2014 17:36:01 +0400 Subject: [PATCH 002/153] Adds new sprites for mags and removes " " from paths --- code/modules/projectiles/ammunition.dm | 2 +- code/modules/projectiles/ammunition/boxes.dm | 14 +++--- .../projectiles/ammunition/magazines.dm | 40 +++++++++++++----- code/modules/projectiles/ammunition/rocket.dm | 2 +- .../projectiles/ammunition/speedloaders.dm | 4 +- code/modules/projectiles/guns/projectile.dm | 4 +- .../projectiles/guns/projectile/automatic.dm | 20 ++++----- .../projectiles/guns/projectile/flare.dm | 4 +- .../projectiles/guns/projectile/pistol.dm | 18 ++++---- .../projectiles/guns/projectile/revolver.dm | 2 +- .../guns/projectile/rocketlauncher.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 6 +-- icons/obj/ammo.dmi | Bin 5741 -> 6490 bytes 13 files changed, 68 insertions(+), 50 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 1d1b69cf8ff..a444cf05fa3 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -38,7 +38,7 @@ throw_speed = 4 throw_range = 5 var/list/stored_ammo = list() - var/ammo_type = "/obj/item/ammo_casing/a357" + var/ammo_type = /obj/item/ammo_casing/a357 var/exact = 1 //whether or not the item only takes ammo_type, or also subtypes. Set to 1 to only take the specified ammo var/max_ammo = 7 var/starting_ammo = -1 //-1 makes it spawn the max ammo, 0 and above makes it spawn that number diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index e9d6a96d869..bf3fabab010 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -9,7 +9,7 @@ name = "ammo box (.357)" desc = "A box of .357 ammo." icon_state = "357" - ammo_type = "/obj/item/ammo_casing/a357" + ammo_type = /obj/item/ammo_casing/a357 max_ammo = 7 multiple_sprites = 1 @@ -17,21 +17,21 @@ name = "ammo box (.38)" desc = "A box of non-lethal .38 ammo." icon_state = "b38" - ammo_type = "/obj/item/ammo_casing/c38" + ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 /obj/item/ammo_storage/box/a418 name = "ammo box (.418)" icon_state = "418" - ammo_type = "/obj/item/ammo_casing/a418" + ammo_type = /obj/item/ammo_casing/a418 max_ammo = 7 multiple_sprites = 1 /obj/item/ammo_storage/box/a666 name = "ammo box (.666)" icon_state = "666" - ammo_type = "/obj/item/ammo_casing/a666" + ammo_type = /obj/item/ammo_casing/a666 max_ammo = 4 multiple_sprites = 1 @@ -39,19 +39,19 @@ name = "ammo box (9mm)" icon_state = "9mm" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c9mm" + ammo_type = /obj/item/ammo_casing/c9mm max_ammo = 30 /obj/item/ammo_storage/box/c45 name = "ammo box (.45)" icon_state = "9mm" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c45" + ammo_type = /obj/item/ammo_casing/c45 max_ammo = 30 /obj/item/ammo_storage/box/flare name = "ammo box (flare shells)" icon_state = "flarebox" - ammo_type = "/obj/item/ammo_casing/shotgun/flare" + ammo_type = /obj/item/ammo_casing/shotgun/flare max_ammo = 7 multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index cfb05311995..815047c5cf4 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -9,19 +9,28 @@ name = "magazine (9mm)" icon_state = "9x19p" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c9mm" - max_ammo = 18 - sprite_modulo = 18 + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 8 + sprite_modulo = 8 multiple_sprites = 1 /obj/item/ammo_storage/magazine/mc9mm/empty starting_ammo = 0 +/obj/item/ammo_storage/magazine/smg9mm + name = "magazine (9mm)" + icon_state = "smg9mm" + origin_tech = "combat=3" + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 18 + sprite_modulo = 3 + multiple_sprites = 1 + /obj/item/ammo_storage/magazine/a12mm name = "magazine (12mm)" icon_state = "12mm" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a12mm" + ammo_type = /obj/item/ammo_casing/a12mm max_ammo = 20 multiple_sprites = 1 sprite_modulo = 10 @@ -34,10 +43,10 @@ name = "magazine (.50)" icon_state = "50ae" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a50" + ammo_type = /obj/item/ammo_casing/a50 max_ammo = 7 multiple_sprites = 1 - sprite_modulo = 7 + sprite_modulo = 1 /obj/item/ammo_storage/magazine/a50/empty starting_ammo = 0 @@ -45,7 +54,7 @@ /obj/item/ammo_storage/magazine/a75 name = "magazine (.75)" icon_state = "75" - ammo_type = "/obj/item/ammo_casing/a75" + ammo_type = /obj/item/ammo_casing/a75 multiple_sprites = 1 max_ammo = 8 sprite_modulo = 8 @@ -57,7 +66,7 @@ name = "magazine (a762)" icon_state = "a762" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/a762" + ammo_type = /obj/item/ammo_casing/a762 max_ammo = 50 multiple_sprites = 1 sprite_modulo = 10 @@ -69,7 +78,16 @@ name = "magazine (.45)" icon_state = "45" origin_tech = "combat=2" - ammo_type = "/obj/item/ammo_casing/c45" - max_ammo = 10 + ammo_type = /obj/item/ammo_casing/c45 + max_ammo = 8 multiple_sprites = 1 - sprite_modulo = 10 + sprite_modulo = 1 + +/obj/item/ammo_storage/magazine/uzi45 //Uzi mag + name = "magazine (.45)" + icon_state = "uzi45" + origin_tech = "combat=2" + ammo_type = /obj/item/ammo_casing/c45 + max_ammo = 16 + multiple_sprites = 2 + sprite_modulo = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/rocket.dm b/code/modules/projectiles/ammunition/rocket.dm index c9848d35d86..426359ba761 100644 --- a/code/modules/projectiles/ammunition/rocket.dm +++ b/code/modules/projectiles/ammunition/rocket.dm @@ -3,7 +3,7 @@ desc = "Explosive supplement to the syndicate's rocket launcher." icon_state = "rpground" caliber = "rpg" - projectile_type = "/obj/item/projectile/rocket" + projectile_type = /obj/item/projectile/rocket m_amt = 15000 w_type = RECYK_METAL w_class = 3.0 // Rockets don't exactly fit in pockets and cardboard boxes last I heard, try your backpack diff --git a/code/modules/projectiles/ammunition/speedloaders.dm b/code/modules/projectiles/ammunition/speedloaders.dm index 1f415f2cd66..c178536f5f3 100644 --- a/code/modules/projectiles/ammunition/speedloaders.dm +++ b/code/modules/projectiles/ammunition/speedloaders.dm @@ -9,7 +9,7 @@ /obj/item/ammo_storage/speedloader/c38 name = "speed loader (.38)" icon_state = "38" - ammo_type = "/obj/item/ammo_casing/c38" + ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 @@ -20,7 +20,7 @@ name = "speed loader (.357)" desc = "A speedloader, used to load a gun without any of that annoying fumbling. This one appears to have a small 'S' embossed on the side." icon_state = "s357" - ammo_type = "/obj/item/ammo_casing/a357" + ammo_type = /obj/item/ammo_casing/a357 max_ammo = 7 multiple_sprites = 1 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 2e030b6cd2c..b894ae01151 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -13,13 +13,13 @@ w_type = RECYK_METAL recoil = 1 var/empty_casings = 1 //Set to 0 to not eject empty casings - var/ammo_type = "/obj/item/ammo_casing/a357" + var/ammo_type = /obj/item/ammo_casing/a357 var/list/loaded = list() var/max_shells = 7 //only used by guns with no magazine var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine var/obj/item/ammo_storage/magazine/stored_magazine = null var/obj/item/ammo_casing/chambered = null - var/mag_type = "" + var/mag_type = null var/auto_mag_drop = 0 //whether the mag drops when it empties, or if the user has to do it /obj/item/weapon/gun/projectile/New() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 3dd14ec171b..091a0e1c0c8 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -6,13 +6,13 @@ max_shells = 18 caliber = list("9mm" = 1) origin_tech = "combat=4;materials=2" - ammo_type = "/obj/item/ammo_casing/c9mm" + ammo_type = /obj/item/ammo_casing/c9mm automatic = 1 fire_delay = 0 var/burstfire = 0 //Whether or not the gun fires multiple bullets at once var/burst_count = 3 load_method = 2 - mag_type = "/obj/item/ammo_storage/magazine/mc9mm" + mag_type = /obj/item/ammo_storage/magazine/smg9mm /obj/item/weapon/gun/projectile/automatic/New() ..() @@ -56,8 +56,8 @@ burst_count = 3 caliber = list(".45" = 1) origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/c45" - mag_type = "/obj/item/ammo_storage/magazine/c45" + ammo_type = /obj/item/ammo_casing/c45 + mag_type = /obj/item/ammo_storage/magazine/uzi45 /obj/item/weapon/gun/projectile/automatic/mini_uzi/isHandgun() return 1 @@ -72,8 +72,8 @@ burst_count = 4 caliber = list("12mm" = 1) origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/a12mm" - mag_type = "/obj/item/ammo_storage/magazine/a12mm" + ammo_type = /obj/item/ammo_casing/a12mm + mag_type = /obj/item/ammo_storage/magazine/a12mm fire_sound = 'sound/weapons/Gunshot_c20.ogg' load_method = 2 auto_mag_drop = 1 @@ -96,8 +96,8 @@ max_shells = 20 burst_count = 4 caliber = list("12mm" = 1) - ammo_type = "/obj/item/ammo_casing/a12mm" - mag_type = "/obj/item/ammo_storage/magazine/a12mm" + ammo_type = /obj/item/ammo_casing/a12mm + mag_type = /obj/item/ammo_storage/magazine/a12mm fire_sound = 'sound/weapons/Gunshot_c20.ogg' load_method = 2 auto_mag_drop = 1 @@ -113,8 +113,8 @@ burst_count = 5 caliber = list("a762" = 1) origin_tech = "combat=5;materials=1;syndicate=2" - ammo_type = "/obj/item/ammo_casing/a762" - mag_type = "/obj/item/ammo_storage/magazine/a762" + ammo_type = /obj/item/ammo_casing/a762 + mag_type = /obj/item/ammo_storage/magazine/a762 fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = 2 var/cover_open = 0 diff --git a/code/modules/projectiles/guns/projectile/flare.dm b/code/modules/projectiles/guns/projectile/flare.dm index 0c8a5d44e0a..bca9cd188fa 100644 --- a/code/modules/projectiles/guns/projectile/flare.dm +++ b/code/modules/projectiles/guns/projectile/flare.dm @@ -20,7 +20,7 @@ flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY caliber = list("flare" = 1) origin_tech = "combat=2;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun/flare" + ammo_type = /obj/item/ammo_casing/shotgun/flare /obj/item/weapon/gun/projectile/flare/syndicate desc = "An illegal flare gun with a modified hammer, allowing it to fire shotgun shells and flares at dangerous velocities." @@ -30,4 +30,4 @@ flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY caliber = list("flare" = 1, "shotgun" = 1) origin_tech = "combat=4;materials=2;syndicate=2" - ammo_type = "/obj/item/ammo_casing/shotgun/flare" \ No newline at end of file + ammo_type = /obj/item/ammo_casing/shotgun/flare \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 9e946822304..81527e9144e 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -7,8 +7,8 @@ caliber = list(".45" = 1) silenced = 1 origin_tech = "combat=2;materials=2;syndicate=8" - ammo_type = "/obj/item/ammo_casing/c45" - mag_type = "/obj/item/ammo_storage/magazine/c45" + ammo_type = /obj/item/ammo_casing/c45 + mag_type = /obj/item/ammo_storage/magazine/c45 load_method = 2 @@ -19,8 +19,8 @@ force = 14.0 max_shells = 7 caliber = list(".50" = 1) - ammo_type ="/obj/item/ammo_casing/a50" - mag_type = "/obj/item/ammo_storage/magazine/a50" + ammo_type = /obj/item/ammo_casing/a50 + mag_type = /obj/item/ammo_storage/magazine/a50 load_method = 2 auto_mag_drop = 1 @@ -46,8 +46,8 @@ caliber = list("75" = 1) fire_sound = 'sound/weapons/elecfire.ogg' origin_tech = "combat=3" - ammo_type = "/obj/item/ammo_casing/a75" - mag_type = "/obj/item/ammo_storage/magazine/a75" + ammo_type = /obj/item/ammo_casing/a75 + mag_type = /obj/item/ammo_storage/magazine/a75 load_method = 2 auto_mag_drop = 1 @@ -61,15 +61,15 @@ /obj/item/weapon/gun/projectile/pistol name = "\improper Stechtkin pistol" - desc = "A small, easily concealable gun. Uses .45 rounds." + desc = "A small, easily concealable gun. Uses 9mm rounds." icon_state = "pistol" w_class = 2 max_shells = 10 caliber = list("9mm" = 1) silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" - ammo_type = "/obj/item/ammo_casing/c45" - mag_type = "/obj/item/ammo_storage/magazine/c45" + ammo_type = /obj/item/ammo_casing/c9mm + mag_type = /obj/item/ammo_storage/magazine/mc9mm load_method = 2 auto_mag_drop = 1 diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index d9f9b6b2c0f..b994a1a0639 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -5,7 +5,7 @@ max_shells = 6 caliber = list("38" = 1, "357" = 1) origin_tech = "combat=2;materials=2" - ammo_type = "/obj/item/ammo_casing/c38" + ammo_type = /obj/item/ammo_casing/c38 var/perfect = 0 special_check(var/mob/living/carbon/human/M) //to see if the gun fires 357 rounds safely. A non-modified revolver randomly blows up diff --git a/code/modules/projectiles/guns/projectile/rocketlauncher.dm b/code/modules/projectiles/guns/projectile/rocketlauncher.dm index 0ebbc123f1e..0bfc5ff002e 100644 --- a/code/modules/projectiles/guns/projectile/rocketlauncher.dm +++ b/code/modules/projectiles/guns/projectile/rocketlauncher.dm @@ -18,7 +18,7 @@ slot_flags = SLOT_BACK caliber = list("rpg" = 1) origin_tech = "combat=4;materials=2;syndicate=2" - ammo_type = "/obj/item/ammo_casing/rocket_rpg" + ammo_type = /obj/item/ammo_casing/rocket_rpg attack_verb = list("struck", "hit", "bashed") /obj/item/weapon/gun/projectile/rocketlauncher/isHandgun() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index de2738843ea..c3bc8cda207 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -11,7 +11,7 @@ slot_flags = SLOT_BACK caliber = list("shotgun" = 1, "flare" = 1) //flare shells are still shells origin_tech = "combat=4;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" + ammo_type = /obj/item/ammo_casing/shotgun/beanbag empty_casings = 0 var/recentpump = 0 // to prevent spammage var/pumped = 0 @@ -65,7 +65,7 @@ icon_state = "cshotgun" max_shells = 8 origin_tech = "combat=5;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun" + ammo_type = /obj/item/ammo_casing/shotgun //this is largely hacky and bad :( -Pete /obj/item/weapon/gun/projectile/shotgun/doublebarrel @@ -80,7 +80,7 @@ slot_flags = SLOT_BACK caliber = list("shotgun" = 1, "flare" = 1) origin_tech = "combat=3;materials=1" - ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" + ammo_type = /obj/item/ammo_casing/shotgun/beanbag process_chambered() if(in_chamber) diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a92f253fdd992fe012ae2f53c0fd478b8b2463bc..a859968821adfabfe603823e5f22ff368d1d0073 100644 GIT binary patch delta 6330 zcmY*d2{@E(_kRXs8QWwpG9)y1DO;GaWp89j3q}zs8KJU2V~=F1Y>^q2(p!w8D9c!q z6o!(eF!p^9GmM$}d*AQ-uJ8L_*SW9foO7RZuIE0_{X5UO?IG68f`Y`uZWKx=%mX5iNy_fgRNKoI^)%63}1&_!3`uYY32PY>dm&6Gk zJ$f{&=bpTU5z@)Y$=TW2!^7iFw8m^N#{MKS*kAYR)vK+gr+v=qJpdtE;PeOhAZcHz zCNMecQ+FH)57N}s(Y0Z30N&Tx`=yrQKqO8U{dvWA-k;5)C!wG!&73u2u*E1K(myetT zpAz4YjE}vQ`hoEqmS%KzeA^Lawf2v5YCFfvbRIM9%L*7Te4Q(*+;Y}nN7w(F{(NN< za|1^Ep*n;i1)=Jj|1B85AR=F-nb8A;#`tgZ`i;WVf5;o@2#wj?;-$69N3~>!1#~uO zl!qVpQwK3?DX*dvD{-X1Jnjq%rSIbC-w#LrJX(}Qu80B!?u!q3CF+NqpoD!E`y;oR zT6*V_EYfpdt80fstLpeIr+*$wZZ)Wz9-{dXi8`Awzj^VlUe&^vZu-uopy!@r_K)MH z&k18Co-VQDRR}X`ZGXfH4;^ebipc?ELSwT6ZoSFgjR)_g(* z$Y=8O&Y9P>=ViwS&Ktd2-HubWv8q#uQ}}gIre}FnKM5tB=O*;-PDx)yuSm}MCMW*0 zSDChI_L0}!^rTvP?~eorPJ^) zKk%SyRr=LOT8O#kr6}I&P5GgbpE4 z(yg&LvE+u+GP@^l(4`eqPY9P`i^i0j5jHN9N-5k{DP$j9=B!7;Cy#ydHz?e^gH!#p z)sR*35xM2hg5zR1xUiy`(a)YY<`=D+g}?-vw#a#t=%{es+I}+RVE}i?B`%M9R#jDW z7vsNjZKPn1nm{H+?{P>uWCeoNH9VZ(_jQEeahlv4NNy?kg@$qJ4PcmQi}ocSmgA|y zfI^iSbWnEm@?m;{uWs|`uT`o^>Dau{5aS5o!r&)bb;^nE(O;gh)PY_@eY^zJ3glMR1+{!tDT!cO_!q06+a@5{;UbW4z*Z~;d9>;tgzkd{u z+>BH(E4rvfdRk^2_m)S0X#}-T_^!L9tkEWh@Z~(3-bTN58OidXMWqF&gK%Y)_=5cow<2D0k+tgyF~7htT|7Ts4>J!+tR34a!XU| z-&(lNUW>oZzSm=?>0RYnMm-$uQL#kU4!;rI6G<;=xQ0apFmM8%Le?{5{aNMF(f>@+ zZ5;yn)<+li936&@!T)Uke}TZFTgKpM7TGtk(y(5(r3NHpZP3Ho+!U%_>X|e56!KuW z`;9E&4aUJMLdL+*3kzBk5A9EZHZeI}));1Fy?&lO$|)R5H273!Gu6oXh(MUhh~4$v zZBc{lIk@W=2i_NkcWbi(WmkcPWd%DD8DuAC8MquPHWTHIikjSPcw&%%Av*HI>qx#r z;;>n%b-Tz~Vo04f(>J~Ff)Q^Itz9}%TYW}b(Q()lY#gXWN?~YDul~Iv!{6R2tH-WZ-4~xua z?-G$=up3Me9KYlDN2*HARfM`uqDBElS0Qi6yNvc4lam;J>Mxb%@0|zmX*f z$Ms6^l|VKnTdA@fcc?DouK<3>^l;kU&Ga@kFv^3a}_|4zM#adE{P`PVnE3`;%f=DA* zu>FUG?|8$5Yt``X_NFB6vFxj)A9EKy2Q5IG(rw5+(esuf^R_WE-RtXb=@$fe>m(Z8 z(4Qnf=5*7=(;pnJiaXrfshps8Lz(Ae?xSnx0M22%pAX_MF*5Sw__*mscmX!WATUpsuG!zVga1*&x9R9Dd_;=kj& znWE2?<#GUbutRnA)$#cd`{k<{YX-bjlv2bMZ%(1cu4Jw)=Ceo^%V|+_W-bTNuA~jT_iVr2;mGZJH zIKCmAtUl30L05WwjUvIbJP6zj&~2Sys>ep^HmW}Z-fe|3EJllj9W6D`kLzh1&gd}o z=mEq>8dGL$*MN5c!#9kZqr|>{G+xOPdt+(YPd*fQX{%j{2>MkEexZ#M5}7&E*(15K z?dgr`4acWL3TEqSQkq^A_ zX@vv2I+W_qVBOo4`6-7g&w)>qZ3TeI$l=J6R9ZFH(jd^(KYo*zxO2g5D~fy0bN=8! zK$2!JRpc!~P;2E6w6yFW0mEGy@d4P}{Ksw%2=PRs9iod_IYj33E#409v$wHCvSJX0 zlvDVX;k^Fyp7)T`YxgRlP zUZyjmwJ2ol=RkJf{5*{AFwCmE&bEbC?39&3#6L&vGErw3ZP@2A8?!yh_Rx))GKQOq z+%`)#1nR*!v)d|XH8V5Q3Ei09(=U#(Ii~!Hah6g2m%vk>zUhDhM?j(`jyZTS^5gK$ zinv6hO!#}y-bsEIPMiEEP(nhS(3iiA&8B*E@IFyfZ*~c3DmAGtQd`3hl)o-hQ~5&$ zkVM4FAz~W^$boJo$QNrW@X0s)wiG$Kg4hyx8zZzc{{R!Sxn^aMfnvSW@#~6G&+YD~ z6ft)`kb;WB#zF1RqD@Mn0xyZz5HCj>z>=R4^XO4O(bFq@bn(>~oRr+))|Dd8+ z0Qwh8>?NCfONH7#<(wH8^2yaqRGb^-fRgus`0Fw>H4Tau>2>rS_CptgOLUPc*42)y)~Z23(ixxik@ z?J`Z4qiUSLya!912F8Rza)u7#Dq4Jl zv9iB>FIXY}{FSafpT%BbZ!h2e7Ip?dV^!yM#IbvXUF%x5B#HgS8nK&xxM-w_u509k z!UmJ!-E7YR7AtWn7Yl~B!|~Y}{Hyb?NO92Mr3?g0Xs6#(XBoHF-a9V4>l1K|F`l@D za35%(x9}$cucO@Y2ASXuVvSKo(2MTu9!jw=zl2kR$=0@kK}V2rr2s1-AA!3F(G1M20ze=KP3AIl5V_ro=WB4 zJt~6sN9+h7wc?`)iqD`iP(I>A6veZ&MQ1X6l9#q%FyhyJ*Ba0@(LfuSdumA@F^Oy0 zkXiBL1HIkpq1^R=*d0Vu?2Z(TsTst+XGgaz595Bbc8xzYCX|b3-a85-U){KpoVaqq zLAVs+h`wmf)ciMa|5Zx0`6^gq&6-z0*qCG$>avAc>&l}p3;}UC?^fv28tY-+kw-t$ zZ=N*J;zH3&^Za9OzftIePCPw-`RVZRf&C&iuQezmVz06vyb$cCuvkz$=90 zDvb<^s%V`En<)%m{K05P(|6k?45kP<$HKPh8xuG0o;{7y7!}fuckcqVUXvB~r--3% zqhuWC1)+td{alU%FQ68_nLqZQ3E*A}so5|JBp=9ZvYWAv*;U*$Dyu<=cSmp!c4#gB zV78-exf8ZkILtUI)+ad5cgck&naVC?*l;@qrnJCf>aKsNjgwi>XGM4z)HAFN2&x5SPLhgJ) zi*H!@`;zR8%cFU7BW{h1qM^6u|5iP}TT&hkNZQ>N*~p0GXs`xtRVS-Cl_vQ9w-5W9 zU;R|x9J<{-7_CZ~8unlR>Ghj>$(Ob?{0#=y{+KWT=@W=;>G$BykKr%UNz)jvJsjo@ zMl-J86dZUgOC8_d-KMNr$&Q526ul)3RxIJPTeyi8CoCIWUD3Cg>b?Vjh5~0m)y(!P zmVSsQro8(-xm5sx7P^dg*jn4&H`}%!KwOWB3LqcP6mPZ z%^!JufKUe)`J-J;&8y{KWo5r5#g9YK%7zZK8zz<-is0&IXBe{SJsBz|+vt?O3rH`9 zKp?ph<9LC+8oZaq#_!{o{0!!r=G;GuscUE~pSnj;zcKnwzcjvg|5M0D?g<-7>6Jkb zcPH+FvzqWL;P>)rUQwRC&#W$ zfdp8>@{hG9f`4gQe>%1lJv$N!dCcQObQRT1)ABfUjBq~FdMVVx^8ON^+?9}t4^Txec&h4?)6*rQnaoB9P{Ps)@N6Q#0R6vJ9YcnEaI_zjq zHk<2bMdKLG0LkNt%9bN2IGW7%5eA zYGuq0DiI?^lANB&?~WEKMYT46gUl%dy(sUolg1FE-Ny{N# zOyp(bs1j~)g@9bKg4Wz(G8Yh0L2MrHa_j?svDa=YGISbkaaeeQqhbwV61K{$0ub(^ z1TM3!PCtDUGhsvwdsM0+Nnl~DfTHC&F`;PUIYRowmgu8*NB?Q+x^G7N?*|`?%g)Yr zmB#2#f9@=J<;amo;C*pzS)0hjMS=9O&H{-Tj-ih?7mgiEI1tu&i9yxBHDRtLSKn6t zeK2Be4czFls>T)g-7u~@?aiRpgio|cPuB~^m@(C#LWZWz0q%h-SQTPQOmMc~sP555 zrAUcJ?Za|EG3#XlEIN+L8mLLr8|Fd9(}7b32oTO9%Y*MW`dBdT>4b9mn?*7=K zpqZ)@8WID3Oug?D!eJmZnB1IQWcpwZ=idzTt!^IVIu^^4psJ?fs4CGCdinq2DM-C| zrC#dy1o4jGz3|;WI~M|@(_X^`X)+sX8b|3i8`VQQbZ;Mg=T@OK+l=FA#BaT5SYhiL z1f4;iD{?j=+BBX7gotwut(bmh^8{ zHelq%IY)lewAW58n}peJk?gyya%4ZSN0E#eOXsLnx<)1rVKgT5gGFB7@ zs)c2#(DkMG7emSj+Ni_I2h3N649&18L{mfbzderY^FOVu$;=3PWEv}($#EXWR7>j` zZ#HT6=Z1QsVPDwiBp$b#(oN!`8KY|+a#WMBI>P0ib24eyBQ1vi6XZQp^(L*!`#0I? gHU@6dLf6xKbNSco_{sRa%XYxV@{~onnOEHZ0cY?o6#xJL delta 5533 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 OWMN`sTzSzW;eP;!%=P{N From fdd0ff10af9ed44268181db7ebf786625c8ccc1d Mon Sep 17 00:00:00 2001 From: smet19 Date: Thu, 18 Sep 2014 18:24:53 +0400 Subject: [PATCH 003/153] Revert "Adds new sprites for mags and removes " " from paths" This reverts commit 72ad6072ec5af553272c3bad16da2ef9c9983fce. --- code/modules/projectiles/ammunition.dm | 2 +- code/modules/projectiles/ammunition/boxes.dm | 14 +++--- .../projectiles/ammunition/magazines.dm | 40 +++++------------- code/modules/projectiles/ammunition/rocket.dm | 2 +- .../projectiles/ammunition/speedloaders.dm | 4 +- code/modules/projectiles/guns/projectile.dm | 4 +- .../projectiles/guns/projectile/automatic.dm | 20 ++++----- .../projectiles/guns/projectile/flare.dm | 4 +- .../projectiles/guns/projectile/pistol.dm | 18 ++++---- .../projectiles/guns/projectile/revolver.dm | 2 +- .../guns/projectile/rocketlauncher.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 6 +-- icons/obj/ammo.dmi | Bin 6490 -> 5741 bytes 13 files changed, 50 insertions(+), 68 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index a444cf05fa3..1d1b69cf8ff 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -38,7 +38,7 @@ throw_speed = 4 throw_range = 5 var/list/stored_ammo = list() - var/ammo_type = /obj/item/ammo_casing/a357 + var/ammo_type = "/obj/item/ammo_casing/a357" var/exact = 1 //whether or not the item only takes ammo_type, or also subtypes. Set to 1 to only take the specified ammo var/max_ammo = 7 var/starting_ammo = -1 //-1 makes it spawn the max ammo, 0 and above makes it spawn that number diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index bf3fabab010..e9d6a96d869 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -9,7 +9,7 @@ name = "ammo box (.357)" desc = "A box of .357 ammo." icon_state = "357" - ammo_type = /obj/item/ammo_casing/a357 + ammo_type = "/obj/item/ammo_casing/a357" max_ammo = 7 multiple_sprites = 1 @@ -17,21 +17,21 @@ name = "ammo box (.38)" desc = "A box of non-lethal .38 ammo." icon_state = "b38" - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = "/obj/item/ammo_casing/c38" max_ammo = 6 multiple_sprites = 1 /obj/item/ammo_storage/box/a418 name = "ammo box (.418)" icon_state = "418" - ammo_type = /obj/item/ammo_casing/a418 + ammo_type = "/obj/item/ammo_casing/a418" max_ammo = 7 multiple_sprites = 1 /obj/item/ammo_storage/box/a666 name = "ammo box (.666)" icon_state = "666" - ammo_type = /obj/item/ammo_casing/a666 + ammo_type = "/obj/item/ammo_casing/a666" max_ammo = 4 multiple_sprites = 1 @@ -39,19 +39,19 @@ name = "ammo box (9mm)" icon_state = "9mm" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = "/obj/item/ammo_casing/c9mm" max_ammo = 30 /obj/item/ammo_storage/box/c45 name = "ammo box (.45)" icon_state = "9mm" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = "/obj/item/ammo_casing/c45" max_ammo = 30 /obj/item/ammo_storage/box/flare name = "ammo box (flare shells)" icon_state = "flarebox" - ammo_type = /obj/item/ammo_casing/shotgun/flare + ammo_type = "/obj/item/ammo_casing/shotgun/flare" max_ammo = 7 multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 815047c5cf4..cfb05311995 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -9,28 +9,19 @@ name = "magazine (9mm)" icon_state = "9x19p" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 8 - sprite_modulo = 8 + ammo_type = "/obj/item/ammo_casing/c9mm" + max_ammo = 18 + sprite_modulo = 18 multiple_sprites = 1 /obj/item/ammo_storage/magazine/mc9mm/empty starting_ammo = 0 -/obj/item/ammo_storage/magazine/smg9mm - name = "magazine (9mm)" - icon_state = "smg9mm" - origin_tech = "combat=3" - ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 18 - sprite_modulo = 3 - multiple_sprites = 1 - /obj/item/ammo_storage/magazine/a12mm name = "magazine (12mm)" icon_state = "12mm" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/a12mm + ammo_type = "/obj/item/ammo_casing/a12mm" max_ammo = 20 multiple_sprites = 1 sprite_modulo = 10 @@ -43,10 +34,10 @@ name = "magazine (.50)" icon_state = "50ae" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/a50 + ammo_type = "/obj/item/ammo_casing/a50" max_ammo = 7 multiple_sprites = 1 - sprite_modulo = 1 + sprite_modulo = 7 /obj/item/ammo_storage/magazine/a50/empty starting_ammo = 0 @@ -54,7 +45,7 @@ /obj/item/ammo_storage/magazine/a75 name = "magazine (.75)" icon_state = "75" - ammo_type = /obj/item/ammo_casing/a75 + ammo_type = "/obj/item/ammo_casing/a75" multiple_sprites = 1 max_ammo = 8 sprite_modulo = 8 @@ -66,7 +57,7 @@ name = "magazine (a762)" icon_state = "a762" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/a762 + ammo_type = "/obj/item/ammo_casing/a762" max_ammo = 50 multiple_sprites = 1 sprite_modulo = 10 @@ -78,16 +69,7 @@ name = "magazine (.45)" icon_state = "45" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 8 + ammo_type = "/obj/item/ammo_casing/c45" + max_ammo = 10 multiple_sprites = 1 - sprite_modulo = 1 - -/obj/item/ammo_storage/magazine/uzi45 //Uzi mag - name = "magazine (.45)" - icon_state = "uzi45" - origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 16 - multiple_sprites = 2 - sprite_modulo = 1 \ No newline at end of file + sprite_modulo = 10 diff --git a/code/modules/projectiles/ammunition/rocket.dm b/code/modules/projectiles/ammunition/rocket.dm index 426359ba761..c9848d35d86 100644 --- a/code/modules/projectiles/ammunition/rocket.dm +++ b/code/modules/projectiles/ammunition/rocket.dm @@ -3,7 +3,7 @@ desc = "Explosive supplement to the syndicate's rocket launcher." icon_state = "rpground" caliber = "rpg" - projectile_type = /obj/item/projectile/rocket + projectile_type = "/obj/item/projectile/rocket" m_amt = 15000 w_type = RECYK_METAL w_class = 3.0 // Rockets don't exactly fit in pockets and cardboard boxes last I heard, try your backpack diff --git a/code/modules/projectiles/ammunition/speedloaders.dm b/code/modules/projectiles/ammunition/speedloaders.dm index c178536f5f3..1f415f2cd66 100644 --- a/code/modules/projectiles/ammunition/speedloaders.dm +++ b/code/modules/projectiles/ammunition/speedloaders.dm @@ -9,7 +9,7 @@ /obj/item/ammo_storage/speedloader/c38 name = "speed loader (.38)" icon_state = "38" - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = "/obj/item/ammo_casing/c38" max_ammo = 6 multiple_sprites = 1 @@ -20,7 +20,7 @@ name = "speed loader (.357)" desc = "A speedloader, used to load a gun without any of that annoying fumbling. This one appears to have a small 'S' embossed on the side." icon_state = "s357" - ammo_type = /obj/item/ammo_casing/a357 + ammo_type = "/obj/item/ammo_casing/a357" max_ammo = 7 multiple_sprites = 1 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index b894ae01151..2e030b6cd2c 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -13,13 +13,13 @@ w_type = RECYK_METAL recoil = 1 var/empty_casings = 1 //Set to 0 to not eject empty casings - var/ammo_type = /obj/item/ammo_casing/a357 + var/ammo_type = "/obj/item/ammo_casing/a357" var/list/loaded = list() var/max_shells = 7 //only used by guns with no magazine var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine var/obj/item/ammo_storage/magazine/stored_magazine = null var/obj/item/ammo_casing/chambered = null - var/mag_type = null + var/mag_type = "" var/auto_mag_drop = 0 //whether the mag drops when it empties, or if the user has to do it /obj/item/weapon/gun/projectile/New() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 091a0e1c0c8..3dd14ec171b 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -6,13 +6,13 @@ max_shells = 18 caliber = list("9mm" = 1) origin_tech = "combat=4;materials=2" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = "/obj/item/ammo_casing/c9mm" automatic = 1 fire_delay = 0 var/burstfire = 0 //Whether or not the gun fires multiple bullets at once var/burst_count = 3 load_method = 2 - mag_type = /obj/item/ammo_storage/magazine/smg9mm + mag_type = "/obj/item/ammo_storage/magazine/mc9mm" /obj/item/weapon/gun/projectile/automatic/New() ..() @@ -56,8 +56,8 @@ burst_count = 3 caliber = list(".45" = 1) origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = /obj/item/ammo_casing/c45 - mag_type = /obj/item/ammo_storage/magazine/uzi45 + ammo_type = "/obj/item/ammo_casing/c45" + mag_type = "/obj/item/ammo_storage/magazine/c45" /obj/item/weapon/gun/projectile/automatic/mini_uzi/isHandgun() return 1 @@ -72,8 +72,8 @@ burst_count = 4 caliber = list("12mm" = 1) origin_tech = "combat=5;materials=2;syndicate=8" - ammo_type = /obj/item/ammo_casing/a12mm - mag_type = /obj/item/ammo_storage/magazine/a12mm + ammo_type = "/obj/item/ammo_casing/a12mm" + mag_type = "/obj/item/ammo_storage/magazine/a12mm" fire_sound = 'sound/weapons/Gunshot_c20.ogg' load_method = 2 auto_mag_drop = 1 @@ -96,8 +96,8 @@ max_shells = 20 burst_count = 4 caliber = list("12mm" = 1) - ammo_type = /obj/item/ammo_casing/a12mm - mag_type = /obj/item/ammo_storage/magazine/a12mm + ammo_type = "/obj/item/ammo_casing/a12mm" + mag_type = "/obj/item/ammo_storage/magazine/a12mm" fire_sound = 'sound/weapons/Gunshot_c20.ogg' load_method = 2 auto_mag_drop = 1 @@ -113,8 +113,8 @@ burst_count = 5 caliber = list("a762" = 1) origin_tech = "combat=5;materials=1;syndicate=2" - ammo_type = /obj/item/ammo_casing/a762 - mag_type = /obj/item/ammo_storage/magazine/a762 + ammo_type = "/obj/item/ammo_casing/a762" + mag_type = "/obj/item/ammo_storage/magazine/a762" fire_sound = 'sound/weapons/Gunshot_smg.ogg' load_method = 2 var/cover_open = 0 diff --git a/code/modules/projectiles/guns/projectile/flare.dm b/code/modules/projectiles/guns/projectile/flare.dm index bca9cd188fa..0c8a5d44e0a 100644 --- a/code/modules/projectiles/guns/projectile/flare.dm +++ b/code/modules/projectiles/guns/projectile/flare.dm @@ -20,7 +20,7 @@ flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY caliber = list("flare" = 1) origin_tech = "combat=2;materials=2" - ammo_type = /obj/item/ammo_casing/shotgun/flare + ammo_type = "/obj/item/ammo_casing/shotgun/flare" /obj/item/weapon/gun/projectile/flare/syndicate desc = "An illegal flare gun with a modified hammer, allowing it to fire shotgun shells and flares at dangerous velocities." @@ -30,4 +30,4 @@ flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY caliber = list("flare" = 1, "shotgun" = 1) origin_tech = "combat=4;materials=2;syndicate=2" - ammo_type = /obj/item/ammo_casing/shotgun/flare \ No newline at end of file + ammo_type = "/obj/item/ammo_casing/shotgun/flare" \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 81527e9144e..9e946822304 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -7,8 +7,8 @@ caliber = list(".45" = 1) silenced = 1 origin_tech = "combat=2;materials=2;syndicate=8" - ammo_type = /obj/item/ammo_casing/c45 - mag_type = /obj/item/ammo_storage/magazine/c45 + ammo_type = "/obj/item/ammo_casing/c45" + mag_type = "/obj/item/ammo_storage/magazine/c45" load_method = 2 @@ -19,8 +19,8 @@ force = 14.0 max_shells = 7 caliber = list(".50" = 1) - ammo_type = /obj/item/ammo_casing/a50 - mag_type = /obj/item/ammo_storage/magazine/a50 + ammo_type ="/obj/item/ammo_casing/a50" + mag_type = "/obj/item/ammo_storage/magazine/a50" load_method = 2 auto_mag_drop = 1 @@ -46,8 +46,8 @@ caliber = list("75" = 1) fire_sound = 'sound/weapons/elecfire.ogg' origin_tech = "combat=3" - ammo_type = /obj/item/ammo_casing/a75 - mag_type = /obj/item/ammo_storage/magazine/a75 + ammo_type = "/obj/item/ammo_casing/a75" + mag_type = "/obj/item/ammo_storage/magazine/a75" load_method = 2 auto_mag_drop = 1 @@ -61,15 +61,15 @@ /obj/item/weapon/gun/projectile/pistol name = "\improper Stechtkin pistol" - desc = "A small, easily concealable gun. Uses 9mm rounds." + desc = "A small, easily concealable gun. Uses .45 rounds." icon_state = "pistol" w_class = 2 max_shells = 10 caliber = list("9mm" = 1) silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" - ammo_type = /obj/item/ammo_casing/c9mm - mag_type = /obj/item/ammo_storage/magazine/mc9mm + ammo_type = "/obj/item/ammo_casing/c45" + mag_type = "/obj/item/ammo_storage/magazine/c45" load_method = 2 auto_mag_drop = 1 diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index b994a1a0639..d9f9b6b2c0f 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -5,7 +5,7 @@ max_shells = 6 caliber = list("38" = 1, "357" = 1) origin_tech = "combat=2;materials=2" - ammo_type = /obj/item/ammo_casing/c38 + ammo_type = "/obj/item/ammo_casing/c38" var/perfect = 0 special_check(var/mob/living/carbon/human/M) //to see if the gun fires 357 rounds safely. A non-modified revolver randomly blows up diff --git a/code/modules/projectiles/guns/projectile/rocketlauncher.dm b/code/modules/projectiles/guns/projectile/rocketlauncher.dm index 0bfc5ff002e..0ebbc123f1e 100644 --- a/code/modules/projectiles/guns/projectile/rocketlauncher.dm +++ b/code/modules/projectiles/guns/projectile/rocketlauncher.dm @@ -18,7 +18,7 @@ slot_flags = SLOT_BACK caliber = list("rpg" = 1) origin_tech = "combat=4;materials=2;syndicate=2" - ammo_type = /obj/item/ammo_casing/rocket_rpg + ammo_type = "/obj/item/ammo_casing/rocket_rpg" attack_verb = list("struck", "hit", "bashed") /obj/item/weapon/gun/projectile/rocketlauncher/isHandgun() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index c3bc8cda207..de2738843ea 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -11,7 +11,7 @@ slot_flags = SLOT_BACK caliber = list("shotgun" = 1, "flare" = 1) //flare shells are still shells origin_tech = "combat=4;materials=2" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag + ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" empty_casings = 0 var/recentpump = 0 // to prevent spammage var/pumped = 0 @@ -65,7 +65,7 @@ icon_state = "cshotgun" max_shells = 8 origin_tech = "combat=5;materials=2" - ammo_type = /obj/item/ammo_casing/shotgun + ammo_type = "/obj/item/ammo_casing/shotgun" //this is largely hacky and bad :( -Pete /obj/item/weapon/gun/projectile/shotgun/doublebarrel @@ -80,7 +80,7 @@ slot_flags = SLOT_BACK caliber = list("shotgun" = 1, "flare" = 1) origin_tech = "combat=3;materials=1" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag + ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" process_chambered() if(in_chamber) diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a859968821adfabfe603823e5f22ff368d1d0073..a92f253fdd992fe012ae2f53c0fd478b8b2463bc 100644 GIT binary patch delta 5533 zcmZWt2{@G9+n*UU)@-50t`Le6jf_F|B`PGc6XInom32I0CnO;WX?aT}j2QG{W+)+B z3S*y$;zFo%=q&=f2Ll&pG$~d!Es=D{98+mu<`hc#rae zKp+7NbK|QZ5ZL4Q!_Bd8`GB{J+gCa+Ticru2m}xUBz=oRGh5_v%mI02)qMa=&p;{Q zcFyJFx9YMF9yYQ-gFuCHa;6F(kZ-q-6%7=q^ z8(hUxMj8`rl~+(6lal$R+o{ma(8K$Vnuey4g>?)7JA3x5gM-6IygeF?_Vx7*3kyq4 zO?{Ohkkg+fclGL3J3Bj9SJyPu>G=WMfPjFuH&=||Cw;D;w>CW)c1t@K0BanN3Q_lR zR?JG&c7h$gswqDEQD~$}_>DT~*St@Y7D!!Fdw)r}-@wvhGrk!6{l$Q9U$wCV8O#p* zfAGB6!9%C{a5#6qnPV8T?mM zM_15?k7?KLEZzLe_T}JY(PR%1Z*TcF^Qz7(Ud#NvcYreX=Am<}iWJiWbBn7!0dwxI z`kC%j3H4pEGj>^$E<{6Li=j}PFEjSf#B)1HxhIKT5NO zpe4YpdDY|wZeO65H>rebBe z*F@(1F0AVp0(>rpnsrBoNPhCO@Ktziqdm})a)Efc{pg~-kyJq156hrE<J>u@Ws^$AuzQ#V^>0P&)gWn^Sb5;&dG)js>Rxlw< zOo%{rh*WjRsp=5D>X1v-A+DkRgUbunM)JRse?F7A_sI=VJ{bEPwwe5sysx>>mx_iQ zA?Zz|uu(X$bxI3pW)z|U0*Odk7#rG07O#|~1ETF>?LmpwcKM1IuLR9$r1KQ$czK2- zg$v6be^CDX`RAa@@5gID{HJ04O)H~Cn!T)Jr?DH+Sw_lyn;lg-6L^Qc!_p%4HSE<`=BqjlTpc3CKm7oR7#XSIYrp9;=U z@FDq;P`2w*6vhyyoM za_zEwH{8CSFB16rFYvLMww@uSZ({GcT(UWyK52r=#wj7R2K})|^MF47&S(_(e7>Bb zjDTUR1}E*O??OKMCf68JxLHCc3bg6sJKij!;m~5(8j2JCknp^I^qA7f(w+)PATs(W zET2zMBUfH8zIqEK%vsE;Re}+^m;VT?6w}nzEw}ZEMY;R*<>hmnn{)1YJW|-r`DK7s z7!nOVcprp<=5k~<0_ykSH;OGOhIaIkUoeJvNaI{Sd*?oo{a67N}CwKrjIQM?>Wl?pDYzz~MvOSe;p&(qjtpdg(RbVC-3;MWn#n z+k`PS4($qcsmmjXLeK!|=nEEH$QeBTLeM(?sBBhjRYN!AM`w>22nv< zkBu~Fla465KM}k=H67{!1fs=5GPn;@oe5|n9w-g$`{zvm)8-L+OK^S~qvwiVak^wH zPq&z+x%T+-l~1_>b%OS!=9ro$fgnQ0L%m(S?p4=D=j#G|$X#=Bu=;BJoMSp`*eu3%1vYZf=DbTW9k9#ZnLq#n4+~fCe6_rRP1a5 z5%8qdIAU` za^$2QW`&+Ig)4{D!eQR}otWjuGBrN#DJ;_fJr0(+*qrhaKiC`dA})mM5{&vKDczmH zNA$b;jC@e;VydFoDiXUfshp>=cH@=_LDiVhH3Syb-+r^2ZF29pB>TI4$&nLewP=D< zEZ2B|2nRQEfJ?+CPIcuyKqnd!25g@$lvM^M)dB*XDE|$=!YYyXW82sZckdN*f zP0Wx8DIbjH@An~OMB>(2UyvTFN$F@uGL2ice?owA=284fehw`_P))T{Cu59Xjx-U0W$zT4p0P15X&Qaw z)K--U_4&34I_!1-esVOG(cA-@@lfPMDgzO`k-@<>%<==7PrEv$KF_)Y&qr`uJf_O$ zgy@xMRGUZ!7?mCEvLFP_+bb|ly*POz<&mxPlsXDm@%94xN1QRoeGzSdDympKno^ye z^a_-HjB36tB$7kE*EF+r4 zi>2G_@&{oOrqPMENi|~dzrY!sYkSJ2hEGrV(S`>`&SIf<%!*F~Y)jXgHL2xLWF;|yZ&=q>ft&xyt6!uSjiZNA0MrYOaAYqD?e==22YU(d5%z^&xSDTH z$@BajKbTcUtGaxAb=@6`&3= z=)=0il(UGQ+rWNBvx`se^=NWnFKIB`K(|T{b`;hx0#d#*2Oexi8?62_07K{XasKMK zv4uZ~rJ%(gags-GY~l}oEbyyI{lUV-)h&IOpa2zrnUPEc2%3M>iQl)?dM5H=!)vt} zK0U-8`IWH(Layx;QQ~z|6C!w(!B{PQ1;p~CZKd}}eT5wLYYuj6*<2TL<_(P32fW)lv0fKlUFAYb;D2=cR zXBHIF4#C3*9uTDE<;IDEQr+PI2|UZQGc5f19y$BfYnr zF4`v@;~cg;9By`BGU{|bbwkM(0W2QrT$?uIYA?^jP*_fX;qQ9=Ocqsgi(KPME^v!> z+A_0!3cs^%pODsI$rIRv^=AjdIk#Gb#+910YbBcYer8mq6_JSvj&2q+x}l4|Ivv|i zkvGfBY)e@^{dPK{;>eF*0h{X!$V<*HQ!Jtn_iUnE5|JJeS~`QZ$340}??T@LY2A;jy9ohMI$}}?kVf<(OYL?_M>BH}ukLBVGqAdkwxLI`Bn-wsRk>$l6o1LxSWy+R&x zGHTRBL4+|!$cl`ct5#GhvsyTCPXFN%Ik5PeXEJK#s6I!U_Kv;iB(B6T7^z!{H}6pVt3b%pxwv6~hkyABw5b z{kZ1obLY5WC$>t@%$CZo&QYY!*Xs^W@{e{tV_iEH`xeKl zMK&n{y$$wmb{Kq1E_bx!VN80j&^+EHpswuGVfb`t$$GxPV>z=OcV3OhVBiixwa)vFG{NOONwl)23!ll;azu0z z^m0qG3S6$F%0(6FRLfax~MK+EMWJ1-6sSfWZaGuRK?%7`NDn& zzb^I{l)n8*aO-qu{lC7MOp`CaThM>G@OMbTm~v5=FtFP^{=w?n_}ES969x2jd= zCur@ykVl#Z>c|_FeVk;1_tFn~U_XoK4{)#kV16Ws%lU#h|8zlNtp(x9R*_lqnh<4;&{R8UZZwR#)618tLIITSZ zd8ogO_`(r-XBJyu{j7b?Hgb+xy}qMe7Ph{d>Pi~Qcl3kC#Io`tCS}S2TS5biYz@)r z3z^+QPeIydZKG(+>brhlo5ODkO6!Zhp0nKnZ@1HNxGJSSW_9Hh>pJmr>0^nl|E=-A z%lwIX2!?WO8oEBghA5jIjzE@FP5Ip=Ppj_t-QgY_qRWgf;-;N0N$lz!WKmT$K%_z5 zt!{9=2WnY6ZU%$RcUr%&TuG{L{^~mt@|`rQOW12-VVAj*vRww0UfzrJN0}lEt3Ki# zn!F|(`b$VS6s{bVrDTBT&tTXgV!L0sN#&FLhEnOpU?pb7#40;@yrDXXvAsek&T~(! zW(!Sx?%F@b2*nw!8Mt{}*_0G>=rc6?;tt@$tm8SxxY4M8PocXn!|W1jManQzgItte zKr4&A;JLr?5XP@7nK+vA4|9m8hdRHRr!teqOQF> zjG|n*tS-Yv>!h!2Xq9~B>QmZ4=&mAc38Q6t6Vx%(#!$srJu+RrKB1~U8cAA4WwcMw zay0frohhLDVD@cBZ;9Ee@i^|4t;ZiIywCpRTEL&DDZ_OuWjmmV;I~BsFvic@FDc~v zQu;v|5BhRWGaiZ@+$>ky#Egp OWMN`sTzSzW;eP;!%=P{N delta 6330 zcmY*d2{@E(_kRXs8QWwpG9)y1DO;GaWp89j3q}zs8KJU2V~=F1Y>^q2(p!w8D9c!q z6o!(eF!p^9GmM$}d*AQ-uJ8L_*SW9foO7RZuIE0_{X5UO?IG68f`Y`uZWKx=%mX5iNy_fgRNKoI^)%63}1&_!3`uYY32PY>dm&6Gk zJ$f{&=bpTU5z@)Y$=TW2!^7iFw8m^N#{MKS*kAYR)vK+gr+v=qJpdtE;PeOhAZcHz zCNMecQ+FH)57N}s(Y0Z30N&Tx`=yrQKqO8U{dvWA-k;5)C!wG!&73u2u*E1K(myetT zpAz4YjE}vQ`hoEqmS%KzeA^Lawf2v5YCFfvbRIM9%L*7Te4Q(*+;Y}nN7w(F{(NN< za|1^Ep*n;i1)=Jj|1B85AR=F-nb8A;#`tgZ`i;WVf5;o@2#wj?;-$69N3~>!1#~uO zl!qVpQwK3?DX*dvD{-X1Jnjq%rSIbC-w#LrJX(}Qu80B!?u!q3CF+NqpoD!E`y;oR zT6*V_EYfpdt80fstLpeIr+*$wZZ)Wz9-{dXi8`Awzj^VlUe&^vZu-uopy!@r_K)MH z&k18Co-VQDRR}X`ZGXfH4;^ebipc?ELSwT6ZoSFgjR)_g(* z$Y=8O&Y9P>=ViwS&Ktd2-HubWv8q#uQ}}gIre}FnKM5tB=O*;-PDx)yuSm}MCMW*0 zSDChI_L0}!^rTvP?~eorPJ^) zKk%SyRr=LOT8O#kr6}I&P5GgbpE4 z(yg&LvE+u+GP@^l(4`eqPY9P`i^i0j5jHN9N-5k{DP$j9=B!7;Cy#ydHz?e^gH!#p z)sR*35xM2hg5zR1xUiy`(a)YY<`=D+g}?-vw#a#t=%{es+I}+RVE}i?B`%M9R#jDW z7vsNjZKPn1nm{H+?{P>uWCeoNH9VZ(_jQEeahlv4NNy?kg@$qJ4PcmQi}ocSmgA|y zfI^iSbWnEm@?m;{uWs|`uT`o^>Dau{5aS5o!r&)bb;^nE(O;gh)PY_@eY^zJ3glMR1+{!tDT!cO_!q06+a@5{;UbW4z*Z~;d9>;tgzkd{u z+>BH(E4rvfdRk^2_m)S0X#}-T_^!L9tkEWh@Z~(3-bTN58OidXMWqF&gK%Y)_=5cow<2D0k+tgyF~7htT|7Ts4>J!+tR34a!XU| z-&(lNUW>oZzSm=?>0RYnMm-$uQL#kU4!;rI6G<;=xQ0apFmM8%Le?{5{aNMF(f>@+ zZ5;yn)<+li936&@!T)Uke}TZFTgKpM7TGtk(y(5(r3NHpZP3Ho+!U%_>X|e56!KuW z`;9E&4aUJMLdL+*3kzBk5A9EZHZeI}));1Fy?&lO$|)R5H273!Gu6oXh(MUhh~4$v zZBc{lIk@W=2i_NkcWbi(WmkcPWd%DD8DuAC8MquPHWTHIikjSPcw&%%Av*HI>qx#r z;;>n%b-Tz~Vo04f(>J~Ff)Q^Itz9}%TYW}b(Q()lY#gXWN?~YDul~Iv!{6R2tH-WZ-4~xua z?-G$=up3Me9KYlDN2*HARfM`uqDBElS0Qi6yNvc4lam;J>Mxb%@0|zmX*f z$Ms6^l|VKnTdA@fcc?DouK<3>^l;kU&Ga@kFv^3a}_|4zM#adE{P`PVnE3`;%f=DA* zu>FUG?|8$5Yt``X_NFB6vFxj)A9EKy2Q5IG(rw5+(esuf^R_WE-RtXb=@$fe>m(Z8 z(4Qnf=5*7=(;pnJiaXrfshps8Lz(Ae?xSnx0M22%pAX_MF*5Sw__*mscmX!WATUpsuG!zVga1*&x9R9Dd_;=kj& znWE2?<#GUbutRnA)$#cd`{k<{YX-bjlv2bMZ%(1cu4Jw)=Ceo^%V|+_W-bTNuA~jT_iVr2;mGZJH zIKCmAtUl30L05WwjUvIbJP6zj&~2Sys>ep^HmW}Z-fe|3EJllj9W6D`kLzh1&gd}o z=mEq>8dGL$*MN5c!#9kZqr|>{G+xOPdt+(YPd*fQX{%j{2>MkEexZ#M5}7&E*(15K z?dgr`4acWL3TEqSQkq^A_ zX@vv2I+W_qVBOo4`6-7g&w)>qZ3TeI$l=J6R9ZFH(jd^(KYo*zxO2g5D~fy0bN=8! zK$2!JRpc!~P;2E6w6yFW0mEGy@d4P}{Ksw%2=PRs9iod_IYj33E#409v$wHCvSJX0 zlvDVX;k^Fyp7)T`YxgRlP zUZyjmwJ2ol=RkJf{5*{AFwCmE&bEbC?39&3#6L&vGErw3ZP@2A8?!yh_Rx))GKQOq z+%`)#1nR*!v)d|XH8V5Q3Ei09(=U#(Ii~!Hah6g2m%vk>zUhDhM?j(`jyZTS^5gK$ zinv6hO!#}y-bsEIPMiEEP(nhS(3iiA&8B*E@IFyfZ*~c3DmAGtQd`3hl)o-hQ~5&$ zkVM4FAz~W^$boJo$QNrW@X0s)wiG$Kg4hyx8zZzc{{R!Sxn^aMfnvSW@#~6G&+YD~ z6ft)`kb;WB#zF1RqD@Mn0xyZz5HCj>z>=R4^XO4O(bFq@bn(>~oRr+))|Dd8+ z0Qwh8>?NCfONH7#<(wH8^2yaqRGb^-fRgus`0Fw>H4Tau>2>rS_CptgOLUPc*42)y)~Z23(ixxik@ z?J`Z4qiUSLya!912F8Rza)u7#Dq4Jl zv9iB>FIXY}{FSafpT%BbZ!h2e7Ip?dV^!yM#IbvXUF%x5B#HgS8nK&xxM-w_u509k z!UmJ!-E7YR7AtWn7Yl~B!|~Y}{Hyb?NO92Mr3?g0Xs6#(XBoHF-a9V4>l1K|F`l@D za35%(x9}$cucO@Y2ASXuVvSKo(2MTu9!jw=zl2kR$=0@kK}V2rr2s1-AA!3F(G1M20ze=KP3AIl5V_ro=WB4 zJt~6sN9+h7wc?`)iqD`iP(I>A6veZ&MQ1X6l9#q%FyhyJ*Ba0@(LfuSdumA@F^Oy0 zkXiBL1HIkpq1^R=*d0Vu?2Z(TsTst+XGgaz595Bbc8xzYCX|b3-a85-U){KpoVaqq zLAVs+h`wmf)ciMa|5Zx0`6^gq&6-z0*qCG$>avAc>&l}p3;}UC?^fv28tY-+kw-t$ zZ=N*J;zH3&^Za9OzftIePCPw-`RVZRf&C&iuQezmVz06vyb$cCuvkz$=90 zDvb<^s%V`En<)%m{K05P(|6k?45kP<$HKPh8xuG0o;{7y7!}fuckcqVUXvB~r--3% zqhuWC1)+td{alU%FQ68_nLqZQ3E*A}so5|JBp=9ZvYWAv*;U*$Dyu<=cSmp!c4#gB zV78-exf8ZkILtUI)+ad5cgck&naVC?*l;@qrnJCf>aKsNjgwi>XGM4z)HAFN2&x5SPLhgJ) zi*H!@`;zR8%cFU7BW{h1qM^6u|5iP}TT&hkNZQ>N*~p0GXs`xtRVS-Cl_vQ9w-5W9 zU;R|x9J<{-7_CZ~8unlR>Ghj>$(Ob?{0#=y{+KWT=@W=;>G$BykKr%UNz)jvJsjo@ zMl-J86dZUgOC8_d-KMNr$&Q526ul)3RxIJPTeyi8CoCIWUD3Cg>b?Vjh5~0m)y(!P zmVSsQro8(-xm5sx7P^dg*jn4&H`}%!KwOWB3LqcP6mPZ z%^!JufKUe)`J-J;&8y{KWo5r5#g9YK%7zZK8zz<-is0&IXBe{SJsBz|+vt?O3rH`9 zKp?ph<9LC+8oZaq#_!{o{0!!r=G;GuscUE~pSnj;zcKnwzcjvg|5M0D?g<-7>6Jkb zcPH+FvzqWL;P>)rUQwRC&#W$ zfdp8>@{hG9f`4gQe>%1lJv$N!dCcQObQRT1)ABfUjBq~FdMVVx^8ON^+?9}t4^Txec&h4?)6*rQnaoB9P{Ps)@N6Q#0R6vJ9YcnEaI_zjq zHk<2bMdKLG0LkNt%9bN2IGW7%5eA zYGuq0DiI?^lANB&?~WEKMYT46gUl%dy(sUolg1FE-Ny{N# zOyp(bs1j~)g@9bKg4Wz(G8Yh0L2MrHa_j?svDa=YGISbkaaeeQqhbwV61K{$0ub(^ z1TM3!PCtDUGhsvwdsM0+Nnl~DfTHC&F`;PUIYRowmgu8*NB?Q+x^G7N?*|`?%g)Yr zmB#2#f9@=J<;amo;C*pzS)0hjMS=9O&H{-Tj-ih?7mgiEI1tu&i9yxBHDRtLSKn6t zeK2Be4czFls>T)g-7u~@?aiRpgio|cPuB~^m@(C#LWZWz0q%h-SQTPQOmMc~sP555 zrAUcJ?Za|EG3#XlEIN+L8mLLr8|Fd9(}7b32oTO9%Y*MW`dBdT>4b9mn?*7=K zpqZ)@8WID3Oug?D!eJmZnB1IQWcpwZ=idzTt!^IVIu^^4psJ?fs4CGCdinq2DM-C| zrC#dy1o4jGz3|;WI~M|@(_X^`X)+sX8b|3i8`VQQbZ;Mg=T@OK+l=FA#BaT5SYhiL z1f4;iD{?j=+BBX7gotwut(bmh^8{ zHelq%IY)lewAW58n}peJk?gyya%4ZSN0E#eOXsLnx<)1rVKgT5gGFB7@ zs)c2#(DkMG7emSj+Ni_I2h3N649&18L{mfbzderY^FOVu$;=3PWEv}($#EXWR7>j` zZ#HT6=Z1QsVPDwiBp$b#(oN!`8KY|+a#WMBI>P0ib24eyBQ1vi6XZQp^(L*!`#0I? gHU@6dLf6xKbNSco_{sRa%XYxV@{~onnOEHZ0cY?o6#xJL From 57c4f9f0d6c7a92ad6261e026030c01e8c2d38fd Mon Sep 17 00:00:00 2001 From: smet19 Date: Thu, 18 Sep 2014 18:36:26 +0400 Subject: [PATCH 004/153] New mags --- .../projectiles/ammunition/magazines.dm | 28 ++++++++++++++---- .../projectiles/guns/projectile/automatic.dm | 4 +-- .../projectiles/guns/projectile/pistol.dm | 6 ++-- icons/obj/ammo.dmi | Bin 5741 -> 6490 bytes 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index cfb05311995..56aeeca65a2 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -10,8 +10,8 @@ icon_state = "9x19p" origin_tech = "combat=2" ammo_type = "/obj/item/ammo_casing/c9mm" - max_ammo = 18 - sprite_modulo = 18 + max_ammo = 8 + sprite_modulo = 8 multiple_sprites = 1 /obj/item/ammo_storage/magazine/mc9mm/empty @@ -30,6 +30,15 @@ /obj/item/ammo_storage/magazine/a12mm/empty starting_ammo = 0 +/obj/item/ammo_storage/magazine/smg9mm + name = "magazine (9mm)" + icon_state = "smg9mm" + origin_tech = "combat=3" + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 18 + sprite_modulo = 3 + multiple_sprites = 1 + /obj/item/ammo_storage/magazine/a50 name = "magazine (.50)" icon_state = "50ae" @@ -37,7 +46,7 @@ ammo_type = "/obj/item/ammo_casing/a50" max_ammo = 7 multiple_sprites = 1 - sprite_modulo = 7 + sprite_modulo = 1 /obj/item/ammo_storage/magazine/a50/empty starting_ammo = 0 @@ -70,6 +79,15 @@ icon_state = "45" origin_tech = "combat=2" ammo_type = "/obj/item/ammo_casing/c45" - max_ammo = 10 + max_ammo = 8 multiple_sprites = 1 - sprite_modulo = 10 + sprite_modulo = 1 + +/obj/item/ammo_storage/magazine/uzi45 //Uzi mag + name = "magazine (.45)" + icon_state = "uzi45" + origin_tech = "combat=2" + ammo_type = /obj/item/ammo_casing/c45 + max_ammo = 16 + multiple_sprites = 2 + sprite_modulo = 1 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 3dd14ec171b..b5a672cfe74 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -12,7 +12,7 @@ var/burstfire = 0 //Whether or not the gun fires multiple bullets at once var/burst_count = 3 load_method = 2 - mag_type = "/obj/item/ammo_storage/magazine/mc9mm" + mag_type = "/obj/item/ammo_storage/magazine/smg9mm" /obj/item/weapon/gun/projectile/automatic/New() ..() @@ -57,7 +57,7 @@ caliber = list(".45" = 1) origin_tech = "combat=5;materials=2;syndicate=8" ammo_type = "/obj/item/ammo_casing/c45" - mag_type = "/obj/item/ammo_storage/magazine/c45" + mag_type = "/obj/item/ammo_storage/magazine/uzi45" /obj/item/weapon/gun/projectile/automatic/mini_uzi/isHandgun() return 1 diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 9e946822304..41565e68f6c 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -61,15 +61,15 @@ /obj/item/weapon/gun/projectile/pistol name = "\improper Stechtkin pistol" - desc = "A small, easily concealable gun. Uses .45 rounds." + desc = "A small, easily concealable gun. Uses 9mm rounds." icon_state = "pistol" w_class = 2 max_shells = 10 caliber = list("9mm" = 1) silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" - ammo_type = "/obj/item/ammo_casing/c45" - mag_type = "/obj/item/ammo_storage/magazine/c45" + ammo_type = "/obj/item/ammo_casing/c9mm" + mag_type = "/obj/item/ammo_storage/magazine/mc9mm" load_method = 2 auto_mag_drop = 1 diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a92f253fdd992fe012ae2f53c0fd478b8b2463bc..a859968821adfabfe603823e5f22ff368d1d0073 100644 GIT binary patch delta 6330 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 delta 5533 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 OWMN`sTzSzW;eP;!%=P{N From 9b75c5527f161756e244189a85c9dec1b403c54d Mon Sep 17 00:00:00 2001 From: smet19 Date: Fri, 19 Sep 2014 16:34:49 +0400 Subject: [PATCH 005/153] Ammo shit Bullets now have non-spent sprite. Shotgun ammo now have spent overlay instead of empty shell. Fixed typepaths and sprite modulo --- code/modules/projectiles/ammunition.dm | 6 +++++- code/modules/projectiles/ammunition/bullets.dm | 14 ++++++-------- code/modules/projectiles/ammunition/flares.dm | 13 +++++++++---- code/modules/projectiles/ammunition/magazines.dm | 10 +++++----- code/modules/projectiles/ammunition/rocket.dm | 3 +++ .../projectiles/guns/projectile/shotgun.dm | 15 ++++++--------- 6 files changed, 34 insertions(+), 27 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 1d1b69cf8ff..16481c35caa 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -10,16 +10,20 @@ var/caliber = "" //Which kind of guns it can be loaded into var/projectile_type = ""//The bullet type to create when New() is called var/obj/item/projectile/BB = null //The loaded bullet - var/spent = 0 //whether or not the thing has been shot. Can't load empty bullets! New() ..() if(projectile_type) BB = new projectile_type(src) + update_icon() + + update_icon() pixel_x = rand(-10.0, 10) pixel_y = rand(-10.0, 10) dir = pick(cardinal) + icon_state = "[initial(icon_state)][BB ? "-live" : ""]" + desc = "[initial(desc)][BB ? "" : " This one is spent"]" //Boxes of ammo diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 629d074ebf3..3666fe8fe69 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -75,6 +75,11 @@ m_amt = 12500 w_type = RECYK_METAL + update_icon() + desc = "[initial(desc)][BB ? "" : " This one is spent"]" + overlays = list() + if(!BB) + overlays += icon('icons/obj/ammo.dmi', "emptyshell") /obj/item/ammo_casing/shotgun/blank name = "shotgun shell" @@ -84,14 +89,7 @@ m_amt = 250 w_type = RECYK_METAL -/obj/item/ammo_casing/shotgun/empty - name = "shotgun shell" - desc = "This one has been spent." - icon_state = "emptyshell" - projectile_type = "" - m_amt = 250 - spent = 1 //just to stop people loading a gun with it. This should never go to 0 on the empty - w_type = RECYK_METAL + /obj/item/ammo_casing/shotgun/beanbag name = "beanbag shell" diff --git a/code/modules/projectiles/ammunition/flares.dm b/code/modules/projectiles/ammunition/flares.dm index 0d9b91166f5..5d36e5a1995 100644 --- a/code/modules/projectiles/ammunition/flares.dm +++ b/code/modules/projectiles/ammunition/flares.dm @@ -17,7 +17,12 @@ stored_flare = new(src) /obj/item/ammo_casing/shotgun/flare/attack_self() - usr <<"You disassemble the flare shell." - stored_flare.loc = usr.loc - new/obj/item/ammo_casing/shotgun/empty(usr.loc) - qdel(src) \ No newline at end of file + if(stored_flare) + usr <<"You disassemble the flare shell." + stored_flare.loc = usr.loc + stored_flare = null + BB = null + icon_state = "flareshell-empty" + update_icon() + else + usr <<"This flare is empty." diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 56aeeca65a2..1995ca4713d 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -24,7 +24,7 @@ ammo_type = "/obj/item/ammo_casing/a12mm" max_ammo = 20 multiple_sprites = 1 - sprite_modulo = 10 + sprite_modulo = 2 /obj/item/ammo_storage/magazine/a12mm/empty @@ -34,7 +34,7 @@ name = "magazine (9mm)" icon_state = "smg9mm" origin_tech = "combat=3" - ammo_type = /obj/item/ammo_casing/c9mm + ammo_type = "/obj/item/ammo_casing/c9mm" max_ammo = 18 sprite_modulo = 3 multiple_sprites = 1 @@ -87,7 +87,7 @@ name = "magazine (.45)" icon_state = "uzi45" origin_tech = "combat=2" - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = "/obj/item/ammo_casing/c45" max_ammo = 16 - multiple_sprites = 2 - sprite_modulo = 1 + multiple_sprites = 1 + sprite_modulo = 2 diff --git a/code/modules/projectiles/ammunition/rocket.dm b/code/modules/projectiles/ammunition/rocket.dm index c9848d35d86..1b1ad5fb086 100644 --- a/code/modules/projectiles/ammunition/rocket.dm +++ b/code/modules/projectiles/ammunition/rocket.dm @@ -7,3 +7,6 @@ m_amt = 15000 w_type = RECYK_METAL w_class = 3.0 // Rockets don't exactly fit in pockets and cardboard boxes last I heard, try your backpack + +/obj/item/ammo_casing/rocket_rpg/update_icon() + return diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index de2738843ea..d37471c9599 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -31,17 +31,14 @@ process_chambered() if(in_chamber) return 1 + else if(current_shell && current_shell.BB) + in_chamber = current_shell.BB //Load projectile into chamber. + current_shell.BB.loc = src //Set projectile loc to gun. + current_shell.BB = null + current_shell.update_icon() + return 1 return 0 - Fire() - ..() //replaces the current shell with an empty one if it's been fired - if(current_shell) //because of how fucking painful current_shell is to work with, this is what I got - var/obj/item/ammo_casing/shotgun/empty/new_shell = new(src) - new_shell.desc += " This looks like it used to be a [current_shell.name]." - qdel(current_shell) - current_shell = new_shell - new_shell = null - proc/pump(mob/M as mob) playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) pumped = 0 From 7c94dae89a2a648298b66f5e9dcf646088c654e5 Mon Sep 17 00:00:00 2001 From: smet19 Date: Fri, 19 Sep 2014 16:37:04 +0400 Subject: [PATCH 006/153] Removed "spent" . Uses AC.BB instead. --- code/modules/projectiles/ammunition.dm | 4 ++-- code/modules/projectiles/guns/projectile.dm | 21 +++++++-------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 16481c35caa..7520b7131ee 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -67,13 +67,13 @@ var/accepted = 0 if((exact && (AC.type == text2path(ammo_type))) || (!exact && istype(AC, text2path(ammo_type))))//if it's the exact type we want, or the general class accepted = 1 - if(!AC.spent && accepted && stored_ammo.len < max_ammo) //spent means fired. Spent shots can't be loaded into guns or magazines + if(AC.BB && accepted && stored_ammo.len < max_ammo) stored_ammo += AC user.drop_item(AC) AC.loc = src user << "You successfully load the [src] with \the [AC]" update_icon() - else if(AC.spent) + else if(!AC.BB) user << "You can't load a spent bullet." else if (stored_ammo.len == max_ammo) user << "\The [src] can't hold any more shells." diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 2e030b6cd2c..c3b4712a5a7 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -101,20 +101,13 @@ loaded -= AC //Remove casing from loaded list. if(empty_casings == 1) AC.loc = get_turf(src) //Eject casing onto ground. - if(AC.BB) - AC.spent = 1 - AC.desc += " This one is spent." //descriptions are magic - only when there's a projectile in the casing - in_chamber = AC.BB //Load projectile into chamber. - AC.BB.loc = src //Set projectile loc to gun. - return 1 - return 0 - else - if(AC.BB) - in_chamber = AC.BB //Load projectile into chamber - AC.BB.loc = src //Set projectile loc to gun - return 1 - return 0 - + if(AC.BB) + in_chamber = AC.BB //Load projectile into chamber. + AC.BB.loc = src //Set projectile loc to gun. + AC.BB = null //Empty casings + AC.update_icon() + return 1 + return 0 /obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) From eea81b86f68e16a33c6dc2948e37384e696c1ab8 Mon Sep 17 00:00:00 2001 From: smet19 Date: Fri, 19 Sep 2014 16:39:49 +0400 Subject: [PATCH 007/153] Replaces loaded.len with getAmmo() --- code/modules/projectiles/ammunition.dm | 2 +- code/modules/projectiles/guns/projectile.dm | 2 +- .../projectiles/guns/projectile/automatic.dm | 8 +++--- .../projectiles/guns/projectile/revolver.dm | 20 +++++++------- .../guns/projectile/rocketlauncher.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 26 +++++-------------- 6 files changed, 23 insertions(+), 37 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 7520b7131ee..331193004c0 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -180,7 +180,7 @@ return bullets_loaded proc/get_round(var/keep = 0) - if(!stored_ammo.len) + if(!ammo_count()) return null else var/b = stored_ammo[stored_ammo.len] diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index c3b4712a5a7..e79d96e2766 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -84,7 +84,7 @@ var/obj/item/ammo_casing/AC = null if(mag_type && load_method == 2) AC = chambered - else if(loaded.len) + else if(getAmmo()) AC = loaded[1] //load next casing. return AC diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index b5a672cfe74..dd9062d61d9 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -38,11 +38,11 @@ usr << "\The [src] is still cooling down!" return var/shots_fired = 0 //haha, I'm so clever - var/to_shoot = min(burst_count, loaded.len) + var/to_shoot = min(burst_count, getAmmo()) for(var/i = 1; i <= to_shoot; i++) ..() shots_fired++ - message_admins("[usr] just shot [shots_fired] burst fire bullets out of [loaded.len + shots_fired] from their [src].") + message_admins("[usr] just shot [shots_fired] burst fire bullets out of [getAmmo() + shots_fired] from their [src].") fire_delay = shots_fired * 10 else ..() @@ -81,7 +81,7 @@ /obj/item/weapon/gun/projectile/automatic/c20r/update_icon() ..() if(stored_magazine) - icon_state = "c20r-[round(loaded.len,4)]" + icon_state = "c20r-[round(getAmmo(),4)]" else icon_state = "c20r" return @@ -127,7 +127,7 @@ /obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon() - icon_state = "l6[cover_open ? "open" : "closed"][stored_magazine ? round(loaded.len, 25) : "-empty"]" + icon_state = "l6[cover_open ? "open" : "closed"][stored_magazine ? round(getAmmo(), 25) : "-empty"]" /obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index d9f9b6b2c0f..edf9875fc0d 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -9,11 +9,11 @@ var/perfect = 0 special_check(var/mob/living/carbon/human/M) //to see if the gun fires 357 rounds safely. A non-modified revolver randomly blows up - if(loaded.len) //this is a good check, I like this check + if(getAmmo()) //this is a good check, I like this check var/obj/item/ammo_casing/AC = loaded[1] if(caliber["38"] == 0) //if it's been modified, this is true return 1 - if(istype(AC, /obj/item/ammo_casing/a357) && !perfect && prob(70 - (loaded.len * 10))) //minimum probability of 10, maximum of 60 + if(istype(AC, /obj/item/ammo_casing/a357) && !perfect && prob(70 - (getAmmo() * 10))) //minimum probability of 10, maximum of 60 M << "[src] blows up in your face." M.take_organ_damage(0,20) M.drop_item() @@ -50,13 +50,13 @@ return if(caliber["38"]) user << "You begin to reinforce the barrel of [src]." - if(loaded.len) + if(getAmmo()) afterattack(user, user) //you know the drill playsound(user, fire_sound, 50, 1) user.visible_message("[src] goes off!", "[src] goes off in your face!") return if(do_after(user, 30)) - if(loaded.len) + if(getAmmo()) user << "You can't modify it!" return caliber["38"] = 0 @@ -66,13 +66,13 @@ perfect = 1 else user << "You begin to revert the modifications to [src]." - if(loaded.len) + if(getAmmo()) afterattack(user, user) //and again playsound(user, fire_sound, 50, 1) user.visible_message("[src] goes off!", "[src] goes off in your face!") return if(do_after(user, 30)) - if(loaded.len) + if(getAmmo()) user << "You can't modify it!" return caliber["38"] = 1 @@ -122,12 +122,12 @@ var/num_loaded = 0 if(istype(A, /obj/item/ammo_storage/magazine)) - if((load_method == 2) && loaded.len) return + if((load_method == 2) && getAmmo()) return var/obj/item/ammo_storage/magazine/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(getAmmo() > 0 || loaded.len >= max_shells) + if(getAmmo() > 0 || getAmmo() >= max_shells) break - if(caliber[AC.caliber] && loaded.len < max_shells) + if(caliber[AC.caliber] && getAmmo() < max_shells) AC.loc = src AM.stored_ammo -= AC loaded += AC @@ -152,7 +152,7 @@ /obj/item/weapon/gun/projectile/russian/attack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj) - if(!loaded.len) + if(!getAmmo()) user.visible_message("\red *click*", "\red *click*") playsound(user, 'sound/weapons/empty.ogg', 100, 1) return diff --git a/code/modules/projectiles/guns/projectile/rocketlauncher.dm b/code/modules/projectiles/guns/projectile/rocketlauncher.dm index 0ebbc123f1e..ceb5c05a276 100644 --- a/code/modules/projectiles/guns/projectile/rocketlauncher.dm +++ b/code/modules/projectiles/guns/projectile/rocketlauncher.dm @@ -25,7 +25,7 @@ return 0 /obj/item/weapon/gun/projectile/rocketlauncher/update_icon() - if(!loaded.len) + if(!getAmmo()) icon_state = "rpg_e" item_state = "rpg_e" else diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index d37471c9599..240661ed086 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -47,13 +47,11 @@ current_shell = null if(in_chamber) in_chamber = null - if(!loaded.len) + if(!getAmmo()) return 0 var/obj/item/ammo_casing/AC = loaded[1] //load next casing. loaded -= AC //Remove casing from loaded list. current_shell = AC - if(current_shell && AC.BB) - in_chamber = AC.BB //Load projectile into chamber. update_icon() //I.E. fix the desc return 1 @@ -82,22 +80,20 @@ process_chambered() if(in_chamber) return 1 - if(!loaded.len) + if(!getAmmo()) return 0 - var/obj/item/ammo_casing/AC = loaded[1] //load next casing. loaded -= AC //Remove casing from loaded list. - AC.spent = 1 - AC.desc = "[initial(AC.desc)] This one is spent." - if(AC.BB) in_chamber = AC.BB //Load projectile into chamber. AC.BB.loc = src //Set projectile loc to gun. + AC.BB = null + AC.update_icon() return 1 return 0 attack_self(mob/living/user as mob) - if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !loaded.len) + if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !getAmmo()) user << "\The [src] is empty." return @@ -109,23 +105,13 @@ user << "You break \the [src]." update_icon() - Fire() - ..() - for(var/obj/item/ammo_casing/shotgun/shell in src) //replaces the fired shells with the empty kind: hacky, or what? (empty shells are special shotgun ammo) - if(shell.spent) - var/obj/item/ammo_casing/shotgun/empty/new_shell = new(src) - new_shell.desc += " This looks like it used to be a [shell.name]." - loaded += new_shell //to stop new shells being loaded - loaded -= shell - qdel(shell) - attackby(var/obj/item/A as obj, mob/user as mob) ..() A.update_icon() update_icon() if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) user << "You begin to shorten the barrel of \the [src]." - if(loaded.len) + if(getAmmo()) afterattack(user, user) //will this work? afterattack(user, user) //it will. we call it twice, for twice the FUN playsound(user, fire_sound, 50, 1) From 947744cb23554a4a114968826c50ad501a8a7b77 Mon Sep 17 00:00:00 2001 From: smet19 Date: Fri, 19 Sep 2014 16:42:35 +0400 Subject: [PATCH 008/153] Sprites & Fixes Weapons now have states without magazine and without bullet in chamber. Updated update_icon() Fixed loading weapons with different mags. Now you cant load your pistol with smg mag. Now you can load bullet in chamber and unload it --- code/modules/projectiles/guns/projectile.dm | 35 +++++++++++++----- .../projectiles/guns/projectile/automatic.dm | 12 +++--- .../projectiles/guns/projectile/pistol.dm | 8 ++-- icons/obj/ammo.dmi | Bin 6490 -> 6727 bytes icons/obj/gun.dmi | Bin 57774 -> 57251 bytes 5 files changed, 34 insertions(+), 21 deletions(-) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index e79d96e2766..5f49afb96f4 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -35,7 +35,7 @@ //loads the argument magazine into the gun /obj/item/weapon/gun/projectile/proc/LoadMag(var/obj/item/ammo_storage/magazine/AM, var/mob/user) - if(istype(AM) && !stored_magazine) + if(istype(AM, text2path(mag_type)) && !stored_magazine) if(user) user.drop_item(AM) usr << "You load the magazine into \the [src]." @@ -121,19 +121,26 @@ user << "There is already a magazine loaded in \the [src]!" else user << "You can't load \the [src] with a magazine, dummy!" - if(istype(A, /obj/item/ammo_storage) && load_method == SPEEDLOADER) + if(istype(A, /obj/item/ammo_storage) && load_method != MAGAZINE) var/obj/item/ammo_storage/AS = A var/success_load = AS.LoadInto(AS, src) if(success_load) user << "You successfully fill the [src] with [success_load] shell\s from the [AS]" - if(istype(A, /obj/item/ammo_casing) && load_method == SPEEDLOADER) + if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/AC = A //message_admins("Loading the [src], with [AC], [AC.caliber] and [caliber.len]") //Enable this for testing - if(caliber[AC.caliber] && loaded.len < max_shells && !AC.spent) // a used bullet can't be fired twice - user.drop_item() - AC.loc = src - loaded += AC - num_loaded++ + if(AC.BB && caliber[AC.caliber]) // a used bullet can't be fired twice + if(load_method == MAGAZINE && !chambered) + user.drop_item() + AC.loc = src + chambered = AC + num_loaded++ + else if(getAmmo() < max_shells) + user.drop_item() + AC.loc = src + loaded += AC + num_loaded++ + if(num_loaded) user << "\blue You load [num_loaded] shell\s into \the [src]!" A.update_icon() @@ -150,10 +157,20 @@ AC.loc = get_turf(src) //Eject casing onto ground. user << "\blue You unload \the [AC] from \the [src]!" update_icon() + return if (load_method == MAGAZINE && stored_magazine) RemoveMag(user) + return else - user << "\red Nothing loaded in \the [src]!" + if(chambered) + var/obj/item/ammo_casing/AC = chambered + AC.loc = get_turf(src) //Eject casing onto ground. + chambered = null + user << "\blue You unload \the [AC] from \the [src]!" + update_icon() + return + else + user << "\red Nothing loaded in \the [src]!" /obj/item/weapon/gun/projectile/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) ..() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index dd9062d61d9..aa272900f20 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -14,13 +14,6 @@ load_method = 2 mag_type = "/obj/item/ammo_storage/magazine/smg9mm" -/obj/item/weapon/gun/projectile/automatic/New() - ..() - stored_magazine = new mag_type(src) - loaded = stored_magazine.stored_ammo - update_icon() - return - /obj/item/weapon/gun/projectile/automatic/isHandgun() return 0 @@ -30,6 +23,11 @@ burstfire = !burstfire usr << "You toggle \the [src]'s firing setting to [burstfire ? "burst fire" : "single fire"]." +/obj/item/weapon/gun/projectile/automatic/update_icon() + ..() + icon_state = "[initial(icon_state)][stored_magazine ? "-[stored_magazine.max_ammo]" : ""][chambered ? "" : "-e"]" + return + /obj/item/weapon/gun/projectile/automatic/Fire() if(burstfire == 1) if(ready_to_fire()) diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 41565e68f6c..c5bda3060cc 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -64,7 +64,7 @@ desc = "A small, easily concealable gun. Uses 9mm rounds." icon_state = "pistol" w_class = 2 - max_shells = 10 + max_shells = 8 caliber = list("9mm" = 1) silenced = 0 origin_tech = "combat=2;materials=2;syndicate=2" @@ -104,10 +104,8 @@ /obj/item/weapon/gun/projectile/pistol/update_icon() ..() - if(silenced) - icon_state = "pistol-silencer" - else - icon_state = initial(icon_state) + icon_state = "[initial(icon_state)][silenced ? "-silencer" : ""][chambered ? "" : "-e"]" + return /obj/item/weapon/silencer name = "silencer" diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a859968821adfabfe603823e5f22ff368d1d0073..113e5c438a1e592a6f4c901b142af9a554ed412f 100644 GIT binary patch delta 6557 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 literal 57774 zcmb@tbzD?Y)HZtPZs~3b1(Ze_329MjL1_>H=^BPci2)H%0ck;zP&$VYP>}8%IwXc3 zYG&@i_kF*c-|u(7d*43>hCPQfd#}CDTFEq(@5�SYCaCWoRy{S9y~B1-hFJL{Uh6+szLOj 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 From 512b106f0f098d8400a355e63fe7ab48d3af5ccf Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 5 Oct 2014 02:25:37 -0500 Subject: [PATCH 009/153] Bay hydroponics rewrite port, work in progress. --- baystation12.dme | 11 +- .../Cael_Aislinn/Jungle/jungle_plants.dm | 119 ++ code/_onclick/click.dm | 10 +- code/controllers/master_controller.dm | 1 + code/datums/supplypacks.dm | 18 +- code/datums/uplink_item.dm | 2 +- code/defines/obj/hydro.dm | 2 +- code/defines/obj/weapon.dm | 4 +- code/game/gamemodes/events/spacevines.dm | 246 +-- code/game/machinery/bees_apiary.dm | 22 +- code/game/machinery/biogenerator.dm | 8 +- code/game/machinery/bots/farmbot.dm | 48 +- code/game/machinery/machinery.dm | 12 + code/game/machinery/podmen.dm | 4 +- code/game/machinery/seed_extractor.dm | 61 +- code/game/machinery/vending.dm | 16 +- .../objects/items/stacks/sheets/mineral.dm | 2 +- code/game/objects/items/weapons/cash.dm | 1 - .../game/objects/items/weapons/hydroponics.dm | 23 +- code/modules/clothing/head/misc_special.dm | 1 - code/modules/clothing/suits/jobs.dm | 2 +- code/modules/hydroponics/biogenerator.dm | 408 +++++ code/modules/hydroponics/grown_inedible.dm | 214 +++ code/modules/hydroponics/hydro_tools.dm | 358 ++++ code/modules/hydroponics/hydro_tray.dm | 791 +++++++++ code/modules/hydroponics/seed_datums.dm | 1565 +++++++++++++++++ code/modules/hydroponics/seed_machines.dm | 338 ++++ code/modules/hydroponics/seed_mobs.dm | 80 + code/modules/hydroponics/seeds.dm | 243 +++ code/modules/hydroponics/vines.dm | 386 ++++ code/modules/maps/spawners/spawners.dm | 15 +- code/modules/mining/abandoned_crates/bay12.dm | 2 +- code/modules/mining/surprises/tg.dm | 4 +- .../mob/living/carbon/brain/brain_item.dm | 2 +- .../modules/mob/living/carbon/monkey/diona.dm | 8 +- code/modules/mob/living/simple_animal/bees.dm | 8 +- .../simple_animal/friendly/farm_animals.dm | 10 +- code/modules/power/singularity/singularity.dm | 4 +- .../projectiles/guns/energy/special.dm | 243 +-- code/modules/reagents/Chemistry-Reagents.dm | 15 +- .../reagent_containers/food/snacks/grown.dm | 1468 ++++++---------- .../reagent_containers/food/snacks/meat.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 - .../genetics/prehistoric_plants.dm | 81 + code/setup.dm | 2 +- html/changelog.html | 9 + html/changelogs/.all_changelog.yml | 4 + html/changelogs/Dylanstrategie1622.yml | 3 - icons/mob/species/vox/uniform.dmi | Bin 51361 -> 51361 bytes icons/obj/hydroponics.dmi | Bin 156955 -> 178798 bytes 50 files changed, 5396 insertions(+), 1482 deletions(-) create mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm create mode 100644 code/modules/hydroponics/biogenerator.dm create mode 100644 code/modules/hydroponics/grown_inedible.dm create mode 100644 code/modules/hydroponics/hydro_tools.dm create mode 100644 code/modules/hydroponics/hydro_tray.dm create mode 100644 code/modules/hydroponics/seed_datums.dm create mode 100644 code/modules/hydroponics/seed_machines.dm create mode 100644 code/modules/hydroponics/seed_mobs.dm create mode 100644 code/modules/hydroponics/seeds.dm create mode 100644 code/modules/hydroponics/vines.dm create mode 100644 code/modules/research/xenoarchaeology/genetics/prehistoric_plants.dm delete mode 100644 html/changelogs/Dylanstrategie1622.yml diff --git a/baystation12.dme b/baystation12.dme index aa7d9fbf55c..b29c42dca68 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -194,7 +194,6 @@ #include "code\defines\byondtools.dm" #include "code\defines\obj.dm" #include "code\defines\vox_sounds.dm" -#include "code\defines\obj\hydro.dm" #include "code\defines\obj\weapon.dm" #include "code\defines\procs\AStar.dm" #include "code\defines\procs\biohazard_alert.dm" @@ -352,7 +351,6 @@ #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\kinetic_accelerator.dm" @@ -366,7 +364,6 @@ #include "code\game\machinery\newscaster.dm" #include "code\game\machinery\OpTable.dm" #include "code\game\machinery\overview.dm" -#include "code\game\machinery\podmen.dm" #include "code\game\machinery\portable_turret.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm" @@ -957,6 +954,14 @@ #include "code\modules\food\icecreamvat.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\hydro_tray.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" diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm new file mode 100644 index 00000000000..3f1a7c2f4bb --- /dev/null +++ b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm @@ -0,0 +1,119 @@ +//*********************// +// Generic undergrowth // +//*********************// + +/obj/structure/bush + name = "foliage" + desc = "Pretty thick scrub, it'll take something sharp and a lot of determination to clear away." + icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon_state = "bush1" + density = 1 + anchored = 1 + layer = 3.2 + var/indestructable = 0 + var/stump = 0 + +/obj/structure/bush/New() + if(prob(20)) + opacity = 1 + +/obj/structure/bush/Bumped(M as mob) + if (istype(M, /mob/living/simple_animal)) + var/mob/living/simple_animal/A = M + A.loc = get_turf(src) + else if (istype(M, /mob/living/carbon/monkey)) + var/mob/living/carbon/monkey/A = M + A.loc = get_turf(src) + +/obj/structure/bush/attackby(var/obj/I as obj, var/mob/user as mob) + //hatchets can clear away undergrowth + if(istype(I, /obj/item/weapon/hatchet) && !stump) + if(indestructable) + //this bush marks the edge of the map, you can't destroy it + user << "\red You flail away at the undergrowth, but it's too thick here." + else + user.visible_message("\red [user] begins clearing away [src].","\red You begin clearing away [src].") + spawn(rand(15,30)) + if(get_dist(user,src) < 2) + user << "\blue You clear away [src]." + var/obj/item/stack/sheet/wood/W = new(src.loc) + W.amount = rand(3,15) + if(prob(50)) + icon_state = "stump[rand(1,2)]" + name = "cleared foliage" + desc = "There used to be dense undergrowth here." + density = 0 + stump = 1 + pixel_x = rand(-6,6) + pixel_y = rand(-6,6) + else + del(src) + else + return ..() + +//*******************************// +// Strange, fruit-bearing plants // +//*******************************// + +var/list/fruit_icon_states = list("badrecipe","kudzupod","reishi","lime","grapes","boiledrorocore","chocolateegg") +var/list/reagent_effects = list("toxin","anti_toxin","stoxin","space_drugs","mindbreaker","zombiepowder","impedrezene") +var/jungle_plants_init = 0 + +/proc/init_jungle_plants() + jungle_plants_init = 1 + fruit_icon_states = shuffle(fruit_icon_states) + reagent_effects = shuffle(reagent_effects) + +/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit + name = "jungle fruit" + desc = "It smells weird and looks off." + icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon_state = "orange" + potency = 1 + +/obj/structure/jungle_plant + icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon_state = "plant1" + desc = "Looks like some of that fruit might be edible." + var/fruits_left = 3 + var/fruit_type = -1 + var/icon/fruit_overlay + var/plant_strength = 1 + var/fruit_r + var/fruit_g + var/fruit_b + + +/obj/structure/jungle_plant/New() + if(!jungle_plants_init) + init_jungle_plants() + + fruit_type = rand(1,7) + icon_state = "plant[fruit_type]" + fruits_left = rand(1,5) + fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]") + fruit_r = 255 - fruit_type * 36 + fruit_g = rand(1,255) + fruit_b = fruit_type * 36 + fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD) + overlays += fruit_overlay + plant_strength = rand(20,200) + +/obj/structure/jungle_plant/attack_hand(var/mob/user as mob) + if(fruits_left > 0) + fruits_left-- + user << "\blue You pick a fruit off [src]." + + var/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit/J = new (src.loc) + J.potency = plant_strength + J.icon_state = fruit_icon_states[fruit_type] + J.reagents.add_reagent(reagent_effects[fruit_type], 1+round((plant_strength / 20), 1)) + J.bitesize = 1+round(J.reagents.total_volume / 2, 1) + J.attack_hand(user) + + overlays -= fruit_overlay + fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]") + fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD) + overlays += fruit_overlay + else + user << "\red There are no fruit left on [src]." diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 68984973b4a..7925949c56e 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -383,7 +383,15 @@ G.next_shock = world.time + time // Simple helper to face what you clicked on, in case it should be needed in more than one place /mob/proc/face_atom(var/atom/A) - if( stat || buckled || !A || !x || !y || !A.x || !A.y ) return + // Snowflake for space vines. + var/is_buckled = 0 + if(buckled) + if(istype(buckled)) + if(!buckled.anchored) + is_buckled = 1 + else + is_buckled = 0 + if( stat || is_buckled || !A || !x || !y || !A.x || !A.y ) return var/dx = A.x - x var/dy = A.y - y if(!dx && !dy) return diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index df30bf208a8..14b2f112752 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -108,6 +108,7 @@ datum/controller/game_controller/proc/setup_objects() sleep(-1) for(var/atom/movable/object in world) object.initialize() + populate_seed_list() world << "\red \b Initializing pipe networks" sleep(-1) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 92b06da6430..7c8ad56622e 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -335,17 +335,18 @@ var/list/all_supply_groups = list("Supplies","Clothing","Security","Hospitality" group = "Hydroponics" /datum/supply_packs/exoticseeds - name = "Exotic Seeds Crate" - contains = list(/obj/item/seeds/nettleseed, + name = "Exotic seeds crate" + contains = list(/obj/item/seeds/replicapod, /obj/item/seeds/replicapod, - /obj/item/seeds/replicapod, - /obj/item/seeds/replicapod, - /obj/item/seeds/plumpmycelium, /obj/item/seeds/libertymycelium, - /obj/item/seeds/amanitamycelium, /obj/item/seeds/reishimycelium, - /obj/item/seeds/bananaseed, - /obj/item/seeds/eggyseed) + /obj/item/seeds/random, + /obj/item/seeds/random, + /obj/item/seeds/random, + /obj/item/seeds/random, + /obj/item/seeds/random, + /obj/item/seeds/random, + /obj/item/seeds/kudzuseed) cost = 15 containertype = /obj/structure/closet/crate/hydroponics containername = "Exotic Seeds crate" @@ -857,6 +858,7 @@ var/list/all_supply_groups = list("Supplies","Clothing","Security","Hospitality" containername = "Arts and Crafts crate" group = "Supplies" + /datum/supply_packs/randomised/contraband num_contained = 5 contains = list(/obj/item/seeds/bloodtomatoseed, diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index a037fe0d9bb..2779ac9dc1e 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -117,7 +117,7 @@ var/list/uplink_items = list() /datum/uplink_item/jobspecific/ambrosiacruciatus name = "Ambrosia Cruciatus Seeds" desc = "Part of the notorious Ambrosia family, this species is nearly indistinguishable from Ambrosia Vulgaris- but its' branches contain a revolting toxin. Eight units are enough to drive victims insane after a three-minute delay." - item = /obj/item/seeds/ambrosiavulgarisseed/cruciatus + item = /obj/item/seeds/ambrosiacruciatusseed cost = 2 job = list("Botanist") diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 9d48dc9fe91..294f0ed4aa3 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -1218,7 +1218,7 @@ if(istype(user.loc,/turf/space)) return user << "You plant the kudzu. You monster." - new /obj/effect/spacevine_controller(user.loc) + new /obj/effect/plantsegment_controller(user.loc) del(src) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 8638a5e780b..f390a00644b 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -787,8 +787,8 @@ attack_verb = list("chopped", "sliced", "cut", "reaped") /obj/item/weapon/scythe/afterattack(atom/A, mob/user as mob) - if(istype(A, /obj/effect/spacevine)) - for(var/obj/effect/spacevine/B in orange(A,1)) + if(istype(A, /obj/effect/plantsegment)) + for(var/obj/effect/plantsegment/B in orange(A,1)) if(prob(80)) del B del A diff --git a/code/game/gamemodes/events/spacevines.dm b/code/game/gamemodes/events/spacevines.dm index 5af79959dfa..d095f19d564 100644 --- a/code/game/gamemodes/events/spacevines.dm +++ b/code/game/gamemodes/events/spacevines.dm @@ -1,247 +1,3 @@ -// SPACE VINES (Note that this code is very similar to Biomass code) -/obj/effect/spacevine - name = "space vines" - desc = "An extremely expansionistic species of vine." - icon = 'icons/effects/spacevines.dmi' - icon_state = "Light1" - anchored = 1 - density = 0 - layer = 5 - pass_flags = PASSTABLE | PASSGRILLE - var/energy = 0 - var/obj/effect/spacevine_controller/master = null - var/mob/living/buckled_mob - - New() - return - - Destroy() - if(master) - master.vines -= src - master.growth_queue -= src - ..() - - -/obj/effect/spacevine/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (!W || !user || !W.type) return - switch(W.type) - if(/obj/item/weapon/circular_saw) del src - if(/obj/item/weapon/kitchen/utensil/knife) del src - if(/obj/item/weapon/scalpel) del src - if(/obj/item/weapon/twohanded/fireaxe) del src - if(/obj/item/weapon/hatchet) del src - if(/obj/item/weapon/melee/energy) del src - - //less effective weapons - if(/obj/item/weapon/wirecutters) - if(prob(25)) del src - if(/obj/item/weapon/shard) - if(prob(25)) del src - - else //weapons with subtypes - if(istype(W, /obj/item/weapon/melee/energy/sword)) del src - else if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0, user)) del src - else - manual_unbuckle(user) - return - //Plant-b-gone damage is handled in its entry in chemistry-reagents.dm - ..() - - -/obj/effect/spacevine/attack_hand(mob/user as mob) - manual_unbuckle(user) - - -/obj/effect/spacevine/attack_paw(mob/user as mob) - manual_unbuckle(user) - -/obj/effect/spacevine/proc/unbuckle() - if(buckled_mob) - if(buckled_mob.buckled == src) //this is probably unneccesary, but it doesn't hurt - buckled_mob.buckled = null - buckled_mob.anchored = initial(buckled_mob.anchored) - buckled_mob.update_canmove() - buckled_mob = null - return - -/obj/effect/spacevine/proc/manual_unbuckle(mob/user as mob) - if(buckled_mob) - if(prob(50)) - if(buckled_mob.buckled == src) - if(buckled_mob != user) - buckled_mob.visible_message(\ - "[user.name] frees [buckled_mob.name] from the vines.",\ - "[user.name] frees you from the vines.",\ - "You hear shredding and ripping.") - else - buckled_mob.visible_message(\ - "[buckled_mob.name] struggles free of the vines.",\ - "You untangle the vines from around yourself.",\ - "You hear shredding and ripping.") - unbuckle() - else - var/text = pick("rips","tears","pulls") - user.visible_message(\ - "[user.name] [text] at the vines.",\ - "You [text] at the vines.",\ - "You hear shredding and ripping.") - return - -/obj/effect/spacevine_controller - var/list/obj/effect/spacevine/vines = list() - var/list/growth_queue = list() - var/reached_collapse_size - var/reached_slowdown_size - //What this does is that instead of having the grow minimum of 1, required to start growing, the minimum will be 0, - //meaning if you get the spacevines' size to something less than 20 plots, it won't grow anymore. - - New() - if(!istype(src.loc,/turf/simulated/floor)) - del(src) - - spawn_spacevine_piece(src.loc) - processing_objects.Add(src) - - Destroy() - processing_objects.Remove(src) - ..() - - proc/spawn_spacevine_piece(var/turf/location) - var/obj/effect/spacevine/SV = new(location) - growth_queue += SV - vines += SV - SV.master = src - - process() - if(!vines) - del(src) //space vines exterminated. Remove the controller - return - if(!growth_queue) - del(src) //Sanity check - return - if(vines.len >= 250 && !reached_collapse_size) - reached_collapse_size = 1 - if(vines.len >= 30 && !reached_slowdown_size ) - reached_slowdown_size = 1 - - var/length = 0 - if(reached_collapse_size) - length = 0 - else if(reached_slowdown_size) - if(prob(25)) - length = 1 - else - length = 0 - else - length = 1 - length = min( 30 , max( length , vines.len / 5 ) ) - var/i = 0 - var/list/obj/effect/spacevine/queue_end = list() - - for( var/obj/effect/spacevine/SV in growth_queue ) - i++ - queue_end += SV - growth_queue -= SV - if(SV.energy < 2) //If tile isn't fully grown - if(prob(20)) - SV.grow() - else //If tile is fully grown - SV.buckle_mob() - - //if(prob(25)) - SV.spread() - if(i >= length) - break - - growth_queue = growth_queue + queue_end - //sleep(5) - //src.process() - -/obj/effect/spacevine/proc/grow() - if(!energy) - src.icon_state = pick("Med1", "Med2", "Med3") - energy = 1 - src.opacity = 1 - layer = 5 - else - src.icon_state = pick("Hvy1", "Hvy2", "Hvy3") - energy = 2 - -/obj/effect/spacevine/proc/buckle_mob() - if(!buckled_mob && prob(25)) - for(var/mob/living/carbon/V in src.loc) - if((V.stat != DEAD) && (V.buckled != src)) //if mob not dead or captured - V.buckled = src - V.loc = src.loc - V.update_canmove() - src.buckled_mob = V - V << "The vines [pick("wind", "tangle", "tighten")] around you!" - break //only capture one mob at a time. - -/obj/effect/spacevine/proc/spread() - var/direction = pick(cardinal) - var/step = get_step(src,direction) - if(istype(step,/turf/simulated/floor)) - var/turf/simulated/floor/F = step - if(!locate(/obj/effect/spacevine,F)) - if(F.Enter(src)) - if(master) - master.spawn_spacevine_piece( F ) - -/* -/obj/effect/spacevine/proc/Life() - if (!src) return - var/Vspread - if (prob(50)) Vspread = locate(src.x + rand(-1,1),src.y,src.z) - else Vspread = locate(src.x,src.y + rand(-1, 1),src.z) - var/dogrowth = 1 - if (!istype(Vspread, /turf/simulated/floor)) dogrowth = 0 - for(var/obj/O in Vspread) - if (istype(O, /obj/structure/window) || istype(O, /obj/effect/forcefield) || istype(O, /obj/effect/blob) || istype(O, /obj/effect/alien/weeds) || istype(O, /obj/effect/spacevine)) dogrowth = 0 - if (istype(O, /obj/machinery/door/)) - if(O:p_open == 0 && prob(50)) O:open() - else dogrowth = 0 - if (dogrowth == 1) - var/obj/effect/spacevine/B = new /obj/effect/spacevine(Vspread) - B.icon_state = pick("vine-light1", "vine-light2", "vine-light3") - spawn(20) - if(B) - B.Life() - src.growth += 1 - if (src.growth == 10) - src.name = "Thick Space Kudzu" - src.icon_state = pick("vine-med1", "vine-med2", "vine-med3") - src.opacity = 1 - src.waittime = 80 - if (src.growth == 20) - src.name = "Dense Space Kudzu" - src.icon_state = pick("vine-hvy1", "vine-hvy2", "vine-hvy3") - src.density = 1 - spawn(src.waittime) - if (src.growth < 20) src.Life() - -*/ - -/obj/effect/spacevine/ex_act(severity) - switch(severity) - if(1.0) - qdel(src) - return - if(2.0) - if (prob(90)) - qdel(src) - return - if(3.0) - if (prob(50)) - qdel(src) - return - return - -/obj/effect/spacevine/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) //hotspots kill vines - qdel(src) - //Carn: Spacevines random event. /proc/spacevine_infestation() @@ -256,5 +12,5 @@ if(turfs.len) //Pick a turf to spawn at if we can var/turf/simulated/floor/T = pick(turfs) - new/obj/effect/spacevine_controller(T) //spawn a controller at turf + new/obj/effect/plant_controller(T) //spawn a controller at turf message_admins("\blue Event: Spacevines spawned at [T.loc] ([T.x],[T.y],[T.z])") diff --git a/code/game/machinery/bees_apiary.dm b/code/game/machinery/bees_apiary.dm index dcccb03e22c..f133c87f62b 100644 --- a/code/game/machinery/bees_apiary.dm +++ b/code/game/machinery/bees_apiary.dm @@ -22,7 +22,7 @@ var/bees_in_hive = 0 var/list/owned_bee_swarms = list() - var/hydrotray_type = /obj/machinery/hydroponics + var/hydrotray_type = /obj/machinery/portable_atmospherics/hydroponics //overwrite this after it's created if the apiary needs a custom machinery sprite /obj/machinery/apiary/New() @@ -169,14 +169,14 @@ bees_in_hive -= 1 //find some plants, harvest - for(var/obj/machinery/hydroponics/H in view(7, src)) - if(H.planted && !H.dead && H.myseed && prob(owned_bee_swarms.len * 10)) + for(var/obj/machinery/portable_atmospherics/hydroponics/H in view(7, src)) + if(H.seed && !H.dead && prob(owned_bee_swarms.len * 10)) src.nutrilevel++ H.nutrilevel++ - if(mut < H.mutmod - 1) - mut = H.mutmod - 1 - else if(mut > H.mutmod - 1) - H.mutmod = mut + if(mut < H.mutation_mod - 1) + mut = H.mutation_mod - 1 + else if(mut > H.mutation_mod - 1) + H.mutation_mod = mut //flowers give us pollen (nutrients) /* - All plants should be giving nutrients to the hive. @@ -188,11 +188,11 @@ if(prob(10)) H.lastcycle -= 5 if(prob(10)) - H.myseed.lifespan = max(initial(H.myseed.lifespan) * 1.5, H.myseed.lifespan + 1) + H.seed.lifespan = max(initial(H.seed.lifespan) * 1.5, H.seed.lifespan + 1) if(prob(10)) - H.myseed.endurance = max(initial(H.myseed.endurance) * 1.5, H.myseed.endurance + 1) - if(H.toxic && prob(10)) - H.toxic = min(0, H.toxic - 1) + H.seed.endurance = max(initial(H.seed.endurance) * 1.5, H.seed.endurance + 1) + if(H.toxins && prob(10)) + H.toxins = min(0, H.toxins - 1) toxic++ /obj/machinery/apiary/proc/die() diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index fb7b2273ecf..e9399fc1857 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -48,21 +48,21 @@ cost=10 name="E-Z-Nutrient" other_amounts=list(5) - result=/obj/item/nutrient/ez + result=/obj/item/weapon/reagent_containers/glass/fertilizer/ez /datum/biogen_recipe/nutrient/l4z id="l4z" cost=20 name="Left 4 Zed" other_amounts=list(5) - result=/obj/item/nutrient/l4z + result=/obj/item/weapon/reagent_containers/glass/fertilizer/l4z /datum/biogen_recipe/nutrient/rh id="rh" cost=25 name="Robust Harvest" other_amounts=list(5) - result=/obj/item/nutrient/rh + result=/obj/item/weapon/reagent_containers/glass/fertilizer/rh /datum/biogen_recipe/leather category="Leather" @@ -105,7 +105,7 @@ id="pest" name="Pest Spray" other_amounts=list(5) - result=/obj/item/weapon/pestspray + result=/obj/item/weapon/plantspray/pests /datum/biogen_recipe/misc/beez cost=40 diff --git a/code/game/machinery/bots/farmbot.dm b/code/game/machinery/bots/farmbot.dm index e765a4dd245..c981038c9b5 100644 --- a/code/game/machinery/bots/farmbot.dm +++ b/code/game/machinery/bots/farmbot.dm @@ -93,7 +93,7 @@ /obj/machinery/bot/farmbot/proc/get_total_ferts() var total_fert = 0 - for (var/obj/item/nutrient/fert in contents) + for (var/obj/item/weapon/reagent_containers/glass/fertilizer/fert in contents) total_fert++ return total_fert @@ -155,7 +155,7 @@ setting_ignoreMushrooms = !setting_ignoreMushrooms else if (href_list["eject"] ) flick("farmbot_hatch",src) - for (var/obj/item/nutrient/fert in contents) + for (var/obj/item/weapon/reagent_containers/glass/fertilizer/fert in contents) fert.loc = get_turf(src) src.updateUsrDialog() @@ -170,7 +170,7 @@ else user << "\red Access denied." - else if (istype(W, /obj/item/nutrient)) + else if (istype(W, /obj/item/weapon/reagent_containers/glass/fertilizer)) if ( get_total_ferts() >= Max_Fertilizers ) user << "The fertilizer storage is full!" return @@ -212,7 +212,7 @@ if ( tank ) tank.loc = Tsec - for ( var/obj/item/nutrient/fert in contents ) + for ( var/obj/item/weapon/reagent_containers/glass/fertilizer/fert in contents ) if ( prob(50) ) fert.loc = Tsec @@ -267,15 +267,15 @@ target = null return 0 - if ( !emagged && !istype(target,/obj/machinery/hydroponics) && !istype(target,/obj/structure/sink) ) // Humans are not plants! + if ( !emagged && !istype(target,/obj/machinery/portable_atmospherics/hydroponics) && !istype(target,/obj/structure/sink) ) // Humans are not plants! mode = 0 target = null return 0 if ( mode == FARMBOT_MODE_FERTILIZE ) //Find which fertilizer to use - var/obj/item/nutrient/fert - for ( var/obj/item/nutrient/nut in contents ) + var/obj/item/weapon/reagent_containers/glass/fertilizer/fert + for ( var/obj/item/weapon/reagent_containers/glass/fertilizer/nut in contents ) fert = nut break if ( !fert ) @@ -317,7 +317,7 @@ target = source mode = FARMBOT_MODE_REFILL return 1 - for ( var/obj/machinery/hydroponics/tray in view(7,src) ) + for ( var/obj/machinery/portable_atmospherics/hydroponics/tray in view(7,src) ) var newMode = GetNeededMode(tray) if ( newMode ) mode = newMode @@ -325,12 +325,8 @@ return 1 return 0 -/obj/machinery/bot/farmbot/proc/GetNeededMode(obj/machinery/hydroponics/tray) - if ( !tray.planted || tray.dead ) - return 0 - if ( tray.myseed.plant_type == 1 && setting_ignoreWeeds ) - return 0 - if ( tray.myseed.plant_type == 2 && setting_ignoreMushrooms ) +/obj/machinery/bot/farmbot/proc/GetNeededMode(obj/machinery/portable_atmospherics/hydroponics/tray) + if ( !tray.seed || tray.dead ) return 0 if ( setting_water && tray.waterlevel <= 10 && tank && tank.reagents.total_volume >= 1 ) @@ -387,7 +383,7 @@ src.frustration++ -/obj/machinery/bot/farmbot/proc/fertilize(obj/item/nutrient/fert) +/obj/machinery/bot/farmbot/proc/fertilize(var/obj/item/weapon/reagent_containers/glass/fertilizer/fert) if ( !fert ) target = null mode = 0 @@ -405,12 +401,12 @@ return 1 else // feed them plants~ - var /obj/machinery/hydroponics/tray = target + var/obj/machinery/portable_atmospherics/hydroponics/tray = target tray.nutrilevel = 10 - tray.yieldmod = fert.yieldmod - tray.mutmod = fert.mutmod + tray.yield_mod = fert.yield_mod + tray.mutation_mod = fert.mut_mod del fert - tray.updateicon() + //tray.updateicon() icon_state = "farmbot_fertile" mode = FARMBOT_MODE_WAITING @@ -450,9 +446,9 @@ spawn(FARMBOT_ACTION_DELAY) mode = 0 - var /obj/machinery/hydroponics/tray = target + var /obj/machinery/portable_atmospherics/hydroponics/tray = target tray.weedlevel = 0 - tray.updateicon() + //tray.updateicon() /obj/machinery/bot/farmbot/proc/water() if ( !tank || tank.reagents.total_volume < 1 ) @@ -479,7 +475,7 @@ spawn(FARMBOT_EMAG_DELAY) mode = 0 else - var /obj/machinery/hydroponics/tray = target + var /obj/machinery/portable_atmospherics/hydroponics/tray = target var/b_amount = tank.reagents.get_reagent_amount("water") if(b_amount > 0 && tray.waterlevel < 100) if(b_amount + tray.waterlevel > 100) @@ -489,11 +485,11 @@ playsound(get_turf(src), 'sound/effects/slosh.ogg', 25, 1) // Toxicity dilutation code. The more water you put in, the lesser the toxin concentration. - tray.toxic -= round(b_amount/4) - if (tray.toxic < 0 ) // Make sure it won't go overboard - tray.toxic = 0 + tray.toxins -= round(b_amount/4) + if (tray.toxins < 0 ) // Make sure it won't go overboard + tray.toxins = 0 - tray.updateicon() + //tray.updateicon() mode = FARMBOT_MODE_WAITING spawn(FARMBOT_ACTION_DELAY) mode = 0 diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 00f09ee7e2f..7813d75314a 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -397,3 +397,15 @@ Class Procs: panel_open = 0 icon_state = icon_state_closed user << "You close the maintenance hatch of [src]." + +/obj/machinery/proc/dismantle() + playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc) + M.state = 2 + M.icon_state = "box_1" + for(var/obj/I in component_parts) + if(I.reliability != 100 && crit_fail) + I.crit_fail = 1 + I.loc = loc + del(src) + return 1 \ No newline at end of file diff --git a/code/game/machinery/podmen.dm b/code/game/machinery/podmen.dm index e5192a2944f..e71a72c126c 100644 --- a/code/game/machinery/podmen.dm +++ b/code/game/machinery/podmen.dm @@ -3,7 +3,7 @@ Injecting a pod person with a blood sample will grow a pod person with the memor Growing it to term with nothing injected will grab a ghost from the observers. */ #define DIONA_COOLDOWN 18000 // 30 minutes between being diona var/global/list/hasbeendiona = list() // Stores ckeys and a timestamp for ghost dionas to be picked again, removes the same guy being diona 5 times in 10 minutes. -/obj/item/seeds/replicapod +/*/obj/item/seeds/replicapod name = "pack of dionaea-replicant seeds" desc = "These seeds grow into 'replica pods' or 'dionaea', a form of strange sapient plantlife." icon_state = "seed-replicapod" @@ -26,7 +26,7 @@ var/global/list/hasbeendiona = list() // Stores ckeys and a timestamp for ghost gender = MALE var/obj/machinery/hydroponics/parent = null var/list/found_player = list() - var/beingharvested = 0 + var/beingharvested = 0*/ /obj/item/seeds/replicapod/attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/game/machinery/seed_extractor.dm b/code/game/machinery/seed_extractor.dm index 0df44f6ff55..7fbb348b45d 100644 --- a/code/game/machinery/seed_extractor.dm +++ b/code/game/machinery/seed_extractor.dm @@ -26,44 +26,33 @@ RefreshParts() obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O - user.drop_item() - user << "You extract some seeds from the [F.name]." - var/seed = text2path(F.seed) - var/t_amount = 0 - var/t_max = rand(1,4) - while(t_amount < t_max) - var/obj/item/seeds/t_prod = new seed(loc) - t_prod.species = F.species - t_prod.lifespan = F.lifespan - t_prod.endurance = F.endurance - t_prod.maturation = F.maturation - t_prod.production = F.production - t_prod.yield = F.yield - t_prod.potency = F.potency - t_amount++ - del(O) - - else if(istype(O, /obj/item/weapon/grown/)) - var/obj/item/weapon/grown/F = O - user.drop_item() - user << "You extract some seeds from the [F.name]." - var/seed = text2path(F.seed) - var/t_amount = 0 - var/t_max = rand(1,4) - while(t_amount < t_max) - var/obj/item/seeds/t_prod = new seed(loc) - t_prod.species = F.species - t_prod.lifespan = F.lifespan - t_prod.endurance = F.endurance - t_prod.maturation = F.maturation - t_prod.production = F.production - t_prod.yield = F.yield - t_prod.potency = F.potency - t_amount++ + + // Fruits and vegetables. + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown)) + + user.drop_item(O) + + var/datum/seed/new_seed_type + if(istype(O, /obj/item/weapon/grown)) + var/obj/item/weapon/grown/F = O + new_seed_type = seed_types[F.plantname] + else + var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O + new_seed_type = seed_types[F.plantname] + + if(new_seed_type) + user << "You extract some seeds from [O]." + var/produce = rand(1,4) + for(var/i = 0;i<=produce;i++) + var/obj/item/seeds/seeds = new(get_turf(src)) + seeds.seed_type = new_seed_type.name + seeds.update_seed() + else + user << "[O] doesn't seem to have any usable seeds inside it." + del(O) + //Grass. else if(istype(O, /obj/item/stack/tile/grass)) var/obj/item/stack/tile/grass/S = O user << "You extract some seeds from the [S.name]." diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index a4bab014cea..fde89443026 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -23,7 +23,7 @@ var/vend_ready = 1 //Are we ready to vend?? Is it time?? var/vend_delay = 10 //How long does it take to vend? var/datum/data/vending_product/currently_vending = null // A /datum/data/vending_product instance of what we're paying for right now. - + var/delay_product_spawn // If set, uses sleep() in product spawn proc (mostly for seeds to retrieve correct names). // To be filled out at compile time var/list/products = list() // For each, use the following pattern: var/list/contraband = list() // list(/type/path = amount,/type/path2 = amount2) @@ -122,7 +122,6 @@ var/atom/temp = new typepath(null) var/datum/data/vending_product/R = new /datum/data/vending_product() - R.product_name = temp.name R.product_path = typepath R.amount = amount R.price = price @@ -137,6 +136,13 @@ else R.category=CAT_NORMAL product_records += R + + if(delay_product_spawn) + sleep(1) + R.product_name = temp.name + else + R.product_name = temp.name + // world << "Added: [R.product_name]] - [R.amount] - [R.product_path]" /obj/machinery/vending/attackby(obj/item/weapon/W, mob/user) @@ -772,7 +778,7 @@ product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..." icon_state = "nutri" icon_deny = "nutri-deny" - products = list(/obj/item/beezeez = 45,/obj/item/nutrient/ez = 35,/obj/item/nutrient/l4z = 25,/obj/item/nutrient/rh = 15,/obj/item/weapon/pestspray = 20, + products = list(/obj/item/beezeez = 45,/obj/item/weapon/reagent_containers/glass/fertilizer/ez = 35,/obj/item/weapon/reagent_containers/glass/fertilizer/l4z = 25,/obj/item/weapon/reagent_containers/glass/fertilizer/rh = 15,/obj/item/weapon/plantspray/pests = 20, /obj/item/weapon/reagent_containers/syringe = 5,/obj/item/weapon/storage/bag/plants = 5) contraband = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) @@ -787,9 +793,9 @@ /obj/item/seeds/sunflowerseed = 3,/obj/item/seeds/tomatoseed = 3,/obj/item/seeds/towermycelium = 3,/obj/item/seeds/wheatseed = 3,/obj/item/seeds/appleseed = 3, /obj/item/seeds/poppyseed = 3,/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/whitebeetseed = 3,/obj/item/seeds/sugarcaneseed = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/limeseed = 3, /obj/item/seeds/lemonseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/cocoapodseed = 3, - /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3,/obj/item/seeds/synthmeatseed = 3) + /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3)//,/obj/item/seeds/synthmeatseed = 3) contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/nettleseed = 2, - /obj/item/seeds/plumpmycelium = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/harebell = 3,/obj/item/seeds/synthbuttseed = 3) + /obj/item/seeds/plumpmycelium = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/harebell = 3)//,/obj/item/seeds/synthbuttseed = 3) premium = list(/obj/item/toy/waterflower = 1) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 63ad6e005b2..abe2a646ed3 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -31,7 +31,7 @@ Mineral Sheets sheettype = "sandstone" var/global/list/datum/stack_recipe/sandstone_recipes = list ( \ - new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("pile of dirt", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ /* new/datum/stack_recipe("sandstone wall", ???), \ new/datum/stack_recipe("sandstone floor", ???),\ */ diff --git a/code/game/objects/items/weapons/cash.dm b/code/game/objects/items/weapons/cash.dm index 331e4ec5526..61cf3cc08b2 100644 --- a/code/game/objects/items/weapons/cash.dm +++ b/code/game/objects/items/weapons/cash.dm @@ -21,7 +21,6 @@ var/global/list/moneytypes=list( throw_speed = 1 throw_range = 2 w_class = 1.0 - nonplant_seed_type = /obj/item/seeds/cashseed var/access = list() access = access_crate_cash var/worth = 1 // Per chip diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index 1ff540ac7b7..d2d1e785ae1 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -132,23 +132,32 @@ /* * Sunflower & NovaFlower */ + /obj/item/weapon/grown/sunflower/attack(mob/M as mob, mob/user as mob) M << " [user] smacks you with a sunflower!FLOWER POWER" user << " Your sunflower's FLOWER POWER strikes [M]" +/obj/item/weapon/grown/novaflower + name = "novaflower" + desc = "These beautiful flowers have a crisp smokey scent, like a summer bonfire." + icon = 'icons/obj/harvest.dmi' + icon_state = "novaflower" + damtype = "fire" + force = 0 + flags = TABLEPASS + slot_flags = SLOT_HEAD + throwforce = 1 + w_class = 1.0 + throw_speed = 1 + throw_range = 3 + attack_verb = list("seared", "heated", "whacked", "steamed") + /obj/item/weapon/grown/novaflower/attack(mob/living/carbon/M as mob, mob/user as mob) if(!..()) return if(istype(M, /mob/living)) M << "\red You are heated by the warmth of the of the [name]!" M.bodytemperature += potency/2 * TEMPERATURE_DAMAGE_COEFFICIENT -/obj/item/weapon/grown/novaflower/afterattack(atom/A as mob|obj, mob/user as mob,proximity) - if(!proximity) return - if(endurance > 0) - endurance -= rand(1,(endurance/3)+1) - else - usr << "All the petals have fallen off the [name] from violent whacking." - del(src) /obj/item/weapon/grown/novaflower/pickup(mob/living/carbon/human/user as mob) if(!user.gloves) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index ef7c8f8ba33..d97a41737b8 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -195,7 +195,6 @@ var/s_tone = 0.0 var/created_name = "Buttbot" - nonplant_seed_type = /obj/item/seeds/synthbuttseed proc transfer_buttdentity(var/mob/living/carbon/H) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index dae2423d7fe..f04a6531c5d 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -20,7 +20,7 @@ item_state = "apron" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO - allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/nutrient,/obj/item/weapon/minihoe) + allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/fertilizer,/obj/item/weapon/wirecutters/clippers,/obj/item/weapon/minihoe) species_fit = list("Vox") //Captain diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm new file mode 100644 index 00000000000..d3381be8478 --- /dev/null +++ b/code/modules/hydroponics/biogenerator.dm @@ -0,0 +1,408 @@ +/datum/biogen_recipe + var/id="" + var/cost=0 + var/category="" + var/name="" + var/amount_per_unit=1 + var/list/other_amounts=list() + var/reagent=null + var/result=null + +/datum/biogen_recipe/proc/Render(var/context) + var/html = "

  • [amount_per_unit==1?"":"[amount_per_unit] "][name] ([cost])" + if(other_amounts.len) + var/first=1 + html += " (" + for(var/amount in other_amounts) + if(!first) + html +=" " + html +="x[amount*amount_per_unit]" + first=0 + html += ")" + html += "
  • " + return html + +/datum/biogen_recipe/food + category="Food" + +/datum/biogen_recipe/food/milk + id="milk" + name="milk" + reagent="milk" + cost=20 + amount_per_unit=10 + other_amounts=list(5) + +/datum/biogen_recipe/food/meat + id="meat" + name="Slab of meat" + cost=50 + other_amounts=list(5) + result=/obj/item/weapon/reagent_containers/food/snacks/meat + +/datum/biogen_recipe/nutrient + category="Nutrients" + +/datum/biogen_recipe/nutrient/ez + id="ez" + cost=10 + name="E-Z-Nutrient" + other_amounts=list(5) + result=/obj/item/nutrient/ez + +/datum/biogen_recipe/nutrient/l4z + id="l4z" + cost=20 + name="Left 4 Zed" + other_amounts=list(5) + result=/obj/item/nutrient/l4z + +/datum/biogen_recipe/nutrient/rh + id="rh" + cost=25 + name="Robust Harvest" + other_amounts=list(5) + result=/obj/item/nutrient/rh + +/datum/biogen_recipe/leather + category="Leather" + +/datum/biogen_recipe/leather/wallet + cost=100 + id="wallet" + name="Wallet" + result=/obj/item/weapon/storage/wallet + +/datum/biogen_recipe/leather/gloves + cost=250 + id="gloves" + name="Botanical Gloves" + result=/obj/item/clothing/gloves/botanic_leather + +/datum/biogen_recipe/leather/belt + cost=300 + id="belt" + name="Utility Belt" + result=/obj/item/weapon/storage/belt/utility + +/datum/biogen_recipe/leather/plants + cost=350 + id="plants" + name="Plant Bag" + result=/obj/item/weapon/storage/bag/plants + +/datum/biogen_recipe/leather/satchel + cost=400 + id="satchel" + name="Leather Satchel" + result=/obj/item/weapon/storage/backpack/satchel + +/datum/biogen_recipe/misc + category="Misc." + +/datum/biogen_recipe/misc/pest + cost=40 + id="pest" + name="Pest Spray" + other_amounts=list(5) + result=/obj/item/weapon/pestspray + +/datum/biogen_recipe/misc/beez + cost=40 + id="beez" + name="BeezEez" + other_amounts=list(5) + result=/obj/item/beezeez + +/datum/biogen_recipe/misc/cardboard + cost=200 + id="cardboard" + name="Cardboard Sheet" + other_amounts=list(5,10) + result=/obj/item/stack/sheet/cardboard + +/datum/biogen_recipe/misc/charcoal + cost=100 + id="charcoal" + name="Charcoal Sheet" + other_amounts=list(5,10) + result=/obj/item/stack/sheet/charcoal + +/datum/biogen_recipe/misc/paper + cost=75 + id="paper" + name="Sheet of Paper" + other_amounts=list(5,10) + result=/obj/item/weapon/paper + + +/obj/machinery/biogenerator + name = "Biogenerator" + desc = "" + icon = 'icons/obj/biogenerator.dmi' + icon_state = "biogen-stand" + density = 1 + anchored = 1 + use_power = 1 + idle_power_usage = 40 + var/opened = 0.0 + var/processing = 0 + var/obj/item/weapon/reagent_containers/glass/beaker = null + var/points = 0 + var/menustat = "menu" + var/list/recipes[0] + var/list/recipe_categories[0] + + l_color = "#7BF9FF" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + + on_reagent_change() //When the reagents change, change the icon as well. + update_icon() + + update_icon() + if(!src.beaker) + icon_state = "biogen-empty" + else if(!src.processing) + icon_state = "biogen-stand" + else + icon_state = "biogen-work" + return + +/obj/machinery/biogenerator/New() + . = ..() + create_reagents(1000) + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + + component_parts = newlist(\ + /obj/item/weapon/circuitboard/biogenerator,\ + /obj/item/weapon/stock_parts/manipulator,\ + /obj/item/weapon/stock_parts/manipulator,\ + /obj/item/weapon/stock_parts/matter_bin,\ + /obj/item/weapon/stock_parts/matter_bin,\ + /obj/item/weapon/stock_parts/micro_laser,\ + /obj/item/weapon/stock_parts/micro_laser,\ + /obj/item/weapon/stock_parts/micro_laser,\ + /obj/item/weapon/stock_parts/scanning_module,\ + /obj/item/weapon/stock_parts/scanning_module,\ + /obj/item/weapon/stock_parts/console_screen,\ + /obj/item/weapon/stock_parts/console_screen\ + ) + + RefreshParts() + + for(var/biotype in typesof(/datum/biogen_recipe)) + var/datum/biogen_recipe/recipe = new biotype + if(recipe.id=="") continue + if(!(recipe.category in recipe_categories)) + recipe_categories[recipe.category]=list() + recipe_categories[recipe.category] += recipe.id + recipes[recipe.id]=recipe + +/obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O, /obj/item/weapon/reagent_containers/glass)) + if(beaker) + user << "\red The biogenerator already occuped." + else + user.before_take_item(O) + O.loc = src + beaker = O + updateUsrDialog() + else if(processing) + user << "\red The biogenerator is currently processing." + else if(istype(O, /obj/item/weapon/storage/bag/plants)) + var/i = 0 + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) + i++ + if(i >= 10) + user << "\red The biogenerator is already full! Activate it." + else + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) + G.loc = src + i++ + if(i >= 10) + user << "\blue You fill the biogenerator to its capacity." + break + if(i<10) + user << "\blue You empty the plant bag into the biogenerator." + else if (istype(O, /obj/item/weapon/screwdriver)) + if (!opened) + src.opened = 1 + user << "You open the maintenance hatch of [src]." + //src.icon_state = "autolathe_t" + else + src.opened = 0 + user << "You close the maintenance hatch of [src]." + //src.icon_state = "autolathe" + return 1 + else if(istype(O, /obj/item/weapon/crowbar)) + if (opened) + if(beaker) + user << "\red A beaker is loaded, you cannot deconstruct [src]." + return 1 + playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1) + var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(src.loc) + M.state = 2 + M.icon_state = "box_1" + for(var/obj/I in component_parts) + if(I.reliability != 100 && crit_fail) + I.crit_fail = 1 + I.loc = src.loc + del(src) + return 1 + + else if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) + user << "\red You cannot put this in [src.name]" + else + var/i = 0 + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) + i++ + if(i >= 10) + user << "\red The biogenerator is full! Activate it." + else + user.before_take_item(O) + O.loc = src + user << "\blue You put [O.name] in [src.name]" + update_icon() + return + +/obj/machinery/biogenerator/interact(mob/user as mob) + if(stat & BROKEN) + return + user.set_machine(src) + var/dat = "BiogeneratorBiogenerator:
    " + if (processing) + dat += "Biogenerator is processing! Please wait..." + else + dat += "Biomass: [points] points.
    " + switch(menustat) + if("menu") + if (beaker) + + // AUTOFIXED BY fix_string_idiocy.py + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\biogenerator.dm:89: dat += "Activate Biogenerator!
    " + dat += {"Activate Biogenerator!
    + Detach Container

    "} + + for(var/cat in recipe_categories) + dat += "

    [cat]

      " + for(var/rid in recipe_categories[cat]) + var/datum/biogen_recipe/recipe = recipes[rid] + dat += recipe.Render(src) + dat += "
    " + + else + dat += "
    No beaker inside. Please insert a beaker.
    " + if("nopoints") + + // AUTOFIXED BY fix_string_idiocy.py + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\biogenerator.dm:108: dat += "You do not have biomass to create products.
    Please, put growns into reactor and activate it.
    " + dat += {"You do not have biomass to create products.
    Please, put growns into reactor and activate it.
    + Return to menu"} + // END AUTOFIX + if("complete") + + // AUTOFIXED BY fix_string_idiocy.py + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\biogenerator.dm:111: dat += "Operation complete.
    " + dat += {"Operation complete.
    + Return to menu"} + // END AUTOFIX + if("void") + + // AUTOFIXED BY fix_string_idiocy.py + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\biogenerator.dm:114: dat += "Error: No growns inside.
    Please, put growns into reactor.
    " + dat += {"Error: No growns inside.
    Please, put growns into reactor.
    + Return to menu"} + // END AUTOFIX + user << browse(dat, "window=biogenerator") + onclose(user, "biogenerator") + return + +/obj/machinery/biogenerator/attack_hand(mob/user as mob) + interact(user) + +/obj/machinery/biogenerator/proc/activate() + if (usr.stat != 0) + return + if (src.stat != 0) //NOPOWER etc + return + if(src.processing) + usr << "\red The biogenerator is in the process of working." + return + var/S = 0 + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents) + S += 5 + if(I.reagents.get_reagent_amount("nutriment") < 0.1) + points += 1 + else points += I.reagents.get_reagent_amount("nutriment")*10 + del(I) + if(S) + processing = 1 + update_icon() + updateUsrDialog() + playsound(get_turf(src), 'sound/machines/blender.ogg', 50, 1) + use_power(S*30) + sleep(S+15) + processing = 0 + update_icon() + else + menustat = "void" + return + +/obj/machinery/biogenerator/proc/check_cost(var/cost) + if (cost > points) + menustat = "nopoints" + return 1 + else + points -= cost + processing = 1 + update_icon() + updateUsrDialog() + sleep(30) + return 0 + +/obj/machinery/biogenerator/proc/create_product(var/item, var/num) + var/datum/biogen_recipe/recipe=recipes[item] + num=Clamp(num,1,10) + if(check_cost(recipe.cost*num)) + return 0 + if(recipe.reagent) + beaker.reagents.add_reagent(recipe.reagent,recipe.amount_per_unit*num) + else + if(istype(recipe.result,/obj/item/stack)) + var/obj/item/stack/stack=new recipe.result(src.loc) + stack.amount=num*recipe.amount_per_unit + else + for(var/i=0;i 1 && potency > 0) + rtotal += round(potency/reagent_data[2]) + reagents.add_reagent(rid,max(1,rtotal)) + +/obj/item/weapon/grown/proc/changePotency(newValue) //-QualityVan + potency = newValue + +/obj/item/weapon/grown/log + name = "towercap" + name = "tower-cap log" + desc = "It's better than bad, it's good!" + icon = 'icons/obj/harvest.dmi' + icon_state = "logs" + force = 5 + flags = TABLEPASS + throwforce = 5 + w_class = 3.0 + throw_speed = 3 + throw_range = 3 + origin_tech = "materials=1" + attack_verb = list("bashed", "battered", "bludgeoned", "whacked") + + attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy)) + user.show_message("You make planks out of \the [src]!", 1) + for(var/i=0,i<2,i++) + var/obj/item/stack/sheet/wood/NG = new (user.loc) + for (var/obj/item/stack/sheet/wood/G in user.loc) + if(G==NG) + continue + if(G.amount>=G.max_amount) + continue + G.attackby(NG, user) + usr << "You add the newly-formed wood to the stack. It now contains [NG.amount] planks." + del(src) + return + +/obj/item/weapon/grown/sunflower // FLOWER POWER! + plantname = "sunflowers" + name = "sunflower" + desc = "It's beautiful! A certain person might beat you to death if you trample these." + icon = 'icons/obj/harvest.dmi' + icon_state = "sunflower" + damtype = "fire" + force = 0 + flags = TABLEPASS + throwforce = 1 + w_class = 1.0 + throw_speed = 1 + throw_range = 3 + +/obj/item/weapon/grown/sunflower/attack(mob/M as mob, mob/user as mob) + M << " [user] smacks you with a sunflower!FLOWER POWER" + user << " Your sunflower's FLOWER POWER strikes [M]" + +/obj/item/weapon/grown/nettle // -- Skie + plantname = "nettle" + desc = "It's probably not wise to touch it with bare hands..." + icon = 'icons/obj/weapons.dmi' + name = "nettle" + icon_state = "nettle" + damtype = "fire" + force = 15 + flags = TABLEPASS + throwforce = 1 + w_class = 2.0 + throw_speed = 1 + throw_range = 3 + origin_tech = "combat=1" + New() + ..() + spawn(5) + force = round((5+potency/5), 1) + +/obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob) + if(!user.gloves) + user << "\red The nettle burns your bare hand!" + if(istype(user, /mob/living/carbon/human)) + var/organ = ((user.hand ? "l_":"r_") + "arm") + var/datum/organ/external/affecting = user.get_organ(organ) + if(affecting.take_damage(0,force)) + user.UpdateDamageIcon() + else + user.take_organ_damage(0,force) + +/obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user as mob, proximity) + if(!proximity) return + if(force > 0) + force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + else + usr << "All the leaves have fallen off the nettle from violent whacking." + del(src) + +/obj/item/weapon/grown/nettle/changePotency(newValue) //-QualityVan + potency = newValue + force = round((5+potency/5), 1) + +/obj/item/weapon/grown/deathnettle // -- Skie + plantname = "deathnettle" + desc = "The \red glowing \black nettle incites \redrage\black in you just from looking at it!" + icon = 'icons/obj/weapons.dmi' + name = "deathnettle" + icon_state = "deathnettle" + damtype = "fire" + force = 30 + flags = TABLEPASS + throwforce = 1 + w_class = 2.0 + throw_speed = 1 + throw_range = 3 + origin_tech = "combat=3" + attack_verb = list("stung") + New() + ..() + spawn(5) + force = round((5+potency/2.5), 1) + + suicide_act(mob/user) + viewers(user) << "\red [user] is eating some of the [src.name]! It looks like \he's trying to commit suicide." + return (BRUTELOSS|TOXLOSS) + +/obj/item/weapon/grown/deathnettle/pickup(mob/living/carbon/human/user as mob) + if(!user.gloves) + if(istype(user, /mob/living/carbon/human)) + var/organ = ((user.hand ? "l_":"r_") + "arm") + var/datum/organ/external/affecting = user.get_organ(organ) + if(affecting.take_damage(0,force)) + user.UpdateDamageIcon() + else + user.take_organ_damage(0,force) + if(prob(50)) + user.Paralyse(5) + user << "\red You are stunned by the Deathnettle when you try picking it up!" + +/obj/item/weapon/grown/deathnettle/attack(mob/living/carbon/M as mob, mob/user as mob) + if(!..()) return + if(istype(M, /mob/living)) + M << "\red You are stunned by the powerful acid of the Deathnettle!" + + M.attack_log += text("\[[time_stamp()]\] Had the [src.name] used on them by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] on [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] on [M.name] ([M.ckey]) (JMP)") + + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + + M.eye_blurry += force/7 + if(prob(20)) + M.Paralyse(force/6) + M.Weaken(force/15) + M.drop_item() + +/obj/item/weapon/grown/deathnettle/afterattack(atom/A as mob|obj, mob/user as mob, proximity) + if(!proximity) return + if (force > 0) + force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off + + else + usr << "All the leaves have fallen off the deathnettle from violent whacking." + del(src) + +/obj/item/weapon/grown/deathnettle/changePotency(newValue) //-QualityVan + potency = newValue + force = round((5+potency/2.5), 1) + +/obj/item/weapon/corncob + name = "corn cob" + desc = "A reminder of meals gone by." + icon = 'icons/obj/harvest.dmi' + icon_state = "corncob" + item_state = "corncob" + w_class = 2.0 + throwforce = 0 + throw_speed = 4 + throw_range = 20 + +/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual)) + user << "You use [W] to fashion a pipe out of the corn cob!" + new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) + del(src) + return diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm new file mode 100644 index 00000000000..6fb62c592e2 --- /dev/null +++ b/code/modules/hydroponics/hydro_tools.dm @@ -0,0 +1,358 @@ +//Analyzer, pestkillers, weedkillers, nutrients, hatchets, cutters. + +/obj/item/weapon/wirecutters/clippers + name = "plant clippers" + desc = "A tool used to take samples from plants." + +/obj/item/device/analyzer/plant_analyzer + name = "plant analyzer" + icon = 'icons/obj/device.dmi' + icon_state = "hydro" + item_state = "analyzer" + +/obj/item/device/analyzer/plant_analyzer/attack_self(mob/user as mob) + return 0 + +/obj/item/device/analyzer/plant_analyzer/afterattack(obj/target, mob/user, flag) + if(!flag) return + + var/datum/seed/grown_seed + var/datum/reagents/grown_reagents + if(istype(target,/obj/structure/rack) || istype(target,/obj/structure/table)) + return ..() + else if(istype(target,/obj/item/weapon/reagent_containers/food/snacks/grown)) + + var/obj/item/weapon/reagent_containers/food/snacks/grown/G = target + grown_seed = seed_types[G.plantname] + grown_reagents = G.reagents + + else if(istype(target,/obj/item/weapon/grown)) + + var/obj/item/weapon/grown/G = target + grown_seed = seed_types[G.plantname] + grown_reagents = G.reagents + + else if(istype(target,/obj/item/seeds)) + + var/obj/item/seeds/S = target + grown_seed = S.seed + + else if(istype(target,/obj/machinery/portable_atmospherics/hydroponics)) + + var/obj/machinery/portable_atmospherics/hydroponics/H = target + grown_seed = H.seed + grown_reagents = H.reagents + + if(!grown_seed) + user << "\red [src] can tell you nothing about [target]." + return + + var/dat = "

    Plant data for [target]

    " + user.visible_message("\blue [user] runs the scanner over [target].") + + dat += "

    General Data

    " + + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "
    Endurance[grown_seed.endurance]
    Yield[grown_seed.yield]
    Lifespan[grown_seed.lifespan]
    Maturation time[grown_seed.maturation]
    Production time[grown_seed.production]
    Potency[grown_seed.potency]
    " + + if(grown_reagents && grown_reagents.reagent_list && grown_reagents.reagent_list.len) + dat += "

    Reagent Data

    " + + dat += "
    This sample contains: " + for(var/datum/reagent/R in grown_reagents.reagent_list) + dat += "
    - [R.id], [grown_reagents.get_reagent_amount(R.id)] unit(s)" + + dat += "

    Other Data

    " + + if(grown_seed.harvest_repeat) + dat += "This plant can be harvested repeatedly.
    " + + if(grown_seed.immutable == -1) + dat += "This plant is highly mutable.
    " + else if(grown_seed.immutable > 0) + dat += "This plant does not possess genetics that are alterable.
    " + + if(grown_seed.products && grown_seed.products.len) + dat += "The mature plant will produce [grown_seed.products.len == 1 ? "fruit" : "[grown_seed.products.len] varieties of fruit"].
    " + + if(grown_seed.requires_nutrients) + if(grown_seed.nutrient_consumption < 0.05) + dat += "It consumes a small amount of nutrient fluid.
    " + else if(grown_seed.nutrient_consumption > 0.2) + dat += "It requires a heavy supply of nutrient fluid.
    " + else + dat += "It requires a supply of nutrient fluid.
    " + + if(grown_seed.requires_water) + if(grown_seed.water_consumption < 1) + dat += "It requires very little water.
    " + else if(grown_seed.water_consumption > 5) + dat += "It requires a large amount of water.
    " + else + dat += "It requires a stable supply of water.
    " + + if(grown_seed.mutants && grown_seed.mutants.len) + dat += "It exhibits a high degree of potential subspecies shift.
    " + + dat += "It thrives in a temperature of [grown_seed.ideal_heat] Kelvin." + + if(grown_seed.lowkpa_tolerance < 20) + dat += "
    It is well adapted to low pressure levels." + if(grown_seed.highkpa_tolerance > 220) + dat += "
    It is well adapted to high pressure levels." + + if(grown_seed.heat_tolerance > 30) + dat += "
    It is well adapted to a range of temperatures." + else if(grown_seed.heat_tolerance < 10) + dat += "
    It is very sensitive to temperature shifts." + + dat += "
    It thrives in a light level of [grown_seed.ideal_light] lumen[grown_seed.ideal_light == 1 ? "" : "s"]." + + if(grown_seed.light_tolerance > 10) + dat += "
    It is well adapted to a range of light levels." + else if(grown_seed.light_tolerance < 3) + dat += "
    It is very sensitive to light level shifts." + + if(grown_seed.toxins_tolerance < 3) + dat += "
    It is highly sensitive to toxins." + else if(grown_seed.toxins_tolerance > 6) + dat += "
    It is remarkably resistant to toxins." + + if(grown_seed.pest_tolerance < 3) + dat += "
    It is highly sensitive to pests." + else if(grown_seed.pest_tolerance > 6) + dat += "
    It is remarkably resistant to pests." + + if(grown_seed.weed_tolerance < 3) + dat += "
    It is highly sensitive to weeds." + else if(grown_seed.weed_tolerance > 6) + dat += "
    It is remarkably resistant to weeds." + + switch(grown_seed.spread) + if(1) + dat += "
    It is capable of growing beyond the confines of a tray." + if(2) + dat += "
    It is a robust and vigorous vine that will spread rapidly." + + switch(grown_seed.carnivorous) + if(1) + dat += "
    It is carniovorous and will eat tray pests for sustenance." + if(2) + dat += "
    It is carnivorous and poses a significant threat to living things around it." + + if(grown_seed.parasite) + dat += "
    It is capable of parisitizing and gaining sustenance from tray weeds." + if(grown_seed.alter_temp) + dat += "
    It will periodically alter the local temperature by [grown_seed.alter_temp] degrees Kelvin." + + if(grown_seed.biolum) + dat += "
    It is [grown_seed.biolum_colour ? "bio-luminescent" : "bio-luminescent"]." + if(grown_seed.flowers) + dat += "
    It has [grown_seed.flower_colour ? "flowers" : "flowers"]." + + if(dat) + user << browse(dat,"window=plant_analyzer") + + return + +// ************************************* +// Hydroponics Tools +// ************************************* + +/obj/item/weapon/plantspray + icon = 'icons/obj/hydroponics.dmi' + item_state = "spray" + flags = TABLEPASS | FPRINT | NOBLUDGEON + slot_flags = SLOT_BELT + throwforce = 4 + w_class = 2.0 + throw_speed = 2 + throw_range = 10 + var/toxicity = 4 + var/pest_kill_str = 0 + var/weed_kill_str = 0 + +/obj/item/weapon/plantspray/weeds // -- Skie + + name = "weed-spray" + desc = "It's a toxic mixture, in spray form, to kill small weeds." + icon_state = "weedspray" + weed_kill_str = 6 + +/obj/item/weapon/plantspray/pests + name = "pest-spray" + desc = "It's some pest eliminator spray! Do not inhale!" + icon_state = "pestspray" + pest_kill_str = 6 + +/obj/item/weapon/plantspray/pests/old + name = "bottle of pestkiller" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + +/obj/item/weapon/plantspray/pests/old/carbaryl + name = "bottle of carbaryl" + icon_state = "bottle16" + toxicity = 4 + pest_kill_str = 2 + +/obj/item/weapon/plantspray/pests/old/lindane + name = "bottle of lindane" + icon_state = "bottle18" + toxicity = 6 + pest_kill_str = 4 + +/obj/item/weapon/plantspray/pests/old/phosmet + name = "bottle of phosmet" + icon_state = "bottle15" + toxicity = 8 + pest_kill_str = 7 + +/obj/item/weapon/minihoe // -- Numbers + name = "mini hoe" + desc = "It's used for removing weeds or scratching your back." + icon = 'icons/obj/weapons.dmi' + icon_state = "hoe" + item_state = "hoe" + flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON + force = 5.0 + throwforce = 7.0 + w_class = 2.0 + attack_verb = list("slashed", "sliced", "cut", "clawed") + + +// ************************************* +// Weedkiller defines for hydroponics +// ************************************* + +/obj/item/weedkiller + name = "bottle of weedkiller" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + flags = FPRINT | TABLEPASS + var/toxicity = 0 + var/weed_kill_str = 0 + +/obj/item/weedkiller/triclopyr + name = "bottle of glyphosate" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + flags = FPRINT | TABLEPASS + toxicity = 4 + weed_kill_str = 2 + +/obj/item/weedkiller/lindane + name = "bottle of triclopyr" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle18" + flags = FPRINT | TABLEPASS + toxicity = 6 + weed_kill_str = 4 + +/obj/item/weedkiller/D24 + name = "bottle of 2,4-D" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle15" + flags = FPRINT | TABLEPASS + toxicity = 8 + weed_kill_str = 7 + + +// ************************************* +// Nutrient defines for hydroponics +// ************************************* + +/obj/item/weapon/reagent_containers/glass/fertilizer + name = "fertilizer bottle" + desc = "A small glass bottle. Can hold up to 10 units." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + flags = FPRINT | TABLEPASS | OPENCONTAINER + possible_transfer_amounts = null + w_class = 2.0 + + var/fertilizer //Reagent contained, if any. + + //Like a shot glass! + amount_per_transfer_from_this = 10 + volume = 10 + +/obj/item/weapon/reagent_containers/glass/fertilizer/New() + ..() + + src.pixel_x = rand(-5.0, 5) + src.pixel_y = rand(-5.0, 5) + + if(fertilizer) + reagents.add_reagent(fertilizer,10) + +/obj/item/weapon/reagent_containers/glass/fertilizer/ez + name = "bottle of E-Z-Nutrient" + icon_state = "bottle16" + fertilizer = "eznutrient" + +/obj/item/weapon/reagent_containers/glass/fertilizer/l4z + name = "bottle of Left 4 Zed" + icon_state = "bottle18" + fertilizer = "left4zed" + +/obj/item/weapon/reagent_containers/glass/fertilizer/rh + name = "bottle of Robust Harvest" + icon_state = "bottle15" + fertilizer = "robustharvest" + +//Hatchets and things to kill kudzu +/obj/item/weapon/hatchet + name = "hatchet" + desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." + icon = 'icons/obj/weapons.dmi' + icon_state = "hatchet" + flags = FPRINT | TABLEPASS | CONDUCT + force = 12.0 + w_class = 2.0 + throwforce = 15.0 + throw_speed = 4 + throw_range = 4 + sharp = 1 + origin_tech = "materials=2;combat=1" + attack_verb = list("chopped", "torn", "cut") + +/obj/item/weapon/hatchet/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +//If it's a hatchet it goes here. I guess +/obj/item/weapon/hatchet/unathiknife + name = "duelling knife" + desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." + icon = 'icons/obj/weapons.dmi' + icon_state = "unathiknife" + attack_verb = list("ripped", "torn", "cut") + +/obj/item/weapon/scythe + icon_state = "scythe0" + name = "scythe" + desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow." + force = 13.0 + throwforce = 5.0 + throw_speed = 1 + throw_range = 3 + w_class = 4.0 + flags = FPRINT | TABLEPASS | NOSHIELD + slot_flags = SLOT_BACK + origin_tech = "materials=2;combat=2" + attack_verb = list("chopped", "sliced", "cut", "reaped") + +/obj/item/weapon/scythe/afterattack(atom/A, mob/user as mob, proximity) + if(!proximity) return + if(istype(A, /obj/effect/plantsegment)) + for(var/obj/effect/plantsegment/B in orange(A,1)) + if(prob(80)) + del B + del A \ No newline at end of file diff --git a/code/modules/hydroponics/hydro_tray.dm b/code/modules/hydroponics/hydro_tray.dm new file mode 100644 index 00000000000..1012543db51 --- /dev/null +++ b/code/modules/hydroponics/hydro_tray.dm @@ -0,0 +1,791 @@ +#define HYDRO_SPEED_MULTIPLIER 1 + +/obj/machinery/portable_atmospherics/hydroponics + name = "hydroponics tray" + icon = 'icons/obj/hydroponics.dmi' + icon_state = "hydrotray3" + density = 1 + anchored = 1 + flags = OPENCONTAINER + volume = 100 + + var/draw_warnings = 1 //Set to 0 to stop it from drawing the alert lights. + + // Plant maintenance vars. + var/waterlevel = 100 // Water (max 100) + var/nutrilevel = 100 // Nutrient (max 100) + var/pestlevel = 0 // Pests (max 10) + var/weedlevel = 0 // Weeds (max 10) + + // Tray state vars. + var/dead = 0 // Is it dead? + var/harvest = 0 // Is it ready to harvest? + var/age = 0 // Current plant age + + // Harvest/mutation mods. + var/yield_mod = 0 // Modifier to yield + var/mutation_mod = 0 // Modifier to mutation chance + var/toxins = 0 // Toxicity in the tray? + var/mutation_level = 0 // When it hits 100, the plant mutates. + + // Mechanical concerns. + var/health = 0 // Plant health. + var/lastproduce = 0 // Last time tray was harvested + var/lastcycle = 0 // Cycle timing/tracking var. + var/cycledelay = 150 // Delay per cycle. + var/closed_system // If set, the tray will attempt to take atmos from a pipe. + var/force_update // Set this to bypass the cycle time check. + var/obj/temp_chem_holder // Something to hold reagents during process_reagents() + + // Seed details/line data. + var/datum/seed/seed = null // The currently planted seed + + // Reagent information for process(), consider moving this to a controller along + // with cycle information under 'mechanical concerns' at some point. + var/global/list/toxic_reagents = list( + "anti_toxin" = -2, + "toxin" = 2, + "fluorine" = 2.5, + "chlorine" = 1.5, + "sacid" = 1.5, + "pacid" = 3, + "plantbgone" = 3, + "cryoxadone" = -3, + "radium" = 2 + ) + var/global/list/nutrient_reagents = list( + "milk" = 0.1, + "beer" = 0.25, + "phosphorus" = 0.1, + "sugar" = 0.1, + "sodawater" = 0.1, + "ammonia" = 1, + "diethylamine" = 2, + "nutriment" = 1, + "adminordrazine" = 1, + "eznutrient" = 1, + "robustharvest" = 1, + "left4zed" = 1 + ) + var/global/list/weedkiller_reagents = list( + "fluorine" = -4, + "chlorine" = -3, + "phosphorus" = -2, + "sugar" = 2, + "sacid" = -2, + "pacid" = -4, + "plantbgone" = -8, + "adminordrazine" = -5 + ) + var/global/list/pestkiller_reagents = list( + "sugar" = 2, + "diethylamine" = -2, + "adminordrazine" = -5 + ) + var/global/list/water_reagents = list( + "water" = 1, + "adminordrazine" = 1, + "milk" = 0.9, + "beer" = 0.7, + "flourine" = -0.5, + "chlorine" = -0.5, + "phosphorus" = -0.5, + "water" = 1, + "sodawater" = 1, + ) + + // Beneficial reagents also have values for modifying yield_mod and mut_mod (in that order). + var/global/list/beneficial_reagents = list( + "beer" = list( -0.05, 0, 0 ), + "fluorine" = list( -2, 0, 0 ), + "chlorine" = list( -1, 0, 0 ), + "phosphorus" = list( -0.75, 0, 0 ), + "sodawater" = list( 0.1, 0, 0 ), + "sacid" = list( -1, 0, 0 ), + "pacid" = list( -2, 0, 0 ), + "plantbgone" = list( -2, 0, 0.2 ), + "cryoxadone" = list( 3, 0, 0 ), + "ammonia" = list( 0.5, 0, 0 ), + "diethylamine" = list( 1, 0, 0 ), + "nutriment" = list( 0.5, 0.1, 0 ), + "radium" = list( -1.5, 0, 0.2 ), + "adminordrazine" = list( 1, 1, 1 ), + "robustharvest" = list( 0, 0.2, 0 ), + "left4zed" = list( 0, 0, 0.2 ) + ) + + // Mutagen list specifies minimum value for the mutation to take place, rather + // than a bound as the lists above specify. + var/global/list/mutagenic_reagents = list( + "radium" = 3, + "mutagen" = 8 + ) + +/obj/machinery/portable_atmospherics/hydroponics/New() + ..() + temp_chem_holder = new() + temp_chem_holder.create_reagents(10) + create_reagents(200) + connect() + update_icon() + if(closed_system) + flags &= ~OPENCONTAINER + +/obj/machinery/portable_atmospherics/hydroponics/bullet_act(var/obj/item/projectile/Proj) + + //Don't act on seeds like dionaea that shouldn't change. + if(seed && seed.immutable > 0) + return + + //Override for somatoray projectiles. + if(istype(Proj ,/obj/item/projectile/energy/floramut) && prob(20)) + mutate(1) + return + else if(istype(Proj ,/obj/item/projectile/energy/florayield) && prob(20)) + yield_mod = min(10,yield_mod+rand(1,2)) + return + + ..() + +/obj/machinery/portable_atmospherics/hydroponics/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group || (height==0)) return 1 + + if(istype(mover) && mover.checkpass(PASSTABLE)) + return 1 + else + return 0 + +/obj/machinery/portable_atmospherics/hydroponics/process() + + //Do this even if we're not ready for a plant cycle. + process_reagents() + + // Update values every cycle rather than every process() tick. + if(force_update) + force_update = 0 + else if(world.time < (lastcycle + cycledelay)) + return + lastcycle = world.time + + // Mutation level drops each main tick. + mutation_level -= rand(2,4) + + // Weeds like water and nutrients, there's a chance the weed population will increase. + // Bonus chance if the tray is unoccupied. + if(waterlevel > 10 && nutrilevel > 2 && prob(isnull(seed) ? 5 : 2)) + weedlevel += 1 * HYDRO_SPEED_MULTIPLIER + + // There's a chance for a weed explosion to happen if the weeds take over. + // Plants that are themselves weeds (weed_tolernace > 10) are unaffected. + if (weedlevel >= 10 && prob(10)) + if(!seed || weedlevel >= seed.weed_tolerance) + weed_invasion() + + // If there is no seed data (and hence nothing planted), + // or the plant is dead, process nothing further. + if(!seed || dead) + return + + // Advance plant age. + if(prob(30)) age += 1 * HYDRO_SPEED_MULTIPLIER + + //Highly mutable plants have a chance of mutating every tick. + if(seed.immutable == -1) + var/mut_prob = rand(1,100) + if(mut_prob <= 5) mutate(mut_prob == 1 ? 2 : 1) + + // Other plants also mutate if enough mutagenic compounds have been added. + if(!seed.immutable) + if(prob(min(mutation_level,100))) + mutate((rand(100) < 15) ? 2 : 1) + mutation_level = 0 + + // Maintain tray nutrient and water levels. + if(seed.nutrient_consumption > 0 && nutrilevel > 0 && prob(25)) + nutrilevel -= max(0,seed.nutrient_consumption * HYDRO_SPEED_MULTIPLIER) + if(seed.water_consumption > 0 && waterlevel > 0 && prob(25)) + waterlevel -= max(0,seed.water_consumption * HYDRO_SPEED_MULTIPLIER) + + // Make sure the plant is not starving or thirsty. Adequate + // water and nutrients will cause a plant to become healthier. + var/healthmod = rand(1,3) * HYDRO_SPEED_MULTIPLIER + if(seed.requires_nutrients && prob(35)) + health += (nutrilevel < 2 ? -healthmod : healthmod) + if(seed.requires_water && prob(35)) + health += (waterlevel < 10 ? -healthmod : healthmod) + + // Check that pressure, heat and light are all within bounds. + // First, handle an open system or an unconnected closed system. + + var/turf/T = loc + var/datum/gas_mixture/environment + + // If we're closed, take from our internal sources. + if(closed_system && (connected_port || holding)) + environment = air_contents + + // If atmos input is not there, grab from turf. + if(!environment) + if(istype(T)) + environment = T.return_air() + + if(!environment) return + + // Handle gas consumption. + if(seed.consume_gasses && seed.consume_gasses.len) + var/missing_gas = 0 + for(var/gas in seed.consume_gasses) + if(environment && environment.gas && environment.gas[gas] && \ + environment.gas[gas] >= seed.consume_gasses[gas]) + environment.adjust_gas(gas,-seed.consume_gasses[gas],1) + else + missing_gas++ + + if(missing_gas > 0) + health -= missing_gas * HYDRO_SPEED_MULTIPLIER + + // Process it. + var/pressure = environment.return_pressure() + if(pressure < seed.lowkpa_tolerance || pressure > seed.highkpa_tolerance) + health -= healthmod + + if(abs(environment.temperature - seed.ideal_heat) > seed.heat_tolerance) + health -= healthmod + + // Handle gas production. + if(seed.exude_gasses && seed.exude_gasses.len) + for(var/gas in seed.exude_gasses) + environment.adjust_gas(gas, max(1,round((seed.exude_gasses[gas]*seed.potency)/seed.exude_gasses.len))) + + // If we're attached to a pipenet, then we should let the pipenet know we might have modified some gasses + if (closed_system && connected_port) + update_connected_network() + + // Handle light requirements. + var/area/A = T.loc + if(A) + var/light_available + if(A.lighting_use_dynamic) + light_available = max(0,min(10,T.lighting_lumcount)-5) + else + light_available = 5 + if(abs(light_available - seed.ideal_light) > seed.light_tolerance) + health -= healthmod + + // Toxin levels beyond the plant's tolerance cause damage, but + // toxins are sucked up each tick and slowly reduce over time. + if(toxins > 0) + var/toxin_uptake = max(1,round(toxins/10)) + if(toxins > seed.toxins_tolerance) + health -= toxin_uptake + toxins -= toxin_uptake + + // Check for pests and weeds. + // Some carnivorous plants happily eat pests. + if(pestlevel > 0) + if(seed.carnivorous) + health += HYDRO_SPEED_MULTIPLIER + pestlevel -= HYDRO_SPEED_MULTIPLIER + else if (pestlevel >= seed.pest_tolerance) + health -= HYDRO_SPEED_MULTIPLIER + + // Some plants thrive and live off of weeds. + if(weedlevel > 0) + if(seed.parasite) + health += HYDRO_SPEED_MULTIPLIER + weedlevel -= HYDRO_SPEED_MULTIPLIER + else if (weedlevel >= seed.weed_tolerance) + health -= HYDRO_SPEED_MULTIPLIER + + // Handle life and death. + // If the plant is too old, it loses health fast. + if(age > seed.lifespan) + health -= rand(3,5) * HYDRO_SPEED_MULTIPLIER + + // When the plant dies, weeds thrive and pests die off. + if(health <= 0) + dead = 1 + mutation_level = 0 + harvest = 0 + weedlevel += 1 * HYDRO_SPEED_MULTIPLIER + pestlevel = 0 + + // If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again. + else if(seed.products && seed.products.len && age > seed.production && \ + (age - lastproduce) > seed.production && (!harvest && !dead)) + harvest = 1 + lastproduce = age + + if(prob(3)) // On each tick, there's a chance the pest population will increase + pestlevel += 0.1 * HYDRO_SPEED_MULTIPLIER + + check_level_sanity() + update_icon() + return + +//Process reagents being input into the tray. +/obj/machinery/portable_atmospherics/hydroponics/proc/process_reagents() + + if(!reagents) return + + if(reagents.total_volume <= 0) + return + + reagents.trans_to(temp_chem_holder, min(reagents.total_volume,rand(1,3))) + + for(var/datum/reagent/R in temp_chem_holder.reagents.reagent_list) + + var/reagent_total = temp_chem_holder.reagents.get_reagent_amount(R.id) + + if(seed && !dead) + //Handle some general level adjustments. + if(toxic_reagents[R.id]) + toxins += toxic_reagents[R.id] * reagent_total + if(weedkiller_reagents[R.id]) + weedlevel -= weedkiller_reagents[R.id] * reagent_total + if(pestkiller_reagents[R.id]) + pestlevel -= pestkiller_reagents[R.id] * reagent_total + + // Beneficial reagents have a few impacts along with health buffs. + if(beneficial_reagents[R.id]) + health += beneficial_reagents[R.id][1] * reagent_total + yield_mod += beneficial_reagents[R.id][2] * reagent_total + mutation_mod += beneficial_reagents[R.id][3] * reagent_total + + // Mutagen is distinct from the previous types and mostly has a chance of proccing a mutation. + if(mutagenic_reagents[R.id]) + mutation_level += reagent_total*mutagenic_reagents[R.id]+mutation_mod + + // Handle nutrient refilling. + if(nutrient_reagents[R.id]) + nutrilevel += nutrient_reagents[R.id] * reagent_total + + // Handle water and water refilling. + var/water_added = 0 + if(water_reagents[R.id]) + var/water_input = water_reagents[R.id] * reagent_total + water_added += water_input + waterlevel += water_input + + // Water dilutes toxin level. + if(water_added > 0) + toxins -= round(water_added/4) + + temp_chem_holder.reagents.clear_reagents() + check_level_sanity() + update_icon() + +//Harvests the product of a plant. +/obj/machinery/portable_atmospherics/hydroponics/proc/harvest(var/mob/user) + + //Harvest the product of the plant, + if(!seed || !harvest || !user) + return + + if(closed_system) + user << "You can't harvest from the plant while the lid is shut." + return + + seed.harvest(user,yield_mod) + + // Reset values. + harvest = 0 + lastproduce = age + + if(!seed.harvest_repeat) + yield_mod = 0 + seed = null + dead = 0 + age = 0 + + check_level_sanity() + update_icon() + return + +//Clears out a dead plant. +/obj/machinery/portable_atmospherics/hydroponics/proc/remove_dead(var/mob/user) + if(!user || !dead) return + + if(closed_system) + user << "You can't remove the dead plant while the lid is shut." + return + + seed = null + dead = 0 + user << "You remove the dead plant from the [src]." + check_level_sanity() + update_icon() + return + +//Refreshes the icon and sets the luminosity +/obj/machinery/portable_atmospherics/hydroponics/update_icon() + + overlays.Cut() + + // Updates the plant overlay. + if(!isnull(seed)) + + if(draw_warnings && health <= (seed.endurance / 2)) + overlays += "over_lowhealth3" + + if(dead) + overlays += "[seed.plant_icon]-dead" + else if(harvest) + overlays += "[seed.plant_icon]-harvest" + else if(age < seed.maturation) + + var/t_growthstate + if(age >= seed.maturation) + t_growthstate = seed.growth_stages + else + t_growthstate = round(seed.maturation / seed.growth_stages) + + overlays += "[seed.plant_icon]-grow[t_growthstate]" + lastproduce = age + else + overlays += "[seed.plant_icon]-grow[seed.growth_stages]" + + //Draw the cover. + if(closed_system) + overlays += "hydrocover" + + //Updated the various alert icons. + if(draw_warnings) + if(waterlevel <= 10) + overlays += "over_lowwater3" + if(nutrilevel <= 2) + overlays += "over_lownutri3" + if(weedlevel >= 5 || pestlevel >= 5 || toxins >= 40) + overlays += "over_alert3" + if(harvest) + overlays += "over_harvest3" + + // Update bioluminescence. + if(seed) + if(seed.biolum) + SetLuminosity(round(seed.potency/10)) + if(seed.biolum_colour) + l_color = seed.biolum_colour + else + l_color = null + return + + SetLuminosity(0) + return + + // If a weed growth is sufficient, this proc is called. +/obj/machinery/portable_atmospherics/hydroponics/proc/weed_invasion() + + //Remove the seed if something is already planted. + if(seed) seed = null + seed = seed_types[pick(list("reishi","nettles","amanita","mushrooms","plumphelmet","towercap","harebells","weeds"))] + if(!seed) return //Weed does not exist, someone fucked up. + + dead = 0 + age = 0 + health = seed.endurance + lastcycle = world.time + harvest = 0 + weedlevel = 0 + pestlevel = 0 + update_icon() + visible_message("\blue [src] has been overtaken by [seed.display_name].") + + return + +/obj/machinery/portable_atmospherics/hydroponics/proc/mutate(var/severity) + + // No seed, no mutations. + if(!seed) + return + + // Check if we should even bother working on the current seed datum. + if(seed.mutants. && seed.mutants.len && severity > 1) + mutate_species() + return + + // We need to make sure we're not modifying one of the global seed datums. + // If it's not in the global list, then no products of the line have been + // harvested yet and it's safe to assume it's restricted to this tray. + if(!isnull(seed_types[seed.name])) + seed = seed.diverge() + seed.mutate(severity,get_turf(src)) + + return + +/obj/machinery/portable_atmospherics/hydroponics/proc/check_level_sanity() + //Make sure various values are sane. + if(seed) + health = max(0,min(seed.endurance,health)) + else + health = 0 + dead = 0 + + mutation_level = max(0,min(mutation_level,100)) + nutrilevel = max(0,min(nutrilevel,10)) + waterlevel = max(0,min(waterlevel,100)) + pestlevel = max(0,min(pestlevel,10)) + weedlevel = max(0,min(weedlevel,10)) + toxins = max(0,min(toxins,10)) + +/obj/machinery/portable_atmospherics/hydroponics/proc/mutate_species() + + var/previous_plant = seed.display_name + var/newseed = seed.get_mutant_variant() + if(newseed in seed_types) + seed = seed_types[newseed] + else + return + + dead = 0 + mutate(1) + age = 0 + health = seed.endurance + lastcycle = world.time + harvest = 0 + weedlevel = 0 + + update_icon() + visible_message("\red The \blue [previous_plant] \red has suddenly mutated into \blue [seed.display_name]!") + + return + +/obj/machinery/portable_atmospherics/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) + + if (O.is_open_container()) + return 0 + + if(istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/weapon/scalpel)) + + if(!seed) + user << "There is nothing to take a sample from in \the [src]." + return + + if(dead) + user << "\The plant is dead." + return + + // Create a sample. + seed.harvest(user,yield_mod,1) + health -= (rand(3,5)*10) + + // Bookkeeping. + check_level_sanity() + force_update = 1 + process() + + return + + else if(istype(O, /obj/item/weapon/reagent_containers/syringe)) + + var/obj/item/weapon/reagent_containers/syringe/S = O + + if (S.mode == 1) + if(seed) + return ..() + else + user << "There's no plant to inject." + return 1 + else + if(seed) + //Leaving this in in case we want to extract from plants later. + user << "You can't get any extract out of this plant." + else + user << "There's nothing to draw something from." + return 1 + + else if (istype(O, /obj/item/seeds)) + + if(!seed) + + var/obj/item/seeds/S = O + user.drop_item(O) + + if(!S.seed) + user << "The packet seems to be empty. You throw it away." + del(O) + return + + user << "You plant the [S.seed.seed_name] [S.seed.seed_noun]." + + if(S.seed.spread == 1) + msg_admin_attack("[key_name(user)] has planted a creeper packet.") + var/obj/effect/plant_controller/creeper/PC = new(get_turf(src)) + if(PC) + PC.seed = S.seed + else if(S.seed.spread == 2) + msg_admin_attack("[key_name(user)] has planted a spreading vine packet.") + var/obj/effect/plant_controller/PC = new(get_turf(src)) + if(PC) + PC.seed = S.seed + else + seed = S.seed //Grab the seed datum. + dead = 0 + age = 1 + //Snowflakey, maybe move this to the seed datum + health = (istype(S, /obj/item/seeds/cutting) ? round(seed.endurance/rand(2,5)) : seed.endurance) + + lastcycle = world.time + + del(O) + + check_level_sanity() + update_icon() + + else + user << "\red \The [src] already has seeds in it!" + + else if (istype(O, /obj/item/weapon/minihoe)) // The minihoe + + if(weedlevel > 0) + user.visible_message("\red [user] starts uprooting the weeds.", "\red You remove the weeds from the [src].") + weedlevel = 0 + update_icon() + else + user << "\red This plot is completely devoid of weeds. It doesn't need uprooting." + + else if (istype(O, /obj/item/weapon/storage/bag/plants)) + + attack_hand(user) + + var/obj/item/weapon/storage/bag/plants/S = O + for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in locate(user.x,user.y,user.z)) + if(!S.can_be_inserted(G)) + return + S.handle_item_insertion(G, 1) + + else if ( istype(O, /obj/item/weapon/plantspray) ) + + var/obj/item/weapon/plantspray/spray = O + user.drop_item(O) + toxins += spray.toxicity + pestlevel -= spray.pest_kill_str + weedlevel -= spray.weed_kill_str + user << "You spray [src] with [O]." + playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6) + del(O) + + check_level_sanity() + update_icon() + + else if(istype(O, /obj/item/weapon/wrench)) + + //If there's a connector here, the portable_atmospherics setup can handle it. + if(locate(/obj/machinery/atmospherics/portables_connector/) in loc) + return ..() + + playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + anchored = !anchored + user << "You [anchored ? "wrench" : "unwrench"] \the [src]." + + else if(istype(O, /obj/item/apiary)) + + if(seed) + user << "\red [src] is already occupied!" + else + user.drop_item() + del(O) + + var/obj/machinery/apiary/A = new(src.loc) + A.icon = src.icon + A.icon_state = src.icon_state + A.hydrotray_type = src.type + del(src) + return + +/obj/machinery/portable_atmospherics/hydroponics/attack_tk(mob/user as mob) + + if(harvest) + harvest(user) + + else if(dead) + remove_dead(user) + +/obj/machinery/portable_atmospherics/hydroponics/attack_hand(mob/user as mob) + + if(istype(usr,/mob/living/silicon)) + return + + if(harvest) + harvest(user) + else if(dead) + remove_dead(user) + + else + if(seed && !dead) + usr << "[src] has \blue [seed.display_name] \black planted." + if(health <= (seed.endurance / 2)) + usr << "The plant looks \red unhealthy." + else + usr << "[src] is empty." + usr << "Water: [round(waterlevel,0.1)]/100" + usr << "Nutrient: [round(nutrilevel,0.1)]/10" + if(weedlevel >= 5) + usr << "[src] is \red filled with weeds!" + if(pestlevel >= 5) + usr << "[src] is \red filled with tiny worms!" + + if(!istype(src,/obj/machinery/portable_atmospherics/hydroponics/soil)) + + var/turf/T = loc + var/datum/gas_mixture/environment + + if(closed_system && (connected_port || holding)) + environment = air_contents + + if(!environment) + if(istype(T)) + environment = T.return_air() + + if(!environment) //We're in a crate or nullspace, bail out. + return + + var/area/A = T.loc + var/light_available + if(A) + if(A.lighting_use_dynamic) + light_available = max(0,min(10,T.lighting_lumcount)-5) + else + light_available = 5 + + usr << "The tray's sensor suite is reporting a light level of [light_available] lumens and a temperature of [environment.temperature]K." + +/obj/machinery/portable_atmospherics/hydroponics/verb/close_lid() + set name = "Toggle Tray Lid" + set category = "Object" + set src in view(1) + + if(!usr || usr.stat || usr.restrained()) + return + + closed_system = !closed_system + usr << "You [closed_system ? "close" : "open"] the tray's lid." + if(closed_system) + flags &= ~OPENCONTAINER + else + flags |= OPENCONTAINER + + update_icon() + +/obj/machinery/portable_atmospherics/hydroponics/soil + name = "soil" + icon = 'icons/obj/hydroponics.dmi' + icon_state = "soil" + density = 0 + use_power = 0 + draw_warnings = 0 + +/obj/machinery/portable_atmospherics/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O, /obj/item/weapon/shovel)) + user << "You clear up [src]!" + del(src) + else if(istype(O,/obj/item/weapon/shovel) || istype(O,/obj/item/weapon/tank)) + return + else + ..() + +/obj/machinery/portable_atmospherics/hydroponics/soil/New() + ..() + verbs -= /obj/machinery/portable_atmospherics/hydroponics/verb/close_lid + +#undef HYDRO_SPEED_MULTIPLIER \ No newline at end of file diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm new file mode 100644 index 00000000000..4bea1a573eb --- /dev/null +++ b/code/modules/hydroponics/seed_datums.dm @@ -0,0 +1,1565 @@ +var/global/list/seed_types = list() // A list of all seed data. +var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious trial and error goodness. + +// Predefined/roundstart varieties use a string key to make it +// easier to grab the new variety when mutating. Post-roundstart +// and mutant varieties use their uid converted to a string instead. +// Looks like shit but it's sort of necessary. + +proc/populate_seed_list() + + // Populate the global seed datum list. + for(var/type in typesof(/datum/seed)-/datum/seed) + var/datum/seed/S = new type + seed_types[S.name] = S + S.uid = "[seed_types.len]" + S.roundstart = 1 + + // Make sure any seed packets that were mapped in are updated + // correctly (since the seed datums did not exist a tick ago). + for(var/obj/item/seeds/S in world) + S.update_seed() + + //Might as well mask the gene types while we're at it. + var/list/gene_tags = list("products","consumption","environment","resistance","vigour","flowers") + var/list/used_masks = list() + + while(gene_tags && gene_tags.len) + var/gene_tag = pick(gene_tags) + var/gene_mask = "[num2hex(rand(0,255))]" + + while(gene_mask in used_masks) + gene_mask = "[num2hex(rand(0,255))]" + + used_masks += gene_mask + gene_tags -= gene_tag + gene_tag_masks[gene_tag] = gene_mask + +/datum/plantgene + var/genetype // Label used when applying trait. + var/list/values // Values to copy into the target seed datum. + +/datum/seed + + //Tracking. + var/uid // Unique identifier. + var/name // Index for global list. + var/seed_name // Plant name for seed packet. + var/seed_noun = "seeds" // Descriptor for packet. + var/display_name // Prettier name. + var/roundstart // If set, seed will not display variety number. + + // Output. + var/list/products // Possible fruit/other product paths. + var/list/mutants // Possible predefined mutant varieties, if any. + var/list/chems // Chemicals that plant produces in products/injects into victim. + var/list/consume_gasses // The plant will absorb these gasses during its life. + var/list/exude_gasses // The plant will exude these gasses during its life. + + //Tolerances. + var/requires_nutrients = 1 // The plant can starve. + var/nutrient_consumption = 0.25 // Plant eats this much per tick. + var/requires_water = 1 // The plant can become dehydrated. + var/water_consumption = 3 // Plant drinks this much per tick. + var/ideal_heat = 293 // Preferred temperature in Kelvin. + var/heat_tolerance = 20 // Departure from ideal that is survivable. + var/ideal_light = 8 // Preferred light level in luminosity. + var/light_tolerance = 5 // Departure from ideal that is survivable. + var/toxins_tolerance = 5 // Resistance to poison. + var/lowkpa_tolerance = 25 // Low pressure capacity. + var/highkpa_tolerance = 200 // High pressure capacity. + var/pest_tolerance = 5 // Threshold for pests to impact health. + var/weed_tolerance = 5 // Threshold for weeds to impact health. + + //General traits. + var/endurance = 100 // Maximum plant HP when growing. + var/yield = 0 // Amount of product. + var/lifespan = 0 // Time before the plant dies. + var/maturation = 0 // Time taken before the plant is mature. + var/production = 0 // Time before harvesting can be undertaken again. + var/growth_stages = 6 // Number of stages the plant passes through before it is mature. + var/harvest_repeat = 0 // If 1, this plant will fruit repeatedly.. + var/potency = 1 // General purpose plant strength value. + var/spread = 0 // 0 limits plant to tray, 1 = creepers, 2 = vines. + var/carnivorous = 0 // 0 = none, 1 = eat pests in tray, 2 = eat living things (when a vine). + var/parasite = 0 // 0 = no, 1 = gain health from weed level. + var/immutable = 0 // If set, plant will never mutate. If -1, plant is highly mutable. + var/alter_temp // If set, the plant will periodically alter local temp by this amount. + + // Cosmetics. + var/plant_icon // Icon to use for the plant growing in the tray. + var/product_icon // Base to use for fruit coming from this plant (if a vine). + var/product_colour // Colour to apply to product base (if a vine). + var/packet_icon = "seed" // Icon to use for physical seed packet item. + var/biolum // Plant is bioluminescent. + var/biolum_colour // The colour of the plant's radiance. + var/flowers // Plant has a flower overlay. + var/flower_icon = "vine_fruit" // Which overlay to use. + var/flower_colour // Which colour to use. + +//Creates a random seed. MAKE SURE THE LINE HAS DIVERGED BEFORE THIS IS CALLED. +/datum/seed/proc/randomize() + + roundstart = 0 + seed_name = "strange plant" // TODO: name generator. + display_name = "strange plants" // TODO: name generator. + + seed_noun = pick("spores","nodes","cuttings","seeds") + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/generic_fruit) + potency = rand(5,30) + + //TODO: Finish generalizing the product icons so this can be randomized. + packet_icon = "seed-berry" + plant_icon = "berry" + if(prob(20)) + harvest_repeat = 1 + + if(prob(5)) + consume_gasses = list() + var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + consume_gasses[gas] = rand(3,9) + + if(prob(5)) + exude_gasses = list() + var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + exude_gasses[gas] = rand(3,9) + + chems = list() + if(prob(80)) + chems["nutriment"] = list(rand(1,10),rand(10,20)) + + var/additional_chems = rand(0,5) + + var/list/possible_chems = list( + "bicaridine", + "hyperzine", + "cryoxadone", + "blood", + "water", + "potassium", + "plasticide", + "slimetoxin", + "aslimetoxin", + "inaprovaline", + "space_drugs", + "paroxetine", + "mercury", + "sugar", + "radium", + "ryetalyn", + "alkysine", + "thermite", + "tramadol", + "cryptobiolin", + "dermaline", + "dexalin", + "phoron", + "synaptizine", + "impedrezene", + "hyronalin", + "peridaxon", + "toxin", + "rezadone", + "ethylredoxrazine", + "slimejelly", + "cyanide", + "mindbreaker", + "stoxin" + ) + + for(var/x=1;x<=additional_chems;x++) + if(!possible_chems.len) + break + var/new_chem = pick(possible_chems) + possible_chems -= new_chem + chems[new_chem] = list(rand(1,10),rand(10,20)) + + if(prob(90)) + requires_nutrients = 1 + nutrient_consumption = rand(100)*0.1 + else + requires_nutrients = 0 + + if(prob(90)) + requires_water = 1 + water_consumption = rand(10) + else + requires_water = 0 + + ideal_heat = rand(100,400) + heat_tolerance = rand(10,30) + ideal_light = rand(2,10) + light_tolerance = rand(2,7) + toxins_tolerance = rand(2,7) + pest_tolerance = rand(2,7) + weed_tolerance = rand(2,7) + lowkpa_tolerance = rand(10,50) + highkpa_tolerance = rand(100,300) + + if(prob(5)) + alter_temp = rand(-5,5) + + if(prob(1)) + immutable = -1 + + var/carnivore_prob = rand(100) + if(carnivore_prob < 5) + carnivorous = 2 + else if(carnivore_prob < 10) + carnivorous = 1 + + if(prob(10)) + parasite = 1 + + var/vine_prob = rand(100) + if(vine_prob < 5) + spread = 2 + else if(vine_prob < 10) + spread = 1 + + if(prob(5)) + biolum = 1 + biolum_colour = "#[pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"))]" + + endurance = rand(60,100) + yield = rand(3,15) + maturation = rand(5,15) + production = maturation + rand(2,5) + lifespan = production + rand(5,10) + +//Returns a key corresponding to an entry in the global seed list. +/datum/seed/proc/get_mutant_variant() + if(!mutants || !mutants.len || immutable > 0) return 0 + return pick(mutants) + +//Mutates the plant overall (randomly). +/datum/seed/proc/mutate(var/degree,var/turf/source_turf) + + if(!degree || immutable > 0) return + + source_turf.visible_message("\blue \The [display_name] quivers!") + + //This looks like shit, but it's a lot easier to read/change this way. + var/total_mutations = rand(1,1+degree) + for(var/i = 0;ichanges colour!") + else + source_turf.visible_message("\blue \The [display_name]'s glow dims...") + if(11) + if(prob(degree*2)) + flowers = !flowers + if(flowers) + source_turf.visible_message("\blue \The [display_name] sprouts a bevy of flowers!") + if(prob(degree*2)) + flower_colour = "#[pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"))]" + source_turf.visible_message("\blue \The [display_name]'s flowers changes colour!") + else + source_turf.visible_message("\blue \The [display_name]'s flowers wither and fall off.") + return + +//Mutates a specific trait/set of traits. +/datum/seed/proc/apply_gene(var/datum/plantgene/gene) + + if(!gene || !gene.values || immutable > 0) return + + switch(gene.genetype) + + //Splicing products has some detrimental effects on yield and lifespan. + if("products") + + if(gene.values.len < 6) return + + if(yield > 0) yield = max(1,round(yield*0.85)) + if(endurance > 0) endurance = max(1,round(endurance*0.85)) + if(lifespan > 0) lifespan = max(1,round(lifespan*0.85)) + + if(!products) products = list() + products |= gene.values[1] + + if(!chems) chems = list() + + var/list/gene_value = gene.values[2] + for(var/rid in gene_value) + + var/list/gene_chem = gene_value[rid] + + if(chems[rid]) + + var/list/chem_value = chems[rid] + + chems[rid][1] = max(1,round((gene_chem[1] + chem_value[1])/2)) + + if(gene_chem.len > 1) + if(chem_value > 1) + chems[rid][2] = max(1,round((gene_chem[2] + chem_value[2])/2)) + else + chems[rid][2] = gene_chem[2] + + else + var/list/new_chem = gene_chem[rid] + chems[rid] = new_chem.Copy() + + var/list/new_gasses = gene.values[3] + if(istype(new_gasses)) + if(!exude_gasses) exude_gasses = list() + exude_gasses |= new_gasses + for(var/gas in exude_gasses) + exude_gasses[gas] = max(1,round(exude_gasses[gas]*0.8)) + + alter_temp = gene.values[4] + potency = gene.values[5] + harvest_repeat = gene.values[6] + + if("consumption") + + if(gene.values.len < 7) return + + consume_gasses = gene.values[1] + requires_nutrients = gene.values[2] + nutrient_consumption = gene.values[3] + requires_water = gene.values[4] + water_consumption = gene.values[5] + carnivorous = gene.values[6] + parasite = gene.values[7] + + if("environment") + + if(gene.values.len < 6) return + + ideal_heat = gene.values[1] + heat_tolerance = gene.values[2] + ideal_light = gene.values[3] + light_tolerance = gene.values[4] + lowkpa_tolerance = gene.values[5] + highkpa_tolerance = gene.values[6] + + if("resistance") + + if(gene.values.len < 3) return + + toxins_tolerance = gene.values[1] + pest_tolerance = gene.values[2] + weed_tolerance = gene.values[3] + + if("vigour") + + if(gene.values.len < 6) return + + endurance = gene.values[1] + yield = gene.values[2] + lifespan = gene.values[3] + spread = gene.values[4] + maturation = gene.values[5] + production = gene.values[6] + + if("flowers") + + if(gene.values.len < 7) return + + product_icon = gene.values[1] + product_colour = gene.values[2] + biolum = gene.values[3] + biolum_colour = gene.values[4] + flowers = gene.values[5] + flower_icon = gene.values[6] + flower_colour = gene.values[7] + +//Returns a list of the desired trait values. +/datum/seed/proc/get_gene(var/genetype) + + if(!genetype) return 0 + + var/datum/plantgene/P = new() + P.genetype = genetype + + switch(genetype) + if("products") + P.values = list( + (products ? products : 0), + (chems ? chems : 0), + (exude_gasses ? exude_gasses : 0), + (alter_temp ? alter_temp : 0), + (potency ? potency : 0), + (harvest_repeat ? harvest_repeat : 0) + ) + + if("consumption") + P.values = list( + (consume_gasses ? consume_gasses : 0), + (requires_nutrients ? requires_nutrients : 0), + (nutrient_consumption ? nutrient_consumption : 0), + (requires_water ? requires_water : 0), + (water_consumption ? water_consumption : 0), + (carnivorous ? carnivorous : 0), + (parasite ? parasite : 0) + ) + + if("environment") + P.values = list( + (ideal_heat ? ideal_heat : 0), + (heat_tolerance ? heat_tolerance : 0), + (ideal_light ? ideal_light : 0), + (light_tolerance ? light_tolerance : 0), + (lowkpa_tolerance ? lowkpa_tolerance : 0), + (highkpa_tolerance ? highkpa_tolerance : 0) + ) + + if("resistance") + P.values = list( + (toxins_tolerance ? toxins_tolerance : 0), + (pest_tolerance ? pest_tolerance : 0), + (weed_tolerance ? weed_tolerance : 0) + ) + + if("vigour") + P.values = list( + (endurance ? endurance : 0), + (yield ? yield : 0), + (lifespan ? lifespan : 0), + (spread ? spread : 0), + (maturation ? maturation : 0), + (production ? production : 0) + ) + + if("flowers") + P.values = list( + (product_icon ? product_icon : 0), + (product_colour ? product_colour : 0), + (biolum ? biolum : 0), + (biolum_colour ? biolum_colour : 0), + (flowers ? flowers : 0), + (flower_icon ? flower_icon : 0), + (flower_colour ? flower_colour : 0) + ) + + return (P ? P : 0) + +//Place the plant products at the feet of the user. +/datum/seed/proc/harvest(var/mob/user,var/yield_mod,var/harvest_sample) + if(!user) + return + + var/got_product + if(!isnull(products) && products.len && yield > 0) + got_product = 1 + + if(!got_product && !harvest_sample) + user << "\red You fail to harvest anything useful." + else + user << "You [harvest_sample ? "take a sample" : "harvest"] from the [display_name]." + + //This may be a new line. Update the global if it is. + if(name == "new line" || !(name in seed_types)) + uid = seed_types.len + 1 + name = "[uid]" + seed_types[name] = src + + if(harvest_sample) + var/obj/item/seeds/seeds = new(get_turf(user)) + seeds.seed_type = name + seeds.update_seed() + return + + var/total_yield = 0 + if(yield > -1) + if(isnull(yield_mod) || yield_mod < 1) + yield_mod = 0 + total_yield = yield + else + total_yield = yield + rand(yield_mod) + total_yield = max(1,total_yield) + + currently_querying = list() + for(var/i = 0;i 0) return + + //Set up some basic information. + var/datum/seed/new_seed = new + new_seed.name = "new line" + new_seed.uid = 0 + new_seed.roundstart = 0 + + //Copy over everything else. + if(products) new_seed.products = products.Copy() + if(mutants) new_seed.mutants = mutants.Copy() + if(chems) new_seed.chems = chems.Copy() + if(consume_gasses) new_seed.consume_gasses = consume_gasses.Copy() + if(exude_gasses) new_seed.exude_gasses = exude_gasses.Copy() + + new_seed.seed_name = "[(roundstart ? "[(modified ? "modified" : "mutant")] " : "")][seed_name]" + new_seed.display_name = "[(roundstart ? "[(modified ? "modified" : "mutant")] " : "")][display_name]" + new_seed.seed_noun = seed_noun + + new_seed.requires_nutrients = requires_nutrients + new_seed.nutrient_consumption = nutrient_consumption + new_seed.requires_water = requires_water + new_seed.water_consumption = water_consumption + new_seed.ideal_heat = ideal_heat + new_seed.heat_tolerance = heat_tolerance + new_seed.ideal_light = ideal_light + new_seed.light_tolerance = light_tolerance + new_seed.toxins_tolerance = toxins_tolerance + new_seed.lowkpa_tolerance = lowkpa_tolerance + new_seed.highkpa_tolerance = highkpa_tolerance + new_seed.pest_tolerance = pest_tolerance + new_seed.weed_tolerance = weed_tolerance + new_seed.endurance = endurance + new_seed.yield = yield + new_seed.lifespan = lifespan + new_seed.maturation = maturation + new_seed.production = production + new_seed.growth_stages = growth_stages + new_seed.harvest_repeat = harvest_repeat + new_seed.potency = potency + new_seed.spread = spread + new_seed.carnivorous = carnivorous + new_seed.parasite = parasite + new_seed.plant_icon = plant_icon + new_seed.product_icon = product_icon + new_seed.product_colour = product_colour + new_seed.packet_icon = packet_icon + new_seed.biolum = biolum + new_seed.biolum_colour = biolum_colour + new_seed.flowers = flowers + new_seed.flower_icon = flower_icon + new_seed.alter_temp = alter_temp + + return new_seed + +// Actual roundstart seed types after this point. +// Chili plants/variants. +/datum/seed/chili + + name = "chili" + seed_name = "chili" + display_name = "chili plants" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/chili) + chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25)) + mutants = list("icechili") + packet_icon = "seed-chili" + plant_icon = "chili" + harvest_repeat = 1 + + lifespan = 20 + maturation = 5 + production = 5 + yield = 4 + potency = 20 + +/datum/seed/chili/ice + name = "icechili" + seed_name = "ice pepper" + display_name = "ice-pepper plants" + mutants = null + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper) + chems = list("frostoil" = list(3,5), "nutriment" = list(1,50)) + packet_icon = "seed-icepepper" + plant_icon = "chiliice" + + maturation = 4 + production = 4 + +// Berry plants/variants. +/datum/seed/berry + name = "berries" + seed_name = "berry" + display_name = "berry bush" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/berries) + mutants = list("glowberries","poisonberries") + packet_icon = "seed-berry" + plant_icon = "berry" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 20 + maturation = 5 + production = 5 + yield = 2 + potency = 10 + +/datum/seed/berry/glow + name = "glowberries" + seed_name = "glowberry" + display_name = "glowberry bush" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries) + mutants = null + packet_icon = "seed-glowberry" + plant_icon = "glowberry" + chems = list("nutriment" = list(1,10), "uranium" = list(3,5)) + + lifespan = 30 + maturation = 5 + production = 5 + yield = 2 + potency = 10 + +/datum/seed/berry/poison + name = "poisonberries" + seed_name = "poison berry" + display_name = "poison berry bush" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries) + mutants = list("deathberries") + packet_icon = "seed-poisonberry" + plant_icon = "poisonberry" + chems = list("nutriment" = list(1), "toxin" = list(3,5)) + +/datum/seed/berry/poison/death + name = "deathberries" + seed_name = "death berry" + display_name = "death berry bush" + mutants = null + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries) + packet_icon = "seed-deathberry" + plant_icon = "deathberry" + chems = list("nutriment" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5)) + + yield = 3 + potency = 50 + +// Nettles/variants. +/datum/seed/nettle + name = "nettle" + seed_name = "nettle" + display_name = "nettles" + products = list(/obj/item/weapon/grown/nettle) + mutants = list("deathnettle") + packet_icon = "seed-nettle" + plant_icon = "nettle" + harvest_repeat = 1 + chems = list("nutriment" = list(1,50), "sacid" = list(0,1)) + lifespan = 30 + maturation = 6 + production = 6 + yield = 4 + potency = 10 + growth_stages = 5 + +/datum/seed/nettle/death + name = "deathnettle" + seed_name = "death nettle" + display_name = "death nettles" + products = list(/obj/item/weapon/grown/deathnettle) + mutants = null + packet_icon = "seed-deathnettle" + plant_icon = "deathnettle" + chems = list("nutriment" = list(1,50), "pacid" = list(0,1)) + + maturation = 8 + yield = 2 + +//Tomatoes/variants. +/datum/seed/tomato + name = "tomato" + seed_name = "tomato" + display_name = "tomato plant" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/tomato) + mutants = list("bluetomato","bloodtomato") + packet_icon = "seed-tomato" + plant_icon = "tomato" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 25 + maturation = 8 + production = 6 + yield = 2 + potency = 10 + +/datum/seed/tomato/blood + name = "bloodtomato" + seed_name = "blood tomato" + display_name = "blood tomato plant" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato) + mutants = list("killer") + packet_icon = "seed-bloodtomato" + plant_icon = "bloodtomato" + chems = list("nutriment" = list(1,10), "blood" = list(1,5)) + + yield = 3 + +/datum/seed/tomato/killer + name = "killertomato" + seed_name = "killer tomato" + display_name = "killer tomato plant" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato) + mutants = null + packet_icon = "seed-killertomato" + plant_icon = "killertomato" + + yield = 2 + growth_stages = 2 + +/datum/seed/tomato/blue + name = "bluetomato" + seed_name = "blue tomato" + display_name = "blue tomato plant" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato) + mutants = list("bluespacetomato") + packet_icon = "seed-bluetomato" + plant_icon = "bluetomato" + chems = list("nutriment" = list(1,20), "lube" = list(1,5)) + +/datum/seed/tomato/blue/teleport + name = "bluespacetomato" + seed_name = "bluespace tomato" + display_name = "bluespace tomato plant" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato) + mutants = null + packet_icon = "seed-bluespacetomato" + plant_icon = "bluespacetomato" + chems = list("nutriment" = list(1,20), "singulo" = list(1,5)) + +//Eggplants/varieties. +/datum/seed/eggplant + name = "eggplant" + seed_name = "eggplant" + display_name = "eggplants" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant) + mutants = list("realeggplant") + packet_icon = "seed-eggplant" + plant_icon = "eggplant" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 25 + maturation = 6 + production = 6 + yield = 2 + potency = 20 + +/datum/seed/eggplant/eggs + name = "realeggplant" + seed_name = "egg-plant" + display_name = "egg-plants" + products = list(/obj/item/weapon/reagent_containers/food/snacks/egg) + mutants = null + packet_icon = "seed-eggy" + plant_icon = "eggy" + + lifespan = 75 + production = 12 + +//Apples/varieties. + +/datum/seed/apple + name = "apple" + seed_name = "apple" + display_name = "apple tree" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/apple) + mutants = list("poisonapple","goldapple") + packet_icon = "seed-apple" + plant_icon = "apple" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 55 + maturation = 6 + production = 6 + yield = 5 + potency = 10 + +/datum/seed/apple/poison + name = "poisonapple" + mutants = null + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned) + chems = list("cyanide" = list(1,5)) + +/datum/seed/apple/gold + name = "goldapple" + seed_name = "golden apple" + display_name = "gold apple tree" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple) + mutants = null + packet_icon = "seed-goldapple" + plant_icon = "goldapple" + chems = list("nutriment" = list(1,10), "gold" = list(1,5)) + + maturation = 10 + production = 10 + yield = 3 + +//Ambrosia/varieties. +/datum/seed/ambrosia + name = "ambrosia" + seed_name = "ambrosia vulgaris" + display_name = "ambrosia vulgaris" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris) + mutants = list("ambrosiadeus") + packet_icon = "seed-ambrosiavulgaris" + plant_icon = "ambrosiavulgaris" + harvest_repeat = 1 + chems = list("nutriment" = list(1), "space_drugs" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1), "toxin" = list(1,10)) + + lifespan = 60 + maturation = 6 + production = 6 + yield = 6 + potency = 5 + +/datum/seed/ambrosia/cruciatus + name = "ambrosiacruciatus" + seed_name = "ambrosia vulgaris" + packet_icon = "seed-ambrosiavulgaris" + plant_icon = "ambrosiavulgaris" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris/cruciatus) + mutants = null + lifespan = 60 + endurance = 25 + maturation = 6 + production = 6 + yield = 6 + potency = 5 + +/datum/seed/ambrosia/deus + name = "ambrosiadeus" + seed_name = "ambrosia deus" + display_name = "ambrosia deus" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus) + mutants = null + packet_icon = "seed-ambrosiadeus" + plant_icon = "ambrosiadeus" + chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "space_drugs" = list(1,10)) + +//Mushrooms/varieties. +/datum/seed/mushroom + name = "mushrooms" + seed_name = "chanterelle" + seed_noun = "spores" + display_name = "chanterelle mushrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle) + mutants = list("reishi","amanita","plumphelmet") + packet_icon = "mycelium-chanter" + plant_icon = "chanter" + chems = list("nutriment" = list(1,25)) + + lifespan = 35 + maturation = 7 + production = 1 + yield = 5 + potency = 1 + growth_stages = 3 + +/datum/seed/mushroom/mold + name = "mold" + seed_name = "brown mold" + display_name = "brown mold" + products = null + mutants = null + //mutants = list("wallrot") //TBD. + plant_icon = "mold" + + lifespan = 50 + maturation = 10 + yield = -1 + +/datum/seed/mushroom/plump + name = "plumphelmet" + seed_name = "plump helmet" + display_name = "plump helmet mushrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet) + mutants = list("walkingmushroom","towercap") + packet_icon = "mycelium-plump" + plant_icon = "plump" + chems = list("nutriment" = list(2,10)) + + lifespan = 25 + maturation = 8 + yield = 4 + potency = 0 + +/datum/seed/mushroom/hallucinogenic + name = "reishi" + seed_name = "reishi" + display_name = "reishi" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi) + mutants = list("libertycap","glowshroom") + packet_icon = "mycelium-reishi" + plant_icon = "reishi" + chems = list("nutriment" = list(1,50), "psilocybin" = list(3,5)) + + maturation = 10 + production = 5 + yield = 4 + potency = 15 + growth_stages = 4 + +/datum/seed/mushroom/hallucinogenic/strong + name = "libertycap" + seed_name = "liberty cap" + display_name = "liberty cap mushrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap) + mutants = null + packet_icon = "mycelium-liberty" + plant_icon = "liberty" + chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25)) + + lifespan = 25 + production = 1 + potency = 15 + growth_stages = 3 + +/datum/seed/mushroom/poison + name = "amanita" + seed_name = "fly amanita" + display_name = "fly amanita mushrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita) + mutants = list("destroyingangel","plastic") + packet_icon = "mycelium-amanita" + plant_icon = "amanita" + chems = list("nutriment" = list(1), "amatoxin" = list(3,3), "psilocybin" = list(1,25)) + + lifespan = 50 + maturation = 10 + production = 5 + yield = 4 + potency = 10 + +/datum/seed/mushroom/poison/death + name = "destroyingangel" + seed_name = "destroying angel" + display_name = "destroying angel mushrooms" + mutants = null + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel) + packet_icon = "mycelium-angel" + plant_icon = "angel" + chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25)) + + maturation = 12 + yield = 2 + potency = 35 + +/datum/seed/mushroom/towercap + name = "towercap" + seed_name = "tower cap" + display_name = "tower caps" + mutants = null + products = list(/obj/item/weapon/grown/log) + packet_icon = "mycelium-tower" + plant_icon = "towercap" + + lifespan = 80 + maturation = 15 + +/datum/seed/mushroom/glowshroom + name = "glowshroom" + seed_name = "glowshroom" + display_name = "glowshrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom) + mutants = null + packet_icon = "mycelium-glowshroom" + plant_icon = "glowshroom" + chems = list("radium" = list(1,20)) + + lifespan = 120 + maturation = 15 + yield = 3 + potency = 30 + growth_stages = 4 + biolum = 1 + biolum_colour = "#006622" + +/datum/seed/mushroom/walking + name = "walkingmushroom" + seed_name = "walking mushroom" + display_name = "walking mushrooms" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom) + mutants = null + packet_icon = "mycelium-walkingmushroom" + plant_icon = "walkingmushroom" + chems = list("nutriment" = list(2,10)) + + lifespan = 30 + maturation = 5 + yield = 1 + potency = 0 + growth_stages = 3 + +/datum/seed/mushroom/plastic + name = "plastic" + seed_name = "plastellium" + display_name = "plastellium" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/plastellium) + mutants = null + packet_icon = "mycelium-plast" + plant_icon = "plastellium" + chems = list("plasticide" = list(1,10)) + + lifespan = 15 + maturation = 5 + production = 6 + yield = 6 + potency = 20 + +//Flowers/varieties +/datum/seed/flower + name = "harebells" + seed_name = "harebell" + display_name = "harebells" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/harebell) + packet_icon = "seed-harebell" + plant_icon = "harebell" + chems = list("nutriment" = list(1,20)) + + lifespan = 100 + maturation = 7 + production = 1 + yield = 2 + growth_stages = 4 + +/datum/seed/flower/poppy + name = "poppies" + seed_name = "poppy" + display_name = "poppies" + packet_icon = "seed-poppy" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/poppy) + plant_icon = "poppy" + chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10)) + + lifespan = 25 + potency = 20 + maturation = 8 + production = 6 + yield = 6 + growth_stages = 3 + plant_icon = "" + +/datum/seed/flower/sunflower + name = "sunflowers" + seed_name = "sunflower" + display_name = "sunflowers" + packet_icon = "seed-sunflower" + products = list(/obj/item/weapon/grown/sunflower) + plant_icon = "sunflower" + + lifespan = 25 + maturation = 6 + growth_stages = 3 + +//Grapes/varieties +/datum/seed/grapes + name = "grapes" + seed_name = "grape" + display_name = "grapevines" + packet_icon = "seed-grapes" + mutants = list("greengrapes") + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/grapes) + plant_icon = "grape" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10), "sugar" = list(1,5)) + + lifespan = 50 + maturation = 3 + production = 5 + yield = 4 + potency = 10 + +/datum/seed/grapes/green + name = "greengrapes" + seed_name = "green grape" + display_name = "green grapevines" + packet_icon = "seed-greengrapes" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes) + mutants = null + plant_icon = "greengrape" + chems = list("nutriment" = list(1,10), "kelotane" = list(3,5)) + +//Everything else +/datum/seed/peanuts + name = "peanut" + seed_name = "peanut" + display_name = "peanut vines" + packet_icon = "seed-peanut" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/peanut) + plant_icon = "peanut" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 55 + maturation = 6 + production = 6 + yield = 6 + potency = 10 + +/datum/seed/cabbage + name = "cabbage" + seed_name = "cabbage" + display_name = "cabbages" + packet_icon = "seed-cabbage" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage) + plant_icon = "cabbage" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10)) + + lifespan = 50 + maturation = 3 + production = 5 + yield = 4 + potency = 10 + growth_stages = 1 + +/datum/seed/shand + name = "shand" + seed_name = "S'randar's hand" + display_name = "S'randar's hand leaves" + packet_icon = "seed-shand" + products = list(/obj/item/stack/medical/bruise_pack/tajaran) + plant_icon = "shand" + chems = list("bicaridine" = list(0,10)) + + lifespan = 50 + maturation = 3 + production = 5 + yield = 4 + potency = 10 + growth_stages = 3 + +/datum/seed/mtear + name = "mtear" + seed_name = "Messa's tear" + display_name = "Messa's tear leaves" + packet_icon = "seed-mtear" + products = list(/obj/item/stack/medical/ointment/tajaran) + plant_icon = "mtear" + chems = list("honey" = list(1,10), "kelotane" = list(3,5)) + + lifespan = 50 + maturation = 3 + production = 5 + yield = 4 + potency = 10 + growth_stages = 3 + +/datum/seed/banana + name = "banana" + seed_name = "banana" + display_name = "banana tree" + packet_icon = "seed-banana" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/banana) + plant_icon = "banana" + harvest_repeat = 1 + chems = list("banana" = list(1,10)) + + lifespan = 50 + maturation = 6 + production = 6 + yield = 3 + +/datum/seed/corn + name = "corn" + seed_name = "corn" + display_name = "ears of corn" + packet_icon = "seed-corn" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/corn) + plant_icon = "corn" + chems = list("nutriment" = list(1,10)) + + lifespan = 25 + maturation = 8 + production = 6 + yield = 3 + potency = 20 + growth_stages = 3 + +/datum/seed/potato + name = "potato" + seed_name = "potato" + display_name = "potatoes" + packet_icon = "seed-potato" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/potato) + plant_icon = "potato" + chems = list("nutriment" = list(1,10)) + + lifespan = 30 + maturation = 10 + production = 1 + yield = 4 + potency = 10 + growth_stages = 4 + +/datum/seed/soybean + name = "soybean" + seed_name = "soybean" + display_name = "soybeans" + packet_icon = "seed-soybean" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans) + plant_icon = "soybean" + harvest_repeat = 1 + chems = list("nutriment" = list(1,20)) + + lifespan = 25 + maturation = 4 + production = 4 + yield = 3 + potency = 5 + +/datum/seed/wheat + name = "wheat" + seed_name = "wheat" + display_name = "wheat stalks" + packet_icon = "seed-wheat" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/wheat) + plant_icon = "wheat" + chems = list("nutriment" = list(1,25)) + + lifespan = 25 + maturation = 6 + production = 1 + yield = 4 + potency = 5 + +/datum/seed/rice + name = "rice" + seed_name = "rice" + display_name = "rice stalks" + packet_icon = "seed-rice" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk) + plant_icon = "rice" + chems = list("nutriment" = list(1,25)) + + lifespan = 25 + maturation = 6 + production = 1 + yield = 4 + potency = 5 + growth_stages = 4 + +/datum/seed/carrots + name = "carrot" + seed_name = "carrot" + display_name = "carrots" + packet_icon = "seed-carrot" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/carrot) + plant_icon = "carrot" + chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5)) + + lifespan = 25 + maturation = 10 + production = 1 + yield = 5 + potency = 10 + growth_stages = 3 + +/datum/seed/weeds + name = "weeds" + seed_name = "weed" + display_name = "weeds" + packet_icon = "seed-ambrosiavulgaris" + plant_icon = "weeds" + + lifespan = 100 + maturation = 5 + production = 1 + yield = -1 + potency = -1 + growth_stages = 4 + immutable = -1 + +/datum/seed/whitebeets + name = "whitebeet" + seed_name = "white-beet" + display_name = "white-beets" + packet_icon = "seed-whitebeet" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet) + plant_icon = "whitebeet" + chems = list("nutriment" = list(0,20), "sugar" = list(1,5)) + + lifespan = 60 + maturation = 6 + production = 6 + yield = 6 + potency = 10 + +/datum/seed/sugarcane + name = "sugarcane" + seed_name = "sugarcane" + display_name = "sugarcanes" + packet_icon = "seed-sugarcane" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane) + plant_icon = "sugarcane" + harvest_repeat = 1 + chems = list("sugar" = list(4,5)) + + lifespan = 60 + maturation = 3 + production = 6 + yield = 4 + potency = 10 + growth_stages = 3 + +/datum/seed/watermelon + name = "watermelon" + seed_name = "watermelon" + display_name = "watermelon vine" + packet_icon = "seed-watermelon" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon) + plant_icon = "watermelon" + harvest_repeat = 1 + chems = list("nutriment" = list(1,6)) + + lifespan = 50 + maturation = 6 + production = 6 + yield = 3 + potency = 1 + +/datum/seed/pumpkin + name = "pumpkin" + seed_name = "pumpkin" + display_name = "pumpkin vine" + packet_icon = "seed-pumpkin" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin) + plant_icon = "pumpkin" + harvest_repeat = 1 + chems = list("nutriment" = list(1,6)) + + lifespan = 50 + maturation = 6 + production = 6 + yield = 3 + potency = 10 + growth_stages = 3 + +/datum/seed/lime + name = "lime" + seed_name = "lime" + display_name = "lime trees" + packet_icon = "seed-lime" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/lime) + plant_icon = "lime" + harvest_repeat = 1 + chems = list("nutriment" = list(1,20)) + + lifespan = 55 + maturation = 6 + production = 6 + yield = 4 + potency = 15 + +/datum/seed/lemon + name = "lemon" + seed_name = "lemon" + display_name = "lemon trees" + packet_icon = "seed-lemon" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/lemon) + plant_icon = "lemon" + harvest_repeat = 1 + chems = list("nutriment" = list(1,20)) + + lifespan = 55 + maturation = 6 + production = 6 + yield = 4 + potency = 10 + +/datum/seed/orange + name = "orange" + seed_name = "orange" + display_name = "orange trees" + packet_icon = "seed-orange" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/orange) + plant_icon = "orange" + harvest_repeat = 1 + chems = list("nutriment" = list(1,20)) + + lifespan = 60 + maturation = 6 + production = 6 + yield = 5 + potency = 1 + +/datum/seed/grass + name = "grass" + seed_name = "grass" + display_name = "grass" + packet_icon = "seed-grass" + products = list(/obj/item/stack/tile/grass) + plant_icon = "grass" + harvest_repeat = 1 + + lifespan = 60 + maturation = 2 + production = 5 + yield = 5 + growth_stages = 2 + +/datum/seed/cocoa + name = "cocoa" + seed_name = "cacao" + display_name = "cacao tree" + packet_icon = "seed-cocoapod" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod) + plant_icon = "cocoapod" + harvest_repeat = 1 + chems = list("nutriment" = list(1,10), "coco" = list(4,5)) + + lifespan = 20 + maturation = 5 + production = 5 + yield = 2 + potency = 10 + growth_stages = 5 + +/datum/seed/cherries + name = "cherry" + seed_name = "cherry" + seed_noun = "pits" + display_name = "cherry tree" + packet_icon = "seed-cherry" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cherries) + plant_icon = "cherry" + harvest_repeat = 1 + chems = list("nutriment" = list(1,15), "sugar" = list(1,15)) + + lifespan = 35 + maturation = 5 + production = 5 + yield = 3 + potency = 10 + growth_stages = 5 + +/datum/seed/kudzu + name = "kudzu" + seed_name = "kudzu" + display_name = "kudzu vines" + packet_icon = "seed-kudzu" + products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod) + plant_icon = "kudzu" + product_colour = "#96D278" + chems = list("nutriment" = list(1,50), "anti_toxin" = list(1,25)) + + lifespan = 20 + maturation = 6 + production = 6 + yield = 4 + potency = 10 + growth_stages = 4 + spread = 2 + +/datum/seed/diona + name = "diona" + seed_name = "diona" + seed_noun = "nodes" + display_name = "replicant pods" + packet_icon = "seed-replicapod" + products = list(/mob/living/carbon/monkey/diona) + plant_icon = "replicapod" + product_requires_player = 1 + immutable = 1 + + lifespan = 50 + endurance = 8 + maturation = 5 + production = 10 + yield = 1 + potency = 30 + +/datum/seed/clown + name = "clown" + seed_name = "clown" + seed_noun = "pods" + display_name = "laughing clowns" + packet_icon = "seed-replicapod" + products = list(/mob/living/simple_animal/hostile/retaliate/clown) + plant_icon = "replicapod" + product_requires_player = 1 + + lifespan = 100 + endurance = 8 + maturation = 1 + production = 1 + yield = 10 + potency = 30 + +/datum/seed/test + name = "test" + seed_name = "testing" + seed_noun = "data" + display_name = "runtimes" + packet_icon = "seed-replicapod" + products = list(/mob/living/simple_animal/cat/Runtime) + plant_icon = "replicapod" + + requires_nutrients = 0 + nutrient_consumption = 0 + requires_water = 0 + water_consumption = 0 + pest_tolerance = 11 + weed_tolerance = 11 + lifespan = 1000 + endurance = 100 + maturation = 1 + production = 1 + yield = 1 + potency = 1 \ No newline at end of file diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm new file mode 100644 index 00000000000..5ab37d0ccf1 --- /dev/null +++ b/code/modules/hydroponics/seed_machines.dm @@ -0,0 +1,338 @@ +/obj/item/weapon/disk/botany + name = "flora data disk" + desc = "A small disk used for carrying data on plant genetics." + icon = 'icons/obj/hydroponics.dmi' + icon_state = "disk" + w_class = 1.0 + + var/list/genes = list() + var/genesource = "unknown" + +/obj/item/weapon/disk/botany/New() + ..() + pixel_x = rand(-5,5) + pixel_y = rand(-5,5) + +/obj/item/weapon/disk/botany/attack_self(var/mob/user as mob) + if(genes.len) + var/choice = alert(user, "Are you sure you want to wipe the disk?", "Xenobotany Data", "No", "Yes") + if(src && user && genes && choice == "Yes") + user << "You wipe the disk data." + name = initial(name) + desc = initial(name) + genes = list() + genesource = "unknown" + +/obj/item/weapon/storage/box/botanydisk + name = "flora disk box" + desc = "A box of flora data disks, apparently." + +/obj/item/weapon/storage/box/botanydisk/New() + ..() + for(var/i = 0;i<7;i++) + new /obj/item/weapon/disk/botany(src) + +/obj/machinery/botany + icon = 'icons/obj/hydroponics.dmi' + icon_state = "hydrotray3" + density = 1 + anchored = 1 + use_power = 1 + + var/obj/item/seeds/seed // Currently loaded seed packet. + var/obj/item/weapon/disk/botany/loaded_disk //Currently loaded data disk. + + var/open = 0 + var/active = 0 + var/action_time = 100 + var/last_action = 0 + var/eject_disk = 0 + var/failed_task = 0 + var/disk_needs_genes = 0 + +/obj/machinery/botany/process() + + ..() + if(!active) return + + if(world.time > last_action + action_time) + finished_task() + +/obj/machinery/botany/attack_paw(mob/user as mob) + return attack_hand(user) + +/obj/machinery/botany/attack_ai(mob/user as mob) + return attack_hand(user) + +/obj/machinery/botany/attack_hand(mob/user as mob) + ui_interact(user) + +/obj/machinery/botany/proc/finished_task() + active = 0 + if(failed_task) + failed_task = 0 + visible_message("\icon[src] [src] pings unhappily, flashing a red warning light.") + else + visible_message("\icon[src] [src] pings happily.") + + if(eject_disk) + eject_disk = 0 + if(loaded_disk) + loaded_disk.loc = get_turf(src) + visible_message("\icon[src] [src] beeps and spits out [loaded_disk].") + loaded_disk = null + +/obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/seeds)) + if(seed) + user << "There is already a seed loaded." + return + var/obj/item/seeds/S =W + if(S.seed && S.seed.immutable > 0) + user << "That seed is not compatible with our genetics technology." + else + user.drop_item(W) + W.loc = src + seed = W + user << "You load [W] into [src]." + return + + if(istype(W,/obj/item/weapon/screwdriver)) + open = !open + user << "\blue You [open ? "open" : "close"] the maintenance panel." + return + + if(open) + if(istype(W, /obj/item/weapon/crowbar)) + dismantle() + return + + if(istype(W,/obj/item/weapon/disk/botany)) + if(loaded_disk) + user << "There is already a data disk loaded." + return + else + var/obj/item/weapon/disk/botany/B = W + + if(B.genes && B.genes.len) + if(!disk_needs_genes) + user << "That disk already has gene data loaded." + return + else + if(disk_needs_genes) + user << "That disk does not have any gene data loaded." + return + + user.drop_item(W) + W.loc = src + loaded_disk = W + user << "You load [W] into [src]." + + return + ..() + +// Allows for a trait to be extracted from a seed packet, destroying that seed. +/obj/machinery/botany/extractor + name = "lysis-isolation centrifuge" + icon_state = "traitcopier" + + var/datum/seed/genetics // Currently scanned seed genetic structure. + var/degradation = 0 // Increments with each scan, stops allowing gene mods after a certain point. + +/obj/machinery/botany/extractor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + + if(!user) + return + + var/list/data = list() + + var/list/geneMasks[0] + for(var/gene_tag in gene_tag_masks) + geneMasks.Add(list(list("tag" = gene_tag, "mask" = gene_tag_masks[gene_tag]))) + data["geneMasks"] = geneMasks + + data["activity"] = active + data["degradation"] = degradation + + if(loaded_disk) + data["disk"] = 1 + else + data["disk"] = 0 + + if(seed) + data["loaded"] = "[seed.name]" + else + data["loaded"] = 0 + + if(genetics) + data["hasGenetics"] = 1 + data["sourceName"] = genetics.display_name + if(!genetics.roundstart) + data["sourceName"] += " (variety #[genetics.uid])" + else + data["hasGenetics"] = 0 + data["sourceName"] = 0 + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "botany_isolator.tmpl", "Lysis-isolation Centrifuge UI", 470, 450) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/botany/Topic(href, href_list) + + if(..()) + return 1 + + if(href_list["eject_packet"]) + if(!seed) return + seed.loc = get_turf(src) + + if(seed.seed.name == "new line" || isnull(seed_types[seed.seed.name])) + seed.seed.uid = seed_types.len + 1 + seed.seed.name = "[seed.seed.uid]" + seed_types[seed.seed.name] = seed.seed + + seed.update_seed() + visible_message("\icon[src] [src] beeps and spits out [seed].") + + seed = null + + if(href_list["eject_disk"]) + if(!loaded_disk) return + loaded_disk.loc = get_turf(src) + visible_message("\icon[src] [src] beeps and spits out [loaded_disk].") + loaded_disk = null + + usr.set_machine(src) + src.add_fingerprint(usr) + +/obj/machinery/botany/extractor/Topic(href, href_list) + + if(..()) + return 1 + + usr.set_machine(src) + src.add_fingerprint(usr) + + if(href_list["scan_genome"]) + + if(!seed) return + + last_action = world.time + active = 1 + + if(seed && seed.seed) + genetics = seed.seed + degradation = 0 + + del(seed) + seed = null + + if(href_list["get_gene"]) + + if(!genetics || !loaded_disk) return + + last_action = world.time + active = 1 + + var/datum/plantgene/P = genetics.get_gene(href_list["get_gene"]) + if(!P) return + loaded_disk.genes += P + + loaded_disk.genesource = "[genetics.display_name]" + if(!genetics.roundstart) + loaded_disk.genesource += " (variety #[genetics.uid])" + + loaded_disk.name += " ([gene_tag_masks[href_list["get_gene"]]], #[genetics.uid])" + loaded_disk.desc += " The label reads \'gene [gene_tag_masks[href_list["get_gene"]]], sampled from [genetics.display_name]\'." + eject_disk = 1 + + degradation += rand(20,60) + if(degradation >= 100) + failed_task = 1 + genetics = null + degradation = 0 + + if(href_list["clear_buffer"]) + if(!genetics) return + genetics = null + degradation = 0 + + src.updateUsrDialog() + return + +// Fires an extracted trait into another packet of seeds with a chance +// of destroying it based on the size/complexity of the plasmid. +/obj/machinery/botany/editor + name = "bioballistic delivery system" + icon_state = "traitgun" + disk_needs_genes = 1 + +/obj/machinery/botany/editor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + + if(!user) + return + + var/list/data = list() + + data["activity"] = active + + if(seed) + data["degradation"] = seed.modified + else + data["degradation"] = 0 + + if(loaded_disk && loaded_disk.genes.len) + data["disk"] = 1 + data["sourceName"] = loaded_disk.genesource + data["locus"] = "" + + for(var/datum/plantgene/P in loaded_disk.genes) + if(data["locus"] != "") data["locus"] += ", " + data["locus"] += "[gene_tag_masks[P.genetype]]" + + else + data["disk"] = 0 + data["sourceName"] = 0 + data["locus"] = 0 + + if(seed) + data["loaded"] = "[seed.name]" + else + data["loaded"] = 0 + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "botany_editor.tmpl", "Bioballistic Delivery UI", 470, 450) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/botany/editor/Topic(href, href_list) + + if(..()) + return 1 + + if(href_list["apply_gene"]) + if(!loaded_disk || !seed) return + + last_action = world.time + active = 1 + + if(!isnull(seed_types[seed.seed.name])) + seed.seed = seed.seed.diverge(1) + seed.seed_type = seed.seed.name + seed.update_seed() + + if(prob(seed.modified)) + failed_task = 1 + seed.modified = 101 + + for(var/datum/plantgene/gene in loaded_disk.genes) + seed.seed.apply_gene(gene) + seed.modified += rand(5,10) + + usr.set_machine(src) + src.add_fingerprint(usr) \ No newline at end of file diff --git a/code/modules/hydroponics/seed_mobs.dm b/code/modules/hydroponics/seed_mobs.dm new file mode 100644 index 00000000000..0bb301298a5 --- /dev/null +++ b/code/modules/hydroponics/seed_mobs.dm @@ -0,0 +1,80 @@ +/datum/seed + var/product_requires_player // If yes, product will ask for a player among the ghosts. + var/list/currently_querying // Used to avoid asking the same ghost repeatedly. + +// The following procs are used to grab players for mobs produced by a seed (mostly for dionaea). +/datum/seed/proc/handle_living_product(var/mob/living/host) + + if(!host || !istype(host)) return + + if(product_requires_player) + spawn(0) + request_player(host) + spawn(75) + if(!host.ckey && !host.client) + host.death() // This seems redundant, but a lot of mobs don't + host.stat = 2 // handle death() properly. Better safe than etc. + host.visible_message("\red [host] is malformed and unable to survive. It expires pitifully, leaving behind some seeds.") + + var/total_yield = rand(1,3) + for(var/j = 0;j<=total_yield;j++) + var/obj/item/seeds/S = new(get_turf(host)) + S.seed_type = name + S.update_seed() + +/datum/seed/proc/request_player(var/mob/living/host) + if(!host) return + for(var/mob/dead/observer/O in player_list) + if(jobban_isbanned(O, "Dionaea") || (!is_alien_whitelisted(src, "Diona") && config.usealienwhitelist)) + continue + if(O.client) + if(O.client.prefs.be_special & BE_PLANT && !(O.client in currently_querying)) + currently_querying |= O.client + question(O.client,host) + +/datum/seed/proc/question(var/client/C,var/mob/living/host) + spawn(0) + + if(!C || !host || !(C.mob && istype(C.mob,/mob/dead))) return // We don't want to spam them repeatedly if they're already in a mob. + + var/response = alert(C, "Someone is harvesting [display_name]. Would you like to play as one?", "Sentient plant harvest", "Yes", "No", "Never for this round.") + + if(!C || !host || !(C.mob && istype(C.mob,/mob/dead))) return // ...or accidentally accept an invalid argument for transfer. + + if(response == "Yes") + transfer_personality(C,host) + else if (response == "Never for this round") + C.prefs.be_special ^= BE_PLANT + + currently_querying -= C + +/datum/seed/proc/transfer_personality(var/client/player,var/mob/living/host) + + //Something is wrong, abort. + if(!player || !host) return + + //Host already has a controller, pike off slowpoke. + if(host.client && host.ckey) return + + //Transfer them over. + host.ckey = player.ckey + if(player.mob && player.mob.mind) + player.mob.mind.transfer_to(host) + + if(host.dna) host.dna.real_name = host.real_name + + // Update mode specific HUD icons. + callHook("harvest_podman", list(host)) + + host << "\green You awaken slowly, stirring into sluggish motion as the air caresses you." + + // This is a hack, replace with some kind of species blurb proc. + if(istype(host,/mob/living/carbon/monkey/diona)) + host << "You are [host], one of a race of drifting interstellar plantlike creatures that sometimes share their seeds with human traders." + host << "Too much darkness will send you into shock and starve you, but light will help you heal." + + var/newname = input(host,"Enter a name, or leave blank for the default name.", "Name change","") as text + newname = sanitize(newname) + if (newname != "") + host.real_name = newname + host.name = host.real_name \ No newline at end of file diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm new file mode 100644 index 00000000000..48d61cb6724 --- /dev/null +++ b/code/modules/hydroponics/seeds.dm @@ -0,0 +1,243 @@ +//Seed packet object/procs. +/obj/item/seeds + name = "packet of seeds" + icon = 'icons/obj/seeds.dmi' + icon_state = "seed" + flags = FPRINT | TABLEPASS + w_class = 2.0 + + var/seed_type + var/datum/seed/seed + var/modified = 0 + +/obj/item/seeds/New() + update_seed() + ..() + +//Grabs the appropriate seed datum from the global list. +/obj/item/seeds/proc/update_seed() + if(!seed && seed_type && !isnull(seed_types) && seed_types[seed_type]) + seed = seed_types[seed_type] + update_appearance() + +//Updates strings and icon appropriately based on seed datum. +/obj/item/seeds/proc/update_appearance() + if(!seed) return + icon_state = seed.packet_icon + src.name = "packet of [seed.seed_name] [seed.seed_noun]" + src.desc = "It has a picture of [seed.display_name] on the front." + +/obj/item/seeds/examine() + ..() + if(seed && !seed.roundstart) + usr << "It's tagged as variety #[seed.uid]." + else + usr << "Plant Yield: [(seed.yield != -1) ? seed.yield : " ERROR"]" + usr << "Plant Potency: [(seed.potency != -1) ? seed.potency : "[user.name] frees [buckled_mob.name] from [src].",\ + "[user.name] frees you from [src].",\ + "You hear shredding and ripping.") + else + buckled_mob.visible_message(\ + "[buckled_mob.name] struggles free of [src].",\ + "You untangle [src] from around yourself.",\ + "You hear shredding and ripping.") + unbuckle() + else + var/text = pick("rips","tears","pulls") + user.visible_message(\ + "[user.name] [text] at [src].",\ + "You [text] at [src].",\ + "You hear shredding and ripping.") + return + +/obj/effect/plantsegment/proc/grow() + + if(!energy) + src.icon_state = pick("Med1", "Med2", "Med3") + energy = 1 + + //Low-lying creepers do not block vision or grow thickly. + if(limited_growth) + energy = 2 + return + + src.opacity = 1 + layer = 5 + else if(!limited_growth) + src.icon_state = pick("Hvy1", "Hvy2", "Hvy3") + energy = 2 + +/obj/effect/plantsegment/proc/entangle_mob() + + if(limited_growth) + return + + if(prob(seed ? seed.potency : 25)) + + if(!buckled_mob) + var/mob/living/carbon/V = locate() in src.loc + if(V && (V.stat != DEAD) && (V.buckled != src)) // If mob exists and is not dead or captured. + V.buckled = src + V.loc = src.loc + V.update_canmove() + src.buckled_mob = V + V << "The vines [pick("wind", "tangle", "tighten")] around you!" + + // FEED ME, SEYMOUR. + if(buckled_mob && seed && (buckled_mob.stat != DEAD)) //Don't bother with a dead mob. + + var/mob/living/M = buckled_mob + if(!istype(M)) return + var/mob/living/carbon/human/H = buckled_mob + + // Drink some blood/cause some brute. + if(seed.carnivorous == 2) + buckled_mob << "\The [src] pierces your flesh greedily!" + + var/damage = rand(round(seed.potency/2),seed.potency) + if(!istype(H)) + H.adjustBruteLoss(damage) + return + + var/datum/organ/external/affecting = H.get_organ(pick("l_foot","r_foot","l_leg","r_leg","l_hand","r_hand","l_arm", "r_arm","head","chest","groin")) + + if(affecting) + affecting.take_damage(damage, 0) + if(affecting.parent) + affecting.parent.add_autopsy_data("[plant_damage_noun]", damage) + else + H.adjustBruteLoss(damage) + + H.UpdateDamageIcon() + H.updatehealth() + + // Inject some chems. + if(seed.chems && seed.chems.len && istype(H)) + H << "You feel something seeping into your skin!" + for(var/rid in seed.chems) + var/injecting = min(5,max(1,seed.potency/5)) + H.reagents.add_reagent(rid,injecting) + +/obj/effect/plantsegment/proc/update() + if(!seed) return + + // Update bioluminescence. + if(seed.biolum) + SetLuminosity(1+round(seed.potency/10)) + if(seed.biolum_colour) + l_color = seed.biolum_colour + else + l_color = null + return + else + SetLuminosity(0) + + // Update flower/product overlay. + overlays.Cut() + if(age >= seed.maturation) + if(prob(20) && seed.products && seed.products.len && !harvest && ((age-lastproduce) > seed.production)) + harvest = 1 + lastproduce = age + + if(harvest) + var/image/fruit_overlay = image('icons/obj/hydroponics.dmi',"") + if(seed.product_colour) + fruit_overlay.color = seed.product_colour + overlays += fruit_overlay + + if(seed.flowers) + var/image/flower_overlay = image('icons/obj/hydroponics.dmi',"[seed.flower_icon]") + if(seed.flower_colour) + flower_overlay.color = seed.flower_colour + overlays += flower_overlay + +/obj/effect/plantsegment/proc/spread() + var/direction = pick(cardinal) + var/step = get_step(src,direction) + if(istype(step,/turf/simulated/floor)) + var/turf/simulated/floor/F = step + if(!locate(/obj/effect/plantsegment,F)) + if(F.Enter(src)) + if(master) + master.spawn_piece( F ) + +// Explosion damage. +/obj/effect/plantsegment/ex_act(severity) + switch(severity) + if(1.0) + die() + return + if(2.0) + if (prob(90)) + die() + return + if(3.0) + if (prob(50)) + die() + return + return + +// Hotspots kill vines. +/obj/effect/plantsegment/fire_act(null, temp, volume) + del src + +/obj/effect/plantsegment/proc/die() + if(seed && harvest) + if(rand(5))seed.harvest(src,1) + del(src) + +/obj/effect/plantsegment/proc/life() + + if(!seed) + return + + if(prob(30)) + age++ + + var/turf/T = loc + var/datum/gas_mixture/environment + if(T) environment = T.return_air() + + if(!environment) + return + + var/pressure = environment.return_pressure() + if(pressure < seed.lowkpa_tolerance || pressure > seed.highkpa_tolerance) + die() + return + + if(abs(environment.temperature - seed.ideal_heat) > seed.heat_tolerance) + die() + return + + var/area/A = T.loc + if(A) + var/light_available + if(A.lighting_use_dynamic) + light_available = max(0,min(10,T.lighting_lumcount)-5) + else + light_available = 5 + if(abs(light_available - seed.ideal_light) > seed.light_tolerance) + die() + return + +/obj/effect/plant_controller + + //What this does is that instead of having the grow minimum of 1, required to start growing, the minimum will be 0, + //meaning if you get the spacevines' size to something less than 20 plots, it won't grow anymore. + + var/list/obj/effect/plantsegment/vines = list() + var/list/growth_queue = list() + var/reached_collapse_size + var/reached_slowdown_size + var/datum/seed/seed + + var/collapse_limit = 250 + var/slowdown_limit = 30 + var/limited_growth = 0 + +/obj/effect/plant_controller/creeper + collapse_limit = 6 + slowdown_limit = 3 + limited_growth = 1 + +/obj/effect/plant_controller/New() + if(!istype(src.loc,/turf/simulated/floor)) + del(src) + + spawn(0) + spawn_piece(src.loc) + + processing_objects.Add(src) + +/obj/effect/plant_controller/Del() + processing_objects.Remove(src) + ..() + +/obj/effect/plant_controller/proc/spawn_piece(var/turf/location) + var/obj/effect/plantsegment/SV = new(location) + SV.limited_growth = src.limited_growth + growth_queue += SV + vines += SV + SV.master = src + if(seed) + SV.seed = seed + SV.name = "[seed.seed_name] vines" + SV.update() + +/obj/effect/plant_controller/process() + + // Space vines exterminated. Remove the controller + if(!vines) + del(src) + return + + // Sanity check. + if(!growth_queue) + del(src) + return + + // Check if we're too big for our own good. + if(vines.len >= (seed ? seed.potency * collapse_limit : 250) && !reached_collapse_size) + reached_collapse_size = 1 + if(vines.len >= (seed ? seed.potency * slowdown_limit : 30) && !reached_slowdown_size ) + reached_slowdown_size = 1 + + var/length = 0 + if(reached_collapse_size) + length = 0 + else if(reached_slowdown_size) + if(prob(seed ? seed.potency : 25)) + length = 1 + else + length = 0 + else + length = 1 + + length = min(30, max(length, vines.len/5)) + + // Update as many pieces of vine as we're allowed to. + // Append updated vines to the end of the growth queue. + var/i = 0 + var/list/obj/effect/plantsegment/queue_end = list() + for(var/obj/effect/plantsegment/SV in growth_queue) + i++ + queue_end += SV + growth_queue -= SV + + SV.life() + + if(SV.energy < 2) //If tile isn't fully grown + var/chance + if(seed) + chance = limited_growth ? round(seed.potency/2,1) : seed.potency + else + chance = 20 + + if(prob(chance)) + SV.grow() + + else if(!seed || !limited_growth) //If tile is fully grown and not just a creeper. + SV.entangle_mob() + + SV.update() + SV.spread() + if(i >= length) + break + + growth_queue = growth_queue + queue_end \ No newline at end of file diff --git a/code/modules/maps/spawners/spawners.dm b/code/modules/maps/spawners/spawners.dm index bbdde50608b..9e2ef96e8e9 100644 --- a/code/modules/maps/spawners/spawners.dm +++ b/code/modules/maps/spawners/spawners.dm @@ -746,7 +746,7 @@ /obj/item/weapon/reagent_containers/food/snacks/clownburger, /obj/item/weapon/reagent_containers/food/snacks/mysterysoup, /obj/item/weapon/reagent_containers/food/snacks/donut/chaos, - /obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chilli, + //obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chilli, /obj/item/weapon/reagent_containers/food/snacks/wingfangchu, /obj/item/weapon/reagent_containers/food/snacks/soylentgreen, /obj/item/weapon/reagent_containers/food/snacks/bearmeat, @@ -876,7 +876,6 @@ /obj/item/seeds/bluespacetomatoseed, /obj/item/seeds/cabbageseed, /obj/item/seeds/carrotseed, - /obj/item/seeds/cashseed, /obj/item/seeds/chantermycelium, /obj/item/seeds/cherryseed, /obj/item/seeds/chiliseed, @@ -895,14 +894,14 @@ /obj/item/seeds/harebell, /obj/item/seeds/icepepperseed, /obj/item/seeds/killertomatoseed, - /obj/item/seeds/koiseed, + //obj/item/seeds/koiseed, /obj/item/seeds/kudzuseed, /obj/item/seeds/lemonseed, /obj/item/seeds/libertymycelium, /obj/item/seeds/limeseed, - /obj/item/seeds/moonflowerseed, + //obj/item/seeds/moonflowerseed, /obj/item/seeds/nettleseed, - /obj/item/seeds/novaflowerseed, + //obj/item/seeds/novaflowerseed, /obj/item/seeds/orangeseed, /obj/item/seeds/plastiseed, /obj/item/seeds/plumpmycelium, @@ -917,9 +916,9 @@ /obj/item/seeds/soyaseed, /obj/item/seeds/sugarcaneseed, /obj/item/seeds/sunflowerseed, - /obj/item/seeds/synthbrainseed, - /obj/item/seeds/synthbuttseed, - /obj/item/seeds/synthmeatseed, + //obj/item/seeds/synthbrainseed, + //obj/item/seeds/synthbuttseed, + //obj/item/seeds/synthmeatseed, /obj/item/seeds/tomatoseed, /obj/item/seeds/towermycelium, /obj/item/seeds/walkingmushroommycelium, diff --git a/code/modules/mining/abandoned_crates/bay12.dm b/code/modules/mining/abandoned_crates/bay12.dm index 596e861764d..4bc35a3352b 100644 --- a/code/modules/mining/abandoned_crates/bay12.dm +++ b/code/modules/mining/abandoned_crates/bay12.dm @@ -28,7 +28,7 @@ New() ..() for(var/i = 0, i < 3, i++) - new/obj/machinery/hydroponics(src) + new/obj/machinery/portable_atmospherics/hydroponics(src) /obj/structure/closet/crate/secure/loot/bay_06 New() ..() diff --git a/code/modules/mining/surprises/tg.dm b/code/modules/mining/surprises/tg.dm index 40595989633..ed8b03ab46e 100644 --- a/code/modules/mining/surprises/tg.dm +++ b/code/modules/mining/surprises/tg.dm @@ -171,13 +171,13 @@ spawntypes = list( /obj/item/weapon/gun/energy/floragun=1, - /obj/item/seeds/novaflowerseed=2, + //obj/item/seeds/novaflowerseed=2, /obj/item/seeds/bluespacetomatoseed=2 ) fluffitems = list( // /obj/structure/flora/kirbyplants=1, /obj/structure/table/reinforced=2, - /obj/machinery/hydroponics=1, + /obj/machinery/portable_atmospherics/hydroponics=1, /obj/effect/glowshroom/single=2, /obj/item/weapon/reagent_containers/syringe/antitoxin=2, /obj/item/weapon/reagent_containers/glass/bottle/diethylamine=3, diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 46511b30399..7cd17f06e9d 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -11,7 +11,7 @@ throw_range = 5 origin_tech = "biotech=3" attack_verb = list("attacked", "slapped", "whacked") - nonplant_seed_type = /obj/item/seeds/synthbrainseed + var/mob/living/carbon/brain/brainmob = null diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index bc66e2c8cae..21463bf083e 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -81,11 +81,11 @@ set desc = "Turn your food into nutrients for plants." var/list/trays = list() - for(var/obj/machinery/hydroponics/tray in range(1)) + for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1)) if(tray.nutrilevel < 10) trays += tray - var/obj/machinery/hydroponics/target = input("Select a tray:") as null|anything in trays + var/obj/machinery/portable_atmospherics/hydroponics/target = input("Select a tray:") as null|anything in trays if(!src || !target || target.nutrilevel == 10) return //Sanity check. @@ -100,11 +100,11 @@ set desc = "Clean the weeds out of soil or a hydroponics tray." var/list/trays = list() - for(var/obj/machinery/hydroponics/tray in range(1)) + for(var/obj/machinery/portable_atmospherics/hydroponics/tray in range(1)) if(tray.weedlevel > 0) trays += tray - var/obj/machinery/hydroponics/target = input("Select a tray:") as null|anything in trays + var/obj/machinery/portable_atmospherics/hydroponics/target = input("Select a tray:") as null|anything in trays if(!src || !target || target.weedlevel == 0) return //Sanity check. diff --git a/code/modules/mob/living/simple_animal/bees.dm b/code/modules/mob/living/simple_animal/bees.dm index 4aea7679d02..02f8264eeae 100644 --- a/code/modules/mob/living/simple_animal/bees.dm +++ b/code/modules/mob/living/simple_animal/bees.dm @@ -13,7 +13,7 @@ var/obj/machinery/apiary/parent pass_flags = PASSTABLE turns_per_move = 6 - var/obj/machinery/hydroponics/my_hydrotray + var/obj/machinery/portable_atmospherics/hydroponics/my_hydrotray // Allow final solutions. min_oxy = 5 @@ -166,10 +166,10 @@ turns_per_move = rand(1,3) else if(feral < 0) turns_since_move = 0 - else if(!my_hydrotray || my_hydrotray.loc != src.loc || !my_hydrotray.planted || my_hydrotray.dead || !my_hydrotray.myseed) - var/obj/machinery/hydroponics/my_hydrotray = locate() in src.loc + else if(!my_hydrotray || my_hydrotray.loc != src.loc || my_hydrotray.dead || !my_hydrotray.seed) + var/obj/machinery/portable_atmospherics/hydroponics/my_hydrotray = locate() in src.loc if(my_hydrotray) - if(my_hydrotray.planted && !my_hydrotray.dead && my_hydrotray.myseed) + if(!my_hydrotray.dead && my_hydrotray.seed) turns_per_move = rand(20,50) else my_hydrotray = null diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 0360fe1d4c3..baa6bb890fd 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -45,8 +45,8 @@ if(udder && prob(5)) udder.add_reagent("milk", rand(5, 10)) - if(locate(/obj/effect/spacevine) in loc) - var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc + if(locate(/obj/effect/plantsegment) in loc) + var/obj/effect/plantsegment/SV = locate(/obj/effect/plantsegment) in loc del(SV) if(prob(10)) say("Nom") @@ -55,7 +55,7 @@ for(var/direction in shuffle(list(1,2,4,8,5,6,9,10))) var/step = get_step(src, direction) if(step) - if(locate(/obj/effect/spacevine) in step) + if(locate(/obj/effect/plantsegment) in step) Move(step) /mob/living/simple_animal/hostile/retaliate/goat/Retaliate() @@ -65,8 +65,8 @@ /mob/living/simple_animal/hostile/retaliate/goat/Move() ..() if(!stat) - if(locate(/obj/effect/spacevine) in loc) - var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc + if(locate(/obj/effect/plantsegment) in loc) + var/obj/effect/plantsegment/SV = locate(/obj/effect/plantsegment) in loc del(SV) if(prob(10)) say("Nom") diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 57151b6d412..50b79e8ab44 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -631,8 +631,8 @@ var/global/mr_clean_targets = list( /obj/effect/decal/cleanable, /obj/effect/decal/mecha_wreckage, /obj/effect/decal/remains, - /obj/effect/spacevine, - /obj/effect/spacevine_controller, + /obj/effect/plantsegment, + /obj/effect/plant_controller, /obj/effect/biomass, /obj/effect/biomass_controller, /obj/effect/rune, diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index a919bff941b..9886315ed0d 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -47,49 +47,49 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","clu var/changetype=null var/next_changetype=0 - New() - ..() - processing_objects.Add(src) +/obj/item/weapon/gun/energy/staff/New() + ..() + processing_objects.Add(src) - Destroy() - processing_objects.Remove(src) - ..() +/obj/item/weapon/gun/energy/staff/Destroy() + processing_objects.Remove(src) + ..() - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(200) - return 1 +/obj/item/weapon/gun/energy/staff/process() + charge_tick++ + if(charge_tick < 4) return 0 + charge_tick = 0 + if(!power_supply) return 0 + power_supply.give(200) + return 1 - update_icon() +/obj/item/weapon/gun/energy/staff/update_icon() + return + +/obj/item/weapon/gun/energy/staff/load_into_chamber() + if(!..()) return 0 + var/obj/item/projectile/change/P=in_chamber + if(P && istype(P)) + P.changetype=changetype + return 1 + +/obj/item/weapon/gun/energy/staff/attack_self(var/mob/living/user) + if(world.time < next_changetype) + user << "[src] is still recharging." + return + var/selected = input("Select a form for your next victim","Staff of Change") as null|anything in list("random")+available_staff_transforms + if(!selected) return - load_into_chamber() - if(!..()) return 0 - var/obj/item/projectile/change/P=in_chamber - if(P && istype(P)) - P.changetype=changetype - return 1 - - attack_self(var/mob/living/user) - if(world.time < next_changetype) - user << "[src] is still recharging." - return - var/selected = input("Select a form for your next victim","Staff of Change") as null|anything in list("random")+available_staff_transforms - if(!selected) - return - - switch(selected) - if("random") - changetype=null - else - changetype=selected - user << "You have selected to make your next victim have a [selected] form." - next_changetype=world.time+SOC_CHANGETYPE_COOLDOWN + switch(selected) + if("random") + changetype=null + else + changetype=selected + user << "You have selected to make your next victim have a [selected] form." + next_changetype=world.time+SOC_CHANGETYPE_COOLDOWN /obj/item/weapon/gun/energy/staff/animate name = "staff of animation" @@ -110,42 +110,53 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","clu var/charge_tick = 0 var/mode = 0 //0 = mutate, 1 = yield boost - New() - ..() - processing_objects.Add(src) +/obj/item/weapon/gun/energy/floragun/New() + ..() + processing_objects.Add(src) - Destroy() - processing_objects.Remove(src) - ..() +/obj/item/weapon/gun/energy/floragun/Destroy() + processing_objects.Remove(src) + ..() - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 +/obj/item/weapon/gun/energy/floragun/process() + charge_tick++ + if(charge_tick < 4) return 0 + charge_tick = 0 + if(!power_supply) return 0 + power_supply.give(100) + update_icon() + return 1 - attack_self(mob/living/user as mob) - switch(mode) - if(0) - mode = 1 - charge_cost = 100 - user << "\red The [src.name] is now set to increase yield." - projectile_type = "/obj/item/projectile/energy/florayield" - modifystate = "florayield" - if(1) - mode = 0 - charge_cost = 100 - user << "\red The [src.name] is now set to induce mutations." - projectile_type = "/obj/item/projectile/energy/floramut" - modifystate = "floramut" - update_icon() +/obj/item/weapon/gun/energy/floragun/attack_self(mob/living/user as mob) + switch(mode) + if(0) + mode = 1 + charge_cost = 100 + user << "\red The [src.name] is now set to increase yield." + projectile_type = "/obj/item/projectile/energy/florayield" + modifystate = "florayield" + if(1) + mode = 0 + charge_cost = 100 + user << "\red The [src.name] is now set to induce mutations." + projectile_type = "/obj/item/projectile/energy/floramut" + modifystate = "floramut" + update_icon() + return + +/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, flag) + + if(flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics)) + var/obj/machinery/portable_atmospherics/hydroponics/tray = target + if(load_into_chamber()) + user.visible_message("\red \The [user] fires \the [src] into \the [tray]!") + Fire(target,user) return + ..() + /obj/item/weapon/gun/energy/meteorgun name = "meteor gun" desc = "For the love of god, make sure you're aiming this the right way!" @@ -159,24 +170,24 @@ var/available_staff_transforms=list("monkey","robot","slime","xeno","human","clu var/charge_tick = 0 var/recharge_time = 5 //Time it takes for shots to recharge (in ticks) - New() - ..() - processing_objects.Add(src) +/obj/item/weapon/gun/energy/meteorgun/New() + ..() + processing_objects.Add(src) - Destroy() - processing_objects.Remove(src) - ..() +/obj/item/weapon/gun/energy/meteorgun/Destroy() + processing_objects.Remove(src) + ..() - process() - charge_tick++ - if(charge_tick < recharge_time) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) +/obj/item/weapon/gun/energy/meteorgun/process() + charge_tick++ + if(charge_tick < recharge_time) return 0 + charge_tick = 0 + if(!power_supply) return 0 + power_supply.give(100) - update_icon() - return +/obj/item/weapon/gun/energy/meteorgun/update_icon() + return /obj/item/weapon/gun/energy/meteorgun/pen @@ -204,15 +215,15 @@ obj/item/weapon/gun/energy/staff/focus projectile_type = "/obj/item/projectile/forcebolt" charge_cost = 100 - attack_self(mob/living/user as mob) - if(projectile_type == "/obj/item/projectile/forcebolt") - charge_cost = 250 - user << "\red The [src.name] will now strike a small area." - projectile_type = "/obj/item/projectile/forcebolt/strong" - else - charge_cost = 100 - user << "\red The [src.name] will now strike only a single person." - projectile_type = "/obj/item/projectile/forcebolt" +obj/item/weapon/gun/energy/staff/focus/attack_self(mob/living/user as mob) + if(projectile_type == "/obj/item/projectile/forcebolt") + charge_cost = 250 + user << "\red The [src.name] will now strike a small area." + projectile_type = "/obj/item/projectile/forcebolt/strong" + else + charge_cost = 100 + user << "\red The [src.name] will now strike only a single person." + projectile_type = "/obj/item/projectile/forcebolt" /obj/item/weapon/gun/energy/kinetic_accelerator name = "proto-kinetic accelerator" @@ -255,29 +266,29 @@ obj/item/weapon/gun/energy/staff/focus charge_cost = 50 var/charge_tick = 0 - New() +/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg/New() ..() processing_objects.Add(src) - Destroy() +/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg/Destroy() processing_objects.Remove(src) ..() - process() //Every [recharge_time] ticks, recharge a shot for the cyborg - charge_tick++ - if(charge_tick < 3) return 0 - charge_tick = 0 +/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg + charge_tick++ + if(charge_tick < 3) return 0 + charge_tick = 0 - if(!power_supply) return 0 //sanity - if(isrobot(src.loc)) - var/mob/living/silicon/robot/R = src.loc - if(R && R.cell) - R.cell.use(charge_cost) //Take power from the borg... - power_supply.give(charge_cost) //... to recharge the shot + if(!power_supply) return 0 //sanity + if(isrobot(src.loc)) + var/mob/living/silicon/robot/R = src.loc + if(R && R.cell) + R.cell.use(charge_cost) //Take power from the borg... + power_supply.give(charge_cost) //... to recharge the shot - update_icon() - return 1 + update_icon() + return 1 /obj/item/weapon/gun/energy/radgun @@ -289,20 +300,20 @@ obj/item/weapon/gun/energy/staff/focus var/charge_tick = 0 projectile_type = "/obj/item/projectile/energy/rad" - New() - ..() - processing_objects.Add(src) +/obj/item/weapon/gun/energy/radgun/New() + ..() + processing_objects.Add(src) - Destroy() - processing_objects.Remove(src) - ..() +/obj/item/weapon/gun/energy/radgun/Destroy() + processing_objects.Remove(src) + ..() - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(100) - update_icon() - return 1 +/obj/item/weapon/gun/energy/radgun/process() + charge_tick++ + if(charge_tick < 4) return 0 + charge_tick = 0 + if(!power_supply) return 0 + power_supply.give(100) + update_icon() + return 1 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index f5c605b30bd..6357dfc780e 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1501,10 +1501,19 @@ datum alien_weeds.healthcheck() else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it del(O) - else if(istype(O,/obj/effect/spacevine)) + else if(istype(O,/obj/effect/plantsegment)) if(prob(50)) del(O) //Kills kudzu too. - // Damage that is done to growing plants is separately - // at code/game/machinery/hydroponics at obj/item/hydroponics + else if(istype(O,/obj/machinery/portable_atmospherics/hydroponics)) + var/obj/machinery/portable_atmospherics/hydroponics/tray = O + if(tray.seed) + tray.health -= rand(30,50) + if(tray.pestlevel > 0) + tray.pestlevel -= 2 + if(tray.weedlevel > 0) + tray.weedlevel -= 3 + tray.toxins += 4 + tray.check_level_sanity() + tray.update_icon() reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) src = null diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm index 37f64b821c9..954455756f4 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm @@ -1,4 +1,5 @@ + // *********************************************************** // Foods that are produced from hydroponics ~~~~~~~~~~ // Data from the seeds carry over to these grown foods @@ -7,17 +8,8 @@ //Grown foods //Subclass so we can pass on values /obj/item/weapon/reagent_containers/food/snacks/grown/ - var/seed = "" - var/plantname = "" - var/productname = "" - var/species = "" - var/lifespan = 0 - var/endurance = 0 - var/maturation = 0 - var/production = 0 - var/yield = 0 + var/plantname var/potency = -1 - var/plant_type = 0 icon = 'icons/obj/harvest.dmi' New(newloc,newpotency) if (!isnull(newpotency)) @@ -26,157 +18,69 @@ src.pixel_x = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5) -/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob) +/obj/item/weapon/reagent_containers/food/snacks/grown/New() ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - var/msg - msg = "*---------*\n This is \a [src]\n" - switch(plant_type) - if(0) - msg += "- Plant type: Normal plant\n" - if(1) - msg += "- Plant type: Weed\n" - if(2) - msg += "- Plant type: Mushroom\n" - // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\modules\reagents\reagent_containers\food\snacks\grown.dm:42: msg += "- Potency: [potency]\n" - msg += {"- Potency: [potency]\n - - Yield: [yield]\n - - Maturation speed: [maturation]\n - - Production speed: [production]\n - - Endurance: [endurance]\n - - Healing properties: [reagents.get_reagent_amount("nutriment")]\n - *---------*"} - // END AUTOFIX - usr << msg - return + //Handle some post-spawn var stuff. + spawn(1) + // Fill the object up with the appropriate reagents. + if(!isnull(plantname)) + var/datum/seed/S = seed_types[plantname] + if(!S || !S.chems) + return - /*if (istype(O, /obj/item/weapon/storage/bag/plants)) - var/obj/item/weapon/plantbag/S = O - if (S.mode == 1) - for(var/obj/item/G in get_turf(src)) - if(istype(G, /obj/item/seeds) || istype(G, /obj/item/weapon/reagent_containers/food/snacks/grown)) - if (S.contents.len < S.capacity) - S.contents += G - else - user << "\blue The plant bag is full." - return - user << "\blue You pick up all the plants and seeds." - else - if (S.contents.len < S.capacity) - S.contents += src; - else - user << "\blue The plant bag is full."*/ - return + potency = S.potency -/*/obj/item/seeds/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (istype(O, /obj/item/weapon/storage/bag/plants)) - var/obj/item/weapon/plantbag/S = O - if (S.mode == 1) - for(var/obj/item/G in get_turf(src)) - if(istype(G, /obj/item/seeds) || istype(G, /obj/item/weapon/reagent_containers/food/snacks/grown)) - if (S.contents.len < S.capacity) - S.contents += G - else - user << "\blue The plant bag is full." - return - user << "\blue You pick up all the plants and seeds." - else - if (S.contents.len < S.capacity) - S.contents += src; - else - user << "\blue The plant bag is full." - return*/ + for(var/rid in S.chems) + var/list/reagent_data = S.chems[rid] + var/rtotal = reagent_data[1] + if(reagent_data.len > 1 && potency > 0) + rtotal += round(potency/reagent_data[2]) + reagents.add_reagent(rid,max(1,rtotal)) -/obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob) - ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - var/msg - msg = "*---------*\n This is \a [src]\n" - switch(plant_type) - if(0) - msg += "- Plant type: Normal plant\n" - if(1) - msg += "- Plant type: Weed\n" - if(2) - msg += "- Plant type: Mushroom\n" - - // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\modules\reagents\reagent_containers\food\snacks\grown.dm:101: msg += "- Acid strength: [potency]\n" - msg += {"- Acid strength: [potency]\n - - Yield: [yield]\n - - Maturation speed: [maturation]\n - - Production speed: [production]\n - - Endurance: [endurance]\n - *---------*"} - // END AUTOFIX - usr << msg - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/corn - seed = "/obj/item/seeds/cornseed" - name = "ear of corn" - desc = "Needs some butter!" - icon_state = "corn" - potency = 40 - trash = /obj/item/weapon/corncob - - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) + if(reagents.total_volume > 0) bitesize = 1+round(reagents.total_volume / 2, 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/corn + name = "ear of corn" + desc = "Needs some butter!" + plantname = "corn" + icon_state = "corn" + potency = 40 + filling_color = "#FFEE00" + trash = /obj/item/weapon/corncob + /obj/item/weapon/reagent_containers/food/snacks/grown/cherries - seed = "/obj/item/seeds/cherryseed" name = "cherries" desc = "Great for toppings!" icon_state = "cherry" + filling_color = "#FF0000" gender = PLURAL - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 15), 1)) - reagents.add_reagent("sugar", 1+round((potency / 15), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + plantname = "cherry" /obj/item/weapon/reagent_containers/food/snacks/grown/poppy - seed = "/obj/item/seeds/poppyseed" name = "poppy" desc = "Long-used as a symbol of rest, peace, and death." icon_state = "poppy" potency = 30 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - reagents.add_reagent("bicaridine", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 3, 1) + filling_color = "#CC6464" + plantname = "poppies" /obj/item/weapon/reagent_containers/food/snacks/grown/harebell - seed = "obj/item/seeds/harebellseed" name = "harebell" - desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten�d not thy breath.\"" + desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten’d not thy breath.\"" icon_state = "harebell" potency = 1 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 3, 1) + filling_color = "#D4B2C9" + plantname = "harebells" /obj/item/weapon/reagent_containers/food/snacks/grown/potato - seed = "/obj/item/seeds/potatoseed" name = "potato" desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" icon_state = "potato" potency = 25 - New() - ..() - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - spawn(5) //So potency can be set in the proc that creates these crops - bitesize = reagents.total_volume + filling_color = "#E6E8DA" + plantname = "potato" /obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() @@ -192,79 +96,94 @@ return /obj/item/weapon/reagent_containers/food/snacks/grown/grapes - seed = "/obj/item/seeds/grapeseed" name = "bunch of grapes" desc = "Nutritious!" icon_state = "grapes" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - reagents.add_reagent("sugar", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#A332AD" + plantname = "grapes" /obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes - seed = "/obj/item/seeds/greengrapeseed" name = "bunch of green grapes" desc = "Nutritious!" icon_state = "greengrapes" potency = 25 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - reagents.add_reagent("kelotane", 3+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#A6FFA3" + plantname = "greengrapes" + +/obj/item/weapon/reagent_containers/food/snacks/grown/peanut + name = "peanut" + desc = "Nuts!" + icon_state = "peanut" + filling_color = "857e27" + potency = 25 + plantname = "peanut" /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage - seed = "/obj/item/seeds/cabbageseed" name = "cabbage" desc = "Ewwwwwwwwww. Cabbage." icon_state = "cabbage" potency = 25 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = reagents.total_volume + filling_color = "#A2B5A1" + plantname = "cabbage" /obj/item/weapon/reagent_containers/food/snacks/grown/berries - seed = "/obj/item/seeds/berryseed" name = "bunch of berries" desc = "Nutritious!" icon_state = "berrypile" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#C2C9FF" + plantname = "berries" /obj/item/weapon/reagent_containers/food/snacks/grown/plastellium - seed = "/obj/item/seeds/plastiseed" name = "clump of plastellium" desc = "Hmm, needs some processing" icon_state = "plastellium" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("plasticide", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#C4C4C4" + plantname = "plastic" + +/obj/item/weapon/reagent_containers/food/snacks/grown/shand + name = "S'rendarr's Hand leaf" + desc = "A leaf sample from a lowland thicket shrub. Smells strongly like wax." + icon_state = "shand" + filling_color = "#70C470" + plantname = "shand" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mtear + name = "sprig of Messa's Tear" + desc = "A mountain climate herb with a soft, cold blue flower, known to contain an abundance of healing chemicals." + icon_state = "mtear" + filling_color = "#70C470" + plantname = "mtear" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mtear/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + var/obj/item/stack/medical/ointment/tajaran/poultice = new /obj/item/stack/medical/ointment/tajaran(user.loc) + + poultice.heal_burn = potency + del(src) + + user << "You mash the petals into a poultice." + +/obj/item/weapon/reagent_containers/food/snacks/grown/shand/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + var/obj/item/stack/medical/bruise_pack/tajaran/poultice = new /obj/item/stack/medical/bruise_pack/tajaran(user.loc) + + poultice.heal_brute = potency + del(src) + + user << "You mash the leaves into a poultice." /obj/item/weapon/reagent_containers/food/snacks/grown/glowberries - seed = "/obj/item/seeds/glowberryseed" name = "bunch of glow-berries" desc = "Nutritious!" var/light_on = 1 var/brightness_on = 2 //luminosity when on + filling_color = "#D3FF9E" icon_state = "glowberrypile" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", round((potency / 10), 1)) - reagents.add_reagent("uranium", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + plantname = "glowberries" -/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/Destroy() +/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/Del() if(istype(loc,/mob)) loc.SetLuminosity(round(loc.luminosity - potency/5,1)) ..() @@ -278,88 +197,439 @@ src.SetLuminosity(round(potency/5,1)) /obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod - seed = "/obj/item/seeds/cocoapodseed" name = "cocoa pod" - desc = "Fattening... Mmmmm... chucklate." + desc = "Can be ground into cocoa powder." icon_state = "cocoapod" potency = 50 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - reagents.add_reagent("coco", 4+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#9C8E54" + plantname = "cocoa" /obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane - seed = "/obj/item/seeds/sugarcaneseed" name = "sugarcane" desc = "Sickly sweet." icon_state = "sugarcane" potency = 50 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("sugar", 4+round((potency / 5), 1)) + filling_color = "#C0C9AD" + plantname = "sugarcane" /obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries - seed = "/obj/item/seeds/poisonberryseed" name = "bunch of poison-berries" desc = "Taste so good, you could die!" icon_state = "poisonberrypile" gender = PLURAL potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("toxin", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#B422C7" + plantname = "poisonberries" /obj/item/weapon/reagent_containers/food/snacks/grown/deathberries - seed = "/obj/item/seeds/deathberryseed" name = "bunch of death-berries" desc = "Taste so good, you could die!" icon_state = "deathberrypile" gender = PLURAL potency = 50 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("toxin", 3+round(potency / 3, 1)) - reagents.add_reagent("lexorin", 1+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#4E0957" + plantname = "deathberries" /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris - seed = "/obj/item/seeds/ambrosiavulgaris" name = "ambrosia vulgaris branch" desc = "This is a plant containing various healing chemicals." icon_state = "ambrosiavulgaris" potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("space_drugs", 1+round(potency / 8, 1)) - reagents.add_reagent("kelotane", 1+round(potency / 8, 1)) - reagents.add_reagent("bicaridine", 1+round(potency / 10, 1)) - reagents.add_reagent("toxin", 1+round(potency / 10, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) + filling_color = "#125709" + plantname = "ambrosia" -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/paper)) - del(O) - user << "You roll a blunt." - var/obj/item/clothing/mask/cigarette/blunt/rolled/B = new/obj/item/clothing/mask/cigarette/blunt/rolled(src.loc) - reagents.trans_to(B, (reagents.total_volume)) - user.put_in_hands(B) - user.drop_from_inventory(src) +/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus + name = "ambrosia deus branch" + desc = "Eating this makes you feel immortal!" + icon_state = "ambrosiadeus" + potency = 10 + filling_color = "#229E11" + plantname = "ambrosiadeus" + +/obj/item/weapon/reagent_containers/food/snacks/grown/apple + name = "apple" + desc = "It's a little piece of Eden." + icon_state = "apple" + potency = 15 + filling_color = "#DFE88B" + plantname = "apple" + +/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned + name = "apple" + desc = "It's a little piece of Eden." + icon_state = "apple" + potency = 15 + filling_color = "#B3BD5E" + plantname = "poisonapple" + +/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple + name = "golden apple" + desc = "Emblazoned upon the apple is the word 'Kallisti'." + icon_state = "goldapple" + potency = 15 + filling_color = "#F5CB42" + plantname = "goldapple" + +/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon + name = "watermelon" + desc = "It's full of watery goodness." + icon_state = "watermelon" + potency = 10 + filling_color = "#FA2863" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice + slices_num = 5 + plantname = "watermelon" + +/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin + name = "pumpkin" + desc = "It's large and scary." + icon_state = "pumpkin" + potency = 10 + filling_color = "#FAB728" + plantname = "pumpkin" + +/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy)) + user.show_message("You carve a face into [src]!", 1) + new /obj/item/clothing/head/pumpkinhead (user.loc) del(src) - else - return ..() + return + +/obj/item/weapon/reagent_containers/food/snacks/grown/lime + name = "lime" + desc = "It's so sour, your face will twist." + icon_state = "lime" + potency = 20 + filling_color = "#28FA59" + plantname = "lime" + +/obj/item/weapon/reagent_containers/food/snacks/grown/lemon + name = "lemon" + desc = "When life gives you lemons, be grateful they aren't limes." + icon_state = "lemon" + potency = 20 + filling_color = "#FAF328" + plantname = "lemon" + +/obj/item/weapon/reagent_containers/food/snacks/grown/orange + name = "orange" + desc = "It's an tangy fruit." + icon_state = "orange" + potency = 20 + filling_color = "#FAAD28" + plantname = "orange" + +/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet + name = "white-beet" + desc = "You can't beat white-beet." + icon_state = "whitebeet" + potency = 15 + filling_color = "#FFFCCC" + plantname = "whitebeet" + +/obj/item/weapon/reagent_containers/food/snacks/grown/banana + name = "banana" + desc = "It's an excellent prop for a comedy." + icon = 'icons/obj/items.dmi' + icon_state = "banana" + item_state = "banana" + filling_color = "#FCF695" + trash = /obj/item/weapon/bananapeel + plantname = "banana" + +/obj/item/weapon/reagent_containers/food/snacks/grown/chili + name = "chili" + desc = "It's spicy! Wait... IT'S BURNING ME!!" + icon_state = "chilipepper" + filling_color = "#FF0000" + plantname = "chili" + +/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant + name = "eggplant" + desc = "Maybe there's a chicken inside?" + icon_state = "eggplant" + filling_color = "#550F5C" + plantname = "eggplant" + +/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans + name = "soybeans" + desc = "It's pretty bland, but oh the possibilities..." + gender = PLURAL + filling_color = "#E6E8B7" + icon_state = "soybeans" + plantname = "soybean" + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato + name = "tomato" + desc = "I say to-mah-to, you say tom-mae-to." + icon_state = "tomato" + filling_color = "#FF0000" + potency = 10 + plantname = "tomato" + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/throw_impact(atom/hit_atom) + ..() + new/obj/effect/decal/cleanable/tomato_smudge(src.loc) + src.visible_message("The [src.name] has been squashed.","You hear a smack.") + del(src) + return + +/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato + name = "killer-tomato" + desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!" + icon_state = "killertomato" + potency = 10 + filling_color = "#FF0000" + potency = 30 + plantname = "killertomato" + +/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + new /mob/living/simple_animal/tomato(user.loc) + del(src) + + user << "You plant the killer-tomato." + +/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato + name = "blood-tomato" + desc = "So bloody...so...very...bloody....AHHHH!!!!" + icon_state = "bloodtomato" + potency = 10 + filling_color = "#FF0000" + plantname = "bloodtomato" + +/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato/throw_impact(atom/hit_atom) + ..() + new/obj/effect/decal/cleanable/blood/splatter(src.loc) + src.visible_message("The [src.name] has been squashed.","You hear a smack.") + src.reagents.reaction(get_turf(hit_atom)) + for(var/atom/A in get_turf(hit_atom)) + src.reagents.reaction(A) + del(src) + return + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato + name = "blue-tomato" + desc = "I say blue-mah-to, you say blue-mae-to." + icon_state = "bluetomato" + potency = 10 + filling_color = "#586CFC" + plantname = "bluetomato" + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/throw_impact(atom/hit_atom) + ..() + new/obj/effect/decal/cleanable/blood/oil(src.loc) + src.visible_message("The [src.name] has been squashed.","You hear a smack.") + src.reagents.reaction(get_turf(hit_atom)) + for(var/atom/A in get_turf(hit_atom)) + src.reagents.reaction(A) + del(src) + return + + +/obj/item/weapon/reagent_containers/food/snacks/grown/wheat + name = "wheat" + desc = "Sigh... wheat... a-grain?" + gender = PLURAL + icon_state = "wheat" + filling_color = "#F7E186" + plantname = "wheat" + +/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk + name = "rice stalk" + desc = "Rice to see you." + gender = PLURAL + icon_state = "rice" + filling_color = "#FFF8DB" + plantname = "rice" + +/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod + name = "kudzu pod" + desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact." + icon_state = "kudzupod" + filling_color = "#59691B" + plantname = "kudzu" + +/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper + name = "ice-pepper" + desc = "It's a mutant strain of chili" + icon_state = "icepepper" + potency = 20 + filling_color = "#66CEED" + plantname = "icechili" + +/obj/item/weapon/reagent_containers/food/snacks/grown/carrot + name = "carrot" + desc = "It's good for the eyes!" + icon_state = "carrot" + potency = 10 + filling_color = "#FFC400" + plantname = "carrot" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi + name = "reishi" + desc = "Ganoderma lucidum: A special fungus believed to help relieve stress." + icon_state = "reishi" + potency = 10 + filling_color = "#FF4800" + plantname = "reishi" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita + name = "fly amanita" + desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know." + icon_state = "amanita" + potency = 10 + filling_color = "#FF0000" + plantname = "amanita" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel + name = "destroying angel" + desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins." + icon_state = "angel" + potency = 35 + filling_color = "#FFDEDE" + plantname = "destroyingangel" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap + name = "liberty-cap" + desc = "Psilocybe Semilanceata: Liberate yourself!" + icon_state = "libertycap" + potency = 15 + filling_color = "#F714BE" + plantname = "libertycap" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet + name = "plump-helmet" + desc = "Plumus Hellmus: Plump, soft and s-so inviting~" + icon_state = "plumphelmet" + filling_color = "#F714BE" + plantname = "plumphelmet" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom + name = "walking mushroom" + desc = "Plumus Locomotus: The beginning of the great walk." + icon_state = "walkingmushroom" + filling_color = "#FFBFEF" + potency = 30 + plantname = "walkingmushroom" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + new /mob/living/simple_animal/hostile/mushroom(user.loc) + del(src) + + user << "You plant the walking mushroom." + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle + name = "chanterelle cluster" + desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" + icon_state = "chanterelle" + filling_color = "#FFE991" + plantname = "mushrooms" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom + name = "glowshroom cluster" + desc = "Mycena Bregprox: This species of mushroom glows in the dark. Or does it?" + icon_state = "glowshroom" + filling_color = "#DAFF91" + potency = 30 + plantname = "glowshroom" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + var/obj/effect/glowshroom/planted = new /obj/effect/glowshroom(user.loc) + + planted.delay = 50 + planted.endurance = 100 + planted.potency = potency + del(src) + + user << "You plant the glowshroom." + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Del() + if(istype(loc,/mob)) + loc.SetLuminosity(round(loc.luminosity - potency/10,1)) + ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) + SetLuminosity(0) + user.SetLuminosity(round(user.luminosity + (potency/10),1)) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) + user.SetLuminosity(round(user.luminosity - (potency/10),1)) + SetLuminosity(round(potency/10,1)) + + +// ************************************* +// Complex Grown Object Defines - +// Putting these at the bottom so they don't clutter the list up. -Cheridan +// ************************************* + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato + name = "blue-space tomato" + desc = "So lubricated, you might slip through space-time." + icon_state = "bluespacetomato" + potency = 20 + origin_tech = "bluespace=3" + filling_color = "#91F8FF" + plantname = "bluespacetomato" + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato/throw_impact(atom/hit_atom) + ..() + var/mob/M = usr + var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport. + var/inner_teleport_radius = potency/15 + var/list/turfs = new/list() + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats. + new/obj/effect/decal/cleanable/blood/oil(src.loc) + src.visible_message("The [src.name] has been squashed.","You hear a smack.") + del(src) + return + for(var/turf/T in orange(M,outer_teleport_radius)) + if(T in orange(M,inner_teleport_radius)) continue + if(istype(T,/turf/space)) continue + if(T.density) continue + if(T.x>world.maxx-outer_teleport_radius || T.xworld.maxy-outer_teleport_radius || T.yThe [src.name] has been squashed, causing a distortion in space-time.","You hear a splat and a crackle.") + del(src) + return /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris/cruciatus - seed = "/obj/item/seeds/ambrosiavulgaris/cruciatus" + plantname = "ambrosiacruciatus" name = "ambrosia vulgaris branch" desc = "This is a plant containing various healing chemicals." icon_state = "ambrosiavulgaris" @@ -375,757 +645,9 @@ reagents.add_reagent("spiritbreaker", 10) bitesize = 1+round(reagents.total_volume / 2, 1) -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris/cruciatus/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/paper)) - del(O) - user << "You roll a blunt." - var/obj/item/clothing/mask/cigarette/blunt/cruciatus/rolled/B = new/obj/item/clothing/mask/cigarette/blunt/cruciatus/rolled(src.loc) - reagents.trans_to(B, (reagents.total_volume)) - user.put_in_hands(B) - user.drop_from_inventory(src) - del(src) - else - return ..() -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus - seed = "/obj/item/seeds/ambrosiadeus" - name = "ambrosia deus branch" - desc = "Eating this makes you feel immortal!" - icon_state = "ambrosiadeus" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("bicaridine", 1+round(potency / 8, 1)) - reagents.add_reagent("synaptizine", 1+round(potency / 8, 1)) - reagents.add_reagent("hyperzine", 1+round(potency / 10, 1)) - reagents.add_reagent("space_drugs", 1+round(potency / 10, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/paper)) - del(O) - user << "You roll a godly blunt." - var/obj/item/clothing/mask/cigarette/blunt/deus/rolled/B = new/obj/item/clothing/mask/cigarette/blunt/deus/rolled(src.loc) - reagents.trans_to(B, (reagents.total_volume)) - user.put_in_hands(B) - user.drop_from_inventory(src) - del(src) - else - return ..() - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple - seed = "/obj/item/seeds/appleseed" - name = "apple" - desc = "It's a little piece of Eden." - icon_state = "apple" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.maximum_volume = 20 - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = reagents.maximum_volume // Always eat the apple in one - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned - seed = "/obj/item/seeds/poisonedappleseed" - name = "apple" - desc = "It's a little piece of Eden." - icon_state = "apple" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.maximum_volume = 20 - reagents.add_reagent("cyanide", 1+round((potency / 5), 1)) - bitesize = reagents.maximum_volume // Always eat the apple in one - -/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple - seed = "/obj/item/seeds/goldappleseed" - name = "golden apple" - desc = "Emblazoned upon the apple is the word 'Kallisti'." - icon_state = "goldapple" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - reagents.add_reagent("gold", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Mineral Content: [reagents.get_reagent_amount("gold")]%" - - -/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon - seed = "/obj/item/seeds/watermelonseed" - name = "watermelon" - desc = "It's full of watery goodness." - icon_state = "watermelon" - potency = 10 - slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice - slices_num = 5 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 6), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin - seed = "/obj/item/seeds/pumpkinseed" - name = "pumpkin" - desc = "It's large and scary." - icon_state = "pumpkin" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 6), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy)) - user.show_message("You carve a face into [src]!", 1) - new /obj/item/clothing/head/pumpkinhead (user.loc) - del(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/lime - seed = "/obj/item/seeds/limeseed" - name = "lime" - desc = "It's so sour, your face will twist." - icon_state = "lime" - potency = 20 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/lemon - seed = "/obj/item/seeds/lemonseed" - name = "lemon" - desc = "When life gives you lemons, be grateful they aren't limes." - icon_state = "lemon" - potency = 20 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/orange - seed = "/obj/item/seeds/orangeseed" - name = "orange" - desc = "It's an tangy fruit." +/obj/item/weapon/reagent_containers/food/snacks/grown/generic_fruit + name = "fruit" + desc = "It smells weird." icon_state = "orange" - potency = 20 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet - seed = "/obj/item/seeds/whitebeetseed" - name = "white-beet" - desc = "You can't beat white-beet." - icon_state = "whitebeet" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", round((potency / 20), 1)) - reagents.add_reagent("sugar", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/banana - seed = "/obj/item/seeds/bananaseed" - name = "banana" - desc = "It's an excellent prop for a comedy." - icon = 'icons/obj/items.dmi' - icon_state = "banana" - item_state = "banana" - trash = /obj/item/weapon/bananapeel - - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("banana", 1+round((potency / 10), 1)) - bitesize = 5 - src.pixel_x = rand(-5.0, 5) - src.pixel_y = rand(-5.0, 5) - -/obj/item/weapon/reagent_containers/food/snacks/grown/chili - seed = "/obj/item/seeds/chiliseed" - name = "chili" - desc = "It's spicy! Wait... IT'S BURNING ME!!" - icon_state = "chilipepper" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 25), 1)) - reagents.add_reagent("capsaicin", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chilli - seed = "/obj/item/seeds/chillighost" - name = "ghost chili" - desc = "It seems to be vibrating gently." - icon_state = "ghostchilipepper" - var/mob/held_mob - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 25), 1)) - reagents.add_reagent("capsaicin", 8+round(potency / 2, 1)) - reagents.add_reagent("condensedcapsaicin", 4+round(potency / 4, 1)) - bitesize = 1+round(reagents.total_volume / 4, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chilli/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%" - user << "- Condensed Capsaicin: [reagents.get_reagent_amount("condensedcapsaicin")]%" -/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant - seed = "/obj/item/seeds/eggplantseed" - name = "eggplant" - desc = "Maybe there's a chicken inside?" - icon_state = "eggplant" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans - seed = "/obj/item/seeds/soyaseed" - name = "soybeans" - desc = "It's pretty bland, but oh the possibilities..." - gender = PLURAL - icon_state = "soybeans" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans - seed = "/obj/item/seeds/koiseed" - name = "koibean" - desc = "Something about these seems fishy." - icon_state = "koibeans" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 30), 1)) - reagents.add_reagent("carpotoxin", 1+round((potency / 20), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower - seed = "/obj/item/seeds/moonflowerseed" - name = "moonflower" - desc = "Store in a location at least 50 yards away from werewolves." - icon_state = "moonflower" - slot_flags = SLOT_HEAD - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 50), 1)) - reagents.add_reagent("moonshine", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato - seed = "/obj/item/seeds/tomatoseed" - name = "tomato" - desc = "I say to-mah-to, you say tom-mae-to." - icon_state = "tomato" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - - throw_impact(atom/hit_atom) - ..() - new/obj/effect/decal/cleanable/tomato_smudge(src.loc) - src.visible_message("The [src.name] has been squashed.","You hear a smack.") - del(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato - seed = "/obj/item/seeds/killertomatoseed" - name = "killer-tomato" - desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!" - icon_state = "killertomato" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - if(istype(src.loc,/mob)) - pickup(src.loc) - lifespan = 120 - endurance = 30 - maturation = 15 - production = 1 - yield = 3 - potency = 30 - plant_type = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato/attack_self(mob/user as mob) - if(istype(user.loc,/turf/space)) - return - new /mob/living/simple_animal/tomato(user.loc) - del(src) - - user << "You plant the killer-tomato." - -/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato - seed = "/obj/item/seeds/bloodtomatoseed" - name = "blood-tomato" - desc = "So bloody...so...very...bloody....AHHHH!!!!" - icon_state = "bloodtomato" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 10), 1)) - reagents.add_reagent("blood", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - - throw_impact(atom/hit_atom) - ..() - new/obj/effect/decal/cleanable/blood/splatter(src.loc) - src.visible_message("The [src.name] has been squashed.","You hear a smack.") - src.reagents.reaction(get_turf(hit_atom)) - for(var/atom/A in get_turf(hit_atom)) - src.reagents.reaction(A) - del(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato - seed = "/obj/item/seeds/bluetomatoseed" - name = "blue-tomato" - desc = "I say blue-mah-to, you say blue-mae-to." - icon_state = "bluetomato" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - reagents.add_reagent("lube", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - - throw_impact(atom/hit_atom) - ..() - new/obj/effect/decal/cleanable/blood/oil(src.loc) - src.visible_message("The [src.name] has been squashed.","You hear a smack.") - src.reagents.reaction(get_turf(hit_atom)) - for(var/atom/A in get_turf(hit_atom)) - src.reagents.reaction(A) - del(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/Crossed(AM as mob|obj) - if (istype(AM, /mob/living/carbon)) - var/mob/M = AM - if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP)) - return - - M.stop_pulling() - M << "\blue You slipped on the [name]!" - playsound(get_turf(src), 'sound/misc/slip.ogg', 50, 1, -3) - M.Stun(8) - M.Weaken(5) - -/obj/item/weapon/reagent_containers/food/snacks/grown/wheat - seed = "/obj/item/seeds/wheatseed" - name = "wheat" - desc = "Sigh... wheat... a-grain?" - gender = PLURAL - icon_state = "wheat" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 25), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk - seed = "/obj/item/seeds/riceseed" - name = "rice stalk" - desc = "Rice to see you." - gender = PLURAL - icon_state = "rice" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 25), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod - seed = "/obj/item/seeds/kudzuseed" - name = "kudzu pod" - desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact." - icon_state = "kudzupod" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment",1+round((potency / 50), 1)) - reagents.add_reagent("anti_toxin",1+round((potency / 25), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper - seed = "/obj/item/seeds/icepepperseed" - name = "ice-pepper" - desc = "It's a mutant strain of chili" - icon_state = "icepepper" - potency = 20 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 50), 1)) - reagents.add_reagent("frostoil", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Frostoil: [reagents.get_reagent_amount("frostoil")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/carrot - seed = "/obj/item/seeds/carrotseed" - name = "carrot" - desc = "It's good for the eyes!" - icon_state = "carrot" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - reagents.add_reagent("imidazoline", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi - seed = "/obj/item/seeds/reishimycelium" - name = "reishi" - desc = "Ganoderma lucidum: A special fungus believed to help relieve stress." - icon_state = "reishi" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("stoxin", 3+round(potency / 3, 1)) - reagents.add_reagent("space_drugs", 1+round(potency / 25, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Sleep Toxin: [reagents.get_reagent_amount("stoxin")]%" - user << "- Space Drugs: [reagents.get_reagent_amount("space_drugs")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita - seed = "/obj/item/seeds/amanitamycelium" - name = "fly amanita" - desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know." - icon_state = "amanita" - potency = 10 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("amatoxin", 3+round(potency / 3, 1)) - reagents.add_reagent("psilocybin", 1+round(potency / 25, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%" - user << "- Psilocybin: [reagents.get_reagent_amount("psilocybin")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel - seed = "/obj/item/seeds/angelmycelium" - name = "destroying angel" - desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins." - icon_state = "angel" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round(potency / 50, 1)) - reagents.add_reagent("amanatin", 1+round(potency / 3, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Amatoxins: [reagents.get_reagent_amount("amanatin")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap - seed = "/obj/item/seeds/libertymycelium" - name = "liberty-cap" - desc = "Psilocybe Semilanceata: Liberate yourself!" - icon_state = "libertycap" - potency = 15 - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 50), 1)) - reagents.add_reagent("psilocybin", 3+round(potency / 5, 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Psilocybin: [reagents.get_reagent_amount("psilocybin")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet - seed = "/obj/item/seeds/plumpmycelium" - name = "plump-helmet" - desc = "Plumus Hellmus: Plump, soft and s-so inviting~" - icon_state = "plumphelmet" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 2+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom - seed = "/obj/item/seeds/walkingmushroom" - name = "walking mushroom" - desc = "Plumus Locomotus: The beginning of the great walk." - icon_state = "walkingmushroom" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 2+round((potency / 10), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - if(istype(src.loc,/mob)) - pickup(src.loc) - lifespan = 120 - endurance = 30 - maturation = 15 - production = 1 - yield = 3 - potency = 30 - plant_type = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user as mob) - if(istype(user.loc,/turf/space)) - return - var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc) - M.maxHealth += round(endurance / 4) - M.melee_damage_lower += round(potency / 20) - M.melee_damage_upper += round(potency / 20) - M.move_to_delay -= round(production / 50) - M.health = M.maxHealth - del(src) - - user << "You plant the walking mushroom." - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle - seed = "/obj/item/seeds/chantermycelium" - name = "chanterelle cluster" - desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" - icon_state = "chanterelle" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment",1+round((potency / 25), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom - seed = "/obj/item/seeds/glowshroom" - name = "glowshroom cluster" - desc = "Mycena Bregprox: This species of mushroom glows in the dark. Or does it?" - icon_state = "glowshroom" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("radium",1+round((potency / 20), 1)) - if(istype(src.loc,/mob)) - pickup(src.loc) - else - src.SetLuminosity(round(potency/10,1)) - lifespan = 120 //ten times that is the delay - endurance = 30 - maturation = 15 - production = 1 - yield = 3 - potency = 30 - plant_type = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user as mob) - if(istype(user.loc,/turf/space)) - return - var/obj/effect/glowshroom/planted = new /obj/effect/glowshroom(user.loc) - - planted.delay = lifespan * 50 - planted.endurance = endurance - planted.yield = yield - planted.potency = potency - del(src) - - user << "You plant the glowshroom." - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy() - if(istype(loc,/mob)) - loc.SetLuminosity(round(loc.luminosity - potency/10,1)) - ..() - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) - SetLuminosity(0) - user.SetLuminosity(round(user.luminosity + (potency/10),1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) - user.SetLuminosity(round(user.luminosity + (potency/10),1)) - SetLuminosity(round(potency/10,1)) - - -// ************************************* -// Complex Grown Object Defines - -// Putting these at the bottom so they don't clutter the list up. -Cheridan -// ************************************* - -/* -//This object is just a transition object. All it does is make a grass tile and delete itself. -/obj/item/weapon/reagent_containers/food/snacks/grown/grass - seed = "/obj/item/seeds/grassseed" - name = "grass" - desc = "Green and lush." - icon_state = "spawner" - potency = 20 - New() - new/obj/item/stack/tile/grass(src.loc) - spawn(5) //Workaround to keep harvesting from working weirdly. - del(src) -*/ - -//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan -/obj/item/weapon/reagent_containers/food/snacks/grown/money - seed = "/obj/item/seeds/cashseed" - name = "dosh" - desc = "Green and lush." - icon_state = "spawner" - potency = 10 - New() - ..() - dispense_cash(rand(1,100)*10,src.loc)//(potency) //It wants to use the default potency instead of the new, so it was always 10. Will try to come back to this later - Cheridan - spawn(5) //Workaround to keep harvesting from working weirdly. - del(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/meat - seed = "/obj/item/seeds/synthmeatseed" - name = "synthmeat" - desc = "Tasty?" - icon_state = "spawner" - potency = 10 - New() - ..() - new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(src.loc) - spawn(5) //Workaround to keep harvesting from working weirdly. - del(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/butt - seed = "/obj/item/seeds/synthbuttseed" - name = "synthbutt" - desc = "Tasty?" - icon_state = "spawner" - potency = 10 - New() - ..() - new /obj/item/clothing/head/butt(src.loc) - spawn(5) //Workaround to keep harvesting from working weirdly. - del(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/brain - seed = "/obj/item/seeds/synthbrainseed" - name = "synthmeat" - desc = "Tasty?" - icon_state = "spawner" - potency = 10 - New() - ..() - new /obj/item/brain(src.loc) - spawn(5) //Workaround to keep harvesting from working weirdly. - del(src) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato - seed = "/obj/item/seeds/bluespacetomatoseed" - name = "blue-space tomato" - desc = "So lubricated, you might slip through space-time." - icon_state = "bluespacetomato" - potency = 20 - origin_tech = "bluespace=3" - New() - ..() - spawn(5) //So potency can be set in the proc that creates these crops - reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - reagents.add_reagent("singulo", 1+round((potency / 5), 1)) - bitesize = 1+round(reagents.total_volume / 2, 1) - - throw_impact(atom/hit_atom) - ..() - var/mob/M = usr - var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport. - var/inner_teleport_radius = potency/15 - var/list/turfs = new/list() - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats. - new/obj/effect/decal/cleanable/blood/oil(src.loc) - src.visible_message("The [src.name] has been squashed.","You hear a smack.") - del(src) - return - for(var/turf/T in orange(M,outer_teleport_radius)) - if(T in orange(M,inner_teleport_radius)) continue - if(istype(T,/turf/space)) continue - if(T.density) continue - if(T.x>world.maxx-outer_teleport_radius || T.xworld.maxy-outer_teleport_radius || T.yThe [src.name] has been squashed, causing a distortion in space-time.
    ","You hear a splat and a crackle.") - del(src) - return + potency = 10 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 697a8f5af6b..ebe900fb090 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -12,7 +12,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh name = "synthetic meat" desc = "A synthetic slab of flesh." - nonplant_seed_type = /obj/item/seeds/synthmeatseed + //nonplant_seed_type = /obj/item/seeds/synthmeatseed /obj/item/weapon/reagent_containers/food/snacks/meat/human name = "-meat" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1ccae500116..d7d2088808d 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -239,8 +239,6 @@ /obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob) - if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray - return if (istype(A, /obj/effect/blob)) // blob damage in blob code return diff --git a/code/modules/research/xenoarchaeology/genetics/prehistoric_plants.dm b/code/modules/research/xenoarchaeology/genetics/prehistoric_plants.dm new file mode 100644 index 00000000000..d9212ac5b01 --- /dev/null +++ b/code/modules/research/xenoarchaeology/genetics/prehistoric_plants.dm @@ -0,0 +1,81 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/telriis_clump + name = "telriis grass" + desc = "A clump of telriis grass, not recommended for consumption by sentients." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "telriisclump" + New(var/loc, var/potency) + ..() + reagents.add_reagent("pwine", potency * 5) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom + name = "thaa'dra bloom" + desc = "Looks chewy, might be good to eat." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "thaadrabloom" + New(var/loc, var/potency) + ..() + reagents.add_reagent("frostoil", potency * 1.5 + 5) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah + name = "jurl'mah pod" + desc = "Bulbous and veiny, it appears to pulse slightly as you look at it." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "jurlmahpod" + New(var/loc, var/potency) + ..() + reagents.add_reagent("serotrotium", potency) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/amauri + name = "amauri fruit" + desc = "It is small, round and hard. Its skin is a thick dark purple." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "amaurifruit" + New(var/loc, var/potency) + ..() + reagents.add_reagent("zombiepowder", potency * 10) + reagents.add_reagent("condensedcapsaicin", potency * 5) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi + name = "gelthi berries" + desc = "They feel fluffy and slightly warm to the touch." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "gelthiberries" + New(var/loc, var/potency) + ..() + //this may prove a little strong + reagents.add_reagent("stoxin", (potency * potency) / 5) + reagents.add_reagent("capsaicin", (potency * potency) / 5) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/vale + name = "vale leaves" + desc = "Small, curly leaves covered in a soft pale fur." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "valeleaves" + New(var/loc, var/potency) + ..() + reagents.add_reagent("paracetamol", potency * 5) + reagents.add_reagent("dexalin", potency * 2) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/surik + name = "surik fruit" + desc = "Multiple layers of blue skin peeling away to reveal a spongey core, vaguely resembling an ear." + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "surikfruit" + New(var/loc, var/potency) + ..() + reagents.add_reagent("impedrezene", potency * 3) + reagents.add_reagent("synaptizine", potency * 2) + reagents.add_reagent("nutriment", potency) + bitesize = 1+round(reagents.total_volume / 2, 1) \ No newline at end of file diff --git a/code/setup.dm b/code/setup.dm index 49b6e69673c..3fe342d5f9b 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -514,7 +514,7 @@ var/list/liftable_structures = list(\ /obj/machinery/autolathe, \ /obj/machinery/constructable_frame, \ - /obj/machinery/hydroponics, \ + /obj/machinery/portable_atmospherics/hydroponics, \ /obj/machinery/computer, \ /obj/machinery/optable, \ /obj/structure/dispenser, \ diff --git a/html/changelog.html b/html/changelog.html index 29e4fe855b2..def076e30f0 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -79,6 +79,15 @@ ADDING CREDITS? EDIT templates/header.html (or footer.html if they're for old t --> +
    +

    2014.10.05

    +

    Pomf123 updated:

    +
      +
    • Ported BayStation12's xenobotany and hydroponics rewrite.
    • +
    • Fix vox tactifool sprite.
    • +
    +
    +

    2014.10.03

    Angelite Entyshak updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 6c11fb65582..587a22bcace 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -740,3 +740,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Dylanstrategie: - bugfix: Unfucking two checks in the Radiation Storm event, one that got monkeys kill every time, even when in protected areas +2014-10-05: + Pomf123: + - rscadd: Ported BayStation12's xenobotany and hydroponics rewrite. + - bugfix: Fix vox tactifool sprite. diff --git a/html/changelogs/Dylanstrategie1622.yml b/html/changelogs/Dylanstrategie1622.yml deleted file mode 100644 index 7f2b958d69e..00000000000 --- a/html/changelogs/Dylanstrategie1622.yml +++ /dev/null @@ -1,3 +0,0 @@ -author: Dylanstrategie -changes: [] -delete_after: true diff --git a/icons/mob/species/vox/uniform.dmi b/icons/mob/species/vox/uniform.dmi index 2b11b54872e95aa072819a36533701f16ef8bb3f..e0c917a7bae1bb13c9bd97c4c6b9169d1363abce 100644 GIT binary patch delta 43 zcmV+`0M!4XkprQT1F(((99e6HEZa*E|4-d}_wsgh$Jf*J2bXqT`ae!a+_S0y_r}Rb B7K8u* delta 43 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

    i3$#FuR1T$%8+WW6XBrfunAHa}yEefUVn+ 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

    8Ky65ZcN9%b2ndoNO$uUU( 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 z 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 literal 156955 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%0A-h-?bsJ25>;{#Qf=MUZHh zSpn$&(D!qG=BU&pWPVVwI&sb)x+|*%OT+3LGmRI%MLr<^QQ5@>LaRuFyqc82CbJ6< zKwjf`;FcekK0NVgjoyGdsPH23s>YPk0i%;T&~Q~`qyE(cL9q>Ud)Vxo%8)CnnU^#4 zsTe6VvS}Tw5QNM>fG%Pr&tUoZ-5N}!ZHt)8330u#+XMc{n`6B?n_KW(`cy_N@rKLy zS(1I~qfSowjGthDK*Q+Ab;(quCf(jKivkTbAUv9c3#;P&?Rd|rl>juY|7kyI^@)03 zlc?rby2#u$`9rmDL+?zmN`bdeS|3ps_AWi1r{A6N3L$bw;>i{AWNym{1#-@_fLH=GTkioy7W>h2Wk7X?X_j?3;b*-Sudy9 zsf_gm&v7#?=ULI0O%l%8eeq%D>n)?bi9vonk+q)$BZ&EW`gM2%-)PU+_;Z^ND1Y$= z9Y>CDTTKfVv5Vz&x%S{^q!(9O#Q-2D;v9R+~Zfi516>sW^`tB-2I&0y!jtwxx%N!%VvYEyT}% zjYYE9*MMKZ!8~ygGb=)u_60g>%c+ssZ?law=O5P>4sR)X@(jqvVohmtrA%lc+*%pb zi`IXPb|wZ*1Nx|EZrn3%?!7vJ_XdV=QGRU}ALm~F1nug#U<=7VpB;3u#}6&H-FlqE z^HC`J%qr!yRVvKev4g3XAE$`lrJ7Met2QQzC9rZ&jROg(HOM9F_U9?r)RU;Z59}@( z%1X_g0bCJCCZGR9dLs-n?OyGL(r-Nu!3+08!XBAqJ6F$Xc#nKrI*8%wZ0)9JZjAq7 zY2WL7@udH8tTmz1tiHQ%>AIE=s_7ij7!!c;-Dm^G7$Eyoj)QCJw+0h_J;ZxvV`$|- zr8CRITYh3A)W-aPHf@Je*<3w z0*%X|CMv@)E#&u1QwDU$MZYalMc-JgxDWlCSliu)a>9<#Sp^kze%*L7Ri8-+or*R^ zJY4;1nkBaTH5V3V(>cbf8BU#gZU3hM@4B8xy>fmEcQC0Rl%<*-%AIHa{=uIG8L|gM zpQKE2h2li^yIz~7cT++u$-$?mXcNR#l!(HT&c-CskQiF^>q6gelT9BzDWQYl2a z3^mec0Az@YiuazrTvu>wiC!@}i^1q&E;SY(*jyA7W&-4W){a@&RvhJ*=TqG*=+ z9%pH71FyRHW@1;kzaez4d*rYFBeCo5*(U?<1CmwPm`l&8ceR`MFH5%(t&LoS9dZg$ z1P39JM*az3uEvfHq%j`!WJ@EF({-k(=x%|R9ICWzG&`x2-$JYnLW;e3fb;z7_d=G8 zs^BH)NU#^xCw-)eosPx?!%7xY8OKc!JqGJqxzMxk9Aiim%hL8ScGL=qP*kmCM1;`G zS>y{;6b3fNK^~#Ib7SBb<)ZI`-=)083&TL#|8*jPl*z%Z{XV<#Uyr<}9Cp_KzDB2< z2;lsmVHDvHF-hG285U}eOXTuDGqBC+{(qSASd7B#)YYZ+b9TeBL#8p*)laz1=#+}E zV-i48_Y0zVcrcTBvG$iUNVcCBE(T^@#Ao9w5}A<$-}_^ z7a)%;8S@j8;TpUE73OK~bCx*%!a1L{uTVv^ zFFK=E;Ex}=;`0Nw+r7;}6?`8E`@%0YI>yIG&O5nN=aA5EEFi%IBIt1Xo>nJq>_3Bn;r zw~6Qc%@5aFO6mBceK2Pno_ec&?&ol~nGMc$-nji0V+dR~#s}6Ir753@Xb*~aeuDbS z(&4LoaR2)K>@WYLfEE1Y+ukc3+VQR)azH}451Uf^5Hd6=#GSvOfaEI~KlIli63JF< zs_N%(*%M@X+}Ev?!U}a3?Q4JjGJ69aQ;lge9~jQgt4@+je@zDTYEn$G#J8T3Kkq=cV)=v z@SLJUj8Zp+OGvsN2R~TXjTH3whH-4&*I{KIg-A%lS)5hN1CaS`VJ9YdGm z5yVBBge4Er3X8DULNv=8<9&ydzVT>2_l|G50v7H37J8-#&9bCvrIEwZ6^B!TqEB8{ zp@wr(%e(8Dlg{`B!F_&l5107Lf!g!jZu>d!S+fntLv_espm=Y7!a)ujrkX5CvkQ%@ zRdaRrU2@oq_!ff%Xg62Q{||ut5OYqHZd$@6A; z;n!M2cV#;Zyg#R^A}PPlWSq#cLjBAKfn(;CP(SGSHDg_=_)i)53Yf1i&Ym3{&Qv?* zGAACv>w{Bcex>1L@Pf-VX`yB*E@KaDk@h6!kI?h0V_S$TA)+aJDIyn=9}VpVF?-lm z-tLq~79tc1(Y>-lChlKGI9Q^GZakN5vd1e%cd*^eGu*&*#`cwC_u4>$wj^Qh&;gl{ z>42ZOb;(sIa+nsFoQfWvXS8P16z>lsZ5-BlU7~=eLWd0*=9C1bA)f5Y0!qbtIH2p$8vgkbske z>@n+M^tsogxV|hiBCV9Xs#W(nW5w?xf<1Nk=;^Z(+22`s!Dro$KCrj!&}d7V?j>eAxbdWS06O#*G+eH<$_ zls2Ot_e{)w-!>}n`;Ep|0X3qejh>soEs8me-(zNcN?(;;-2GdZF5REhH!(uwICG3|&OVrLRMa^2WdrIyNiMvWK zQpVUAfZ9o*6r@(XyR#hCVn{E9#}@gA?!ksB^~6W)g;!}fzvUOAH@=KuiGE2^*ZE@D z^Z82O*(N#T@jZT%`yc#f`#<%PqrHeCGuBA(5;_ zmRYjIZf6QSW=>i7Rqp7a%@pIC1d8jaR=n&u#&HcNIU9C@zx%wlJPK*_7*6HELB73E zBiC_<%;~DR9Oq@12YQUZB5uha=-1!FY zkCgnTs#9BIF9@jn4`|&B#q&<>MIXZ!ByEulavPBII7krzEKSbA`HK2=^*N0eS%V=~ zmR(b1c9-L>1xd?Cq~32bi;L*yeK&l7Oxzg~%rDjH~-ed!hb%WeMVwbWa|4dBpi z_9x^`m$$}$TPF;bRn>ua9%FZW$D)}Rgg znO})~-c{yD8p3ixJ$U+JuqHveRAkq|dbS;zEk}J`HP$2a3sh?_W*2LFq0bYQSRG+z zZVkU5I@K+`4IGNEUieF1{nF&E@^ENP=BFqAnM_dQESV(!*v;>wUGkX~+TBst%i%Y( z9>0&(a{Yf@6lqaVXMZ3^HrY;FXo-Sl{pb?9%Rza4p{6By>rpFM$WDgr)iuV^H9W)c z1%9oZkl&^U4Jn~NLae+P^u4nAlKEuJy>88VAZOv9?ao$O%(H?(*)jZyhMciyMSdg_ z4B~m1MT{zw{hE#WJtw2Xnf1S1v7#$PYPNkfHFYylnycwYZf?CpWARm!v$6+N2&rxR z%vzw1?7^iH^ek1BF-j8ivXr-GDZbMTRi zcQdyNd)Ix&E=lN1-IX`qOU|N5d}fj#Zg83f8{dbcGpY6ab^jDOz|Ajz*63$9jh0ac z`6s!#!5O)cLgBZF1$fbd)=O7eEa&z>c7=*QGh#TxT(5f4CM8 z*R||WO~cn0LP3-eU=xMHGlvc1lQZ9S%@f}>k(iN9wya&pVGXmFaPFoRBwLYly<6Iz znGc*X3hB?XSU2)gs5S06+kebd#xT>C@7@GL7wYEmEr|=e#(}|2ms4+4@@kao| z?Ap3d@d-K5)dw#62Pex8GQWTL7Zb7MjqinWjw8l+7sZz6cc%0LMW6pM_gLu5H-8^z zlb@{iTxIF<^G)t7H63#*4J!A?nCTVOaTxMiW(euDtd2>Nf9yTp65CAvZ%^u8qlroo zEFUfcT`|_f08HzI$X0BLY$}?BP$+Oz2EGh888ky$Q`pZ$ER3!2%pCS;#fqoN{zJMt zlwB{mBv7LkE{ivKQ;#8-1HPo_){`PCd;EKautO%4!9iKbZ`jCtSb#w(*nqg04_|Ke z8z4C8-P;+aQs&(q2uB1qr`U1f^E{{b6Q|Gy#+!I!g=_W&m}DJWugy1JlK-v25ZEhuHXzOsUn z^c;OJw;4Ck6{m~d-3#Ia-R->8+ve|iosue9=ltnfMNj-Uc4{m-=X6PbyK=t`DeljT z{;aTgv(s8);rf)1x!J((ew4OukUFQo*27zh+4R~o^|ooguGVh@N3VYN5*|(A2(`(_$dFa~IF`Kb#f_@!Pj|_~h|a zg3PnXA=A@|Q1|Q4x!Pyz#pNqC0TCk-XorL4>XpjFZB);JFmPDW?Tio5eqq{(`}OOV z_wmkE+T1pB9%i|3TDN})y0KMx#o}*VHI@wsWNGzzb~|r+WO2+CFkFFpr&RGGafbb< zI;_W%*?P@1eBxwR9v`q9ef)2|v1IKutPGm*C?tA#82tG-Nsk2Vfb zWE-|=%J8vdes4w;#$<&~Joq2#<3pCrV)KhzFb`Psn5~XdBF5Lk|GezOI)umtyE8oF zzuM?6M!%C;2I2u0E*T{~53m5k86r#|-!nbEy`e6Q1vc-yTxvL9|NC;G?zeovLXuR=bee`DZwknsEU&b zflp&OLlj!o-@O9+j|d-)8uq`z&m*?=m(*3|F9Uxu=d7sY*tHV%ZyHaBFi`Liil0V| zl8AgpDT?W;j**QxMIXerv%Jebz@_{psXa?A^GMlN?-w_7LKivoDFmD7c0-o#>tifF z)*W(zb2}0yKs-Q9#gGrb;PXDegu-)xKWW|@KjSS%t$yj9GtSs|{*e8VlA0g5SDMD+ zPhf9!edu4kBCfFXnyf|D*SGZs2f4n}qb;avp>uX#F3uUEY}mM)S%6>_2fB^rL=Q$& zw%o=0_&tQ>f*$DVZh3FSdAVqE1*+-FynFYBRZFdHBwct+!P=VM1QI~?aU>&ta8L*d zPjKFt9Q(ulbU@~%x#hav%d6zwU&TCq`{mB^hOmcbiL7Eilpk|g#%~+X-R31+8?k^Z zjqA=*ZncwvVb3R7u!tx3EjKh?zqu-gJZJ`1g-?b(?_?tkkO}R5@aJm}3A45O3{o~p zJPX0#WYB-YF>c^=IDA`VAKWB~<&M*~)W%_&ULJME2~Pc$8*p||m;gT0mhNS+q_U*C z@SxhuC_w~>UT3U3_aJH^qU~)^lsEJHdYs|07 zf4|7Q{rrF*$8z$EGEQVZj%LNX6>2`b$%^0OPI;p(@v!oeEb=ZE*NP|ayR_g_D%NF} zoaS@#XD@OZKg`cHtI2`R-4its3}2^TSss6S`j=LI^N#RS--z{^SC<`JrHQTG$q&48 z-Fu$WZB`&Nk^KvXgu~$+lBn)E#a8HoX##j>m&*h}^qt{JJD%c(AYPAZGzS@wjpwOe z>~Y|C5=A-*T=J%7u?d(~|5MbOsD72-?1&|K7?5tX{Ju3|OPb9TK$xxTNRPfN6|K%y zJT}MV;tkK{uIiVEbN)f#Z1mt<2?Bnd+-mRfE0zQRB(G|)RGXG0 zz3O%>x7Wt?qEy>9kce+d7PhEIqOGgNZ%|x6m7*;qg@YU4S ze*Xib2u>*`tz^eCl7bBm#Gk9Yk@VrSPfJawP{E?$jaOlnZBb-F{<|2D1(M0!_qHG3vfj2=*ezEb5Om)sHafc(4l~DGevK)oEwg6yL zQ&VNYEniJ7h9y@5o(?NvnClPioo7u~KEunuoQ>s%tEKRaFSbxgW_YcKz72c@5&U3D zK#}$?R+10(^(|9c?BHaS?KIJZNs4N$}oamg-sSjQA|kxZvct9L-~$kKtdo- zw>AJ#R+;l_w|R7SGknD>yWH+_tJ?TA;z=x7B4D;1k2>?trb4(3yN;c^K@rQEt$=j> z4{^I^V1Ug76cYD*(Nu%rC!4oyjZ~q_8Y6E4w~3+{@YuHmbNV&D-tI=NDHoa*ET0SN zz>^@qWSy8zh_15eYGRMTr--YwI9}F!UTRoQ!aD)qCi5A2FBduF8Q&PYCF=C%ANi%l z>=B_vvu~xJ7Ot*!@iRU>CknI;WTxW(yH^tEN5?Ve8nF9YtrC3S~K0u|OB*hcQtx}R7A{;_Cj=M8x0P%u)N{d%kPC);JZ z{%njWSPb)zmOs?V7C-K;W02?9xiSsTQzHj{EK4F*H>FiAxNYm$?(P@szwf;Mvn4dv zJttqO^S<9v)%Y*|uK&t({F`-z)!DA6b-&C!KjYIoz28Gl?QTsm#J!gP8d=}zeKEsS z?ielc%wqtx*@b}Hj+Uw9REiD)RVv-|aYHyc+K;dDt8X6{^F*H?l9&InLDQl#wkjn* z`%_fbc^)jSgc}%2;%gPZ{!UPHp2VFZ&{#~Dgu`@W-=5YcglSLfaQt@iGL-Dy{GD3g zS011%?r!i)zC*bfSBq`o>+8iIjV_#Y0NUJJu9z0u&j+GaoY?1LXU%ptJuEz=tjUpS zO{*X8l;afxu>g*pO{EXp&AB3x)kR}Y$=4%BCl04n$}AXL64`4ReOmgU0by;nH6;5= zLf+KX*d;cK?r&YWKYat@z3lZO{?6!*8vq3`PR!;Ztt<$UmDu7Jpd9B!mYaEC?9 z_`OH9FV|VvBmdfl1BHQ;MN&r=zsVDFp-kxCm)BJ9q%PNt4-Tq}CuV%j`o(fe{M4@Z zXIg(1X8-_^H8t{Bvu4DDJjp+4PkXuOzKrHcmD-^~;gJV%8|3A8MC#=R$6V{lBF*e? zsPUSwo-m!TtklTa?Z2~c5yY2zh{~`7UqOvfRaI_Uq!xpNt9eavvq0xrqw{;;Y(spT zam$(tj;Jl?nZP0VuTJ5aj>_v8P?Ia=)6cIhWnyvAcNUD=eFhl+HxnneWXimCKOf8*>I(e%%Ud9AmL~3ccRZ_0U*_7$IyvwF* zv>GG-qWsZxws~zT>^Wsznsa7-;&hH=>NNg#)xYFMQkCh8+NW;my2UXx5X-Z!-V`u;6DdheB=;w?=xab}_NghH|34)#ac;f`U6vB=ieJP;T|)0{@k zr=m$)uKyp#zA~(hCR{tgDaG9jw76SvC|azz6?b=ciaWHpyIXPh0xhn^-8HxqzVM!N z{(nDmZLZnbWOwGCNAG!7mv$Kh$dR=}d4#q3$e(9Kgs9&%Qo>#6OClF(KY!siq_2~# z$4~m2=n=II&C!V3IT~*#*@!|saCYK`B0a6ICrmf(_iB;h-vvmgVr3c;`mYyfXjwWU zlVvn2w_3k6GIrCFf5MKs=v)+beva<$zA@WlVUjT1gbTJR-(+D3%%}Bu^%owTQV<@P zu=mq_NO9le5Xnl^Qbc;6ooV!im)B(hF*7qD|EJH%OABg3G0xG;db=GN!zg(iO?L~m zss45P>WrubcqP_yKU7gk{k??BH8#rJqjk|IiF=19VDvJ7z*_cJ;`7X;u^}qWILQY2r z6WDI*K?y-uHRFPY+PaLEw5#|}7m{ebn0y3J5)H}e2SlA9OF~|Gp4tfOXwS{1rUPlN z?uGbQZPRE8+-OTCpJgNkF;?u6uL*>nYfS_UgDqI=)I<92g+<%PkN3_R+AGwguR2%Q zPH}a0Myl!$Q>$6exNZ|rnn!*)&i4(R`;o{=JX?;KT{KU*Wg%WxLOW9D?5|jsmLd7H zP*ITov_T>M?c2pwhQ0<`L&aSSAuO2}2QQt99GmCmrK`-yP}V_Yh38Jv?k9tE*cU|) zU`6_gR2X-wN_A|$2J2!K-v+rq$!86Bav=y0^~-~G(wB;Kul^b3SwZQo-;OsiPE+H}Y!7(fQQO*P zop2SpUUd-wtE**2EFQ!qLZit+b3hGW!0ki|2b76pA9LJ*;!{3H#)`6vO=(#0Nv6z#vS%3bfely)IdnsS= zfAwz$s?4=O{h=VX(5rD&3dfIuVS5mDt?S{Gg}UR{Qh@YTOJM_n|7sU(!te;I-3m=H zcy|b7s|eX_{e}Q2^5cTqRU1jBescWHSWsiY<0-3~VDOt?Ub;RxY)QnT$_uOpyH#P(Pxv_2qa?k|n% zR*Q6H@F0f<1M4el3Ev61?D6I7O`bRs@d!8Fq|mpt?%TT7_n1ASx}fcD;Jp5R(z^au zjZ{Pv1d#54w~O<~Aqw|J{B-pc>W2yD0|plwDRlLbsqD{}tOZ%Ceu61E&bwU@xm0%|SO{b@t1CJxyNUpIiLrB=F>Ym7~I-*8+Tr zY!(8H-vNqk+25H2DTwaKE>GJuE8dGr^kPqzo0bgJR@sgU{(R4;%lM7ZPf{7eW7Y zi*jVq?K)%TGD$_etr5E(Gb%JqbFmmGqp+gM3#mqFX<05fg=GwyDI3u_j~jGsMf4p8X#I8WyndeTPkO=$`{Vh z$;!f+C=G|o{#)GbzB2WfNb%|JrxHEKTb=znjM}Y>KK{Jq_$O0NYAcb;Dn|7V&nidm z-aP-oAbbct?{!isG5M>wr4}X`OeW!pL45^yCumrso`Kf6ma!wGB z@!Lz{gd|lr@S^==K(>Ogpk4Ut^*G+2Urr5IOnw;Qtj?VhCyNDpBo28baYHw@KBV^b zJkJV)@0gd+p#ebs@;#cwlus&VEx%rEXTUahRI72notNd};h%YRH;U4v?2F`e>ODv}_ z3WybHhu-)mVS``{7tD&k`3N`4CV7|H-Sk57fz03WGCyUTr77hJ?}>vSiU351RR(>c zwyR}WyKh&fw~eS*i)s@(eeaL`{F&OfJK;}qnpsTz@0@IhyY%j$>XsBt)I2is_1?B$ zTgJK)C1{xK_jcIi+7i(JP#gzmzu;~|>HSA&6+X4OqzyX|qI<`(Hvgo*2f%m%?qn6S zHzDUCWLtCl%oS=UJUo~i?Q&TsosysR4qN{#uN7$Q(+KwH&~Wb`J6G;MmeEK#64}Qu zvu$hl{=qYg-rcRKAkX_tn9ieMis05~C9+7PQiD2LBf(svN=q}hS_LO}B;Lpf&b>oo zhy=rUO|kMQ=&D4=iQt|~Bh%Pu(<3pNU>R0K`cQnv7zQw~6bHjl``QhDRr5tpPu;WQ z+c>efx=vd2P#ES$o4Vn~-gab4M%nH3zB^pLZ_{m0i0I8n+PD1V!;gOw)W`C(>Gl?9 zJWr(freBPSLL4n!AgK;ejMhTYL>2r;7XCGyE~izK)Y+^p z4rRmtfVOG0e=q+zC$5Ny(C*&d*ANY$CNOe;KH=K}RTX=)cl%az^m6bQyy0J2$rGwc z&gH0IP3Z|95Djh+Dvbn?-Q+!LK{YT><3w`qXB@aho$Xi9k(WnI3UOSYLA zQJtN@k?~f18eRNJC-1`-?V^H%1TKjm%q$t7U1A^VP`ei|=AoXXUaWuh15j1|GNZcN zq+@1rGtCdTS4)og6 zQ$=lqdsO=mWdxEaDaFu&qTiRQ_dk*S)kyomnpYsaO7){hRZN|y-PTHIimwuCMlvds z0CS5YX7#vJ<{+y&{~UsvSFYb|#{Ii2MffH#pMJuh9D( z*%2Pe)?Z5Iq=>e(ZNTcmQX>g4RwIG%f1SSPJFq*0B*G6-bbfu-^h2}qYZ-a@5mI0A zH%|0jxX1IV&@dFMOORvVa}vwuS~KvvWN_5bIw$-`;-PiwJHGj6Ks=9$9m}o)0V1Hq zud3AnS4mmjN)vKK9us)grmt(ci0EDs6&d9a3YH@|;tl3s)9tbI*nPK`aUk~D6Zp8D zlWz+Kl2|Eh#Jc1E63NB7xV7_reNi*rI6m_Cguhat7jtw3dhxY6&ZM){2iA#_obg8! z>#==p!ntY&!jo2Iz3JG3M(l1|581;bW%v)N>DYQ&SuX9oenQ|o8Se&S!A>ipsCE6y zsA2wpdPBqXQByO{Na(&E#81NZy7n8w82q{W)^X%H-?|J%yPCc#IrpKU&=fWRf5tW+ zq{3RsxofcKS$T-n(wl2mw$4cj^FoVsC4Rw++B<$kBUio~G9d?U#5b*0qE`^avKi0T zq_7#sjBK@abeIr3@`ttPo{3H77uT9ctFcJ%H%^CLcsQ-M7BCeTg$n~b9*1vNpMW3X zZ};3^jfQy#avmR&Eb?1BRkAF!&3+2?O|98Ihm5Nz@T{%pUq%W8c#>ydN+?Ty{lOql zO*o}7YWuuhJttEt5bU5w(D=QT@p+zAv}-mZt(X?Dk$JN_3ZA)_9ep51QD?|or4aYS z2CBo}f5NarDT^#t^mXysnM3N6H=K>l7_o}luUlfN$k%!1*jBJnn01DDXmvzf9a~Z> zO0;N0?(aQRR>7~44?|*L!iEttu}HT;i+#&cqzq60~OB$_jGT z{C=kJuMkM(ioIhy?E>nE8>IlV!{xDVa%?w+Li@xXU21=i{msJ@b@|rma8gRDzvR*q zv3_ehP-K+@zocQid4u<{EoQ`gC&zG!E8e97+ZXxTo&597C|xQK8+lQZDbI>K!4TFE zYpr=MfiE$ni6oTZ>t=1rdSW_kG@9A~yY~&aB6sr+2cO;Upc|fRf2uGmk?AFuMeVN`k z{5_d@#F%R9&BCj$Ceu*h*jMA%>tIStp8l7P^JKJKYdj~xtU8qagI;eab_VV&RUn$5 z>ZZbblqW;z@@LJ+b6K-digBt0Y6;JY4KjCckjloxE%eu*Y&|Q z(4Y(~~`{m!gb|fkaFXC*H8m{ zCh_}tiybYOq(}M#(y4ef%JRup$mwSb1-@thb(4-*9=x`d6pGS^Q`!v$85li}*Gspd z`vf+LSX6cRR9$j0w`YoQy9|=&ydA^_A*LSEbB=LU#A7ZNopC?+k!7zX2?(58Fd4Dp z>KJk$%F~^HN9@ayYz@76rs}ef@ur0T>x$A8V?eWCz7tkl!R z(kYl8RQ15_{W#4v99YcPR4i1vp_~ixuQrg^_m*wlUWKphegd3JlRa*AYC7v`Za%#( z6LZu1zdov+X!y5(ei*J#se{sCvYm$7ts)~~;Avt>hwNX4DpxMnVnSJVhebX;Lnv)t zkI4Y<_>7KlJE;C4`%o{&e$Q)YAP_`+a%ia$F8Y`XlUs6!A;jzU{!PNRzHr?PMXn2D zK1gg&Elq#_yqij29Zf`%U^R;_?3++RRt1R+!~r#YnZ#853%I3t{Mtt&4*&NoAadL5v}ZUT&Ju+ zb_)F}u4;upOmtJtjid(vX4Q!pu)kw#9n`U?RQ4FA-gneSm_n{QKHUj4*Nz53oy0uy z1CBu)HS*Hm!N1B&isiJH8B3N z3`u&UGaSvZ2}gf$u|y*F1{IOiga$1o2uR2&?A~R8ts~I~Z`$ zS3dIW-QCMM?8qFm*j6%|IhMX8fDey(ZZCWsJ*=4Jrb}oW1hYh2Y5;_jr!R<8YpK)c zs;K>x$K0+8F=E^Kcq3QSmhHGi$#bP;Qe#}B^lP>m6F`dqS7O4uno`4xn$)0rvn=%A zcy-$UI)h$Yh6s+E#?YayV{GuLu0nQNO8q zkWCqI@0d4Rlx^oOq3P7MqlZfpzfzX1UvsV47`Q2MQ}KNMWrSxg#@!K-5`QR%e?xua z;kP-?#~BJ9FRl{)ABtD2_a*|1nESP6hs-ScugTNi8}X+?4$qJbFx_fr7-}3HEx7xIBD>u!NLhKSe`5bd@6hJB@9hW-xWJx$VP<6f&2g2H z2>Gs{q?$RL0v;I}Y3?j~e_e5A(VFZHfyPFM$8Dc3mP2FS;TYr!-$V|OZVAYb?joac z=$BZa)w4^o+3YJ0YTZ%z&ETc)r0g#N$xrEMp-c@pz_s=MU^0_-LTx&~-$DE^FRO#9 zKPrHWtNg0Ve%;Tvy@jzFHXvaruISu3HNuvcMW@oOZ#hb#XH+~Mq*EIo5*LhmOf;cW z6&xF^sLh!&rzeoY<>N+y0#=<-d1Gw+n5Qh4?a-)*%KF~B{st={LWFV04S$;Gr4gw9 zMA@(VlaBNY>u829LoC@Blnf0zkFS{ACoJDrUvvF^j;M`zocw{Y_35Jc{?i5ZdPrCC zIlm!P1j%1a3}mca(#T-nKo0%-bBGhnSglDGJC>* z&h(Y~*Pf3|Tl_;FTp4Cgzji!NFbZkgjvD!S43K21l^U#LHa-Z}v#|bN>&_4DbT~DQ zwe=7taUw?h)HdvsKl+kxWUpBa@oHHY?KS8BSDE9oH4|eCEeq7gA6H=a$fNnv{4{{O z=1Btbw0-(@w;SCBJK6y#CqJZ+qx6-1UbRdzb+O`I|FPtV=Q-lmfiR$n6#J>dpxbgNMZy z2sqx&hTe;YB8wP9tcu<;fXW1)558F0dDt2-Z_|-fUk;i=@>xawiTeh*xSt(ujm#vF zVji$wTb&81Ve*)$(XW3v^h<9iu=*PN%4e>>5*LWv-aMqU0>5OYmEPT0VskKve#x}- zu~6{wf?72t0+UjGBgT53b9VdyxMp|)y8!wQU&XPMd7utFSLX#6KmxD^WCe;42Hbr= z=omfA*BHX9`xkI?G2+s0sxw6&dTO}w%-2BHHN*Kf?6<9V1e4y;o0X#QHBwJ(w&Nqi ziVZ+UxE9*kN-5#i(-JBg#9N2q&iF5ONkSdt*XZ~iQ2YRhq z^KV7xNd>Gx@HaoHuOYImn4Pz+o8_!Kbh>Ymdp^Hyk>V4!65T!VYI$J^tg*IV4V9kb zAT_RnrMBUE35QIW&hW#DF56BQ&ZcS{Q&3zkp4n(wo1+CG{{CPlf2Ri2t*-tnZu>8+f+McB}qJJOJcV&bPoP6VQgz8F9Ykyw9EqYxBH1d8PgC z+!^rt4Ggp5F6ugI>c@b2CKCWgX3d0mbviZ&W}p*~#?^ zm6p-?9ziy-0Yg9=;JFGQ2PV~I5#BI3kmP?@sgfAej=fozLxSxaK|O=8XSx<=LScav zHY*9y6-;R(qPP^CXLatq#AwVWKd3Op12KEhH$GzU;lb>{@WKOx5MK@xV^}I)zFjJ0 zkBH(2%jr5y0q<_^)2BBTI!fD?p=1nrv2(Co+dhYKr%}Inhg)?A~ZXZ1*epPHq$@VvcMS{{QlB?-s z;3v0}B+btf@WDxX$!$H!4-lSAQ>`WyyzS@esN-Me`)S_ei*DfhiL_o#z{Li0j~oJs zDiS+>D#5gyoEvg8gTYSl9wDfg73fE1^KuNDqgtgQbpU7-R7yI0Wu0!6FGe+Rm=<}5 z2oUU@omF;p>_5vA5#IcAa;CqIvNf@%sP}i)mK~tk8e^&JSZy&a|J{|jOKKQ z>PGq{=<0eRm%V~Akb3r`LufM*5*hi5#Y^3bPH5X?0V^|44P-baokxRr=x}B}^9A}F zD~a!0tVWS3BR>IdfrMnE9>Sx)h#a6pVZh25-6}hgVfD{-3|q)r2afav6kohwL~Ppy z+?cuC4c0edT#$X5_3yRRVY)Wx{;t~D$3wv@!A-IvZYCd*8-$2j=n&j{hyvoV zqwM`@V24TM{$Z7Q)#ime#FjeglqF+FV2rog!NQP)ByZjawo!KKcygZm=0lA>fg*wV zS6ffPOu#cjHCg6`V!w>ye^d19Lrj*}Bmt+!yy`j#dRy{5X#pEM25|gv{X163epz{; z);_>eu34?dif@4&eMpF3pFPXJz8b&;&IDr0MbDr&y_58k;RAsi(;jWzoEn$Lv9q>k zZ$?&JM%}H7{nCEfC})gvJ0$ZD6;Y8QiIDUGPs0Ajc}kKe-$0ss-t)YT3;|yLr_pBW zBd>ZsCk9yr8pMiZe^6RG;GI=7ur1?4(!*g-Bwg>v_@M%ug1^`XHG7NA2l*Nq#4{i* zyKXn?QjaH5bDgP!6YJ8wPW)MbbR5?y37l`; z5)J+rj#8PERg`?UBYA*;(S}j4yVWIsbifCNu&>yw3mypDNHW z(#Pap0|IK((A2k^zjR@CuIl0%6aaDSCCGac(*i16?g>fjj4-^JI3Q}Qu;Ypp)p%2O zu_7R;9^F53_XS^0)>zBC<~Vn$)0{b+boFz*wXI*}EyoGphuSHdh5wDJi_YUt6HpWklsh_9BsyE1-LINqNt5M(sQa#3_ubNSB^9l*3 z#*h)K6OF||QmH@THE0w0z}l{ROa)I54+FY8&{7_g3Jat} zuKSHX8rl6b(MbLIqKM}2Qls^;X?IMF+QiQ*$LD0z$rvigfgKSBQ9uM(UVI&zk7RfH zXjT=;dbBb?zA7&TWpKSUUUWtvA)&JJ-6{n$NlYlF*#l@<%2p52a#J}r2b|QK?`VHn z)~1S!M_H`LGV}P>l0{VXQV zYJQlyde}-T8VNR$YP1qvwws5W2*N+QCAPrp-RM0HCwI^XMYeB1Clf%rsjBrA7(U-y zb~h4$>7$_p)B*yGn_~?%OAKB5^X2&_DD1n$!h&HM9a|$O&e7I-E7dT)j58wH7-%eC z;vc=Gbt-&Lw0{RE+(i^FI~k1$0So3M4!-lc+JCgy$DevV9$f3mfN^XLcf+0|1kZBD zA=rwpqz?vjaI8OW%6m-Qer<_Y4%Iu&0s`3K2X?(p7aBBQx9@Jo$8i8wR%2cLKtLl7Iqn1TqDHxce%v`r`^P^ zSE#ehCdPrt_LZLY^a6q_qp_%W&EJ3B#JzQH}kz5eZ2-K8>w*@ ztd;VK6xFDxw^jn+vwaHTtBA*>M0tY`_utl`*# zJQVR2aDaJx@8dX@*MLnow=eo2Hc!`ekv6{-x}@7n?Rtx@6WUZZ5bBSrRGfY1S8&&4 z5{#?X;9p;R3;=Div!t#`#p}u?*G`+zuNn=&DoGl$KSAja=VdEi`$E*G`L~6ib9;NU zH2>$j5XCKzbGx$rt#*P!?05k=s(yhLiw12pS-V&9Q$oR&MSKp;ndwfTX?J77g^2iS zPykRtBKP^W7-2aYk&@`Z{?R%avS83wNs@prRXnA zUcW`o+fz(_VJ6nUpnZOD*AXM*gWun?hl)!rts;7WCUkRB1LJ z;N0^3vDMn3J%$p6V_>_!d?$AT_uO3K*ERb5H+tWiTT|8IQqWyo%#@HyuZB3wN--Ig;Y;8RydmC{?yHR+15 z(sCJR)rz$WW9xXBjk6kb;&7NfOM6uvA(~g|zFE|@RsJQ!nxtyU&t<{LSSGPfkE51$wc^>4v47}fu2{jxAx2=LCY_F%d$^}Iw5w*FKpdHPM zq>QLcr;sw1vIGAn_q*wL@tJKRjr!_LVopae4ainO0cB4Y$f)M&>(2Z}XG;qW2RWs_w$}#pFAM#s}`-IeiEm?wtDl&h!v+ z8wMxAFlAXPx+`m1ab~x33zu=(g5H#DY)Y;fpmCpw$Rb7vZ=`>3}18gZ(6Y zOScFZd$dK-;d0rHCL!D_d_m%64Z@mw`t~CpVOONFNO!{W`|~~^rCBP)K}+23_lnqj>FxdH!)yNnOIW(e8keOF!pclP zD!c?%{Wfs|5HWz8?2ML?o|}K|XDP9&7~%FHM#khqgA-_@u!LKlAZ(d%)FJ;e=o zb2h4dUo%)AMI%pGV7X0H zb2-pj*92#Mq9*l%nXehy*!n!VjqDHSTGzX#WyEgj%&O}k_)Ey`Y`gK5mA&7pBS3p}ev=)wzUBVx zPL)H(l($9OvHr}EYE=$7eHLM0tt5+y}d7!8dQujZJl*W|yu9;Vwk^a&%-4IfE0 z4TFSA_tB0b3s_OH@`BiC%i#!n+N)o3g!F`yLF-F(tApv_!o)+D-@#>HhUr5TEO_ip zk_^YXel*ar&-cc~Nii)hyV~hOx`ygd1dF|9_ST;ldzsnRniZkzMBIYu z_ilZ&qOxjeV5U)~upeo=zp(OzkGpSW+|g}At#j?&y}HeMHy#vn5_;;GOOJE9Lz3Zu zUQ%(*It#ir4_CG~kt9-65-pfC7OM`MZOB61{3MJVz%h}o)Bdp+Dt;cn#w4sk8R4T@ zNJD)zhO`;u#!L0RRo`A{-1^{z{t#M6HjDKC8BJIVftWJ}5r_1i? zF{RfX`}wHsiozlY@;5Z56J{F}UMflv7Lr=;gB`r zzrQw^b{5Zwzc@Bx49tnv%ir7M(=_v4nTCg3V8*Osn@zV6*T;X2k&8%QvT@J)vDfB( zHFS&cwAy$r^p~kRFsB`(RYL9D6~BDTlgbV$;Pc~8S_|t4#utjdNoBOMjV7_LZm0@jt0&xmaKX-2sWX60v zIGVR=YXQ1Gy1@3jxkm=DKD_+Zy#32gz`hyvkFoF#zz-SwL7?-{>xUDsQ3yfd$HEW0 z9`Bs&c5`=jTug=(#AQU^8Ql&60NH03oNu4l5)uvFU|z?26DNV)mLs8?E~p^Qhj!js z8U8$ck?7@HHWAJa)rya^0dy9}``;T95iv^kw@zxU-=w27=x6O6k30N6_G;K>#96v^wgnDgCv)b%vR;@@D50;PiHTTE zw!^;F5iyU8?d}BASc}3I& zlvdT4<5x4$n$ILoPwbeK_^8r=^YU7K<^_ z$ET2W$HSa2)ipJrW9X=q(!gb%A8L~O2eTOv8OIq1S5@3mt(c!o2v=ZRjQ7UcT@EaN zldo23=q6jwjmChZl-TFa zkFjrtg3y#N0bm2#xZv%>5Gu%4tCtojN8KM|4RSocu14@Z2#i%$ba!|EW5TZbOviP2 zbIiY-AycHRs-~7lUoB~F0}I;)1+xpDLc#NE8;pHqQ^NR`r3=(6=tN#MrS;*BqPTjw zb;Yz@$NtjlhTN`?k#LbBam{xJK@{C7ccX_TMTibZE)1(Kq~iPy?1BKxxyhJ;Ejj5? z{WT@=m=zM&>576mmvjlxHs4r-D;9PuL$EOWYV(#^9Sw+BC) zv?t;0!xj{jDCyZdLnPbm*M)4dJJl*6zhbqKWC9>m6N>0qF_R+rbG~op=xtp0_vdGy zphtmp1R?Ghnx!!^Bo{|cl9ex%`4Y1WPN=>(>JAf6eNL_4lfM~_w4~;<&lsCFrrCEv zGIB7BB)_sjBNub#`TCE=q*eI+ccy(Isgd8Vo?m8}J~~~g4x9f5Ztq{JPvko{CsqCP zxhl;#=lrDTMS_HmrBo8TV)GGj$B@jelAYG@6E2u3?^jHz2E?%ZVUIWUog8W@@qAlC zCIzU81)_;o45Jbz;_Fo8B}dc{2Iwj7H$FJ|frtbs#7XR*PkF++y*v=x>92yd_>xOS zABCHGy_1db$d5g!#DcH=g(T=lk|S#VkXLTo0d@IE5|0xdxv82{gKNX*-=(mUF`aB& z3xM;{R62sET}41~n!9bPwH`4s%IsVKK92OHcjDp2Gb8QZ@9vvpq`3zcM*2Y>4y%@$ z)fQx^Cp&t06(l|3zlP)v7LYOxdJEJo0nrK8 zd*}-$LPWn)?MfZge^rTzboCuiD=sV)p-&2g?ttERRSqJ2uK}YL$Bz3X+FiVHz*RQVF2^YlTF5pT|_D_7#ZQpnca?pEQGnK1OOT@#J z$n#+NLjTl0-r!vBCAER%nm6QZe7?!;y)JxzRORihs=@_)*tTYS_+a@$ z;tlqV<9YXgwtb$j(TOXN#d<%e-|mK* zfsVI%KfP+Q)K=#5l$o`YIYRh223j|GBH6YI@NefyL-3j-veh2%v0qDzh$}(pnT_J1 zg2H}zjHneWZHjC1sCJLw;t!YyJ43&(b>SInhNB0*aWDf~bGqBjWo+3}GG<_qD1M~1 zwH=w~iZQ^E`rDj(ukC}7iIdeeXRx|D%xto~^HrdInpuPQ{_^Dv-X%wFW%h0R=hFZ* z%5T}@b8IQ=YlZZA8_fZBusSt<+Ds_6HV7FsllpS%q}WqsVn=d}Illjjs-|VWm9?Gq zDekp?f;!?E%5pG$$%+u!;HJBt@E`ufBsBK_xYGC%N34djGDQSQZ5;Pjw0IWZ<*6zw zz8lRDBtFEyqoOnAkq*g68n{_Aaxr%VDf+gKq}alXAo4(!PlQZ(=L*FQwR z7bshLeH!K<==NcM;gGpw8JhSlSM06fRvtCNTW~ZJ&#Z6OS8w0~sPyFr0Q~MbdUG8i z-qIwV)Mo5S$%<+MfF#WQWdb5Z1!&Q1iiE$4T3VJiNPr&SHiog`;Xu`4U29Rgfyq3v z3#q=ZRn#4yQSbY>P7jKM-;o?F!2`FD+8pHD5y<@pn|`c%ea~)Hjeyl{7ttn`za7U) z(C|O`niA~`b1L|KGcTK9Z$ej~%VJ8 zNxE7EEv^SE0$3AY&d3o+N*{?~g*LLq5z8UmoHkjtZMTO7Q7sG)VE@;segD1a;Ih4T z^NDQ05%Z1302-*aJ+ zlEy4t=g+Z_ALgDQx^k39s4STi2U$*UgmY0`5UXfxlO+R*U;|aNK zrn}9~rl0h&k8|QBF<9AW*!4tNJ<*oNFfoFv<8)=g*m^lR0^)ksMlorT88vuHv*|ZW za4qH8D;UDvEm5jpDvnQ8l$qVm_V(XrOZhd*eairXOyBj5wi|8XjLr#^&>fGSNp(Bi z9dq=gNi#@4oXXR7cOuWL@b=r4Km3!-?M@|;ljyuSD1ff@idbN=NkvAGD@`j4rrq#T zRBc6T`sJPutig1ypou29J6xO|786EkJ1(9gFZ)lYI|ej-A(yTc0$Sfo9fIZ)wvQ(v z3w%E1i+k;Ck1-KyCAG3sSM|B6#1r!YHSO1-THt=D$ksxao7s;!mje3+OE}}_S%Y;7 zMw`8S=GR&^Io&aZyuegGwa+N^TLrJjQS-$@vFpr)&52J?%wp><4IT+&bF_YckQ^t} z>F`=Et<~@F(l+hby!!ZNy_g$a>wDka{p9I;U2Om9wYRJ~80Mt>uZz^+bQy>uiP*E2 zlq#?tk&=S%240I9NnxQ95+eKi_pjuDn!5Vd?+EPj7AWtrQm^xyxsM=hmxDZio70~J zBuC0GO#5gidd*}vqgQWGy}f{a-?aI(Ib~B26JotIRaAgT$s~-Q{dK%FS&c$ae=^tJ zc)6o~w{)Dl?GIF5b{OuylAre`NcuXI4qcu$o^k}Y8FCK@R5ar+Mn=?btJ6@XbDSK{ z*J#|}LxFW(VM^2%es#G!@@IUUyG0=f0?p6-^1Lzw=t%nbw7f5mZUP$3_~)k=vCmiQ za+Lc>X30kleAMVm^HZr`_o-}6yMiJo;h8;GZa8h|(kkTdqp9*Za?1Q|t+Qq5)J2C- z_jQLT@XM}xJOiqEZF6_d*ZU?NMlP)!j!mv|LfJ%_cdb8()FkVejc9%_(EaP`F=a}U znGtH|06QThhxxw{7zcP>Rgjr8^T!=`SE0CWFBACcsZe4}L6I}x(P~Va9QF4`b*2l0 zq+2hbA4ENa-i(&}Y-@b)a17up%%Gu^BBcgk;I+jR?x`M(W?R=mN1D$&DV$oT4Gyqy zIdAuIkD2vob?Lj@@6@Yj>Qf^avOcsCk`6&-jNLC}LoGG)aM>X*kpNnL5KAaDS={_cC#veU5$t z(C|*JoUnfDsq39_+dAZY(Zk~EuVKHv?XmrJedq!Qzh+H+AYJw{t)RSnb4@0QI(y%u z8sI+7u3EeIvz{XE{_!!tt&J!QjkK?>>y_(>tui*{$CL@<#m!AfN=gd7x`x1CO`7Uv zDiM;;QPu%lM3ERYfmDRJNWPZ}(S}nz-q~vSF`)5VDrTHYxZnx*ocRgc_Y+czy zFFtFkw%0MAKm3AmyoRm%6R7-`kPssA%j!%w>jGuIp`gQZdknvOm(8T`%`lwr|5}uz zs|s%qvPOba|HE89O}wt@E2Lr_+vQa@*k3+Te>(dmi{%e^Tixr zt#`g3O{NH@6^qbE@Pw$yei)xeHa3roYJw&};Rgee zYpBo)%BkTyHZNfPMf}M30ppMjAVsuH?U2nsw+f6hH{hwVh*oR~UI_nk$8b5qj8b`~iyo z=&bt>*409j=OpRV_^%R6E4A9n8B(iopg|E(NEa_cTiJEk?Ll-f0|?mgoC1(NvSuLW z+~xSQvhXi|Ries>Q|old+8E0MYC@5A7hQ89Ki^W0X`Xx353v7l?i-q_ZusyGf6MTH z(#+6&_!un5#{ZKeHF$0( z?35EnXPocG(t@UliFk$nR^kptPvuNc;I@w^^-S{2B4^GxsPP*A(KKHxx0cH}u+PVCpjEx)RdTjc%+SqupNPBNloN;K^H7$*X)?2Yh%b#H7UfVR?d;8@m(5?`Hup=DK~j9k2ls0)b=oPA%`5k#rC|uvcGIrJzxOabGJ<0=X9iOMsUdk zkkH+FGb*co0V_J}E}z)&TLdd6cY8+d=8WhnQe*Ifrud6xYwh8-;eGxa1LJ~aug8gv ztr$VO(^vNR>i_Zd&GB)3-`^XXO=H`()i{l9H;wINW7~Ebr?H(hX`IGpW83>|Kd#!)3AkA2lbAf6tuqpNdU_HiPt3p?xyuxu zb0B)D32i;>`nrVk9wZTtYVzE&0&WW|0wSasps1i4Q%PIEU#kE9`osbc)*pAfbs8C8 zV8pn}!mpws!L#RAFQI&u5j+WR?8p8 z{NcLBU%pU&VKg3_IxQp34ByXVLxR&SS8)G0F0E05I?O)O&l4$@*6-+u2c2|lF#S(26)`4D}-y`m)+nbxw2&Q{#|Lzv|+ zdLLkDNPJ`F!o-^u)^xxEFPNVT3XzhQ=6Nb&-5GXroz{ER4aKqLf?fY!os^a)Cprf6 zv!ymjQWd&gA2qWY_Rt_snSg-cjuE%yv4l_1P9jx~3ZAUI_TVK!jzNqLM%1zNoK7xv z-dF@2?sBg}r3MKoSs25fC3qi$q_o)IO`mR>{&jT|-pcxt3d4JK+d5eZ0&l6mCb2sc zG+EpG-S26U$jcw!W@U|Rs=mBk+YtN6AKRQ%=7)pZ0R_Gs_G6ArC#NK?RllU|I|-^x zhdhcJt@l|Y#gz*u9UGbYoP)f)ypD**we(tIOA5VA7_p zhd1Zu3Z0!3C1xgujpxzOaqPsSM*W4Nb8-!_izlXiIwTQHkeT`07=3mf5V3939`5Qi z&=VlXRucV5iUnMG*(C1CSZeNT_NbcbumSGNSrGxs#V7O&e=!c>XwP>MO}7PaP-C=x zQ$)|p_3bM(w6bc`)Ag;HwXC0Ea_`0;@JLjNh~r1&|6eQsY8tQq{d=1C+w*l(NKdIw z=YbU|rYPgpao6WG;;%w^qU2LbAWVQU6u@nGsV0g-INTdzAf;vj1XzMaX zKX1RI^m!v;mn%h#t?^p9TJAQv8;ZrW)vfM~`J!qAi1Xhn-u&2cFjT<V3J6_dS)1KD`}bnPu%^@_Rd( z_K_C`Elf+eoap6j_6axO>>YU;=as^#Kg!031;d=KUo{Znrfk6V4iz*8_>;Ez)yUkXAI;w1a% z7=L7XVFJ-}guu%}30hnse1Njc1tDUd4=SSE4kdcQDS?Av3U!VVTLYg~+;47tiy z>yL`|g-PA$np%QgyWnwa)ez6MMLV@pezPYep5_f2E!>Yg=EOySByiJ(Wnrt%-nU|h z1rX>W=?Z4qZmmY2Rm>Csb@^>AO5N}Gzvdvp!&ukRD`%g$cX%xHs2WWYP_GV-dqN@! z2p%bdiSLzM!|A~m^skv7w486{?e5RK)Rsq+L`no4KoBuQXuZyF*vH1;vWedZ*o+6Y z@7X5tRR=|L`nDMj?`(B|r>14Bj&>7kn8)9&euSp}+!93{VwEXet5(~(>i#XJuz z>0aDjXRByf4$C+@UtZM!z$?7)6P|(;AK_y%$G8YXun%XhOi|+7H|dg+^xdoz3a`HF{y{>@v{h{F3H0Z7iNfSqP5`W(o5KV54S zIffsB5FXhFMc$BdE$J;spW@4FRqk_&Eb$8Hxmi*BDm(3*pafl6Rg5F~s~F2=)oD=iXI@az3) zljlL0_aX1?o`2KfWv@hLUff9=F96uLf~WcMK?(^$3uuiO3G>|GPkDF2`&mEBUv}E7 zRQT1sg|@B|7C=iI8k`L$K2pnZ%%&*onOxKaJvN5O>vjyAe@IT+wb6fe2qU7^lFKC~ zW}Vu;kueD-+jlDoWoC^5Fx(KN`lYyWOK431&tl*i-%;(Zk*Wjdex*rU0c;z1&u!m~ zu>(YxOAOY}qg4GS?+3EuXJ+E0My_6DozzZZ2MImTQ&QHbPi;=JT!^!FpS&jc&=kGi zvK|Q})QCmm=?)7k;T6#f{87!_&HJwZs5 zOxFC7eH+61*f}aBW;hU)R((i5hiX=#6b+4yVEELrm~Bp1{3poP^m*pqpQsX)2*cuCPfaNf#GS=6QTXO)A2ER zn6^6M4@6xS4-BS*c$In6moZ`2W0%$}OJuHJ>1^560UV7^MygSt(D3X_VEjJ|_gvhK zCQ@kkym9Dvd13&Rb-(9C?%cn>8F5$(uHLmeY}vQ;RB$d`6A07>yj~OFZ}mPu#p0=% z#eo)n|5oZw~?Rv$b`E zzY;xEGdG{N%NOmcq*Bn;C1&(xk^83> zEolfQcZjHH#F%HN{|jBiVx9Ew+)k8<$2yU?lJ2!OaWQCKcSZ<<93m&C@wIM9#~LsWldWPSsl z-5@udFTxBz)gj5_ULMTXCAzRw#`Cz9c#xFg^l8mokO4>(nDJPj78 z^+KB6)SL3JR{zBK_@IZwML3ma|9t3L%cEnHJ2n>u?nKs|J}Rs zD5Dczxf|Kj-JKirQ+qOP>Pb(VEXl>3fwiV)8hxH>RG~z;=|+d!Q*rRMWlwoIJb)BC z8sZ#h=d|>uj^4TBgp-S>2kZg?OSP-3tG-Df_gxtswA*7PDk}b_#IiOn-bO08xs|fOWbF=O2XqnV!^3la>n6y%zcIJJV z4XZ{ke3wbjQHd1r@oH3?80*%(Tnu+Gw`nJ|y;1{*O2`+5E@1QK^^7gJ)@EYcI$}&k zdPT^AP#XTQYb%E+3HMmgQI77=g{{Daa+jDtG8dTd9~m|AN-N-v&K`=Hn#8`Y-2wgl zHW`=KY-qek>`diW5}*1V3TiL6u%u8ITw z02~@|Q$%fjG@t_6Gh31c5&*8URLEgDAzEkH9n<5PI0E*@*Hl+aii-z*H`3Q9l#0a< zZEE5yDJ|Vuu`0`QB_&UUH!{?bRU|?JAmg(39c8L}Y8u3rfg8OC*3>XvthWchK3*1g zbrBL=I20HmN87W8HLxR~67fS6HluT~^I?3>qlXc+$afk~lWOzVQ$*0C z=Cp#oxOUQUA@_tBiUA-$?dAXjD@KPXmO5O?MtXW$LJXw@nXC&yqJ>dg{UEydvJULP4OT#Zs)G3&SJrGup^* zVrCO9mS^vHvij+|nT1yIqbmVAT`8Tkw+T~r1!ny&T%3Vd8)?>hckbs{Tl9%qxG_sp zP&ShmrPv+w<=6D31z1_I zx`XRE0P*qhIl8zE_60&gh+4o?Vj|q!BK@?%c~rZ3>0LBa{n&@yv!;9Zzd_>g{nT2SHHnoX6Hbbtd;-K{;8{ou;9SNy2v+Bs=u;v=^6eHxNBABb{tJ^oV) zXk$S6hC@zcfn{fg$ZhlR;{R);;)lNMadY%dkmuMKN6BQ zSGT1D?$?`{sJ-?A^c9oAlwXG>MMey=n=n7YYu2+dqUxP2`1<=d0LTfj2bU#A0)7V6 z$tIKHqRSwe-dkaNy4VTKW`V(XY#z`v91FBm)?JVa&(U#V1?T;lPDp4d1Ru&;-uof- zcX3I_Pl#9FFO}zMQ%g7y=225Dty4D z-Rl9!?@mO{s29WMLY+=Rt+z}#I1|(GInuc@NJTUf8VGtS=`I;oh zfHvlGfE?uf*xFhqX)kaf*4^vUCD$qL{QW=5(SY#hjr!IbD{*Sy zOIt+8p_@P3gjF-^YSVC7hJE+M;9wlMcfifU`NO9-X1{{1>Wfi&ciJZTb{5V zerRZ@=W%KJL>6R1ek3%j1ELtPN?ye8rRhXmPR$I084A<@s5Eb9=5BZ%%Q1)zcqqdxB+?kU-kA{ad@=uK(nWBPZXX_(DOs9ynWGGu@KED2D_I3RUb!WBwXhlKMXP?xh& z=LqIqUL$>|nYSbwPx&l1Kd1v=(WF~i*JDTb-t4eJ(FO61aaH)O+0Mn;d3$d!7-^gZ zqhJci`cGKv85-eafjhoLBY@M9Opuj)pW3Ff#%{k?IoeDDTLW=mk#R+p@`YoK0^UEf zykD8tK?g(9gQmt-%k!u zgbtm<4*vcn$D_vc<7Kr8%e5MX`9T{+(>jjYXzDd{GUH_r|-yS$bU8#C~?Uu?Z?L2+Kq$N#ARfo zoNh1D&S)w6;rrj?tkn(GP((yXg0D})o?@4Rj_os%!QMgMfDgeW=1lI{V>FS{Px>&s z>}D06>FI_{fKg^{6XqUj${!ioGdF@6u=;A9Mp%D;|Ix8ARl8X3ZH!s+lT(v$F&6(&0-rPr z@tefi=E8qF&n;ug8bMahj3j7)9%A?M2O_9bIG;p@#2u#k41ciQ*!_N0fAaF?ulB1> z!-#&Nl0^=cd~YQFN5I=P4YQ{~K_(7&)!ilW$C$ZaPxoV1#{#Mg75m&22;YV=jxYMl zw2-B0b&D`}O-}6Pu$Su~`JUxj1eh(<4YCZZuHyTc;h4JV!frJ2&Xq44?6Ms7w<(s> zGW5qquCt(pyZZ+Ae$JnDQZwq0Nl-$5_=Le!WGGBN0WzncAD44{idXvim3^z+<>&30 zp8CuNjD$FXd(QWqkG(-7F$*08%tyaKza%BMlS3KvZ#|L3ZpkXN;oay73=lSuqp5Ps z=%TZb2+#k(-GBK+YDY@ob@1AB=Sx)5cfjtjDQIqC0Rd=eXkc~N?1Hsx!gt&hWk^M|1@-c5pIf4U;lp5R)r~hu z<>8x0JTu_@t1|s(TDceb(){c@9P*@(KP&OVerCT4df36j1b}klHiAHt#AL0)$ua5c z=l0|txMf&^heXWtJFmjjs6&PWyCl>0{Aq*)@Y0nMX^k3s4|PXeQf71c}Qn+YCjuiv;S@n3-ZZfIt0){PT8HQ+o0;9qOp_ zJKj}Y27(ptbi2zTK-B7iV8*0xvKzOWj+xv>fh2aJ)wPRTfon?Slu-TB1 znW*t7GK(e%c_i_>Mr}`U+{{epD>i6 z-2r{Juco4rA65;tQj_hDL7mB2?xEq<`c}x!9(2UVkC23tsgA9**_q)Gs5<|cPYjwRh289 zM`Xl94Z9(_O7G% zK1i~S99)PN@V{Ax7gIJcGnS2_IbhC;i$;RveY^~_jF<>)mC`**m|Dn*MkRt+h-eST%@L3AKDo zGVWfh^}9@CH z-&E<#$mBo7T1uYc=N$n2x%ce%+b_uob`&e;IfbiVk`gX0TGk>qX-$*hg0&afv7uGf zPER%9_4Qa%O{5oj!uMYqc(KL+`#(tBggXCHKn`L%*lCc-^p2@!`pH9;UAhTh6bp#E zoxtYlPg}GSe8ZYVQO+D$ zHBbRZW=$yj_ENzR+i)}s*Uj$&NPn5x9r(t+9&fkA@g`~&-uv6VzgsXxyl9sVeYRi1 z25{Jn+=I`Zu*1<4PJDA_ zX~*5C5X$d?3Xu#U1)4mFeFv+;UvFQ8M4ezN=P;9{(eG0}4}a#{x!?^Qo@19M;m{?jh7JX%v`>^sX(C7q@U#iMRy54UCkgNENQ=qLFMs_|M#n5Ar94?- zCF$bhz}m9!hJqnud)eL0!HcpQ^erHzlpBA)x^w=O%^}geIh{;`x6CKP?&wyOY%u>r zoC*^mFbMrD?~naKqn~fR?zc~+#C4?5>auKYH56s;x4}UPw1vGyc{LzZ*gChXBPR`@Z_4TVacTh4;s2832ZMfUg^8m z4Cpu6RR-Uuk1fB)pqvDrhC`T|v`>(g1+-K2Vufvp&f@54Nk#Ysbs|f$z>!TalsWEd zC^Bdkja0Lroo+&Yzl#5HTiD>j@Zq)Anbg<#xsR>;?+GS`?C!K=k`bSFLGL#Acudke z>%ax@{SEO+Y-h?pPoZcV@bUl`KQiqW|3Zr89%DPEZTByzP8{u`w2PvrKI=LL_ka(~ z)3U%-ue+mNPI)TW2!M~=U&M_3bY2r0g$cq1jQTQpx*gc`r#LWBP@a6|fx|+Cr>DY% z_P{QzREX+qy7+VY1a&@j#&!wvoQl8${oEJ&fALo||8I`D{`7ps zMg;sh!3020pW`oV$39PFN0u18wxF24)}DxIT_}B)pyMUEG zx_Rtqk=HahB59PMab*vu^c10(@qW5WP~z-hXbfWU4- zE{b_bm-b~BJT2w0GjIDE>8%*Cc}PJNx=vE_c1}z}tAA6Y_usBjByRDjHwNn`ie5w* zNQeWq!Z3e6>J^5avmIb}=k(qy$S*dvw<{FQK4(}Kz;?Q{Gv}Zwnv?;LN49q3eg+_e z7N;Rl*IE@nf}|a*cJ#XYRuPl1rWM%8E-t)sVM)?FsEL5)frdpT)OP`iCkNl3bAm5} z5ZQsVF!gI498Kh_@VZA=yv6b3{TjKK$$()C9m^$4J@BHw8HJBrNz)wyIjF8pc!_bk7$(p+X7RCnYd#QGw4X-PVFJ&; zL2I(7%Q#N(Pj!-2;Q<-@CecykksmxOasL+!u;}#fIvV=mRFN&i$z>_Uo1dWpZAgnH zSmIJLF<|0p@p})5tbbXsdd+BhW(Svmvx{vJvnxy)-?3*J;uU8*^T+V7O)^Q+kBii3 zh&ONkOQp{ks#*q2P3U78f+Hu<8ih}^Yiu3poLWr4z@!2`}H-JAn!a=FAiS|qqCfHCN=BBI5HIAdhsr!GG4oShr|1mn^0^NSqWXLMh#E)mq# zWgsTzoG^9GukBAkv%9td4+XQOzGY1dupHYl)Wwcnw3Viak5M8O_I~QkYfKe=g^YGAZI16!`Rg?6m-w19O`r$ln6aZ!6o&{2*%H5BPV5#U3 ziy#^+ie6e3k1t+S_9o)9MMSKT+6&5axtv$9WT&GHREI1?l0hQqPF{=Gs*E<@@@hOPoPnO|i7oib6#s;SY-yvty-k`9xVd=C|IZ{n=m8uAMd*m7Qf|$*M9b{NC8<8+0l!ulWEM zGhRUMSF|$8?MJB@x=GYX)qRYpQ-_?ufzJ#Hz8}v|W@doL6IX3nb=yeRYNJ*Rm}ndc zff1|oRtL1xO-iM)rTP}Z!yh+s`Q3<9t1PCm>E?XAL8jPZY}18Lj0hq&Am-QCms601 zoruso_08Q~_9#^HFLc1u!v&Efe28x9saZ#(#_EGtXCx_1g6*VuZs!?KC}{tI2D`kH zpNYnZNnOKjHPiMrc`aZ23cMRtxcxm6#!3|w(El(^PrE5n1>|BH29T$+h~?Coj!_N zpM{!uRls4Eww2o8Q_9tM&4Uxnt9n|zY(8YYfgCQvmr}F-y0}7cG~M*tT5E>n zzdmP)P7XjHFdO{?(fj0-_a?P==mT^!%x*xnQ?LgZGoB>2(6~$Gc48?h^&U5gXnbTn zMHMMjInXlL>N=$M8jlwvVcUA$8P7EobaUTy7AmWxSf8gp8}THfk1+9R3UUg6GW|q% z`YwK~kcgh4Al0RO9PXJ^2*_TIcz^IObhRA6OKvXos(g*Vgp5S@_3<#NKgdPx5cC`- z37l7dTIc`-+F@l)iYuf5a>7>M| zZFZOky7%25$c7=v*M7VrB4hhz?QO>cnel7)M<|Y?JODZQD z_r3bf)gOkF6drd+!Nvn6kAVg;d>=XK(A|L}o~fpJ(jlFN5Iy)TJ#TLuGAUu7<(vxc zSnYcrEq!~;kuXoIe-iK>DPVVP(ZG<@eqb(b3AIZQU#;YCTs2-=TOqtv)Cdu^3h^CV z$twVp$JM7WuNtu%w=atfZRM0F)Uooh5qKc^g=S9MTZ=$=Wmo$11U*Gcn?|57*>4Vw z#-nKB@U@0qr4l?%_2W`(;_&zeZlDvz*SgjpQOx8?j^yyyXaYRk0&sRP;0OhObb=07 zfZk6Bp3cYo0D<%HnWE{%#@jzQW=~OKH78?Hz@JAp)Td7`qvVvh$)*ruCa^WeArxNh3QpO#I7(cL+?TEX=LN?y#;sgd}nW;ZaGvsa8+JQeAQP78~D zykktGbz4tf(?9r=LVWw(W{90>9JPjsN$BWi=nt{TZutCu4Gx0SrW($#?eRvZu63j$ zd0?k-$oeLB%3&rcrt`UzIH7};PC|wyR52Dg8Le^7?L|V2@Lo;1;M5gUX>N4^x;T5p z6c89~qW=Y8h83o)4P(XGpOhJMNx?2D{%d3kf^4dtiwwD21a9Fk^V1iY2x81TqSWwr zhu&B~Y22YIt?jWUD|$po0Y~{QL}1ZT*%WTTET#E$hRGil#Ny4EH+v!DqTd;woIs>f zcuFxC2N_8@F@8-xk;rbs+=;x-r~72=toId^Y6|GrbkZBp#kTettKzJoGI0`alq5}o6Eohv<&K|(q>3TQp$3oUL!M2EFwhNHorAH z1d_}1rE6U2G%FkQA;8G^vVEfwhz@=$&Ng^eX|R#*K7wg8;d1=78kflL;;fJyb2{5JaYp;a=H@VYY1|S8`I!GVNyBMmPkhLTQ4ED7UWN1YnD9Bi z!K8U;$}-BL6Gs$Eu|I|iwWAQ>9TFHa{!y)WgpzWFGLUb~EWE*}WODT+^t^}>JMikV z1B(7s)C;p$MzJ!qUUjIExv?^>?yzRaYw7F3NDB8E<3VlmEXDGMR)j1y;kejbZwvxz z#BjaU!_fg=h!j!LWU7c|GVmR5GkEvkN}xrO;CWHezrdE$U&#LCOh(MD$c-wfbeHB*ZCll3vccZ@Ju6=Eb6RZ^{mhm&L5vZ# zhVnN>9@TkZH%Cb5!sLyE0!9M-lX-$ieyz)cJ3*Cwq!?bQ$cHt`P|`zWh@8c3?SFjG ztmMPSlPP^RkOY21H`N*bWBE*>g=)eSjLx;^_5%cIu5^Y>D!1FZ-kdz|HQ2@&2QB^k z0=L0;6{X&#^KWf#{XGT)><44~TwS2Z;q402fv@l@SWW-{l(M?rW_o6__F9^>5%-}< zl*3)i^1ql23jXGEu-5DJET&O@f%8hBMEJMUv19G7*A%jJYOUAFU{A#{8}!!4a0`tHw!=EPSIwDsSw~GS}YGSs}e#5$wz5g zFJ3<}x`RQ)j(v?K{qSOf6scV>@Y<4RQdS9PhT$kU?2r0H#5SYRT0vi?XmG(h{ z`i&9edK4v~Pp*@Qg%0vy02y1Q?-~n^*BFy6L>z?~z8`%c5P-OQrDU;0Eg}~MEfvVOIkH-`)cZL)#T%VkM6cUPZ4sT%Fkgg9zcwZ?kX5ntG4rp|Z%WQPg zZpTpb?uEVUBuTjJM$*z`pHE+;a20GiO;*fro=o`&K5xLG`Ncn5_R5po(eW$!^GFEB zk};T9foLKguRgznYIr^#g3x^)y*XQml|*q+@cmW~3#Saipo@jdia#D|FSD8pe+#TO ze95n|D&`>RI}qp<*t-SUY>zhxG7WTv28Wjp?UPR{c-sduj{jV#R{rb~$v9r6Hy`<1 zVfWTTCr{H*MRmFRNA1;Gz+zM7qh3S6NOg*d98vr-A6Qj6x)U5wl+=CAEmlJ>o4;Oa z_lwq>4<0rJ_8JaQxTEe+7ZH`sKNqBv?WbLX-xVru>s(&3!|B|*IO+Koi2;Jl$LOwJ z2?;sSEe-)ed99-tzK1-v0l(zBqSLv()w_^O$~hSYN6j}$ zt}hjcm(0_tp7`qj5xauZZQ1cvXD2;-6#eld0UT9LTU50auRl<;LLqJ3q+7s&2Y^-1 z6D`3SA;-w*q%2A_!xg53GL(QullTdPm+;k-l@GE^(lLZJB85Mn(z4twR@uBXvqZXN z{yD=|bo4L~Q-!q&1aGVVh(`GQVsl6K*0Dh!%+?QCJdFGco;Odt5UVr_QKAfQL18%I zw^zjSglFI7m*t_suU?Y#@Z^YtDw5YY%JLB`bz6Q{0wFfEb`#;SBK$El@-^?r zpQ)o?m(I>v9O4~(vts?fQ{KJ=XAnvcXf$_6rWQY}{A$%JMG0`G_3_=C>$PV2q9>LB zsszXsypu|%_ugN%%ZDkD0jI$^d|)md$~S=)gVV%!%p^u)iviR8;5a|=GMPCY+`6GIWAv;MJ<%@ zjRxV4cQ#}LgyEHbhOTrn1LOo^8GD3w3rOu269~#7d{Zka7oNxZ6c?^v&<}VIKaW35 zBD>_6CB{nr=2xh1z{f-G5aewc36HUbB34Jnx0ZT-C~p*_IM6jzGdRp;4ioJT5imfG zKehlX;t?skHEh`HnoMHg$<$fuV-=OcpZ3Ff^fdQR7m7F`8Uy)&Jzio&3~&T$z=>5F zS5iDqmJkLf_X#sEOLv_GuXxktSKlpk)WCKPDg~{K%vi%9tu!enWbazM{Retf#0N@Z zLN&OcDB{$3-{3rCB6=5JuZWL}KgbkCWIwTR3FEEJg9j1TeS}L(DNIHtcF1YF?Wk=p zFN=Sj>Vy=Ne0&F8&>sg{2|dqDEFvms-|(1KR^_s%wLf@@SVT%~a7$AB&lYCz!Cn&l zFKv#ur&}*-)kHcL#qW(uHt&~pX|Fygt6O{VIp-dUX=jc1`Vx3-~|D;y_% z@v-gcwjBW+E4-Ka^{9=e)ASFo(N?*d0u2@vbcge7z7PB49^UXwe~Ksj{0){AfIw9RqXsKWweAc?Dq*IoI+VF_3$X6_gJtDYsxkU*mlD^m@Iu7TF>o@@ zvcgyADgy8m23#Jz<>? zYk_tN7C%vZoMCrAM`#K2+uy#rqQ)7dgfDgE(TCC~bJEv&;`fdS7WO)?bd_w20J0$*_u8 zb@<>T38$Fk2F)`nvkc8U-u}+j0UVD+?(_xs?T5r8Xow8i^R#W)Q(DHX-|MJm{Vh&9 z|B<3j!S9jh5~6PNQpEa$<;%=g?+sGYia@T*YjAYeH&^o^$IhB$iL@$wA4Bu zvvQHYojPi}S3H}Py2t;0=PiW)$St0_dQf+GcJ3olmqpBYsg25^UuMSF!}u`$Sli!~ zdue8}mxF4eQR|U ze=*Y*PsN1=*n-RQ$iFE(N!eDk!TBO4c)1-IgwKGK^1+rYR709ZG3|KY}q!589i4gP|>_ z&j4Fn3h3{Sukk$NYtBok&i8P8%X4!M8R5(PZbb`Z_4R%s9MuP$%5zIdPyNr^)OUmz_XX+2aKtB0hSiA zhDpmQsdChAIP7N}5zYv%cWk5-azgATL2Bg_Z2?XQoC|n~g83EARmFhS&vPVOZJv)4 z1UQ$}rgOAZK0W+le{%qdsw2_XQjCYt`Y&djI z)t6_uO7^Q{rApE#XmcD&axNMej^79@z16f=Pvl4QTtqOzH?w}C*zRGJSTr|J`YeNM zM`2jlj^V-xw8m!+KU@q)pSb2+U)2% zt+_yeC@-otmDHWBC#o-9{KYBaQ?g0yiEvV`#A}1|Uw?Cq?Q(V!IhlR}y;|`gn4^!k zXaEq$-53(E&uL!&Qg?z;i)dy)WyM?fc-uC8g%2>c1s4n4xD-`+LA*PE;ndfNHy&R- zy&CgKCugI==s`4E8UBJ(n)e-Kgq~+L4VP!8U;#v2Pv!00$R3+R8DIXhCyxtYtn!P3 z!Cw;1XGP^Hn|xm3At!SUGOv9-*jRqaC_Uuruy6*t-0IrpxgA)|8&2LHqxWd+ zYJnsTXMVMyr2A(YH<3yf4+H->Q{x|rB*g=>sB_8}eZ~z0Ob@mA3M? zMjaDwf^1ni04b$65|wOL*}Gg)llObN1(if}hjbsiNQWSg@K= zkF!{(fIp&u8q>q^;_Y?U?W`Tx%PRsSoae#Gq)Xf~aiP*>;f~f~;T~^FGA(d%oF63J z`niv@Z3~9a@fP zwQfdoH8wKM^4v2XNmsetj0(Yo3SoG4v1@;B9TDsXV$SpU=!GWuj!GPkg*a${BPvQN zGcG%PBnrJ3M2I<;l(@x0QdP~aFIdOJCWP=bo?Om_VNmJ;2OXzwG&vgtSBt!t-{&)Fqs2(zqhpE~$S&#`czWxC7Q5S!+PeoRbX1mqhuQy)np4C##jVJ|XX| z#^ZBKc`1$~Yt=$(%Qtt;(4q>|&h+um$J?z`bumiOBTIkwu9dj(<+7`<{;kjw>VfyG zssIY6+bQGxsnOaV+wZ1zC&bOhp7n=e10iau(*ilk>uyShtRQ836cWoS7Mjpnn}<8o zL+D#!J|34oo}~?6ySh{Ro|eHua(%y*c^4mzM`L5rX_Qcle}_65`9VMQ(>!>?-8Pa( zZqWX+3r`qtYDN-o$-tL*lNp!|yYU#U^%g(z-Rm$ue&c2UbrHU?K}G;k`H?f&0bxR6 z+LtH8kKpu3tnI7A@Otmt&*i8H%R1a}1Y?&&Dr7)3WFE7mTJ)h&($BIt1u21N9ocnu zrGvzoB02Y*7N)lk*gxvE!w;?@}lFHGt8)uZeYYThRu2rIVMd(FmO`oLmls>qzHEz^o%fc377d~KJz7jovaS`X zw(^)he4*w}Cp@=VE?WxSM98jZN_d$>;D+|%J^kScI&1+|{0C7x`QKG@j0lX9N*0>A z0+Y`5#uHZf5Rxc&8dB4l!GfP)@ltyBC-G03Q?pGcyK8Sh-IZXls@-XN0vveUTrnh< z{d4lf3FayWEjNFH6~}}AA5C8!7q|2LeYm^3ySuv=r)Y79;_h&`7B5iTij-m>DDGO^ z3&q{t<$x#sKCj;&$t8Q)Y_b`7&+P1MT3&p{pTaqzV1Y&+V$Zgv#^djaknP9HWy80{ zV`HCSJ>El4vTMa8-}6ls(=_;%VYjTjAJIuWoDY(qr2G2bVYkFGUf{gPkowY%v{4u+ zGd~ZN3^X2|t+&7Q>Y-uRI`%cV-y)Nl*SpP>#RH~(QGX{ig$vA<$@$)CiP>vN4g4+T zi2NJE%kW8eteJs95^4HlB7;fQq6h;?s;22)6tlvG7sYpM{c25WJEhpv13d$fZWY!q zf3bD-gbW-A6kvbqSIc*dLJR)ajaB=fB3K8~CBIs0NN-m80GTHw1#x@d&K5WgJryU_q--uG71b7GQmGNEgi(>MD&|h|y!>Aq zK!sbT`2`r^R+5(1Fwl3-kH?*lr8VR(q#{u+@Ar5g_%o^KSjZ@HWGV=(X^C0uRz6A+ z$xHcbRsmTj@Yy`|#9?K}=0DRk0L&L2D0?#mwxwo4-gQP(B z7o5|PGj+~kQx}(Cy&(3q?Z>L!*9)CioM8wp-w1w@G>fy^^3PL8$ z3t=Cr2jgB)YpHNkwsdGCsF~%z*A6HgoXS~VN@3E3vJFQKrONLCBI?WCHmM7KdxJaU z+wC9D+mTO+)k4TMXRoAI_)w`O*6X8R%*>{2-5NiOCz9u396~9AxItN9ojknppZRbK zqw$+sV5bfWrMxuP6R^PLOsGh5?yCantG)PjyBM57hGusaxwZnyvIzc^U%q)#Mv_^^ z5cZ+0z%3$m-#iAPxY)A4%OXTt-Q^w=8BK8Y%l%aYktIV#m>Wu+1=Ni)-GT zL@9g|*=mjbV8 zUw&17UsyokbbM-cJp33)K6>g}uAw@c}a-yUWl`R^O?y+}!+ zlwsXu*#WaeOd(E?qzedb8O+qAlDvNu-TqO{PuH&?@L$ISzhM9j@o#rHM^e1sMPnx!!Al6tOFS|#vgZ_ZrpUq{bNSF;MDba}{;&mlrvGM> z4NKJGz_p;Dr~gI`V@kwDh;{RCuMOZR77g^&gvJH@#=gGf!aLt)I9Mx4rOF^9UKd-*kr>fzMOEiDH*_V5QJ+=vrGJj(8ekI!CYBD zDg)Qoq2E{LHdosNQm)WE{&VptS1#i=YrVZ_J!w4!$BKhA(Z4=O9O_P(>=vHv+P{3@ z8aT5zxX)4$6=FGN!GeSmDslW*T4GY}@pd%B#sg*c{E+}x@8faB+?C=~GZh^N+BZM% z-3KKZ`A{arVa+F`FFGc^KZq~CHbeb_U)P+N3!f`!EA;)>3I)ReRe4#Tjvhu9_;!_c_dzY3 zJ#YJq&w4+J!#ccR;m;1@SSDTlj}w=q4iT(Xk`deGYcCpCmO^d!6Y}LXOw$H9)2({= zxAZi!A%y2ZOT!(m6jj4|>+ti0z6yK_7%CyhVcy+wRtK~Kb6yVEIMwg=O}-Cejy7-H z(7Bfhdb%wZPizV@ek*sd4jisG+V|4$NuNe|KBb;CDLx;#oC!OzT1LhF^VvOa%A-k` zB#}wX7i84DP8}5_{B!659zJivhjt*YWyB(aOGZwRk{6}sCkGl;Kq*y}<$r`!^RCl~ zeuj@*U~rsRjdwvW7xWtt-m=u&2~)V|R!0vt~uY9d@5$1u!O}l-)xsU_UT?$1=TQO>_bgBI~^!4eYmvA)XVlOr1=bMy^%o`D41}0bxFo`3F7R2gUQW#B2Cnu7^c2y zc)Y$0^c*vcJ4#RxNP~;qjy>>pZl(icfRQAHL3m3yubqU>zUa!3xgv5XOnB)48M{MU zIoT=6FiGb{y2qnwqaIk;1xoS1w+0R7c=$%d$3m``o}qkh=~&N(3@ND5=MgwWRPY&ZNXf4V&{? z6ND_b(iCKN3dPyyA6GgIHCzNo(FgpV_4t%xMk$QX=SmIY&IggR zxyULYx&)N*9CL0z*{wZZ)zYLOHchR`5fUO&UCuvCB8FlnQ^J>KvETf_V7ICP$6V~^ zFS&5BhEJzaM3t9s$dYIAM&+VP)H)EWMNSbGZZQ}(Xj}+g=ky>Hn_PBEkTN}WXD()< zlBVO)%nrfU)ZMzGaf>h%75_j_rKJ*KXr2DNW3IA^{0lr@PjJf)u~<9DW|I&QArr5~ zW-&F`3Y#Jmw>GnBojLUVuNiMoz61s|Bp&du0Fh2o)0ubs7Xo~pdkGdcQqiiNEO42= z=zN&N7;QSqm&rwPLXDrl+$6Y4R_#tN2N+E9eN5^(pbguQO!9~M)L%L0#%>b#Vo^VU zxBWRnGY__$sE<{>%qI3-7qH-(BfKuJJ8pi^Ag6=Ayh`AmTcR{grX#xLa}aVJCZjib zrtx>S@2u6K{Dk=}(SLRcGTts5@aUJpcp~9n^gWuEwF4Wo?g~w$H?v(m}2H>k~_t*F(_L#*$FO;9;+5+5-dAZ z@Q#oMyKrF9UyHC_J4rf@V(rVmDK~WB{#{kf{pBmomOEv4l9-pzgv7_RrDfi|;|MN; z6a~h}j6HjqCa^Fr(d9$&Bo{4c?vj$fFJi@DK0N3a)|6t2T3^olVtGFGdXO?=Xe9Qe zV-D7C%caMOKdwA6U#||+)cdke?uQqQ4RMhLL~=NfGJB`9^&5cKP(9> zLdfr7-GLw)Pzv?WM`c&~6!}Jh1r+m1k5rz%vUF3jT}88!_4GkONux#6Sfkau525nO zcdYdNlfnOnTkaF360jWC+VH%*yjtEnA2jszqDMzRfHbdPr)4nA|Ndu9DBw)$eYT8e zxautM=chq9kTl(Vt1lABembOQ8g$p7D5y7rM8qwtZ25)bh_X&Wqh3J+2Tuvz`@OAd z`)!o${9b2K_e?_j>-+1gd%;cndd9PN^9hf5ldj=(cZ%eN<=mVtts%Ox_VZ&={0EL2 z&O9UOejWGU$xzCcXxo=Xirk{n;jSTj^2(5s)~~xoKLWi61$Rn}U6kd3+h9f~-4cy3 zJ}YbX0<{@_MHcK#SYSfYLceS*C9QO~!eZP9!1(!-OdehHY7brNI>Y9n*??h6*RkhW z`ItNDBnR+&-#qBXf5iG1@+g#-1SUX*)D~u?JW7wloQXgX6@{c0PIQ)d0;V)Tzn|!< z5Wj$|Hm6hkC_&=loCM}Na2-7&UdaC6S^E`q9-yc(sZdXX(3cSYO1UEyf)vIMNV3kFQypjNpA5}>U=fQS_1 zOQoiKV^rj6vB45r@JTLYh;aFCY_>oW77JSG?x^e>0Anv>(yrWAyQ2rd1YOW>)-!Tn6en?Gasiw%%hAUOD}08eYPuZh^e%= zN#cx~hDfRzdqBNBwz(i;zDCeTeZu(bBfNBF<+>8If#VcbM0n*woc0M-aY_6k0Q+uv z)+VC1WZf0b18~|QA%+s-UR@=qS^)?*;aJG7q`IOQnTxTHEL{?m^;7;)2d^VEUWvz3 z9vvr7&JhTj1fVd~&t4YExvIuyF{dpY?61pqkJ6HYY!JSHiy?vG{9YF*3PG-1GpXi; zzHkXXvpzW(WWL%*^%s^8jqb0LBP_f*UoQRd>{4+jc=V>(O6n@nBBY@|U@Z207QjpF zEEEub5@c32c<+gVV`#?*pele10hoF@VA&s6;Oj_O#Y>3kKK8F9F0XJFGtaSX)~sj6 z_>RymS>}81W{2C=`M0m|;X8ODvA^7Qw%5qAAFZBfWa3~*4}2GBX?8QPHU-(x78Qr| zmr3}eK*Lf<8b&lkSDB*Z1aGpKn}W7;+rItyWbrRLX$g`D;oN+czX^E3$%cR4L^$e8 z%~913{ol2z zH-+#GrPH^4OR+-zk)&;*KG#-68K$Tuh|d?^6anbAku|_E(AB9z8dTqucS zB%LlSlP=6|5^O$x!-C`f+pJJhR_a5h6(P3jrA|AhHv%PGKPEIZ_Nh(jzE#f#rtEKE zE)|zPt1w};f2ohEl)E=_sU+dsGQ0*8sx%YgR>_on8TBE07$-D@Jo5SrwA&TDrGoq8!D5$Gh)EAJwAfupk%vXY^OV`f~4pgcY=e*s!;X zTy)?NnD|oBtL6H(t-QqRJ3H}Xz{~uK4>I&fKF!e9wN~WCB`{u66?W#^o^IiOyKLc> z86zV05H&chX0ql$mHGGfdK=ugHOgYj;=K^?~tuNhGjFU!KpnZ-oK6P4CXbSdV#8}< z#=Z!B6ZPfz{O3>aOFjWqN?~bSVJMtr7`XiXEJ9+GA>4cb5V#?W5$sg3h46>u263yG z*ewQv$9rmUh4K5b8m<-oD+|7TOE@ zG-52jGv9sSu;Gm74bef+>@qYUEI`t-ki}qsmecAXOt$HUFTpMwk3Cey6vTsK2iLK~ zhT`;+pj=omL&aip_PMH$c1BdD<}H5DjKGwXWC|aL=KLFFVe;n_HsH#_?UvD4itul{ zTNbj%z=nrkUxIjCM%WGw{k{kG|EWH>&_`fK$e2&lbLXX`L}_rsac%9?E*Y#pip1>IP1egGRm zLEXcO(Rb+&fZ}2&smuHptfdAA2;!HrD^HL>sD{DpEF9GmXU*@AIfJscSjxLz8Uu_+ ziSG$zAFxo3gV`IdjpmxH`79XgWxk^gH*l|q#AvnRv$BS)1y7^l6YCqvAZN3pjI zpyxGjirm;llj$dbhK?wVc;^qCh!W$r0>ZcE{O=~2e!ARJ&*S=v+PRvWe~LphZnwd8 zUh~H6kHX)!vnE?*r})WFZqtAj4o`r8fA}?Swx913URqJL84p?$`?5cOHud;NR4U%o zPqx^Cjsq)QCr&{G5AUCQG8O!Uq$lIpKLFvnN~KML>e^o1P1U@5+PrM$Dv1BZWBQRgpH8vaMz#r{%2Mr-TcIi0Y1W!6@wqvi3P^)N&;Nu`VG}0H=nxREmI9{6-)z zhS1CsarYkyRWs?!S}}$>O(0-YY|lxGjeC>9v)}`jk{JirP!#Ih2@*fk2be_&rYWT_ zIpm)r>(Qk)V4GbG_3Pm2sFan_4VBV@rZp(QTr<$!dQr?Q8rE=O5t;vv^ki5ET1SAl`RuD?QA?yiNSipYPm+HZjwK-r{JhU1p;}D<>F(U@7AGojzCJ&kG zNOR?SYOzJ=sx@T%8JVxvF;|bzj9qdCVAyb?Z#FMnWR^}QIL$S!QG*ZNK;(SStd?We z)t|3FJKqFe8c6g5-{(5E;nuh>N9TP;6q-ZS)O@ta&z@j%DRZ+Qnmc%(t5W7Otc1G0 z%=N++TLlAwXS4uTb=p!7tdAMo0rnMm1{6SCtuhPe|0ub<9gU&?{d^30iOoMflYhYV z*G82@ZV!De@q~O0X`gVMI3{;?JGnY0q7@Jmu2y=@FxLlAZSj`K6F7r^TZ&wg(?pUhtXYwA%>)mAW zS475*C;(4lenRdc_q!(b7}Rr~e==sJpr@w&IbXYfy$c%DABzfzY>+NOW?mh=pB2*ppU(5fB5Rs3W zPcV@bT<3L_+(ivgg9jS7@sJoe;g_Eq=AA2(VYtN&c;GUEXO32LVtfiMv~SPfRQlcJ z1;YYPXCQizv8AhLjFgHo*qAs(BuXKBWN58H)r8U@K@t0WAA^aHj?P1`yOqxYD#CeU zyH}lGN+ZU46sKKX{%auW*VlPxWWjk$g!{X)EcQ-}gb@L!uOc7FWef8SfR*@&ktx}q z6$A<8Ia&KG_@%XUey1i(U^vs!5a4m;nIMP__uBCncdf&P&wzqHYUon3fBoPLJ8V3~upSrO(EpnYLjwS;7Jn@gErAk3ye~+@*d~?7b|#ny#66B%J3Sn}%(U zkSBbQYvZZ!NDWk4;R zU}&gy2v~gBi09%2-LD(U?3_XYAI23}u4U^7GI-8S!}>1al27#>kqO`D!s!0@ewy9W=WP)M{ zI$Bt`yZWC#>9GKyQjDZ-;j^qpvZc)4P*P&wkuNZqmTb4voXwxY`mk;~YAk)(REsR0M z#p2YI(u*g1AwD+aBbwoxL069hk6z2u>fgp-ie(`)c5$|SFWmx9MFv`8C%$whw<21} zLDlXUZr3{Zy_fBAOAcwq!ef4QRgTJAGznMffF+AJ~XFUT3;@*Y5hVryOJqty0T zjPP)HV#`#U8&+Nn>7u#fbV2Ygn^@P8m#@!;DT_`@KUI#3US`T4kU7c1X%)>_c$S3VUGEH*nPH;iuc$Bl*iwxrDrk4A6qVVk|PHM?iYf)V4P3;XVn8{~aw*PVDF5(|4k9M%65OaDBQjkjCs=++zJ z9i7HMu~4Gx=jgWH9r!)}wzBewVTH6iTQ*Duv$>SXWaf=EO}*x;c;a(?$-*!Y-YjkF zr&31vFN3zxx<@_Was89&Dcoi^5|C|YZ4qDt`xxv98>v*dNTJB@ba-@$A`E!YV2`~6 zI<}K$TY>}tS(gMOXCiJ8WrO8!J7oAH_ND0ebec?I%DL213T~gycAI-OR*kPaj-On zVnRXMLNQ2Dyp?JxchO-|35|448B9d2;TXmBz0vdR_GYS&(lQ_!PkH@T!neAeI9F#T zhMu*EjmjJ{p&aeN3-_(n-QAB}34<&DEWRY?cTs+-Bz)h$SUCV2vv$3|>Xwze_^Ho3 zZpX`=UidhkU5XpMZoy{gnmO|!O-}XtJVojP8Fwy4WP3sxkuDTl3uL;W3SS7|4yx>r z_x}r3C>1AZ$7WLT{ZJ@Rm^!a=r)cm_Qw`tJvD;1_BthoxY8v3=y)x~EulYMnW=DBW z7(6x4izjwNnE2Ksg`8HDZWa&$^|>tWzc+owwnt=$YBMfszepV@WOc`iBpw zWW5Nu!6k>0!H-CiyvNhg6;16}c`WieIxv!x4+f~EOdIHh$Up@2f>LcsxiQK&(?>%5 zIWyV$=>)&Z+D;@;5(UYSR%%ToA-0?8a)-^!RdlL3E6d5ddB#(X?#lxZ>A52tSI20k zR$j@XPyc_h0557M%Lxn%*ssUMKj2#O+0P+L67gJK>`a*9Q2E-vjWG`v*PJ!2ddcMrrps3YwrN%*tdHKJZZ-!9>+8Q5KyCo+5 z(5G_0g>G?&|MBZKxd{_G@XLSjn568Q%6Yi)<9|O}keRAKsDW#;z~!(}oirdh@$L6g zL5Y#9{*Q=8hvu?b597}NqQG}YN-I%*pod~JZ}#Bu%7g6}qW0yayKi{&h@XR{G3W90 z>S|&IQ`hC~ZBI;mji6=-nh#uJ-*ETqs3SXz2ewj*3j%hI5tP}DaFNBxXs+z_cOL=K zy!OJmW3EMGqf+@2+@D|qxL2wNU0yyS&hvASuU`PwaSs2feeJN(gJcBZmnG@jOBD2| zqQ4+L0X<#;ez1qTwD18MD1`OoIMA!30VNmY=)p(nsEt@-+!|HmP2lO{(>L-LX)||v z?e7=;Nu-@XF|5^*JQ!CXkBq-(!0Tcso=>T4U-<%}4oq+7@TaTmWt`Oly*0TeY_Y)b zaPw)B&EvhO{WkxMkp97%Ndg5Cq5dyBbrZkPim-|*TK&oL;B9%{1Q{3-?yn^E%Rh2~ zfbg)pygaIQRJ52EV_Z>Qfn>giTERTy+n~T19#7$G z$XFOS{V-5#?}m7+=SU5$PY~$Vd7;n0c7)E}$0Cn^6(adVLDTTG!emwdCLy)Rk-P;(E>_{$qex z2vcj|_s1xZnm>bU;6jScWRH;P2lflyCdSRTFE8*1!UqJAcP`r-QY|E;rbJMyTn)W> zQ04dxEvDYXEy`RzCLh=(9K5LSK%YVxrv!X^1M%Nl)CGO;KlW_#f`a!X1xKerh3F6q z4H{6`V#OmosL_lXYzt*K9p)4SJRBvNGvcK&IFbE~`@p%p^Y-ziB+>1n(TTe%2o*&2 z*4@}v?x1H&AlkONwR`G#Gu0*-gks=S`3Mhwi*W%lKCf||>ruStLQZ0*Tw+b5`Xi$< zLfI(KPzG5(w5$jB8tydH216A}Y(MC3mtziGUqm){Q@pHZZFK(Of-f^8Owzg47#09-$E6t#)18Tz| z_#4O{Z_{aVGUoy{aoiDx|Hb5H%+W)>z~B-+apkA1qzyuy-wO*ufn{Pzbtg{m7nm4c;DUmRAJcrQ=l!gKkj9 zZMd+`&g|@6pa=%ubqZPYH~p1(@;O_qp?ikOAyW?VMKDu+hPXT3_CD~NXrx@woZDmV zYn+1txYX#pedSdSH$k}$`&SwGo{c_*oz-yaI2e!KZm!Y?`|mH7NAE8yRrPp>rw~j@ zh4v!2iDwXaN76_bi}}kk{Y;d*O2+Pc1p=w^%nnnat=6HN=$IGEv@{) zQQcT4(tGfUt)gya9XmBOP7fIN(PO4{HQrQI3DYT{z)&s_rgK={PDt8tkk{*nlhX!C zNas4`^@=b;Wqj99{;%T!vFfQyr{FPHREw@edNp_kOk3!haOJLaqc;kFXCw0j0`TiV z_^M2#P*3}PpG|}Z2VEvX-Od-51R@wSJP-!3^b=iX&bcL9=rsudL5@JnAX3e>a(?7t zp{>WMp7Op2s7vU}i0M1Bg`i`T;U>6{KV3>jqPf$ms1KcoFYoBeQ{8Ki_hy#EyMYnCmJNEVzifyJraykbG`fm= zU+cL&h;tT?H)IOOX#BsbpSSbwNakSQq zlU&OsK}#JC6i<)c@7~ByCCVbA@(JLgZ>9-E#fV_tH87J>iR*I@UvRxmGm5AfRCS%h zc~#!IFXYP{DVe2m3kkj+36xobi{7FG=#QOX>Jhvd?AB(V=|*a6>&7?HwKId@;dXgS zp5X=(4kAHV9Q4{3H&^eg2%NUUZa0`owVG)GLMh>8E-y#QSmHnUE7-GJD3585QTBDNRxTmedC0CyPkcsiY^yZM5J~&W%0XjIx0MQ=h zo~`}W81$|C?y!#pJ~-vcMXYUHRuH9VZ9iRLN^Cf>mmCIMYnsi86&R!G@xDUvGb8r- z`8(3Zv5?g><{Q(K8!?Z}2I254g9 z%dmJB;hXc}mc`ob18eIFX2za+0u#xAprFC3n(CS3C}+sv6iM&-`k|u}-?#7tL!8$q zhhp6SK$%oBQK$$OoRc>gp{7IARFQ5w4?;a(Bp}q^F@+%BMZV2Wo3M!+ zyx*&XC&L@FyR!&B9wLNHr*|9G;5@+?bA8svocszT-x?${ zzOm%IDA*`E&v9|Jx<7q~dV~S%gF>FqV7l~gRB=|@xGY9Z*;g7_niDA4t)SR}mmoqP zauu2GpWxW}Gi)FQ7T-Sz+r*?eZ1jhGT=Kd~N|FUqV6GV;fpRV&W7h4Wq(&nN!Fp3v z9!1?G_q>Eqo2r*Hzf~@|MkXxz^-fEiB6o6z9cu_vpZ;CfO!7OI;xJ0=F7T(k;8� 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

    (}`u)HYSR3$OiU5$4z5gH?06VSKdYEctIfAB_(c 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 Xo|DA9gIQbx0mu2XCVGWBSHu4egJOhI From dbd9ff6fec246de302dcf97923f28fc9429c3da9 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 5 Oct 2014 23:01:36 -0500 Subject: [PATCH 010/153] It compiles! --- code/ZAS/_gas_mixture.dm | 30 ++++++++++++++ code/game/machinery/bots/farmbot.dm | 3 +- code/modules/hydroponics/hydro_tray.dm | 24 ++++++++++-- code/modules/hydroponics/seed_datums.dm | 6 +-- maps/tgstation.dmm | 52 ++++++++++++------------- 5 files changed, 80 insertions(+), 35 deletions(-) diff --git a/code/ZAS/_gas_mixture.dm b/code/ZAS/_gas_mixture.dm index 924c54dda3e..048c799bd87 100644 --- a/code/ZAS/_gas_mixture.dm +++ b/code/ZAS/_gas_mixture.dm @@ -113,6 +113,36 @@ What are the archived variables for? update_values() return +//Takes a gas string, and the amount of moles to adjust by. Calls update_values() if update isn't 0. +/datum/gas_mixture/proc/adjust_gas(gasid, moles, update = 1) + if(moles == 0) + return + switch(gasid) + if("oxygen") + if (group_multiplier != 1) + oxygen += moles/group_multiplier + else + oxygen += moles + if("plasma") + if (group_multiplier != 1) + toxins += moles/group_multiplier + else + toxins += moles + if("carbon_dioxide") + if (group_multiplier != 1) + carbon_dioxide += moles/group_multiplier + else + carbon_dioxide += moles + if("nitrogen") + if (group_multiplier != 1) + nitrogen += moles/group_multiplier + else + nitrogen += moles + + + if(update) + update_values() + /* /datum/gas_mixture/proc/create_reagents(var/max_vol) aerosols = new /datum/reagents(max_vol) diff --git a/code/game/machinery/bots/farmbot.dm b/code/game/machinery/bots/farmbot.dm index c981038c9b5..0e4a337a742 100644 --- a/code/game/machinery/bots/farmbot.dm +++ b/code/game/machinery/bots/farmbot.dm @@ -403,8 +403,7 @@ else // feed them plants~ var/obj/machinery/portable_atmospherics/hydroponics/tray = target tray.nutrilevel = 10 - tray.yield_mod = fert.yield_mod - tray.mutation_mod = fert.mut_mod + fert.reagents.trans_to(tray.reagents, fert.reagents.total_volume) del fert //tray.updateicon() icon_state = "farmbot_fertile" diff --git a/code/modules/hydroponics/hydro_tray.dm b/code/modules/hydroponics/hydro_tray.dm index 1012543db51..1db78613d5c 100644 --- a/code/modules/hydroponics/hydro_tray.dm +++ b/code/modules/hydroponics/hydro_tray.dm @@ -235,8 +235,24 @@ if(seed.consume_gasses && seed.consume_gasses.len) var/missing_gas = 0 for(var/gas in seed.consume_gasses) - if(environment && environment.gas && environment.gas[gas] && \ - environment.gas[gas] >= seed.consume_gasses[gas]) + if(environment) + switch(gas) + if("oxygen") + if(environment.oxygen <= seed.consume_gasses[gas]) + missing_gas++ + continue + if("plasma") + if(environment.toxins >= seed.consume_gasses[gas]) + missing_gas++ + continue + if("nitrogen") + if(environment.nitrogen >= seed.consume_gasses[gas]) + missing_gas++ + continue + if("carbon_dioxide") + if(environment.carbon_dioxide >= seed.consume_gasses[gas]) + missing_gas++ + continue environment.adjust_gas(gas,-seed.consume_gasses[gas],1) else missing_gas++ @@ -258,8 +274,8 @@ environment.adjust_gas(gas, max(1,round((seed.exude_gasses[gas]*seed.potency)/seed.exude_gasses.len))) // If we're attached to a pipenet, then we should let the pipenet know we might have modified some gasses - if (closed_system && connected_port) - update_connected_network() + //if (closed_system && connected_port) + //' update_connected_network() // Handle light requirements. var/area/A = T.loc diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 4bea1a573eb..288ba2c78be 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -116,12 +116,12 @@ proc/populate_seed_list() if(prob(5)) consume_gasses = list() - var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + var/gas = pick("oxygen","nitrogen","plasma","carbon_dioxide") consume_gasses[gas] = rand(3,9) if(prob(5)) exude_gasses = list() - var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + var/gas = pick("oxygen","nitrogen","plasma","carbon_dioxide") exude_gasses[gas] = rand(3,9) chems = list() @@ -153,7 +153,7 @@ proc/populate_seed_list() "cryptobiolin", "dermaline", "dexalin", - "phoron", + "plasma", "synaptizine", "impedrezene", "hyronalin", diff --git a/maps/tgstation.dmm b/maps/tgstation.dmm index 4d1432374c5..77821779e9f 100644 --- a/maps/tgstation.dmm +++ b/maps/tgstation.dmm @@ -13,7 +13,7 @@ "aam" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/lattice,/turf/space,/area) "aan" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/seed_extractor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aao" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aap" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate/hydroponics,/obj/item/weapon/minihoe,/obj/item/weapon/shovel/spade,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/weapon/storage/bag/plants,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aap" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate/hydroponics,/obj/item/weapon/minihoe,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/storage/bag/plants,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/bot/farmbot{desc = "Serving 25 to life for drowning a botanist."; name = "Prisoner 545"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aar" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/biogenerator,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aas" = (/turf/space,/area/vox_station/northwest_solars) @@ -25,19 +25,19 @@ "aay" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/prison) "aaA" = (/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"aaB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/wheatseed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/wheatseed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/prison) "aaD" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/light{dir = 4},/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaE" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"aaF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hydroponics,/obj/item/seeds/plumpmycelium,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/plumpmycelium,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaG" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/gas_chamber) "aaH" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaI" = (/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaJ" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Death Radio)"; pixel_y = 32; wires = 7},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaK" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaL" = (/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"aaM" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/appleseed,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aaN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/cherryseed,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaM" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/appleseed,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/cherryseed,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Prison Hydroponics"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaQ" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/security/gas_chamber) @@ -2632,11 +2632,11 @@ "aYF" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"},/area/crew_quarters/kitchen) "aYG" = (/obj/structure/closet/secure_closet/freezer/kitchen,/obj/machinery/requests_console{department = "Kitchen"; departmentType = 2; name = "Requests Console"; pixel_y = 30},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"aYI" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"aYI" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "aYJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aYK" = (/turf/simulated/floor,/area/hydroponics) "aYL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) -"aYM" = (/obj/machinery/hydroponics,/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"aYM" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "aYN" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) "aYO" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) "aYP" = (/obj/machinery/camera{c_tag = "Library South"; dir = 8},/turf/simulated/floor/wood,/area/library) @@ -2707,7 +2707,7 @@ "bac" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/crew_quarters/kitchen) "bad" = (/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "bae" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"baf" = (/obj/machinery/hydroponics,/turf/simulated/floor,/area/hydroponics) +"baf" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor,/area/hydroponics) "bag" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "bah" = (/obj/machinery/door/window/northright{dir = 8; name = "Library Desk Door"; req_access_txt = "37"},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/wood,/area/library) "bai" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) @@ -2786,7 +2786,7 @@ "bbD" = (/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/hydroponics) "bbE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) "bbF" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"bbG" = (/obj/machinery/hydroponics,/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) +"bbG" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) "bbH" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) "bbI" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "bbJ" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) @@ -3024,8 +3024,8 @@ "bgh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bgi" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/hydroponics) "bgj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bgk" = (/obj/machinery/hydroponics,/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) -"bgl" = (/obj/machinery/hydroponics,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) +"bgk" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) +"bgl" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) "bgm" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor,/area/hydroponics) "bgn" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/camera{c_tag = "Hydroponics South"; dir = 8},/turf/simulated/floor,/area/hydroponics) "bgo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/starboard) @@ -10089,7 +10089,7 @@ "dMa" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark vault full"},/area/research_outpost/spectro) "dMb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) "dMc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light{dir = 4},/obj/structure/rack,/obj/item/clothing/suit/fire/heavy{desc = "A suit that protects against temperatures up to -50 C"; max_heat_protection_temperature = 273; min_cold_protection_temperature = 223; name = "thermal protection suit"},/obj/item/clothing/gloves/black{desc = "These gloves are cold-resistant."; max_heat_protection_temperature = 273; min_cold_protection_temperature = 223; name = "warm gloves"},/obj/item/clothing/ears/earmuffs{cold_protection = 1; desc = "Protects your hearing from loud noises and keeps your ears warm."; min_cold_protection_temperature = 223},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dMd" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/nutrient/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) +"dMd" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "dMe" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "dMf" = (/obj/machinery/door/airlock/maintenance{name = "Auxiliary Storage"; req_access_txt = "0"; req_one_access_txt = "11;47"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/maintstore1) "dMg" = (/turf/simulated/floor,/area/research_outpost/maintstore1) @@ -10131,8 +10131,8 @@ "dMQ" = (/obj/structure/table,/obj/item/weapon/storage/box/solution_trays,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/sample) "dMR" = (/obj/machinery/door/window/westleft{dir = 1; name = "Sample Preparation Loading"; req_access_txt = "47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "whiteblue"},/area/research_outpost/sample) "dMS" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/research_outpost/sample) -"dMT" = (/obj/machinery/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) -"dMU" = (/obj/machinery/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/grass,/area/research_outpost/maintstore1) +"dMT" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) +"dMU" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/grass,/area/research_outpost/maintstore1) "dMV" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1) "dMW" = (/obj/structure/sink{pixel_y = 30},/obj/structure/mirror{dir = 4; pixel_x = -32},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) "dMX" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) @@ -10155,7 +10155,7 @@ "dNo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) "dNp" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/sample) "dNq" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 2},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dNr" = (/obj/machinery/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) +"dNr" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) "dNs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1) "dNt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/research_outpost/hallway) "dNu" = (/obj/machinery/shower{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) @@ -10352,10 +10352,10 @@ "dRd" = (/turf/simulated/floor/engine/vacuum,/area/vox_trading_post/eva) "dRe" = (/obj/machinery/airlock_sensor{id_tag = "vox_eva_airlock_sensor"; master_tag = "vox_eva_airlock_control"; pixel_x = 24},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine/vacuum,/area/vox_trading_post/eva) "dRf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dRh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hydroponics,/obj/machinery/alarm/vox{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dRi" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dRj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hydroponics,/obj/machinery/light{dir = 1},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dRh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm/vox{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dRi" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dRj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 1},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dRk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/sink{dir = 4; pixel_x = 11},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dRl" = (/obj/structure/rack,/turf/simulated/floor/plating/vox,/area/vox_trading_post/armory) "dRm" = (/obj/structure/rack,/obj/item/weapon/dart_cartridge,/obj/machinery/alarm/vox{pixel_y = 24},/turf/simulated/floor/plating/vox,/area/vox_trading_post/armory) @@ -10385,7 +10385,7 @@ "dRK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine/vacuum,/area/vox_trading_post/eva) "dRL" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 4; frequency = 1449; id_tag = "vox_eva_airlock_pump"},/turf/simulated/floor/engine/vacuum,/area/vox_trading_post/eva) "dRM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/closet/emcloset/vox,/turf/simulated/floor/engine/vacuum,/area/vox_trading_post/eva) -"dRN" = (/obj/machinery/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dRN" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dRO" = (/turf/simulated/floor/vox{icon_state = "green"; dir = 9},/area/vox_trading_post/gardens) "dRP" = (/turf/simulated/floor/vox{icon_state = "green"; dir = 1},/area/vox_trading_post/gardens) "dRQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/vox{icon_state = "green"; dir = 1},/area/vox_trading_post/gardens) @@ -10427,10 +10427,10 @@ "dSA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area) "dSB" = (/obj/machinery/door/airlock/external,/obj/machinery/access_button{command = "cycle_interior"; master_tag = "vox_eva_airlock_control"; name = null; pixel_x = -24; req_access_txt = "55"},/turf/simulated/floor/plating/vox,/area/vox_trading_post/eva) "dSC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area) -"dSD" = (/obj/machinery/hydroponics,/obj/machinery/light{dir = 8},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dSD" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 8},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dSE" = (/turf/simulated/floor/vox,/area/vox_trading_post/gardens) "dSF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/vox,/area/vox_trading_post/gardens) -"dSG" = (/obj/machinery/hydroponics,/obj/machinery/light{dir = 4},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dSG" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 4},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dSH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/vox,/area/vox_trading_post/hallway) "dSI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area) "dSJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/vox_raiders,/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/plating/vox,/area/vox_trading_post/armory) @@ -10575,7 +10575,7 @@ "dVs" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/table,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor/plating/vox,/area/vox_trading_post/eva) "dVt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/plating/vox,/area/vox_trading_post/eva) "dVu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table,/obj/item/stack/sheet/rglass,/obj/item/stack/sheet/rglass,/turf/simulated/floor/plating/vox,/area/vox_trading_post/eva) -"dVv" = (/obj/machinery/hydroponics,/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dVv" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dVw" = (/turf/simulated/floor/vox{icon_state = "green"; dir = 10},/area/vox_trading_post/gardens) "dVx" = (/turf/simulated/floor/vox{icon_state = "green"},/area/vox_trading_post/gardens) "dVy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/vox{icon_state = "green"},/area/vox_trading_post/gardens) @@ -10619,8 +10619,8 @@ "dWk" = (/obj/structure/table,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark vault full"},/area/research_outpost/harvesting) "dWl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall,/area) "dWm" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dWn" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/machinery/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) -"dWo" = (/obj/machinery/hydroponics,/obj/machinery/light,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dWn" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) +"dWo" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dWp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/vox{icon_state = "greenfull"},/area/vox_trading_post/gardens) "dWq" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/simulated/floor/vox{icon_state = "dark"},/area/vox_trading_post/gardens) "dWr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4},/turf/simulated/floor/vox,/area/vox_trading_post/hallway) @@ -11650,7 +11650,7 @@ "eqb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cmo"},/area/science/shuttlebay) "eqc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/science/shuttlebay) "eqd" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/science/shuttlebay) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 18f3356674bc158646b254df8c8d7684e8b1ceda Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 5 Oct 2014 23:34:31 -0500 Subject: [PATCH 011/153] qdel for the hydro --- code/modules/hydroponics/grown_inedible.dm | 14 +++++++++----- code/modules/hydroponics/hydro_tray.dm | 12 ++++++------ code/modules/hydroponics/seed_machines.dm | 2 +- code/modules/hydroponics/vines.dm | 12 ++++++------ 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 7db850670f1..414483bf879 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -63,7 +63,8 @@ continue G.attackby(NG, user) usr << "You add the newly-formed wood to the stack. It now contains [NG.amount] planks." - del(src) + user.drop_item(src) + qdel(src) return /obj/item/weapon/grown/sunflower // FLOWER POWER! @@ -121,7 +122,8 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) else usr << "All the leaves have fallen off the nettle from violent whacking." - del(src) + user.drop_item(src) + qdel(src) /obj/item/weapon/grown/nettle/changePotency(newValue) //-QualityVan potency = newValue @@ -187,8 +189,9 @@ force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off else - usr << "All the leaves have fallen off the deathnettle from violent whacking." - del(src) + user << "All the leaves have fallen off the deathnettle from violent whacking." + user.drop_item(src) + qdel(src) /obj/item/weapon/grown/deathnettle/changePotency(newValue) //-QualityVan potency = newValue @@ -210,5 +213,6 @@ if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) - del(src) + user.drop_item(src) + qdel(src) return diff --git a/code/modules/hydroponics/hydro_tray.dm b/code/modules/hydroponics/hydro_tray.dm index 1db78613d5c..925041f7691 100644 --- a/code/modules/hydroponics/hydro_tray.dm +++ b/code/modules/hydroponics/hydro_tray.dm @@ -619,7 +619,7 @@ if(!S.seed) user << "The packet seems to be empty. You throw it away." - del(O) + qdel(O) return user << "You plant the [S.seed.seed_name] [S.seed.seed_noun]." @@ -643,7 +643,7 @@ lastcycle = world.time - del(O) + qdel(O) check_level_sanity() update_icon() @@ -679,7 +679,7 @@ weedlevel -= spray.weed_kill_str user << "You spray [src] with [O]." playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6) - del(O) + qdel(O) check_level_sanity() update_icon() @@ -700,13 +700,13 @@ user << "\red [src] is already occupied!" else user.drop_item() - del(O) + qdel(O) var/obj/machinery/apiary/A = new(src.loc) A.icon = src.icon A.icon_state = src.icon_state A.hydrotray_type = src.type - del(src) + qdel(src) return /obj/machinery/portable_atmospherics/hydroponics/attack_tk(mob/user as mob) @@ -794,7 +794,7 @@ /obj/machinery/portable_atmospherics/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O, /obj/item/weapon/shovel)) user << "You clear up [src]!" - del(src) + qdel(src) else if(istype(O,/obj/item/weapon/shovel) || istype(O,/obj/item/weapon/tank)) return else diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 5ab37d0ccf1..8aa7e6b868c 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -227,7 +227,7 @@ genetics = seed.seed degradation = 0 - del(seed) + qdel(seed) seed = null if(href_list["get_gene"]) diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index 2cc234658db..20a732ce57c 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -26,7 +26,7 @@ /obj/effect/plantsegment/New() return -/obj/effect/plantsegment/Del() +/obj/effect/plantsegment/Destroy() if(master) master.vines -= src master.growth_queue -= src @@ -242,7 +242,7 @@ /obj/effect/plantsegment/proc/die() if(seed && harvest) if(rand(5))seed.harvest(src,1) - del(src) + qdel(src) /obj/effect/plantsegment/proc/life() @@ -301,14 +301,14 @@ /obj/effect/plant_controller/New() if(!istype(src.loc,/turf/simulated/floor)) - del(src) + qdel(src) spawn(0) spawn_piece(src.loc) processing_objects.Add(src) -/obj/effect/plant_controller/Del() +/obj/effect/plant_controller/Destroy() processing_objects.Remove(src) ..() @@ -327,12 +327,12 @@ // Space vines exterminated. Remove the controller if(!vines) - del(src) + qdel(src) return // Sanity check. if(!growth_queue) - del(src) + qdel(src) return // Check if we're too big for our own good. From a4e05b2eb92438456059246a6267dd951191002d Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 14 Oct 2014 11:20:02 -0500 Subject: [PATCH 012/153] compile fixes for hydro port --- .../mob/living/carbon/brain/brain_item.dm | 2 +- maps/tgstation.dmm | 24999 ++++++++-------- 2 files changed, 12500 insertions(+), 12501 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 1beda381340..d967f5809b8 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -15,7 +15,7 @@ prosthetic_icon = "brain-prosthetic" organ_tag = "brain" organ_type = /datum/organ/internal/brain - nonplant_seed_type = /obj/item/seeds/synthbrainseed + //nonplant_seed_type = /obj/item/seeds/synthbrainseed var/mob/living/carbon/brain/brainmob = null diff --git a/maps/tgstation.dmm b/maps/tgstation.dmm index a6bd4473077..46d110daf77 100644 --- a/maps/tgstation.dmm +++ b/maps/tgstation.dmm @@ -13,7 +13,7 @@ "aam" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/lattice,/turf/space,/area) "aan" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/seed_extractor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aao" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aap" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate/hydroponics,/obj/item/weapon/minihoe,/obj/item/weapon/shovel/spade,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/nutrient/ez,/obj/item/weapon/storage/bag/plants,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aap" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate/hydroponics,/obj/item/weapon/minihoe,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/obj/item/weapon/storage/bag/plants,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/bot/farmbot{desc = "Serving 25 to life for drowning a botanist."; name = "Prisoner 545"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aar" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/biogenerator,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aas" = (/turf/space,/area/vox_station/northwest_solars) @@ -25,10 +25,10 @@ "aay" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/prison) "aaA" = (/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"aaB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/wheatseed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aaC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/appleseed,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aaD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/hydroponics,/obj/item/seeds/cherryseed,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aaE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hydroponics,/obj/item/seeds/plumpmycelium,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/wheatseed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/appleseed,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/cherryseed,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aaE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/portable_atmospherics/hydroponics,/obj/item/seeds/plumpmycelium,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaF" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/gas_chamber) "aaG" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaH" = (/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) @@ -47,7 +47,7 @@ "aaU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/security/gas_chamber) "aaV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "aaW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"aaX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/security/prison) +"aaX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/prison) "aaY" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aaZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/security/prison) "aba" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/security/prison) @@ -65,7 +65,7 @@ "abm" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/security/gas_chamber) "abn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) "abo" = (/obj/structure/table,/obj/item/device/radio/electropack,/obj/item/clothing/head/helmet,/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/weapon/screwdriver,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/prison) +"abp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/security/prison) "abq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/prison) "abr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/prison) "abs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Bedroom"},/turf/simulated/floor,/area/security/prison) @@ -81,11544 +81,11544 @@ "abC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/security/gas_chamber) "abD" = (/obj/machinery/door/window/northleft{dir = 2; name = "Gas Chamber"; req_access_txt = "63"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "warnwhite"},/area/security/gas_chamber) "abE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/security/gas_chamber) -"abF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warnwhite"},/area/security/gas_chamber) -"abG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abI" = (/obj/machinery/newscaster{pixel_y = -28},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/item/weapon/storage/bible,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abJ" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/prison) -"abL" = (/obj/structure/table,/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_x = -28; wires = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/security/prison) -"abM" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abO" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/pknife{pixel_x = 3; pixel_y = 1},/obj/item/weapon/kitchen/utensil/pspoon{pixel_x = -2; pixel_y = 3},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abQ" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"abS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/yellow/hidden,/obj/machinery/meter,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/security/prison) -"abW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/gas_chamber) -"abX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/highsecurity{frequency = 1439; id_tag = "gas_chamber_access"; name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"abY" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/wall,/area/security/prison) -"abZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aca" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 4},/turf/simulated/wall,/area/security/prison) -"acb" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/security/prison) -"acc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"ace" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id_tag = "air_in"; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"ach" = (/obj/structure/window/reinforced/tinted{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"aci" = (/obj/item/weapon/soap/nanotrasen,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"acj" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"ack" = (/turf/simulated/wall/r_wall,/area/security/range) -"acl" = (/turf/simulated/wall,/area/security/range) -"acm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/yellow/hidden,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/gas_chamber) -"acn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/gas_chamber) -"aco" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/gas_chamber) -"acp" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"acq" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"acr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Courtroom"; req_access_txt = "63"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"acs" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/security/prison) -"act" = (/obj/structure/closet/wardrobe/orange,/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"acv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acy" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acz" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acB" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acC" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Washroom"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"acD" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"acE" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/range) -"acF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) -"acG" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/range) -"acH" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden,/obj/machinery/computer/atmoscontrol/gas_chamber,/obj/item/weapon/paper/Gaschamber,/turf/simulated/floor/wood,/area/security/gas_chamber) -"acI" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/security/gas_chamber) -"acJ" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/security/gas_chamber) -"acK" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/security/gas_chamber) -"acL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"acM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/prison) -"acN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acO" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acP" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acQ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acR" = (/obj/machinery/camera{c_tag = "Prison Rec Room"; dir = 1; pixel_x = 22},/obj/machinery/camera{c_tag = "Rec Room"; dir = 1; network = list("Prison")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table,/obj/machinery/reagentgrinder{pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acS" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acT" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes{pixel_x = 2; pixel_y = 6},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate/bin,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"acV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"acW" = (/turf/simulated/floor,/area/security/range) -"acX" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) -"acY" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) -"acZ" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden,/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/access_button{command = "toggle_lock"; frequency = 1439; master_tag = "gas_chamber_access"; name = "gas chamber door lock"; pixel_x = -24; req_access_txt = "2"},/turf/simulated/floor/wood,/area/security/gas_chamber) -"ada" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/turf/simulated/floor/wood,/area/security/gas_chamber) -"adb" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/security/gas_chamber) -"adc" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Witnessing Radio)"; pixel_x = 28; wires = 7},/turf/simulated/floor/wood,/area/security/gas_chamber) -"add" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"ade" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor/plating,/area/security/prison) -"adf" = (/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/wall/r_wall,/area/security/prison) -"adg" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/prison) -"adj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/prison) -"adk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/prison) -"adl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/prison) -"adm" = (/obj/machinery/light/small{dir = 8},/obj/structure/toilet{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) -"adn" = (/turf/simulated/wall/r_wall,/area/security/armory) -"ado" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/security/range) -"adp" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/security/range) -"adq" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden,/turf/simulated/floor/wood,/area/security/gas_chamber) -"adr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/light,/turf/simulated/floor/wood,/area/security/gas_chamber) -"ads" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/wood,/area/security/gas_chamber) -"adt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor/wood,/area/security/gas_chamber) -"adu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "white"},/area/security/gas_chamber) -"adv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/prison) -"adw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/prison) -"adx" = (/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/wall,/area/security/prison) -"ady" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/range) -"adB" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"adC" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"adD" = (/obj/machinery/atmospherics/pipe/simple/yellow/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/gas_chamber) -"adE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"adF" = (/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"adG" = (/obj/structure/closet/secure_closet/brig{desc = "It's an immobile card-locked storage unit.
    Typically meant to store high importance contraband taken from prisoners."; name = "Amory Locker"},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"adH" = (/obj/structure/rack,/obj/item/clothing/suit/armor/xcomarmor,/obj/item/weapon/gun/energy/laser/rifle,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"adI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/range) -"adJ" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor/plating,/area/security/prison) -"adK" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/door/window/brigdoor/southleft{name = "CO2 Access Door"; req_access = null; req_access_txt = "2"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison) -"adL" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/door/window/brigdoor/southright{name = "CO2 Access Door"; req_access = null; req_access_txt = "2"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison) -"adM" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/item/weapon/wrench,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison) -"adN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"adO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"adP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"adQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"adS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"adT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"adU" = (/obj/machinery/flasher/portable,/obj/machinery/camera{c_tag = "Secure Armory"; dir = 4},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"adV" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"adW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/lobby) -"adX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/lobby) -"adY" = (/obj/machinery/camera{c_tag = "Secure Armory"; dir = 8},/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"adZ" = (/turf/simulated/wall,/area/security/toilet) -"aea" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aeb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/prison) -"aec" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plating,/area/security/prison) -"aed" = (/obj/machinery/light{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/security/prison) -"aee" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/prison) -"aef" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"aeg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aeh" = (/obj/machinery/computer/area_atmos/area,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aei" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_y = 30},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aej" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/prison) -"aek" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/prison) -"ael" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"aem" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"aen" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/gloves/swat,/obj/item/clothing/mask/balaclava,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/clothing/suit/storage/bandolier,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aeo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 1; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aep" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aeq" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle{pixel_y = 3},/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle{pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aer" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aes" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 1; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aet" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/head/helmet/space/rig/security,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aeu" = (/obj/machinery/camera{c_tag = "Firing Range"; dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) -"aev" = (/obj/machinery/shower{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/toilet) -"aew" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/toilet) -"aex" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"aey" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"aez" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"aeA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/northleft,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/security/prison) -"aeB" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor/northright,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/security/prison) -"aeC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/security/prison) -"aeD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/prison) -"aeE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/plating,/area/security/prison) -"aeF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/prison) -"aeG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/prison) -"aeH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/prison) -"aeI" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"},/area/security/prison) -"aeJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"},/area/security/prison) -"aeK" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/prison) -"aeL" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/prison) -"aeM" = (/obj/machinery/light{dir = 8},/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/swat,/obj/item/clothing/mask/balaclava,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/clothing/suit/storage/bandolier,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aeN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/window/brigdoor{name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aeO" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aeP" = (/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aeQ" = (/obj/machinery/door/window/brigdoor{name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aeR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/window/brigdoor{dir = 8; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aeS" = (/obj/machinery/light{dir = 4},/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/head/helmet/space/rig/security,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aeT" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/security/range) -"aeU" = (/obj/structure/table/reinforced,/obj/machinery/magnetic_controller{autolink = 1; name = "Firing Range Control Console"; path = "w;e;e;w;s;n;n;s"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/range) -"aeV" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/range) -"aeW" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/range) -"aeX" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/firealarm{pixel_y = 24},/obj/item/weapon/paper{info = "Directions:
    First you'll want to make sure there is a target stake in the center of the magnetic platform. Next, take an aluminum target from the crates back there and slip it into the stake. Make sure it clicks! Next, there should be a control console mounted on the wall somewhere in the room.

    This control console dictates the behaviors of the magnetic platform, which can move your firing target around to simulate real-world combat situations. From here, you can turn off the magnets or adjust their electromagnetic levels and magnetic fields. The electricity level dictates the strength of the pull - you will usually want this to be the same value as the speed. The magnetic field level dictates how far the magnetic pull reaches.

    Speed and path are the next two settings. Speed is associated with how fast the machine loops through the designated path. Paths dictate where the magnetic field will be centered at what times. There should be a pre-fabricated path input already. You can enable moving to observe how the path affects the way the stake moves. To script your own path, look at the following key:


    N: North
    S: South
    E: East
    W: West
    C: Center
    R: Random (results may vary)
    ; or &: separators. They are not necessary but can make the path string better visible."; name = "Firing Range Instructions"},/turf/simulated/floor,/area/security/range) -"aeY" = (/obj/machinery/door/window/eastleft{name = "Security Showers"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/toilet) -"aeZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"afa" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"afb" = (/obj/machinery/washing_machine,/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"afc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"afd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/prison) -"afe" = (/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/camera{c_tag = "Prison Wing Hallway"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"aff" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/clothing/gloves/swat,/obj/item/clothing/mask/balaclava,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/clothing/suit/storage/bandolier,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"afh" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afi" = (/obj/structure/rack,/obj/item/clothing/suit/armor/laserproof,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afj" = (/obj/structure/rack,/obj/item/clothing/suit/armor/vest/security{pixel_x = 3; pixel_y = 3},/obj/item/clothing/suit/armor/vest/security,/obj/item/clothing/suit/armor/vest/security{pixel_x = -3; pixel_y = -3},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"afl" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/head/helmet/space/rig/security,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afm" = (/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs,/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"afn" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"afo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"afp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"afq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"afr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"afs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"aft" = (/obj/machinery/washing_machine,/obj/machinery/camera{c_tag = "Security Toilets"; dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/security/toilet) -"afu" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet/secure_closet/injection,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afv" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afx" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"afz" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"afA" = (/obj/machinery/camera{c_tag = "Prison Solitary Confinement"},/obj/machinery/camera{c_tag = "Solitary Confinement"; dir = 6; network = list("Prison")},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating,/area/security/prison) -"afB" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/table,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/obj/item/weapon/pen,/turf/simulated/floor/plating,/area/security/prison) -"afC" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"afD" = (/obj/machinery/door/airlock/maintenance{name = "Security Disposals"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"afE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"afF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/window/full/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) -"afG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"afH" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target/alien,/obj/item/target/alien,/obj/item/target/syndicate,/obj/item/target/syndicate,/turf/simulated/floor,/area/security/range) -"afI" = (/obj/structure/table/reinforced{icon_state = "table_horizontal"; dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"afJ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"afK" = (/obj/machinery/door/window/brigdoor/northright{req_access_txt = "63"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/lobby) -"afL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor,/area/security/brig) -"afM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/brig) -"afN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/security/toilet) -"afO" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/glasses/sunglasses/blindfold,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afP" = (/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afQ" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/prison) -"afR" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/security{name = "Execution Chamber"; req_access = null; req_access_txt = "1"},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"afS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"afT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"afU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Courtroom"; req_access_txt = "63"},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"afV" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison) -"afW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/deployable/barrier,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_CO2 = 0},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"afY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"afZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"aga" = (/obj/machinery/deployable/barrier,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/armory) -"agb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/machinery/light_switch{pixel_x = -23},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"agc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/range) -"agd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Detective"; req_access_txt = "4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/detectives_office) -"age" = (/turf/simulated/wall,/area/security/main) -"agf" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"agg" = (/obj/machinery/photocopier,/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) -"agh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) -"agi" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) -"agj" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/main) -"agk" = (/turf/simulated/wall/r_wall,/area/security/main) -"agl" = (/turf/simulated/wall/r_wall,/area/security/hos) -"agm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"agn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ago" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"agp" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"agq" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 2},/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 6},/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/prison) -"agr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"ags" = (/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"agt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"agu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plating,/area/security/prison) -"agv" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison) -"agw" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/armory) -"agx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Courtroom"; req_access_txt = "63"},/turf/simulated/floor,/area/crew_quarters/courtroom) -"agy" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/security/armory) -"agz" = (/turf/simulated/wall,/area/security/armory) -"agA" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor,/area/security/range) -"agB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"agC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"agD" = (/obj/machinery/computer/security,/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor,/area/security/main) -"agE" = (/obj/structure/stool,/turf/simulated/floor,/area/security/main) -"agF" = (/turf/simulated/floor,/area/security/main) -"agG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) -"agH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/main) -"agI" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main) -"agJ" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{frequency = 1475; name = "Station Intercom (Security)"; pixel_x = -30},/obj/structure/disposalpipe/trunk,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_y = 30},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"agK" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"agL" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"agM" = (/obj/structure/closet/secure_closet/hos,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"agN" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"agO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/prison) -"agP" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"agQ" = (/turf/simulated/wall,/area/security/interrogation) -"agR" = (/turf/simulated/wall/r_wall,/area/security/warden) -"agS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/machinery/power/apc{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/warden) -"agT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs{pixel_x = 4; pixel_y = 5},/obj/item/weapon/storage/box/smokebombs,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/warden) -"agU" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/warden) -"agV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beanbagshells,/obj/item/weapon/storage/box/lethalshells{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/warden) -"agW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/dartshells,/obj/item/weapon/storage/box/stunshells{pixel_x = 3; pixel_y = 4},/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/warden) -"agX" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/camera{c_tag = "Security Equipment"; dir = 4},/obj/machinery/recharger{pixel_y = 29},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main) -"agY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/recharger{pixel_y = 29},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) -"agZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/main) -"aha" = (/obj/machinery/light_switch{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ahb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ahc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahg" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 7},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"ahh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/security/hos) -"ahi" = (/obj/structure/disposalpipe/junction,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahj" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahl" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahm" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/cartridge/detective,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"aho" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent{filled = 0.2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/prison) -"ahp" = (/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/security/prison) -"ahq" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"ahr" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"ahs" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/interrogation) -"aht" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/interrogation) -"ahu" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/interrogation) -"ahv" = (/turf/simulated/wall,/area/security/warden) -"ahw" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas{pixel_x = 4; pixel_y = 4},/obj/item/clothing/mask/gas{pixel_x = 2; pixel_y = 2},/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/security/warden) -"ahx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/warden) -"ahy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/warden) -"ahz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/warden) -"ahA" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/security/warden) -"ahB" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/warden) -"ahC" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"ahD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahE" = (/obj/structure/closet/wardrobe/red,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) -"ahF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/main) -"ahG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) -"ahH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahI" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ahJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/main) -"ahK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/main) -"ahL" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/security/main) -"ahM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ahN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"ahO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"ahP" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"ahQ" = (/obj/machinery/door_control{id_tag = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id_tag = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahR" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ahT" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = -30},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"ahU" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"ahV" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"ahW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/security/prison) -"ahX" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"ahY" = (/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"ahZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"aia" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"aib" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = null; req_access_txt = "3"},/turf/simulated/floor,/area/security/warden) -"aic" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/security/warden) -"aid" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/warden) -"aie" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/warden) -"aif" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor,/area/security/warden) -"aig" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/security/warden) -"aih" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Armory"; req_access = null; req_access_txt = "3"},/turf/simulated/floor,/area/security/warden) -"aii" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"aij" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"aik" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) -"ail" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"aim" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"ain" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/security/main) -"aio" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) -"aip" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio,/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"aiq" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) -"air" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"ais" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/security/main) -"ait" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/security/main) -"aiu" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/airlock/glass_command{name = "Head of Security"; req_access_txt = "58"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aiv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"aiw" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"aix" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"aiy" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/landmark/start{name = "Head of Security"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aiz" = (/obj/machinery/computer/security,/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aiA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"aiB" = (/turf/simulated/floor,/area/security/prison) -"aiC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor,/area/security/prison) -"aiD" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/prison) -"aiE" = (/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"aiF" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"aiG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Brig Evidence Storage"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/interrogation) -"aiH" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/security/interrogation) -"aiI" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/camera{c_tag = "Armory"; dir = 4},/obj/structure/closet/bombcloset,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/security/warden) -"aiJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/l3closet/security,/turf/simulated/floor{dir = 3; icon_state = "warning"},/area/security/warden) -"aiK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 3; icon_state = "warning"},/area/security/warden) -"aiL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor{dir = 3; icon_state = "warning"},/area/security/warden) -"aiM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/trackimp{pixel_x = -3; pixel_y = 4},/obj/item/weapon/storage/box/chemimp{pixel_x = 5; pixel_y = 3},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/security/warden) -"aiN" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"aiO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main) -"aiP" = (/obj/structure/closet/secure_closet/security,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) -"aiQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"aiR" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"aiS" = (/obj/structure/table,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"aiT" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/security/main) -"aiU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/weapon/handcuffs,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"aiV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"aiW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"aiX" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos) -"aiY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aiZ" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aja" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ajb" = (/obj/structure/closet/secure_closet/brig,/obj/item/device/radio/intercom{pixel_x = -27},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/prison) -"ajc" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "red"},/area/security/prison) -"ajd" = (/obj/structure/closet/secure_closet/brig,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Prison Wing Processing"; dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/prison) -"aje" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"ajf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/prison) -"ajg" = (/turf/simulated/wall/r_wall,/area/security/interrogation) -"ajh" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/security/interrogation) -"aji" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = null; req_access_txt = "1"},/turf/simulated/floor,/area/security/interrogation) -"ajj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/interrogation) -"ajk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajm" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/turf/simulated/floor/plating,/area/security/warden) -"ajn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/stool,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"ajq" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"ajr" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/main) -"ajs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"ajt" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"aju" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"ajv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/structure/disposalpipe/segment,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ajw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ajx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ajy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ajz" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/hos,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/newscaster/security_unit{pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ajA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"ajB" = (/turf/simulated/wall,/area) -"ajC" = (/turf/simulated/wall,/area/security/medical) -"ajD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"ajE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/prison) -"ajF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"ajG" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/interrogation) -"ajH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/interrogation) -"ajI" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/interrogation) -"ajJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Security Processing"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/interrogation) -"ajK" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; pixel_y = 24},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/interrogation) -"ajL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajM" = (/obj/item/device/radio/intercom{frequency = 1475; layer = 3.3; name = "Station Intercom (Security)"; pixel_x = -30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/newscaster{pixel_x = -32; pixel_y = 32},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/storage/box/chemimp{pixel_x = 5; pixel_y = 3},/obj/item/weapon/storage/box/trackimp{pixel_x = -3; pixel_y = 4},/obj/structure/table,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/secure_closet/warden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajQ" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper{info = "4 Deployable Barriers
    4 Portable Flashers + Wrench
    3 Sets of Riot Armor
    1 Bulletproof Vest
    1 Ablative Vest
    1 Bomb Suit
    1 Biohazard Suit
    1 Chemical Implant Kit
    1 Tracking Implant Kit
    1 Loyalty Implant Kit
    1 Box of Spare Handcuffs
    1 Box of flashbangs
    1 Box of spare R.O.B.U.S.T. cartridges
    3 Riot shields
    3 Stun Batons
    3 Energy Guns
    3 Laser Rifles
    6 Gas Masks"; name = "Armory Inventory"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/crowbar,/obj/item/device/radio,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"ajS" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) -"ajT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"ajU" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"ajV" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_y = -2},/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"ajW" = (/obj/structure/table,/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"ajX" = (/obj/machinery/camera{c_tag = "Security Office South"; dir = 8},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main) -"ajY" = (/obj/structure/sign/goldenplaque,/turf/simulated/wall/r_wall,/area/security/hos) -"ajZ" = (/obj/structure/table/woodentable,/obj/item/device/radio,/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aka" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/keycard_auth{pixel_y = -24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"akb" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"akc" = (/obj/machinery/photocopier,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"akd" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area) -"ake" = (/obj/structure/grille,/turf/space,/area) -"akf" = (/turf/simulated/floor/plating/airless,/area) -"akg" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 1; pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 1; pixel_y = 6},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 2},/obj/machinery/camera{c_tag = "Brig Medbay Storage"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akh" = (/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"aki" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akj" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akk" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"akl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/security/prison) -"akm" = (/obj/structure/table,/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pictures_left = 30},/turf/simulated/floor,/area/security/interrogation) -"akn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/interrogation) -"ako" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/security/interrogation) -"akp" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/interrogation) -"akq" = (/turf/simulated/floor,/area/security/interrogation) -"akr" = (/obj/structure/table/reinforced{icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/security/warden) -"aks" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akt" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aku" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akv" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akx" = (/obj/structure/table/reinforced{icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/turf/simulated/floor/plating,/area/security/warden) -"aky" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor,/area/security/main) -"akz" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"akA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"akB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) -"akC" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/device/flash,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"akD" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main) -"akE" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/security/hos) -"akF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/hos) -"akG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/lattice,/turf/space,/area) -"akH" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area) -"akI" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akK" = (/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akL" = (/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"akM" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) -"akN" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) -"akO" = (/obj/structure/table,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor,/area/security/interrogation) -"akP" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/interrogation) -"akQ" = (/obj/structure/table,/turf/simulated/floor,/area/security/interrogation) -"akR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/interrogation) -"akS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"akT" = (/obj/machinery/computer/secure_data,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akU" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Warden"},/obj/machinery/door_control{id_tag = "Secure Gate"; name = "Brig Lockdown"; pixel_x = 5; pixel_y = -26; req_access_txt = "2"},/obj/machinery/door_control{id_tag = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -5; pixel_y = -26; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akW" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/recharger,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akX" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) -"akY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/security/main) -"akZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) -"ala" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"alb" = (/obj/item/device/radio/intercom{frequency = 1475; name = "Station Intercom (Security)"; pixel_y = -30},/turf/simulated/floor,/area/security/main) -"alc" = (/turf/simulated/floor{icon_state = "redcorner"},/area/security/main) -"ald" = (/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/main) -"ale" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"alf" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Security Escape Pod"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"alg" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fstarboard) -"alh" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fport) -"ali" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Brig Medbay Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"alj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/brig) -"alk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/brig) -"all" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/brig) -"alm" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/interrogation) -"aln" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor,/area/security/interrogation) -"alo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1},/obj/machinery/light,/turf/simulated/floor,/area/security/interrogation) -"alp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/security/interrogation) -"alq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/interrogation) -"alr" = (/obj/machinery/computer/security,/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"als" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"alt" = (/obj/machinery/computer/prisoner,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"alu" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/device/radio/intercom{frequency = 1475; name = "Station Intercom (Security)"; pixel_x = 30},/obj/machinery/light{dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"alv" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"alw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"alx" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main) -"aly" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main) -"alz" = (/obj/machinery/vending/security,/turf/simulated/floor{icon_state = "red"},/area/security/main) -"alA" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "red"},/area/security/main) -"alB" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/main) -"alC" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/security/main) -"alD" = (/obj/structure/plasticflaps,/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; dir = 1; freq = 1400; location = "Security"},/turf/simulated/floor/plating,/area/security/main) -"alE" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"alF" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f6"},/area/shuttle/escape_pod3/station) -"alG" = (/turf/simulated/shuttle/wall{icon_state = "swall12"},/area/shuttle/escape_pod3/station) -"alH" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"},/area/shuttle/escape_pod3/station) -"alI" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fstarboard) -"alJ" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fport) -"alK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/machinery/camera{c_tag = "Brig Medbay"},/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"alL" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"alM" = (/obj/structure/table,/obj/item/device/healthanalyzer{pixel_y = 2},/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"alN" = (/obj/machinery/recharger/defibcharger/wallcharger{pixel_x = 5; pixel_y = 28},/obj/structure/stool/bed/roller,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"alO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/walllocker/defiblocker{pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/security/medical) -"alP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig) -"alQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) -"alR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"alS" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/interrogation) -"alT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/interrogation) -"alU" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/interrogation) -"alV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/turf/simulated/floor/plating,/area/security/warden) -"alW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main) -"alX" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/security/main) -"alY" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main) -"alZ" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main) -"ama" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main) -"amb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main) -"amc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main) -"amd" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ame" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amf" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amg" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/machinery/media/receiver/boombox/wallmount/shuttle{pixel_y = -24},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) -"ami" = (/turf/space,/area/shuttle/syndicate_elite/station) -"amj" = (/turf/simulated/wall,/area/maintenance/fpmaint) -"amk" = (/obj/machinery/door/airlock/external{name = "External Construction Airlock"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aml" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amo" = (/obj/machinery/door/window/northleft{dir = 4; name = "Brig Medbay"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/security/medical) -"amp" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/security/brig) -"amq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"amr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"ams" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amv" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amx" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amD" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"amH" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/brig) -"amI" = (/turf/simulated/wall,/area/security/brig) -"amJ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f5"},/area/shuttle/escape_pod3/station) -"amK" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"},/area/shuttle/escape_pod3/station) -"amL" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id_tag = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fstarboard) -"amM" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fstarboard) -"amN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id_tag = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fport) -"amO" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fport) -"amP" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"amQ" = (/obj/structure/sign/vacuum{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"amR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"amU" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig Medbay"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/security/medical) -"amV" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"amW" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"amX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig) -"amY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"amZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/security/brig) -"ana" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig) -"anb" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"anc" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"and" = (/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"ane" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"anf" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/brig) -"ang" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/junction{dir = 4},/turf/simulated/floor,/area/security/brig) -"anh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"ani" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"anj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction{icon_state = "pipe-y"; dir = 1},/turf/simulated/floor,/area/security/brig) -"ank" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/security/brig) -"anl" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/brig) -"anm" = (/turf/simulated/floor,/area/security/brig) -"ann" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/security/brig) -"ano" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/security/brig) -"anp" = (/obj/machinery/door/airlock/external{name = "Security Escape Pod"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/brig) -"anq" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"anr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ans" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint) -"ant" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/fstarboard) -"anu" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard) -"anv" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard) -"anw" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk15"},/area/solar/fstarboard) -"anx" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard) -"any" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard) -"anz" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk8"},/area/solar/fstarboard) -"anA" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/fport) -"anB" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fport) -"anC" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fport) -"anD" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk15"},/area/solar/fport) -"anE" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fport) -"anF" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fport) -"anG" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk8"},/area/solar/fport) -"anH" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"anI" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"anJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/medical) -"anK" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/security/medical) -"anL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_CO2 = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"anM" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"anN" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/brig) -"anO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anQ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anS" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/media/receiver/boombox/wallmount/muzak{pixel_y = -24},/turf/simulated/floor,/area/security/brig) -"anT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anU" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Security Disposals"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"anV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"anW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"anX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"anY" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/closet/lawcloset,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"anZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"aoa" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"aob" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor,/area/security/brig) -"aoc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) -"aod" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aoe" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor,/area/security/brig) -"aof" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aog" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aoh" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aoi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aoj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aok" = (/obj/structure/sign/pods{pixel_x = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/security/brig) -"aol" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/security/brig) -"aom" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aon" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/fsmaint) -"aop" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoq" = (/obj/machinery/conveyor{dir = 4; id_tag = "secdisposal"},/obj/machinery/door/window/brigdoor{dir = 2; name = "Security Disposals Belt"; req_access_txt = "63"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aor" = (/obj/machinery/conveyor{dir = 4; id_tag = "secdisposal"},/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aos" = (/obj/machinery/conveyor{id_tag = "secdisposal"},/obj/machinery/camera{c_tag = "Security Disposals Belt"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aot" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aou" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aov" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aow" = (/turf/simulated/wall,/area/maintenance/fsmaint) -"aox" = (/obj/structure/cable,/obj/machinery/power/solar{id_tag = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fstarboard) -"aoy" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fstarboard) -"aoz" = (/obj/structure/cable,/obj/machinery/power/solar{id_tag = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fport) -"aoA" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fport) -"aoB" = (/obj/machinery/door/airlock/external{name = "Security Maintenance"; req_access_txt = "1"},/turf/simulated/floor/plating,/area/security/medical) -"aoC" = (/turf/simulated/wall,/area/security/rec_room) -"aoD" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"aoE" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aoF" = (/turf/simulated/wall/r_wall,/area/security/brig) -"aoG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main) -"aoH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) -"aoI" = (/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_CO2 = 0},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/lobby) -"aoJ" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) -"aoK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/range) -"aoL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/lobby) -"aoM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/lobby) -"aoN" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aoO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"aoP" = (/turf/simulated/wall,/area/crew_quarters/courtroom) -"aoQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Courtroom"; req_access_txt = "63"},/turf/simulated/floor,/area/crew_quarters/courtroom) -"aoR" = (/obj/machinery/detector{pixel_y = -4},/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor,/area/security/brig) -"aoS" = (/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/obj/machinery/detector{pixel_y = -4},/turf/simulated/floor,/area/security/brig) -"aoT" = (/obj/structure/table,/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoV" = (/obj/machinery/door/airlock/maintenance{name = "Security Disposals"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoX" = (/obj/machinery/conveyor_switch/oneway{id_tag = "secdisposal"; pixel_y = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoY" = (/obj/machinery/conveyor{id_tag = "secdisposal"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoZ" = (/obj/structure/table,/obj/item/clothing/ears/earmuffs{pixel_y = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/vacuum{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apc" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apd" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ape" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/light_switch{pixel_y = 27},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"apf" = (/obj/machinery/camera{c_tag = "Interrogation Observation"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"apg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"aph" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/security{name = "Interrogation Observervation"; req_access = null; req_access_txt = "63"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/rec_room) -"api" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"apj" = (/obj/item/device/radio/intercom{pixel_x = 27},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/security/brig) -"apk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"apl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"apm" = (/obj/structure/closet/secure_closet/brig{id_tag = "Cell 1"; name = "Cell 1 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"apn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"apo" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/security/range) -"app" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/computer/security,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/security/lobby) -"apq" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/security/lobby) -"apr" = (/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 1 and 2."; id_tag = "BrigEast"; name = "Brig Cells 1-2 Hallway Doors"; normaldoorcontrol = 1; pixel_x = -10; pixel_y = -25; range = 8},/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 3 and 4."; id_tag = "BrigWest"; name = "Brig Cells 3-4 Hallway Doors"; normaldoorcontrol = 1; pixel_x = 10; pixel_y = -25; range = 8},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id_tag = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_y = -25; range = 3},/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/security/lobby) -"aps" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/range) -"apt" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/secure_data,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/lobby) -"apu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"apv" = (/obj/structure/closet/secure_closet/brig{id_tag = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 3"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"apw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"apx" = (/obj/item/device/radio/intercom{pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"apy" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/crew_quarters/courtroom) -"apz" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/crew_quarters/courtroom) -"apA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apB" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal/deliveryChute{dir = 1; name = "disposal inlet"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apC" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apD" = (/obj/machinery/camera{c_tag = "Brig Atmospherics"; dir = 8; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apE" = (/turf/space,/area/vox_station/northeast_solars) -"apF" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apH" = (/obj/machinery/door/airlock/external{name = "Security Maintenance"; req_access_txt = "1"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"apI" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"apJ" = (/obj/structure/stool/bed/chair,/obj/machinery/computer/security/telescreen{name = "Observation Screen"; network = list("Interrogation"); pixel_y = -32},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"apK" = (/obj/structure/stool/bed/chair,/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/rec_room) -"apL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"apM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/security/brig) -"apN" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{id_tag = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"apO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"apP" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"apQ" = (/turf/simulated/floor{icon_state = "red"},/area/security/range) -"apR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor,/area/security/lobby) -"apS" = (/obj/structure/table/reinforced{icon_state = "table_horizontal"; dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/lobby) -"apT" = (/obj/structure/table/reinforced{icon_state = "table_horizontal"; dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"apU" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range) -"apV" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"apW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"apX" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"apY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"apZ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id_tag = "Cell 3"; name = "Cell 3"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"aqa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aqb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"aqc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Courtroom"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"aqd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/crew_quarters/courtroom) -"aqe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/crew_quarters/courtroom) -"aqf" = (/obj/machinery/camera{c_tag = "Courtroom North"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/crew_quarters/courtroom) -"aqg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/crew_quarters/courtroom) -"aqh" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/crew_quarters/courtroom) -"aqi" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/crew_quarters/courtroom) -"aqj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/crew_quarters/courtroom) -"aqk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Courtroom"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"aql" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_CO2 = 0},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/range) -"aqm" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range) -"aqn" = (/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aqo" = (/obj/machinery/door/airlock/atmos{name = "Brig Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqp" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqq" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqr" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqs" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqt" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqu" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqv" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 8},/turf/simulated/floor/plating,/area/security/rec_room) -"aqw" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/rec_room) -"aqx" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/rec_room) -"aqy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Brig West"; dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"aqz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aqA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"aqB" = (/obj/machinery/flasher{id_tag = "Cell 1"; pixel_y = -28},/turf/simulated/floor,/area/security/brig) -"aqC" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"aqD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"aqE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aqF" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/security/lobby) -"aqG" = (/turf/simulated/floor,/area/security/lobby) -"aqH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"aqI" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/security/lobby) -"aqJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"aqK" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"aqL" = (/obj/machinery/flasher{id_tag = "Cell 3"; pixel_y = -28},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"aqM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"aqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Brig East"; dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"aqO" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/crew_quarters/courtroom) -"aqP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "red"},/area/crew_quarters/courtroom) -"aqQ" = (/turf/simulated/floor{icon_state = "red"},/area/crew_quarters/courtroom) -"aqR" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "red"},/area/crew_quarters/courtroom) -"aqS" = (/obj/structure/table,/obj/machinery/door_control{id_tag = "courtroompriv"; name = "Courtroom Shutters"; pixel_y = 6},/turf/simulated/floor{icon_state = "red"},/area/crew_quarters/courtroom) -"aqT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/crew_quarters/courtroom) -"aqU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/range) -"aqV" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqX" = (/obj/structure/table,/obj/item/device/t_scanner{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqY" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aqZ" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ara" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/security/rec_room) -"arb" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/rec_room) -"arc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/rec_room) -"ard" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/security{name = "Interrogation"; req_access = null; req_access_txt = "63"},/turf/simulated/floor{icon_state = "dark"},/area/security/rec_room) -"are" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"arf" = (/obj/machinery/door_timer/cell_1{dir = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/security/brig) -"arg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"arh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/armory) -"ari" = (/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range) -"arj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_CO2 = 0},/turf/simulated/floor,/area/security/lobby) -"ark" = (/obj/item/device/radio/intercom{frequency = 1475; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 4},/obj/machinery/power/apc{dir = 4; pixel_x = 27; pixel_z = -7},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera{c_tag = "Security Lobby"; dir = 8; pixel_y = -22},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"arl" = (/obj/machinery/door_timer/cell_3{dir = 8; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/security/brig) -"arm" = (/turf/simulated/wall/r_wall,/area/crew_quarters/courtroom) -"arn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"aro" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"arp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/courtroom) -"arq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Internal Affairs"; req_access_txt = "38"},/turf/simulated/floor,/area/lawoffice) -"arr" = (/obj/structure/sign/vacuum{pixel_y = 32},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ars" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"art" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aru" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"arv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"arw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"arx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"ary" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"arz" = (/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"arA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"arB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor,/area/security/brig) -"arC" = (/obj/structure/closet/secure_closet/brig{id_tag = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"arD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/wood,/area/library) -"arE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/lobby) -"arF" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"arG" = (/obj/structure/closet/secure_closet/brig{id_tag = "Cell 4"; name = "Cell 4 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 4"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"arH" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"arI" = (/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arJ" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arK" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arM" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arN" = (/obj/item/device/radio/intercom{name = "station intercom (courtroom)"; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/starboard) -"arP" = (/obj/structure/closet/lawcloset,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"arQ" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"arR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"arS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"arT" = (/obj/item/clothing/glasses/kaminaglasses,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"arU" = (/obj/structure/closet/crate/bin,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"arV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"arW" = (/obj/structure/table/reinforced{icon_state = "table"},/obj/item/device/flashlight/lamp,/obj/item/device/taperecorder,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"arX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Interrogation"; dir = 9; network = list("Interrogation")},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"arY" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"arZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/security/brig) -"asa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{id_tag = "Cell 2"; name = "Cell 2"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"asb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor,/area/hallway/primary/starboard) -"asc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/library) -"asd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"ase" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor,/area/security/brig) -"asf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id_tag = "Cell 4"; name = "Cell 4"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"asg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"ash" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"asi" = (/obj/machinery/camera{c_tag = "Courtroom West"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ask" = (/obj/structure/stool/bed/chair/wood/wings,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asl" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/courtroom,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asm" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_y = 6},/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/carpet,/area/library) -"aso" = (/obj/machinery/camera{c_tag = "Courtroom East"; dir = 8; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/library) -"asq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"asr" = (/obj/structure/table,/obj/item/clothing/head/fez,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ass" = (/obj/structure/table,/obj/item/weapon/storage/box/mousetraps{pixel_y = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ast" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"asu" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"asv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/rec_room) -"asw" = (/obj/structure/table,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/brig) -"asx" = (/obj/machinery/door_timer/cell_2{pixel_x = 32},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/security/brig) -"asy" = (/obj/machinery/flasher{id_tag = "Cell 2"; pixel_y = -26},/turf/simulated/floor,/area/security/brig) -"asz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"asA" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/lobby) -"asB" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/security/lobby) -"asC" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/lobby) -"asD" = (/obj/machinery/flasher{id_tag = "Cell 4"; pixel_y = -28},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"asE" = (/obj/machinery/door_timer/cell_4{pixel_x = -32},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/security/brig) -"asF" = (/obj/structure/table,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) -"asG" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asH" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asI" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asJ" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"asP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"asS" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asT" = (/obj/structure/sign/vacuum{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asU" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asW" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"asX" = (/turf/simulated/wall/r_wall,/area/security/rec_room) -"asY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/turf/simulated/floor,/area/security/lobby) -"asZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"ata" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"atb" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"atc" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"atd" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/turf/simulated/floor,/area/security/lobby) -"ate" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atg" = (/obj/machinery/hologram/holopad,/obj/machinery/door/window/brigdoor,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ath" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ati" = (/obj/structure/stool/bed/chair/wood/wings{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atj" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atk" = (/obj/structure/disposalpipe/segment,/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atn" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fport) -"ato" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/fore) -"atp" = (/obj/structure/table,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atq" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"ats" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"att" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atu" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atv" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atw" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atx" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"aty" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atz" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atA" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atC" = (/obj/machinery/status_display{pixel_y = 32},/obj/machinery/camera{c_tag = "Fore Primary Hallway West"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"atD" = (/turf/simulated/floor,/area/hallway/primary/fore) -"atE" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atG" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atH" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atI" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway East"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atJ" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"atK" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atL" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atM" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atO" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/courtroom,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atP" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"atR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"atW" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{blocks_air = 1},/area/maintenance/fportsolar) -"atX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/fore) -"atY" = (/obj/structure/table,/turf/simulated/floor,/area/hallway/primary/fore) -"atZ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/fore) -"aua" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/fore) -"aub" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/fore) -"auc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor,/area/hallway/primary/fore) -"aud" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) -"aue" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/fore) -"auf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) -"aug" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) -"auh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) -"aui" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/fore) -"auj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/turf/simulated/floor{icon_state = "dark vault full"},/area/storage/nuke_storage) -"auk" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"aul" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"aum" = (/obj/structure/stool/bed/chair/wood/wings{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"aun" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"auo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/maintenance/fsmaint) -"aup" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fstarboard) -"auq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"aur" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"aus" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/fore) -"aut" = (/obj/structure/table,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/securearea{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"auw" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"aux" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"auy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/warning_stripes{icon_state = "corner"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 6},/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{icon_state = "loadingarea"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 10},/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes{icon_state = "corner"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"auQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA"; location = "Security"},/turf/simulated/floor,/area/hallway/primary/fore) -"auR" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auT" = (/obj/machinery/media/receiver/boombox/wallmount/muzak{pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auU" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auV" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auW" = (/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auX" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "redcorner"},/area/hallway/primary/fore) -"auY" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"auZ" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ava" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"avb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"avc" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"avd" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"ave" = (/obj/structure/closet/secure_closet/courtroom,/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"avf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avg" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"avi" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{blocks_air = 1},/area/maintenance/fstarboardsolar) -"avj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avl" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avo" = (/turf/simulated/wall,/area/security/detectives_office) -"avp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) -"avq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"avr" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) -"avs" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"avt" = (/turf/simulated/wall/r_wall,/area/maintenance/fpmaint) -"avu" = (/turf/simulated/wall/r_wall,/area/storage/nuke_storage) -"avv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/storage/nuke_storage) -"avw" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/storage/nuke_storage) -"avx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "courtroompriv"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Courtroom"},/turf/simulated/floor/wood,/area/crew_quarters/courtroom) -"avy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/storage/nuke_storage) -"avz" = (/turf/simulated/wall,/area/lawoffice) -"avA" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"avB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"avC" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/primary/fore) -"avD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"avE" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/maintenance/fsmaint) -"avF" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor,/area/maintenance/fsmaint) -"avG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/highsecurity{name = "Secure Armory"; req_access_txt = "3"},/turf/simulated/floor,/area/security/armory) -"avH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Washroom"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/toilet) -"avI" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/crew_quarters/courtroom) -"avJ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avK" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avL" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_on"; on = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avM" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"avO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"avP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"avQ" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/turf/simulated/floor/plating{blocks_air = 1},/area/maintenance/fpmaint2) -"avR" = (/turf/simulated/wall/r_wall,/area/maintenance/fportsolar) -"avS" = (/obj/machinery/power/solar_control{id_tag = "auxsolareast"; name = "Fore Port Solar Control"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"avV" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"avW" = (/obj/structure/closet/secure_closet/detective,/obj/machinery/camera{c_tag = "Detective North"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"avX" = (/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"avY" = (/turf/simulated/floor,/area/janitor) -"avZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"awa" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"awb" = (/obj/machinery/light{dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/structure/noticeboard{pixel_x = 30},/obj/item/device/camera,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"awc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"awd" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"awe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/storage/nuke_storage) -"awf" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "dark vault corner"},/area/storage/nuke_storage) -"awg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark vault stripe"},/area/storage/nuke_storage) -"awh" = (/turf/simulated/floor{icon_state = "dark vault corner"; dir = 8},/area/storage/nuke_storage) -"awi" = (/obj/machinery/computer/secure_data/detective_computer,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/storage/nuke_storage) -"awj" = (/obj/structure/closet/lawcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awk" = (/obj/machinery/photocopier,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 27},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awl" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awm" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awo" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"awp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/lawoffice) -"awq" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"awr" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/fore) -"aws" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"awt" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/fsmaint) -"awu" = (/obj/structure/disposalpipe/junction{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aww" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/sleep) -"awy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/sleep) -"awz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awC" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"awD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"awE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"awF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/effect/landmark{name = "Syndicate Breach Area"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"awG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"awH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"awI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"awJ" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"awK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"awL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"awM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"},/area/shuttle/escape_pod1/station) -"awN" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) -"awO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"},/area/shuttle/escape_pod1/station) -"awP" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"},/area/shuttle/escape_pod2/station) -"awQ" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) -"awR" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"},/area/shuttle/escape_pod2/station) -"awS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"awT" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"awU" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"awV" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"awW" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"awX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/security/detectives_office) -"awY" = (/turf/simulated/floor/carpet,/area/security/detectives_office) -"awZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) -"axa" = (/obj/structure/stool/bed/chair/comfy/brown,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/carpet,/area/security/detectives_office) -"axb" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"axc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axd" = (/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axe" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"axf" = (/turf/simulated/floor{icon_state = "dark vault corner"},/area/storage/nuke_storage) -"axg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark vault stripe"},/area/storage/nuke_storage) -"axh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark vault corner"; dir = 8},/area/storage/nuke_storage) -"axi" = (/obj/machinery/light_switch{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/storage/nuke_storage) -"axj" = (/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axm" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/lawoffice) -"axo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"axp" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/fore) -"axq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"axr" = (/turf/simulated/wall,/area/crew_quarters/sleep) -"axs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"axt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"axu" = (/turf/simulated/wall,/area/crew_quarters/fitness) -"axv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/crew_quarters/fitness) -"axx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"axy" = (/turf/simulated/floor/engine{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) -"axz" = (/turf/simulated/wall/r_wall,/area/maintenance/fstarboardsolar) -"axA" = (/obj/machinery/power/solar_control{id_tag = "auxsolareast"; name = "Fore Starboard Solar Control"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"axB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"axC" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"axD" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry) -"axE" = (/turf/simulated/shuttle/wall{icon_state = "swall3"},/area/shuttle/escape_pod1/station) -"axF" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{pixel_x = 32},/obj/machinery/media/receiver/boombox/wallmount/shuttle{pixel_x = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"axG" = (/turf/simulated/shuttle/wall{icon_state = "swall3"},/area/shuttle/escape_pod2/station) -"axH" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{pixel_x = 32},/obj/machinery/media/receiver/boombox/wallmount/shuttle{pixel_x = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"axI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Fore Port Solar Control"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"axJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"axK" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"axL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/security/detectives_office) -"axM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"axN" = (/obj/structure/table/woodentable,/obj/machinery/computer/security/wooden_tv{pixel_x = 1; pixel_y = 3},/turf/simulated/floor/carpet,/area/security/detectives_office) -"axO" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/red{pixel_x = 3},/obj/item/weapon/folder/red,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/security/detectives_office) -"axP" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/detective,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/turf/simulated/floor/carpet,/area/security/detectives_office) -"axQ" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"axR" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axS" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{pixel_y = 2},/obj/item/stack/sheet/mineral/gold{pixel_x = 1; pixel_y = -2},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/storage/belt/champion,/obj/machinery/camera/motion{c_tag = "Vault"; dir = 4; short_range = 2},/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"axT" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"axU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark vault corner"; dir = 8},/area/storage/nuke_storage) -"axV" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/storage/nuke_storage) -"axW" = (/obj/machinery/hologram/holopad,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axX" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axY" = (/obj/structure/stool/bed/chair/comfy/black,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"axZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aya" = (/obj/machinery/faxmachine{department = "Internal Affairs"},/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"ayb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/lawoffice) -"ayc" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"ayd" = (/obj/machinery/status_display{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aye" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ayf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/sleep) -"ayg" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"ayh" = (/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"ayi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/carpet{icon_state = "carpet4-0"},/area/crew_quarters/sleep) -"ayj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Holding Area"; req_access_txt = "1"},/turf/simulated/floor,/area/hallway/secondary/exit) -"ayk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/sleep) -"ayl" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"aym" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/crew_quarters/sleep) -"ayn" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/sleep) -"ayo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"ayp" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"ayq" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"ayr" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/fitness) -"ays" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"ayt" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/closet/athletic_mixed,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"ayu" = (/obj/structure/closet/boxinggloves,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"ayv" = (/obj/machinery/camera{c_tag = "Fitness Room"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/status_display{pixel_y = 32},/obj/structure/closet/masks,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"ayw" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"ayx" = (/obj/structure/closet/lasertag/red,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness) -"ayy" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"ayz" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"ayA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"ayB" = (/turf/simulated/wall,/area/hallway/secondary/entry) -"ayC" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"ayD" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"ayE" = (/turf/simulated/wall,/area/maintenance/fpmaint2) -"ayF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"ayG" = (/obj/machinery/door/airlock/external{req_access_txt = "13"; req_one_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"ayH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"ayI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"ayJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"ayK" = (/turf/simulated/wall,/area/maintenance/ghettobar) -"ayL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"ayM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"ayN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"ayO" = (/obj/structure/sign/double/barsign,/turf/simulated/wall,/area/maintenance/ghettobar) -"ayP" = (/obj/machinery/door/airlock/engineering{name = "Fore Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fportsolar) -"ayQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/maintenance/fportsolar) -"ayR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ayS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/security/detectives_office) -"ayT" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = 7},/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/clothing/mask/cigarette/pipe{pixel_y = 1},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/security/detectives_office) -"ayU" = (/obj/effect/landmark/start{name = "Detective"},/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) -"ayV" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop{pixel_y = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) -"ayW" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"ayX" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ayY" = (/obj/structure/table,/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"ayZ" = (/turf/simulated/floor{icon_state = "dark vault stripe"},/area/storage/nuke_storage) -"aza" = (/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"azb" = (/obj/machinery/requests_console{pixel_x = -30},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"azc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"azd" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aze" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"azf" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"azg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"azh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"azi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"azj" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"azk" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/door_control{id_tag = "Dorm4"; name = "Dorm 4 Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"azl" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"azm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) -"azn" = (/turf/simulated/floor,/area/crew_quarters/sleep) -"azo" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Janitor"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "bot"},/area/janitor) -"azp" = (/turf/simulated/floor/plating,/area/crew_quarters/sleep) -"azq" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/crew_quarters/sleep) -"azr" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"azs" = (/obj/machinery/door_control{id_tag = "Dorm6"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/crew_quarters/sleep) -"azt" = (/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) -"azu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/crew_quarters/fitness) -"azv" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"azw" = (/turf/simulated/floor,/area/crew_quarters/fitness) -"azx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/crew_quarters/fitness) -"azy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"azz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"azA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"azB" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"azC" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"azD" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"azE" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"},/area/shuttle/escape_pod1/station) -"azF" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"azG" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"},/area/shuttle/escape_pod1/station) -"azH" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"},/area/shuttle/escape_pod2/station) -"azI" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"azJ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"},/area/shuttle/escape_pod2/station) -"azK" = (/obj/machinery/space_heater/air_conditioner,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"azL" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"azM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"azN" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"azO" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"azP" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/maintenance/ghettobar) -"azQ" = (/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"azR" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"azS" = (/obj/structure/table/woodentable,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"azT" = (/obj/machinery/media/jukebox/bar,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"azU" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"azV" = (/obj/structure/table/woodentable,/obj/item/clothing/head/bowlerhat,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"azW" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"azX" = (/obj/structure/closet/secure_closet/bar,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"azY" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"azZ" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aAa" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aAb" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aAc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aAd" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aAe" = (/obj/machinery/door/airlock/maintenance{name = "Toilet"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aAf" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/structure/mirror{dir = 2; pixel_x = 32},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aAg" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAh" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAi" = (/obj/machinery/requests_console{pixel_y = -32},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAk" = (/obj/item/device/radio/intercom{pixel_x = 0; pixel_y = -27},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAl" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAm" = (/obj/machinery/computer/forensic_scanning,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aAn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aAo" = (/obj/structure/closet/secure_closet/freezer/money,/turf/simulated/floor{icon_state = "dark-markings"},/area/storage/nuke_storage) -"aAp" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "dark vault corner"},/area/storage/nuke_storage) -"aAq" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark vault stripe"},/area/storage/nuke_storage) -"aAr" = (/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "dark vault corner"; dir = 8},/area/storage/nuke_storage) -"aAs" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/item/clothing/glasses/kaminaglasses,/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/storage/nuke_storage) -"aAt" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aAu" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aAv" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aAw" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aAx" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id_tag = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/camera{c_tag = "Internal Affairs"; dir = 1},/turf/simulated/floor{icon_state = "cult"},/area/lawoffice) -"aAy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/lawoffice) -"aAz" = (/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aAA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Art Storage"},/turf/simulated/floor,/area/storage/art) -"aAB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/crew_quarters/sleep) -"aAC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aAD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/crew_quarters/sleep) -"aAE" = (/obj/machinery/alarm{dir = 4; pixel_x = -23},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) -"aAF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAG" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Fitness Ring"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aAH" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aAI" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aAJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aAK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"aAM" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAP" = (/obj/machinery/camera{c_tag = "Holodeck"},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aAR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Fore Starboard Solar Access"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/maintenance/fstarboardsolar) -"aAS" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/maintenance/fstarboardsolar) -"aAT" = (/turf/simulated/wall,/area/maintenance/fsmaint2) -"aAU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aAV" = (/turf/simulated/wall/r_wall,/area/maintenance/auxcharge) -"aAW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/maintenance/auxcharge) -"aAX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aAY" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aAZ" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aBa" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aBb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aBc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aBd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aBe" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aBf" = (/obj/structure/barricade/wooden,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aBg" = (/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aBh" = (/obj/item/weapon/table_parts/wood,/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/maintenance/ghettobar) -"aBi" = (/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/maintenance/ghettobar) -"aBj" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aBk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aBl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aBm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aBn" = (/obj/machinery/power/apc{cell_type = 0; dir = 4; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aBo" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aBp" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/structure/mirror{dir = 2; pixel_x = 32},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aBq" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) -"aBr" = (/obj/structure/lattice,/obj/structure/lattice,/obj/machinery/airlock_sensor{id_tag = "pod_ext_airlock_sensor"; master_tag = "pod_airlock_control"; pixel_y = -24},/turf/space,/area) -"aBs" = (/obj/machinery/door/airlock/maintenance{name = "Detective Maintenance"; req_access_txt = "4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/detectives_office) -"aBt" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aBu" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4},/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"aBv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aBw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aBx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aBy" = (/obj/structure/table/reinforced,/obj/machinery/door/window/southright,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aBz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aBA" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aBB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/crew_quarters/sleep) -"aBC" = (/obj/machinery/camera{c_tag = "Dormitories Central"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"aBD" = (/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"aBE" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"aBF" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep) -"aBG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/sleep) -"aBH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aBI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/fitness) -"aBJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBK" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aBL" = (/turf/simulated/floor{icon_state = "dark vault full"},/area/crew_quarters/fitness) -"aBM" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aBN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"aBO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aBP" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor,/area/crew_quarters/fitness) -"aBQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aBS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aBT" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aBU" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aBV" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/maintenance/auxcharge) -"aBW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/maintenance/auxcharge) -"aBX" = (/obj/machinery/door/airlock/external{name = "Escape Pod"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aBY" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/entry) -"aBZ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aCa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aCb" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aCc" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/maintenance/ghettobar) -"aCd" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aCe" = (/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/maintenance/ghettobar) -"aCf" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aCg" = (/obj/structure/stool,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aCh" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aCi" = (/obj/machinery/door_control{id_tag = "ghettobarshutter"; name = "Privacy Shutters"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aCj" = (/turf/simulated/wall,/area/science/podbay) -"aCk" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/obj/machinery/door/airlock/multi_tile/glass{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "pod_airlock_exterior"; locked = 1; name = "Pod Bay Airlock"},/turf/simulated/floor/engine,/area/science/podbay) -"aCl" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/turf/simulated/floor/engine,/area/science/podbay) -"aCm" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCn" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCt" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCu" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCv" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aCw" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore) -"aCx" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aCy" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/table,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aCz" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/door_control{id_tag = "Dorm3"; name = "Dorm 3 Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aCA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aCB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aCC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aCD" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) -"aCE" = (/obj/structure/table/woodentable,/obj/item/clothing/mask/balaclava,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) -"aCF" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aCG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) -"aCH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/crew_quarters/fitness) -"aCK" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aCL" = (/obj/item/weapon/coin/silver,/turf/simulated/floor{icon_state = "dark vault full"},/area/crew_quarters/fitness) -"aCM" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aCN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aCO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aCP" = (/obj/structure/table,/obj/item/weapon/paper{info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCQ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aCS" = (/obj/machinery/camera{c_tag = "Auxiliary Cyborg Station"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/auxcharge) -"aCT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxcharge) -"aCU" = (/obj/item/clothing/gloves/yellow,/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/auxcharge) -"aCV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aCW" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aCX" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aCY" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/camera/xray{c_tag = "Arrivals Escape Pods"},/turf/simulated/floor,/area/hallway/secondary/entry) -"aCZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aDa" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDe" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDf" = (/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/hallway/secondary/entry) -"aDg" = (/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/hallway/secondary/entry) -"aDh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aDi" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aDj" = (/obj/structure/grille,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aDk" = (/obj/structure/barricade/wooden,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aDl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aDm" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aDn" = (/obj/structure/table/woodentable,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aDo" = (/obj/machinery/light_switch{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aDp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aDq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aDr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aDs" = (/obj/structure/table/reinforced,/obj/machinery/door/window/southleft,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aDt" = (/turf/simulated/floor/engine,/area/science/podbay) -"aDu" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/science/podbay) -"aDv" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/effect/decal/warning_stripes{icon_state = "loadingarea"},/turf/simulated/floor/engine,/area/science/podbay) -"aDw" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/effect/decal/warning_stripes{icon_state = "loadingarea"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/engine,/area/science/podbay) -"aDx" = (/obj/machinery/airlock_sensor{id_tag = "pod_chamber_airlock_sensor"; master_tag = "pod_airlock_control"; pixel_y = 24},/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 4; frequency = 1449; id_tag = "pod_airlock_pump"; layer = 2.4},/turf/simulated/floor/engine,/area/science/podbay) -"aDy" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/effect/decal/warning_stripes{icon_state = "loadingarea"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/engine,/area/science/podbay) -"aDz" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/effect/decal/warning_stripes{icon_state = "loadingarea"; dir = 1},/turf/simulated/floor/engine,/area/science/podbay) -"aDA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDF" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) -"aDG" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) -"aDH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access_txt = "0"; req_one_access_txt = "11;24;5;1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aDI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aDJ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore) -"aDK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aDL" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aDM" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aDN" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aDO" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDQ" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDR" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDS" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDT" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDU" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aDW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/sleep) -"aDX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEa" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aEb" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aEc" = (/obj/structure/window/reinforced,/obj/machinery/door/window/eastright{base_state = "left"; icon_state = "left"; name = "Fitness Ring"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/fitness) -"aEd" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aEf" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEg" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/crew_quarters/fitness) -"aEi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aEk" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aEl" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aEm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aEn" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aEo" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aEp" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_x = -28; wires = 2},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/auxcharge) -"aEq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{nitrogen = 0.01; oxygen = 0.01},/area/maintenance/auxcharge) -"aEr" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/auxcharge) -"aEs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aEt" = (/obj/structure/flora/pottedplant/random,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aEu" = (/turf/simulated/floor,/area/hallway/secondary/entry) -"aEv" = (/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aEw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aEx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aEy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "warningcorner"},/area/hallway/secondary/entry) -"aEz" = (/obj/machinery/status_display{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aEA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aEB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aEC" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) -"aED" = (/obj/machinery/computer/arcade,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aEE" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aEF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aEG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aEH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Ghetto Bar"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aEI" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/maintenance/ghettobar) -"aEJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aEK" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aEL" = (/obj/structure/rack,/obj/item/weapon/extinguisher{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aEM" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aEN" = (/obj/machinery/door/airlock/maintenance{name = "Toilets"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aEO" = (/obj/structure/sign/vacuum,/turf/simulated/wall,/area/science/podbay) -"aEP" = (/obj/structure/closet/emcloset,/turf/simulated/floor/engine,/area/science/podbay) -"aEQ" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/turf/simulated/floor/engine,/area/science/podbay) -"aER" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/engine,/area/science/podbay) -"aES" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 4; frequency = 1449; id_tag = "pod_airlock_pump"; layer = 2.4},/obj/machinery/meter/turf{name = "Airlock Pressure"; pixel_y = -24},/turf/simulated/floor/engine,/area/science/podbay) -"aET" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/science/podbay) -"aEU" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/turf/simulated/floor/engine,/area/science/podbay) -"aEV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEW" = (/turf/simulated/wall/r_wall,/area/gateway) -"aEX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEY" = (/obj/machinery/camera{c_tag = "EVA Maintenance"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEZ" = (/obj/effect/decal/cleanable/cobweb,/obj/machinery/light/small{dir = 8; flickering = 1},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFa" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFb" = (/obj/machinery/door/window/eastleft{name = "Vox E.V.A."},/obj/machinery/door/window/westright{name = "Vox E.V.A."},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFc" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFd" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFe" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFg" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFh" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Security E.V.A."; req_access_txt = "1"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFj" = (/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFk" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFl" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aFm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aFn" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aFo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"aFp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aFq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"aFr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/sleep) -"aFs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/sleep) -"aFt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/crew_quarters/sleep) -"aFu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/sleep) -"aFv" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"},/area/crew_quarters/sleep) -"aFw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aFx" = (/obj/machinery/atm{pixel_y = -32},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aFy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/sleep) -"aFz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/newscaster{pixel_y = -28},/obj/machinery/camera{c_tag = "EVA South"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) -"aFA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness) -"aFB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFC" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/stack/medical/ointment{pixel_y = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFD" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/fitness) -"aFG" = (/obj/machinery/camera{c_tag = "Fitness Room South"; dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aFH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aFI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aFJ" = (/obj/machinery/door/airlock/maintenance{name = "Holodeck Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFK" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFL" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFO" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFP" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFQ" = (/obj/structure/table,/obj/item/weapon/weldingtool{pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/auxcharge) -"aFR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/maintenance/auxcharge) -"aFS" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/auxcharge) -"aFT" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFU" = (/obj/structure/closet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFV" = (/obj/machinery/space_heater/air_conditioner,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aFW" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aFX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aFY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aFZ" = (/obj/structure/flora/pottedplant/random,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aGa" = (/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aGb" = (/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aGc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) -"aGd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aGe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aGf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ghettobarshutter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aGg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Captain's Office"; req_access = null; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"aGh" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/supply/sorting) -"aGi" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGj" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/obj/machinery/door/airlock/multi_tile/glass{autoclose = 0; density = 0; frequency = 1449; icon_state = "door_open"; id_tag = "pod_airlock_interior"; locked = 1; name = "Pod Bay Airlock"},/turf/simulated/floor/engine,/area/science/podbay) -"aGk" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/engine,/area/science/podbay) -"aGl" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/effect/decal/warning_stripes{icon_state = "unloading"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/multi_tile/glass{autoclose = 0; density = 0; frequency = 1449; icon_state = "door_open"; id_tag = "pod_airlock_interior"; locked = 1; name = "Pod Bay Airlock"},/turf/simulated/floor/engine,/area/science/podbay) -"aGm" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aGn" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor{icon_state = "dark-markings"},/area/gateway) -"aGo" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/gateway) -"aGp" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/gateway) -"aGq" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aGr" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aGs" = (/obj/structure/closet/emcloset/vox{icon_state = "emergency"},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aGt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aGu" = (/obj/structure/table/reinforced,/obj/item/clothing/head/welding{pixel_x = 2; pixel_y = 4},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aGv" = (/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aGw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aGx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aGy" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aGz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aGA" = (/obj/machinery/suit_storage_unit/security,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aGB" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aGC" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aGD" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/door_control{id_tag = "Dorm2"; name = "Dorm 2 Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aGE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aGF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutralcorner"},/area/crew_quarters/sleep) -"aGG" = (/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aGH" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aGI" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aGJ" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) -"aGK" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/sleep) -"aGL" = (/turf/simulated/wall,/area/crew_quarters/toilet) -"aGM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Vacant Office"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/security/vacantoffice) -"aGN" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) -"aGO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGQ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor,/area/crew_quarters/fitness) -"aGS" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aGU" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aGV" = (/obj/machinery/photocopier,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aGW" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aGX" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aGY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/maintenance/auxcharge) -"aGZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"aHa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/maintenance/auxcharge) -"aHb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry) -"aHc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aHd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aHe" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aHf" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aHg" = (/obj/machinery/camera{c_tag = "Arrivals North"; dir = 1},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aHh" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry) -"aHi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aHj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aHk" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aHl" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) -"aHm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHn" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHo" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHp" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHq" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHr" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHs" = (/obj/structure/table,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aHt" = (/obj/structure/table,/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/obj/machinery/airlock_sensor{id_tag = "pod_int_airlock_sensor"; master_tag = "pod_airlock_control"; pixel_y = 24},/obj/item/pod_parts/core,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aHu" = (/obj/effect/decal/warning_stripes{icon_state = "loadingarea"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aHv" = (/obj/effect/decal/warning_stripes{icon_state = "loadingarea"},/obj/machinery/meter{frequency = 1443; id_tag = null; name = "Distribution Pressure"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aHw" = (/obj/machinery/embedded_controller/radio/advanced_airlock_controller{frequency = 1449; id_tag = "pod_airlock_control"; pixel_x = 0; pixel_y = 24; tag_airpump = "pod_airlock_pump"; tag_chamber_sensor = "pod_chamber_airlock_sensor"; tag_exterior_door = "pod_airlock_exterior"; tag_exterior_sensor = "pod_ext_airlock_sensor"; tag_interior_door = "pod_airlock_interior"; tag_interior_sensor = "pod_int_airlock_sensor"},/obj/machinery/camera{c_tag = "Pod Bay"},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aHx" = (/obj/effect/decal/warning_stripes{icon_state = "loadingarea"; dir = 1},/obj/machinery/meter{frequency = 1443; id_tag = null; name = "Waste Pressure"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aHy" = (/obj/effect/decal/warning_stripes{icon_state = "loadingarea"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aHz" = (/obj/structure/table,/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/item/stack/sheet/plasteel{amount = 10},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aHA" = (/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aHB" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/gateway) -"aHC" = (/obj/machinery/gateway/centerstation,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aHD" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/gateway) -"aHE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/camera/motion{c_tag = "EVA Motion Sensor"; dir = 4; short_range = 2},/obj/item/device/radio/intercom{freerange = 1; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aHG" = (/obj/machinery/camera{c_tag = "EVA South"; dir = 8},/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50; pixel_x = 2; pixel_y = 3},/obj/item/stack/rods{amount = 50},/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHH" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aHI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aHJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aHK" = (/obj/machinery/shower{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aHL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aHM" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aHN" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHO" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHP" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHQ" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/media/transmitter/broadcast,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aHY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aHZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aIa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aIb" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aIc" = (/turf/simulated/wall,/area/security/checkpoint2) -"aId" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aIe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aIf" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aIg" = (/turf/simulated/wall,/area/storage/primary) -"aIh" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aIi" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aIj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aIk" = (/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aIl" = (/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aIm" = (/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aIn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aIo" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aIp" = (/obj/structure/table,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aIq" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor{icon_state = "dark-markings"; dir = 1},/area/gateway) -"aIr" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/gateway) -"aIs" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor{icon_state = "dark-markings"},/area/gateway) -"aIt" = (/obj/machinery/suit_storage_unit/atmos,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aIu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aIv" = (/obj/structure/table/reinforced,/obj/item/device/assembly/signaler,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aIw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aIx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aIy" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aIz" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aIA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aIB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{id_tag = "Dorm6"; name = "Cabin"},/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"aIC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aID" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIE" = (/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIF" = (/obj/structure/urinal{pixel_y = 32},/obj/machinery/camera{c_tag = "EVA East"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIG" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIH" = (/obj/structure/table/woodentable,/obj/item/weapon/cartridge/clown,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aII" = (/obj/machinery/camera{c_tag = "Theatre Storage"},/obj/structure/mirror{pixel_y = 28},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/pie,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aIJ" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aIK" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aIL" = (/turf/simulated/wall,/area/crew_quarters/theatre) -"aIM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aIO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aIP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"aIQ" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIR" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIT" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIU" = (/obj/item/clothing/suit/kaminacape,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIV" = (/obj/structure/rack,/obj/item/weapon/extinguisher{pixel_y = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/fsmaint2) -"aIX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIZ" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJd" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJf" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"},/area/shuttle/arrival/station) -"aJg" = (/turf/simulated/shuttle/wall{icon_state = "swall12"},/area/shuttle/arrival/station) -"aJh" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aJi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aJj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aJk" = (/turf/simulated/shuttle/wall{icon_state = "swall14"},/area/shuttle/arrival/station) -"aJl" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"},/area/shuttle/arrival/station) -"aJm" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aJn" = (/obj/machinery/camera{c_tag = "Arrivals East"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) -"aJo" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2) -"aJp" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aJq" = (/obj/machinery/computer/security,/obj/structure/reagent_dispensers/peppertank{pixel_y = 30},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aJr" = (/obj/machinery/computer/card,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aJs" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aJt" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2) -"aJu" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aJv" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/primary) -"aJw" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor,/area/storage/primary) -"aJx" = (/obj/structure/table,/obj/item/weapon/wirecutters{pixel_y = 4},/turf/simulated/floor,/area/storage/primary) -"aJy" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/storage/primary) -"aJz" = (/obj/structure/table,/obj/item/device/assembly/igniter{pixel_x = -8; pixel_y = -4},/obj/item/device/assembly/igniter,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/machinery/camera{c_tag = "Primary Tool Storage"},/obj/machinery/requests_console{department = "Tool Storage"; pixel_y = 30},/turf/simulated/floor,/area/storage/primary) -"aJA" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/item/device/multitool,/obj/item/device/multitool{pixel_x = 4},/turf/simulated/floor,/area/storage/primary) -"aJB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/light_switch{pixel_y = 28},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/storage/primary) -"aJC" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor,/area/storage/primary) -"aJD" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/space_heater/air_conditioner,/turf/simulated/floor,/area/storage/primary) -"aJE" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/storage/primary) -"aJF" = (/obj/structure/table,/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aJG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aJH" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aJI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aJJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aJK" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aJL" = (/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aJM" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aJN" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aJO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "62"},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aJP" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aJQ" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aJR" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics E.V.A."; req_access_txt = "24"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJT" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aJU" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJV" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aJW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_engineering{name = "Engineering E.V.A."; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJX" = (/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aJY" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/door_control{id_tag = "Dorm1"; name = "Dorm 1 Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) -"aJZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aKa" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKd" = (/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKf" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKg" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKh" = (/obj/machinery/requests_console{department = "Theatre"; name = "theatre RC"; pixel_x = -32},/obj/structure/table/woodentable,/obj/item/device/megaphone,/obj/item/device/soundsynth,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aKi" = (/obj/structure/stool/bed/chair/wood/wings{dir = 1},/obj/effect/landmark/start{name = "Clown"},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aKj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aKk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aKl" = (/obj/machinery/door/airlock/maintenance{name = "Theatre Maintenance"; req_access_txt = "46"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/theatre) -"aKm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKn" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKo" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKv" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKw" = (/turf/simulated/shuttle/wall{icon_state = "swall11"},/area/shuttle/arrival/station) -"aKx" = (/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKy" = (/obj/machinery/computer/arcade,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKz" = (/obj/structure/closet/wardrobe/black,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKA" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/under/vox/vox_casual,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKB" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKC" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKD" = (/turf/simulated/shuttle/wall{icon_state = "swall7"},/area/shuttle/arrival/station) -"aKE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/space,/area/shuttle/arrival/station) -"aKF" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) -"aKG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/checkpoint2) -"aKH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/security/checkpoint2) -"aKI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor,/area/security/checkpoint2) -"aKJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor,/area/security/checkpoint2) -"aKK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2) -"aKL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "1"},/turf/simulated/floor/plating,/area/security/checkpoint2) -"aKM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aKS" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/primary) -"aKT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/storage/primary) -"aKU" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/storage/primary) -"aKV" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/storage/primary) -"aKW" = (/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) -"aKX" = (/obj/structure/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) -"aKY" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary) -"aKZ" = (/turf/simulated/floor,/area/storage/primary) -"aLa" = (/obj/structure/window/reinforced,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aLb" = (/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aLc" = (/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{tag = "icon-dark vault corner (NORTH)"; icon_state = "dark vault corner"; dir = 1},/area/science/podbay) -"aLd" = (/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{tag = "icon-dark vault corner (EAST)"; icon_state = "dark vault corner"; dir = 4},/area/science/podbay) -"aLe" = (/obj/machinery/door/window{dir = 2; name = "Maintenance Chamber"; req_access_txt = "0"},/obj/effect/decal/warning_stripes{icon_state = "old"},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aLf" = (/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes{icon_state = "old"; dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aLg" = (/obj/structure/window/reinforced,/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/science/podbay) -"aLh" = (/obj/machinery/camera{c_tag = "Gateway"; dir = 4},/obj/structure/table,/obj/structure/sign/biohazard{pixel_x = -32},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/gateway) -"aLi" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/gateway) -"aLj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/gateway) -"aLk" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway) -"aLl" = (/obj/structure/table,/obj/structure/sign/biohazard{pixel_x = 32},/obj/machinery/recharger,/turf/simulated/floor,/area/gateway) -"aLm" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/requests_console{department = "EVA"; pixel_x = -32},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aLn" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aLo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aLp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aLq" = (/obj/machinery/suit_storage_unit/engie,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aLr" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aLs" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aLt" = (/obj/machinery/camera{c_tag = "Dormitories South"; dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aLu" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aLv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Cyborg Station"},/turf/simulated/floor/plating,/area/crew_quarters/sleep) -"aLw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLx" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLy" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/structure/table/woodentable,/obj/machinery/light{dir = 8},/obj/item/weapon/wrapping_paper,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aLz" = (/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aLA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aLB" = (/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aLC" = (/obj/structure/closet,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLD" = (/obj/structure/plasticflaps,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLG" = (/turf/simulated/wall,/area/library) -"aLH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/library) -"aLI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLJ" = (/turf/simulated/wall,/area/chapel/office) -"aLK" = (/turf/simulated/wall,/area/chapel/main) -"aLL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aLM" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aLN" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/obj/machinery/mass_driver{dir = 4; id_tag = "chapelgun"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/chapel/main) -"aLO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/chapel/main) -"aLP" = (/obj/machinery/door/poddoor{id_tag = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area/chapel/main) -"aLQ" = (/turf/space,/area/shuttle/escape/station) -"aLR" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"},/area/shuttle/arrival/station) -"aLS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aLT" = (/turf/simulated/shuttle/wall{icon_state = "swall3"},/area/shuttle/arrival/station) -"aLU" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aLV" = (/obj/structure/shuttle/engine/heater{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/shuttle/arrival/station) -"aLW" = (/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/space,/area/shuttle/arrival/station) -"aLX" = (/obj/machinery/camera{c_tag = "Security Checkpoint"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) -"aLY" = (/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aLZ" = (/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aMa" = (/obj/item/weapon/paper,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aMb" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aMc" = (/obj/item/weapon/crowbar,/obj/item/device/flash,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aMd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aMe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aMf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aMg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aMh" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 2; pixel_y = -2},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/primary) -"aMi" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/storage/primary) -"aMj" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/storage/primary) -"aMk" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/storage/primary) -"aMl" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/storage/primary) -"aMm" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/storage/primary) -"aMn" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/storage/primary) -"aMo" = (/obj/structure/table,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMp" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMq" = (/obj/structure/table,/obj/item/weapon/circuitboard/mecha/pod,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMr" = (/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMs" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMt" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aMu" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aMv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/gateway) -"aMw" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/gateway) -"aMx" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/gateway) -"aMy" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor,/area/gateway) -"aMz" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/gateway) -"aMA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/gateway) -"aMB" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aMC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aMD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aME" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aMF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aMG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aMH" = (/obj/item/device/radio/intercom{freerange = 1; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aMI" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aMJ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aMK" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aML" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aMM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aMN" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aMO" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aMP" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/door_control{id_tag = "Unit1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aMQ" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/obj/machinery/door_control{id_tag = "Unit2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aMR" = (/obj/item/clothing/head/ushanka,/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aMS" = (/obj/structure/mirror{pixel_x = -28},/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/obj/item/clothing/mask/pig,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aMT" = (/obj/structure/stool/bed/chair/wood/wings{dir = 8},/obj/effect/landmark/start{name = "Mime"},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aMU" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aMV" = (/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aMW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMX" = (/obj/structure/disposalpipe/junction{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction{dir = 4; sortType = 19},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNa" = (/obj/structure/disposalpipe/sortjunction{dir = 4; sortType = 20},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNc" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNe" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNh" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNi" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "37"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/library) -"aNj" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/library) -"aNk" = (/obj/machinery/status_display{pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library) -"aNl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library) -"aNm" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/chapel/office) -"aNn" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/chaplain,/obj/item/clothing/under/vox/vox_robes,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNo" = (/obj/machinery/light/small{dir = 1},/obj/machinery/requests_console{department = "Chapel"; departmentType = 2; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNp" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Chapel Office"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNq" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNr" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aNs" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aNt" = (/obj/machinery/driver_button{id_tag = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aNu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/chapel/main) -"aNv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/chapel/main) -"aNw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/chapel/main) -"aNx" = (/obj/effect/landmark{name = "Marauder Entry"},/turf/space,/area) -"aNy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aNz" = (/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aNA" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/entry) -"aNB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Bar Storage"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/ghettobar) -"aNC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/checkpoint2) -"aND" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aNE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/checkpoint2) -"aNF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aNG" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aNH" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor,/area/storage/primary) -"aNI" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/storage/primary) -"aNJ" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/storage/primary) -"aNK" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/storage/primary) -"aNL" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/stool{pixel_y = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/storage/primary) -"aNM" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary) -"aNN" = (/obj/structure/table,/obj/item/weapon/weldingtool,/obj/item/weapon/crowbar,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor,/area/storage/primary) -"aNO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aNP" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aNQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aNR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aNS" = (/obj/machinery/light_switch{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aNT" = (/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/gateway) -"aNU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/gateway) -"aNV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/gateway) -"aNW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/gateway) -"aNX" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor,/area/gateway) -"aNY" = (/obj/structure/dispenser/oxygen,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aNZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A. Storage"; req_access_txt = "0"; req_one_access_txt = "11;24;5;1"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aOe" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/primary/central) -"aOf" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central) -"aOg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) -"aOh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aOi" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aOj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aOk" = (/obj/machinery/door/airlock{id_tag = "Unit1"; name = "Unit 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aOl" = (/obj/machinery/door/airlock{id_tag = "Unit2"; name = "Unit 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aOm" = (/obj/machinery/door/airlock{name = "Unit 3"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aOn" = (/obj/structure/table/woodentable,/obj/item/weapon/cartridge/mime,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aOo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aOp" = (/obj/structure/rack,/obj/item/device/violin,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aOq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOr" = (/turf/simulated/wall,/area/crew_quarters/bar) -"aOs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Bar Storage Maintenance"; req_access_txt = "25"},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aOt" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Bar"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/bar) -"aOu" = (/turf/simulated/wall,/area/crew_quarters/kitchen) -"aOv" = (/obj/structure/plasticflaps,/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen) -"aOw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "28"},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"aOx" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction{dir = 4; sortType = 21},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 17},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOF" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) -"aOG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/library) -"aOH" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/camera{c_tag = "Library North"},/turf/simulated/floor/wood,/area/library) -"aOI" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/library) -"aOJ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library) -"aOK" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) -"aOL" = (/obj/structure/crematorium,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aOM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aON" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOO" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOP" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOR" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aOS" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aOT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aOU" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aOV" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aOW" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"aOX" = (/obj/structure/table/woodentable,/obj/item/candle,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aOY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/chapel/main) -"aOZ" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"},/area/shuttle/arrival/station) -"aPa" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aPb" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/entry) -"aPc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/secondary/entry) -"aPd" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry) -"aPe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry) -"aPf" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/hallway/secondary/entry) -"aPg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/entry) -"aPh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Arrivals Lounge"},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry) -"aPi" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aPj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry) -"aPk" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aPl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aPm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aPn" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/turf/simulated/floor,/area/storage/primary) -"aPo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary) -"aPp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/storage/primary) -"aPq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary) -"aPr" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/fyellow,/turf/simulated/floor,/area/storage/primary) -"aPs" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/storage/primary) -"aPt" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary) -"aPu" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary) -"aPv" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/storage/primary) -"aPw" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor,/area/storage/primary) -"aPx" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPy" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPz" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPE" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark vault full"},/area/science/podbay) -"aPF" = (/obj/structure/closet/secure_closet/exile,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/gateway) -"aPG" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor,/area/gateway) -"aPH" = (/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/gateway) -"aPI" = (/obj/machinery/light{dir = 4},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/gateway) -"aPJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aPK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aPL" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "dark-markings"; dir = 8},/area/ai_monitored/storage/eva) -"aPM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aPN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light,/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aPO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aPP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/camera{c_tag = "EVA South"; dir = 1},/obj/machinery/light,/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aPQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aPR" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aPS" = (/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central) -"aPT" = (/obj/machinery/camera{c_tag = "Central Hallway North"},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) -"aPU" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central) -"aPV" = (/turf/simulated/floor,/area/hallway/primary/central) -"aPW" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central) -"aPX" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) -"aPY" = (/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central) -"aPZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/primary/central) -"aQa" = (/obj/machinery/vending/groans,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) -"aQb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central) -"aQc" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central) -"aQd" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aQe" = (/obj/machinery/media/receiver/boombox/wallmount/muzak{pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aQf" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aQg" = (/obj/machinery/door/airlock{name = "Theatre Backstage"; req_access_txt = "46"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/theatre) -"aQh" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aQi" = (/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = -22},/obj/item/clothing/suit/storage/bandolier,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aQj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aQk" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aQl" = (/obj/structure/sign/poster,/turf/simulated/wall,/area/crew_quarters/bar) -"aQm" = (/obj/machinery/door/window/southleft{name = "Bar Delivery"; req_access_txt = "25"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar) -"aQn" = (/obj/machinery/door/window/southleft{name = "Kitchen Delivery"; req_access_txt = "28"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) -"aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQp" = (/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQq" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/snackbar/nutriment,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQr" = (/obj/structure/table,/obj/item/device/radio/headset/headset_service,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQs" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"aQt" = (/turf/simulated/wall,/area/hydroponics) -"aQu" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/hydroponics) -"aQv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aQw" = (/turf/simulated/floor/wood,/area/library) -"aQx" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/library) -"aQy" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library) -"aQz" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/library) -"aQA" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library) -"aQB" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/wood,/area/library) -"aQC" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aQD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aQE" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aQF" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aQG" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aQH" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aQI" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aQJ" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aQK" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aQL" = (/obj/machinery/camera{c_tag = "Chapel East"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aQM" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aQN" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aQO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/chapel/main) -"aQP" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"},/area/shuttle/arrival/station) -"aQQ" = (/turf/simulated/shuttle/wall{icon_state = "swall13"},/area/shuttle/arrival/station) -"aQR" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aQS" = (/obj/machinery/requests_console{department = "Arrival shuttle"; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aQT" = (/obj/machinery/media/receiver/boombox/wallmount/muzak{pixel_y = -24},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aQU" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/space,/area/shuttle/arrival/station) -"aQV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aQW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aQX" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutralcorner"},/area/hallway/secondary/entry) -"aQY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/hallway/secondary/entry) -"aQZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor{icon_state = "neutral"},/area/hallway/secondary/entry) -"aRa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "neutral"},/area/hallway/secondary/entry) -"aRb" = (/turf/simulated/floor{icon_state = "neutral"},/area/hallway/secondary/entry) -"aRc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/hallway/secondary/entry) -"aRd" = (/obj/structure/sign/double/map/left,/turf/simulated/wall,/area/maintenance/fpmaint2) -"aRe" = (/obj/structure/sign/double/map/right,/turf/simulated/wall,/area/maintenance/fpmaint2) -"aRf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/storage/primary) -"aRg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/turf/simulated/floor,/area/storage/primary) -"aRh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/storage/primary) -"aRi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/primary) -"aRj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/primary) -"aRk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary) -"aRl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/storage/primary) -"aRm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/science/podbay) -"aRn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/science/podbay) -"aRo" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/science/podbay) -"aRp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock{id_tag = "Dorm3"; name = "Dorm 3"},/turf/simulated/floor/carpet{icon_state = "carpet8-0"},/area/crew_quarters/sleep) -"aRq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/central) -"aRr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{autoclose = 0; density = 0; frequency = 1449; icon_state = "door_open"; id_tag = "pod_airlock_interior"; locked = 1; name = "Pod Bay Maintenance Access"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/science/podbay) -"aRs" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aRt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Gateway Access"; req_access_txt = "62"},/turf/simulated/floor,/area/gateway) -"aRu" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/gateway) -"aRv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aRw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aRx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aRy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "11;24;5;1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aRz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "11;24;5;1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aRA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aRB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aRC" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central) -"aRD" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aRE" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aRF" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central) -"aRG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central) -"aRH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central) -"aRI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central) -"aRJ" = (/obj/machinery/vending/discount,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) -"aRK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central) -"aRL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock{id_tag = "Dorm4"; name = "Dorm 4"},/turf/simulated/floor/carpet{icon_state = "carpet8-0"},/area/crew_quarters/sleep) -"aRM" = (/obj/structure/device/piano{icon_state = "piano"; name = "space piano"},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aRN" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aRO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aRP" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Bar Stage"},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aRQ" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aRR" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aRS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aRT" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aRU" = (/obj/machinery/reagentgrinder,/obj/structure/table/woodentable,/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = -28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRX" = (/obj/machinery/camera{c_tag = "Bar Storage"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRY" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aRZ" = (/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSc" = (/obj/machinery/chem_master/condimaster,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSd" = (/obj/machinery/door/window/eastright{name = "Hydroponics Delivery"; req_access_txt = "35"},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics) -"aSe" = (/obj/structure/sink{pixel_y = 30},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/closet/secure_closet/hydroponics,/obj/item/device/radio/headset/headset_service,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSh" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/headset/headset_service,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/closet/secure_closet/hydroponics,/obj/item/device/radio/headset/headset_service,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSj" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSk" = (/obj/machinery/power/apc{dir = 1; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSl" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/item/device/eftpos{eftpos_name = "Botany EFTPOS scanner"},/obj/item/weapon/book/manual/hydroponics_beekeeping,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSm" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor/wood,/area/library) -"aSn" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) -"aSo" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/library) -"aSp" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aSq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aSr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aSs" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSt" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSw" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aSx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/coffin,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aSy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"},/area/shuttle/arrival/station) -"aSz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aSA" = (/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aSB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aSC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aSD" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry) -"aSE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/secondary/entry) -"aSF" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry) -"aSG" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port) -"aSH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/primary/port) -"aSI" = (/turf/simulated/floor,/area/hallway/primary/port) -"aSJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/port) -"aSK" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/port) -"aSL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/port) -"aSM" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/hallway/primary/port) -"aSN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aSO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/port) -"aSP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/port) -"aSQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aSR" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aSS" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aST" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aSU" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aSV" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aSW" = (/obj/machinery/camera{c_tag = "Port Hallway 2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aSX" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aSY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aSZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aTa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aTb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aTc" = (/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/port) -"aTd" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/port) -"aTe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/port) -"aTf" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/port) -"aTg" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/port) -"aTh" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/primary/central) -"aTi" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/turf/simulated/floor,/area/hallway/primary/central) -"aTj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor,/area/hallway/primary/central) -"aTk" = (/obj/machinery/camera{c_tag = "Central Hallway North-West"},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aTl" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aTm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aTn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central) -"aTo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) -"aTp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) -"aTq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central) -"aTr" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central) -"aTs" = (/obj/machinery/status_display{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L1"},/area/hallway/primary/central) -"aTt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L3"},/area/hallway/primary/central) -"aTu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L5"},/area/hallway/primary/central) -"aTv" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "L7"},/area/hallway/primary/central) -"aTw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L9"},/area/hallway/primary/central) -"aTx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "L11"},/area/hallway/primary/central) -"aTy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L13"},/area/hallway/primary/central) -"aTz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L15"},/area/hallway/primary/central) -"aTA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aTB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central) -"aTC" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central) -"aTD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central) -"aTE" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central) -"aTF" = (/obj/machinery/status_display{pixel_y = 32},/obj/machinery/camera{c_tag = "Central Hallway North-East"},/turf/simulated/floor,/area/hallway/primary/central) -"aTG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aTH" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aTI" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central) -"aTJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aTK" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aTL" = (/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aTM" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTN" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTP" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTQ" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aTR" = (/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aTS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aTT" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aTU" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTW" = (/obj/machinery/snackbar_machine,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTX" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aTY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aTZ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUe" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aUg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/wood,/area/library) -"aUh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/wood,/area/library) -"aUi" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/library) -"aUj" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/wood,/area/library) -"aUk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) -"aUl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/library) -"aUm" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aUn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aUo" = (/obj/machinery/power/apc{dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aUp" = (/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aUq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aUr" = (/obj/machinery/camera{c_tag = "Chapel North"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aUs" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aUt" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aUu" = (/obj/structure/stool/bed/chair,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/hallway/secondary/exit) -"aUv" = (/obj/structure/stool/bed/chair,/obj/machinery/camera{c_tag = "Escape Holding Cells"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/hallway/secondary/exit) -"aUw" = (/obj/structure/stool/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/hallway/secondary/exit) -"aUx" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/hallway/secondary/exit) -"aUy" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/exit) -"aUz" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/exit) -"aUA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aUB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aUC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aUD" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/entry) -"aUE" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aUF" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/simulated/floor/carpet,/area/hallway/secondary/entry) -"aUG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/hallway/secondary/entry) -"aUH" = (/turf/simulated/floor/carpet,/area/hallway/secondary/entry) -"aUI" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aUJ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry) -"aUK" = (/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; temperature = 80},/area/hallway/secondary/entry) -"aUL" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor,/area/hallway/secondary/entry) -"aUM" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHW"; location = "Lockers"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/hallway/primary/port) -"aUN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/port) -"aUO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/port) -"aUP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/port) -"aUQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/hallway/primary/port) -"aUR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aUS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aUT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aUU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aUV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port) -"aUW" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor,/area/hallway/primary/port) -"aUX" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor,/area/hallway/primary/port) -"aUY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aUZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aVa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aVb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aVc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aVd" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aVe" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aVf" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aVg" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aVh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aVi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central) -"aVj" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor,/area/hallway/primary/central) -"aVk" = (/turf/simulated/floor{icon_state = "L2"},/area/hallway/primary/central) -"aVl" = (/turf/simulated/floor{icon_state = "L4"},/area/hallway/primary/central) -"aVm" = (/turf/simulated/floor{icon_state = "L6"},/area/hallway/primary/central) -"aVn" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Lockers"; location = "EVA"},/turf/simulated/floor{icon_state = "L8"},/area/hallway/primary/central) -"aVo" = (/turf/simulated/floor{icon_state = "L10"},/area/hallway/primary/central) -"aVp" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Security"; location = "EVA2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "L12"},/area/hallway/primary/central) -"aVq" = (/turf/simulated/floor{icon_state = "L14"},/area/hallway/primary/central) -"aVr" = (/turf/simulated/floor{icon_state = "L16"},/area/hallway/primary/central) -"aVs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/hallway/primary/central) -"aVt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central) -"aVu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central) -"aVv" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/central) -"aVw" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVx" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aVy" = (/obj/structure/stool/bed/chair/vehicle/clowncart,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aVz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVB" = (/obj/machinery/door/window{name = "Theatre Stage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aVC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVD" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVE" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVF" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVH" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVI" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVJ" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/closet/gmcloset{name = "formal wardrobe"},/obj/item/device/eftpos{eftpos_name = "Bar EFTPOS scanner"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aVK" = (/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aVL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aVM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aVN" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aVO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics) -"aVP" = (/obj/structure/disposalpipe/segment,/obj/structure/sink,/turf/simulated/wall,/area/hydroponics) -"aVQ" = (/obj/machinery/bookbinder,/turf/simulated/floor/wood,/area/library) -"aVR" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/library) -"aVS" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) -"aVT" = (/obj/machinery/door/airlock/glass{name = "Chapel Office"; req_access_txt = "22"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aVU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVW" = (/obj/machinery/door/morgue{name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVX" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVY" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/hallway/secondary/exit) -"aVZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/secondary/exit) -"aWa" = (/turf/simulated/floor,/area/hallway/secondary/exit) -"aWb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_CO2 = 0},/turf/simulated/floor,/area/hallway/secondary/exit) -"aWc" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"aWd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aWe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aWf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aWg" = (/obj/machinery/vending/discount,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) -"aWh" = (/obj/item/device/radio/beacon,/obj/machinery/camera{c_tag = "Arrivals South"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aWi" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aWj" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry) -"aWk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aWl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aWm" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/item/weapon/lighter{pixel_x = 4; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry) -"aWn" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/hallway/secondary/entry) -"aWo" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry) -"aWp" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/secondary/entry) -"aWq" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aWr" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWs" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aWt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWv" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWw" = (/obj/machinery/camera{c_tag = "Port Hallway 3"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWy" = (/obj/structure/disposalpipe/junction{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWB" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/turf/simulated/floor,/area/hallway/primary/port) -"aWD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aWE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/port) -"aWF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/port) -"aWG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Port Hallway"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aWI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aWJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aWM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port) -"aWO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"aWP" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWQ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aWR" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aWS" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor,/area/hallway/primary/central) -"aWT" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=QM"; location = "CHW"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central) -"aWU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"aWV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aWW" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aWX" = (/obj/machinery/light,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aWY" = (/obj/machinery/door/firedoor/border_only{name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aWZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aXa" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) -"aXb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/central) -"aXc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central) -"aXd" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aXe" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aXf" = (/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aXg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor{icon_state = "cult"},/area/crew_quarters/bar) -"aXh" = (/obj/effect/landmark{name = "meteorbombkitextra"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aXi" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aXj" = (/obj/machinery/door/airlock{name = "Bar Storage"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"aXk" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aXl" = (/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aXm" = (/obj/machinery/light_switch{pixel_y = 27},/obj/machinery/light{dir = 8},/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXo" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXp" = (/obj/machinery/camera{c_tag = "Hydroponics North"},/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXq" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXr" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/obj/machinery/requests_console{department = "Hydroponics"; departmentType = 2; pixel_y = 30},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXs" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXt" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aXu" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) -"aXv" = (/turf/simulated/floor/carpet,/area/library) -"aXw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/library) -"aXx" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/turf/simulated/floor/wood,/area/library) -"aXy" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) -"aXz" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{desc = "With this you can hear the truth"; dir = 8; freerange = 1; name = "Ace Reporter Intercom"; pixel_y = 23; wires = 2},/obj/item/weapon/paper/djstation{info = "Welcome new owner!

    You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies.Now to listen to the private channels, you'll have to configure the intercoms.
    Here is a list of frequencies for you to listen on.