diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index a8f9178a83..afff722d41 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -4601,6 +4601,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"ly" = ( +/obj/machinery/computer/shuttle/slaver/recall, +/turf/open/floor/plasteel/dark, +/area/slavers) "lz" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, @@ -6827,6 +6831,13 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"pF" = ( +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 + }, +/area/space) "pG" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/tile/green{ @@ -7997,6 +8008,26 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/holding) +"sm" = ( +/turf/closed/indestructible/riveted, +/area/slavers) +"so" = ( +/obj/item/storage/box/handcuffs{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/handcuffs, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/slavers) +"sp" = ( +/obj/structure/table, +/obj/item/paper{ + info = "Kidnap crew, attach a slave collar around their neck, set a price with the computer, wait for the station to pay the ransom, put slave in the green area and 'export' them with the computer"; + name = "dummies guide to the slave trade" + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "sq" = ( /obj/machinery/computer/shuttle/white_ship{ dir = 4 @@ -8429,6 +8460,12 @@ /obj/item/tank/internals/plasmaman/belt/full, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"tb" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "tc" = ( /obj/machinery/door/airlock/wood/glass{ name = "Dorms" @@ -8455,6 +8492,13 @@ /obj/item/soap/syndie, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) +"ti" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/slavers) +"tk" = ( +/turf/open/floor/plasteel/dark, +/area/slavers) "tl" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, @@ -8465,6 +8509,15 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) +"tn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear/white{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "to" = ( /obj/machinery/computer/shuttle/ferry{ dir = 4 @@ -8809,6 +8862,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plasteel, /area/centcom/supplypod) +"tZ" = ( +/obj/structure/rack, +/obj/item/electropack/shockcollar/slave{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/electropack/shockcollar/slave{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "uc" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -8846,6 +8911,18 @@ /obj/structure/dresser, /turf/open/floor/carpet/royalblue, /area/centcom/holding) +"ui" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "uj" = ( /obj/item/clipboard, /obj/item/folder/red, @@ -9432,6 +9509,13 @@ }, /turf/open/floor/carpet/red, /area/centcom/holding) +"vs" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/turf/open/floor/wood, +/area/slavers) "vt" = ( /obj/structure/rack, /obj/item/nullrod/claymore/katana{ @@ -9855,6 +9939,18 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) +"wn" = ( +/obj/structure/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) +"wo" = ( +/obj/structure/sink{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/freezer, +/area/slavers) "wp" = ( /turf/open/floor/plasteel/dark, /area/syndicate_mothership) @@ -10101,6 +10197,13 @@ /obj/item/toy/cards/deck, /turf/open/floor/carpet, /area/wizard_station) +"wS" = ( +/obj/structure/table/wood, +/obj/item/pizzabox{ + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/slavers) "wU" = ( /obj/machinery/door/airlock/wood{ id_tag = "Ninja7"; @@ -10108,6 +10211,10 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"wV" = ( +/obj/machinery/computer/robotics, +/turf/open/indestructible/hotelwood, +/area/slavers) "wX" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -10380,6 +10487,9 @@ /obj/item/storage/bag/trash, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"xM" = ( +/turf/open/floor/circuit/green, +/area/slavers/export) "xQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/light, @@ -10511,6 +10621,12 @@ /obj/structure/chair, /turf/open/floor/mineral/titanium, /area/centcom/evac) +"yh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "yj" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -11258,6 +11374,14 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"zZ" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/sunglasses/blindfold{ + pixel_y = 4 + }, +/obj/item/clothing/mask/muzzle, +/turf/open/floor/plasteel/dark, +/area/slavers) "Aa" = ( /turf/open/floor/mech_bay_recharge_floor, /area/syndicate_mothership) @@ -11507,6 +11631,16 @@ /obj/structure/ladder/unbreakable/binary/space, /turf/open/indestructible/airblock, /area/fabric_of_reality) +"AI" = ( +/obj/structure/noticeboard{ + pixel_x = -32 + }, +/obj/item/paper{ + info = "Kidnap crew, attach a slave collar around their neck, set a price with the computer, wait for the station to pay the ransom, put slave in the green area and 'export' them with the computer"; + name = "dummies guide to the slave trade" + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "AJ" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; @@ -11717,6 +11851,9 @@ /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /turf/open/floor/grass, /area/wizard_station) +"Bj" = ( +/turf/open/floor/carpet, +/area/slavers/export) "Bl" = ( /obj/machinery/mech_bay_recharge_port, /turf/open/floor/plating, @@ -11730,6 +11867,13 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Bt" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja6"; + name = "Dorm 6" + }, +/turf/open/indestructible/hotelwood, +/area/slavers) "Bu" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -12186,6 +12330,13 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) +"Co" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Cp" = ( /obj/structure/statue/uranium/nuke, /turf/open/floor/plating/asteroid/snow/airless, @@ -12822,6 +12973,10 @@ "Di" = ( /turf/closed/indestructible/riveted, /area/ai_multicam_room) +"Dj" = ( +/obj/machinery/vending/cola/sodie, +/turf/open/floor/plasteel/dark, +/area/slavers) "Dk" = ( /obj/structure/table, /turf/open/floor/plasteel/cafeteria, @@ -14387,6 +14542,10 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"GN" = ( +/obj/effect/landmark/start/slaver_leader, +/turf/open/floor/wood, +/area/slavers) "GO" = ( /obj/structure/table/wood, /obj/structure/sign/plaques/golden{ @@ -14515,6 +14674,10 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"GZ" = ( +/obj/machinery/computer/communications, +/turf/closed/indestructible/riveted, +/area/slavers) "Ha" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -14591,6 +14754,12 @@ }, /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) +"Hi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/circuit/green, +/area/slavers/export) "Hj" = ( /obj/structure/bedsheetbin, /turf/open/indestructible/hotelwood, @@ -15219,6 +15388,10 @@ "Il" = ( /turf/closed/indestructible/fakeglass, /area/tdome/tdomeobserve) +"Im" = ( +/obj/structure/bed/matress, +/turf/open/floor/plasteel/dark, +/area/slavers) "Io" = ( /obj/item/storage/box/matches{ pixel_x = -3; @@ -15446,6 +15619,10 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"IO" = ( +/obj/item/electropack/shockcollar/slave, +/turf/open/indestructible/hotelwood, +/area/slavers) "IP" = ( /obj/structure/rack, /obj/item/clothing/under/color/green, @@ -15955,6 +16132,12 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeadmin) +"JY" = ( +/obj/machinery/door/airlock/centcom{ + req_access_txt = "152" + }, +/turf/open/indestructible/hotelwood, +/area/slavers) "JZ" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -16038,6 +16221,16 @@ }, /turf/open/space/basic, /area/space) +"Kl" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) +"Km" = ( +/turf/open/floor/plasteel/freezer, +/area/slavers) "Kn" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral{ @@ -16291,6 +16484,28 @@ /obj/machinery/status_display/ai, /turf/closed/indestructible/riveted, /area/tdome/tdomeadmin) +"KE" = ( +/obj/structure/rack, +/obj/item/electropack/shockcollar/slave{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/electropack/shockcollar/slave{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) +"KF" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "KG" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -16444,6 +16659,10 @@ /obj/item/clothing/mask/luchador/rudos, /turf/open/floor/holofloor/wood, /area/holodeck/rec_center/wrestlingarena) +"Lf" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/wood, +/area/slavers) "Lh" = ( /obj/machinery/sleeper{ dir = 8 @@ -16462,6 +16681,11 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/holding) +"Ll" = ( +/obj/structure/table, +/obj/item/reagent_containers/rag/towel/syndicate, +/turf/open/floor/plasteel/freezer, +/area/slavers) "Lm" = ( /obj/structure/table, /obj/item/clothing/mask/luchador/tecnicos, @@ -16494,6 +16718,13 @@ "Lt" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/centcom/evac) +"Lu" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/turf/open/floor/wood, +/area/slavers) "Lv" = ( /obj/structure/bed, /turf/open/floor/mineral/titanium/blue, @@ -16762,6 +16993,11 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) +"Ml" = ( +/obj/structure/closet, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/slavers) "Mm" = ( /turf/open/floor/grass, /area/centcom/holding) @@ -16771,6 +17007,10 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Mo" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/slavers) "Mq" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/tile/green{ @@ -16785,6 +17025,11 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Mr" = ( +/turf/closed/indestructible/fakedoor{ + name = "Cold Storage" + }, +/area/slavers) "Mt" = ( /obj/structure/window/reinforced{ dir = 4 @@ -16795,9 +17040,13 @@ /turf/open/indestructible/boss/air, /area/centcom/holding) "Mu" = ( -/obj/machinery/computer/robotics, -/turf/open/indestructible/hotelwood, -/area/syndicate_mothership) +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Mv" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -16922,6 +17171,12 @@ /obj/item/reagent_containers/food/condiment/enzyme, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) +"MT" = ( +/obj/structure/sign/map/right{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/slavers) "MU" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -17021,6 +17276,10 @@ "Nl" = ( /turf/open/floor/carpet/royalblue, /area/centcom/holding) +"Nm" = ( +/obj/machinery/computer/communications, +/turf/open/indestructible/hotelwood, +/area/slavers) "Nn" = ( /obj/machinery/vending/hydronutrients, /obj/effect/turf_decal/tile/green{ @@ -17035,6 +17294,10 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"No" = ( +/mob/living/carbon/human, +/turf/open/indestructible/hotelwood, +/area/slavers) "Np" = ( /obj/machinery/door/airlock/wood{ id_tag = "Ninja7"; @@ -17071,6 +17334,15 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) +"NA" = ( +/obj/machinery/door/window{ + base_state = "right"; + dir = 1; + icon_state = "right"; + layer = 3 + }, +/turf/open/floor/wood, +/area/slavers) "NB" = ( /obj/structure/table, /obj/item/storage/belt/champion/wrestling/holodeck, @@ -17091,6 +17363,13 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"NJ" = ( +/obj/machinery/door/airlock/centcom{ + name = "Kitchen"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel, +/area/slavers) "NP" = ( /obj/machinery/button/crematorium{ id = "crematoriumGhostDojo"; @@ -17125,6 +17404,11 @@ /obj/machinery/vending/cola/sodie, /turf/open/floor/plasteel, /area/syndicate_mothership) +"NW" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/slavers) "NX" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -17185,6 +17469,13 @@ "Ok" = ( /turf/open/indestructible/boss/air, /area/centcom/holding) +"Ol" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/item/soap/syndie, +/turf/open/floor/plasteel/freezer, +/area/slavers) "Om" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -17245,6 +17536,10 @@ }, /turf/open/floor/wood, /area/centcom/holding) +"Ox" = ( +/obj/machinery/door/airlock/centcom, +/turf/open/floor/plasteel/dark, +/area/slavers) "Oy" = ( /obj/machinery/shower{ dir = 1 @@ -17286,6 +17581,13 @@ /obj/structure/bedsheetbin/towel, /turf/open/floor/plasteel/white, /area/centcom/holding) +"OJ" = ( +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 + }, +/area/slavers) "OL" = ( /obj/structure/mineral_door/paperframe{ name = "Dojo" @@ -17314,8 +17616,11 @@ /turf/open/floor/mineral/titanium/blue, /area/centcom/holding) "OQ" = ( -/turf/open/indestructible/hotelwood, -/area/syndicate_mothership) +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/red, +/turf/open/floor/wood, +/area/slavers) "OS" = ( /obj/structure/mecha_wreckage/mauler, /turf/open/floor/plasteel/dark, @@ -17335,28 +17640,38 @@ /turf/open/floor/wood, /area/syndicate_mothership) "OY" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, -/area/syndicate_mothership) +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/slavers) "OZ" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/syndicate_mothership) +"Pa" = ( +/obj/structure/table, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Pc" = ( -/turf/closed/indestructible{ - icon = 'icons/turf/walls/wood_wall.dmi'; - icon_state = "wood"; - smooth = 1 +/obj/structure/table/wood, +/obj/item/toy/figure/syndie, +/turf/open/floor/wood, +/area/slavers) +"Pe" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja6"; + name = "Dorm 6" }, -/area/syndicate_mothership) +/turf/open/indestructible/hotelwood, +/area/space) "Pg" = ( /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) +"Pi" = ( +/turf/closed/indestructible/fakeglass, +/area/slavers) "Pl" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -17364,6 +17679,12 @@ }, /turf/open/indestructible/boss/air, /area/centcom/holding) +"Pm" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/slavers/export) "Pn" = ( /turf/closed/indestructible/fakedoor{ name = "Equipment Storage" @@ -17392,6 +17713,14 @@ /obj/machinery/light, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) +"Pu" = ( +/obj/structure/rack, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/fifty{ + amount = 20 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Pv" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -17412,6 +17741,11 @@ }, /turf/open/floor/plasteel/freezer, /area/centcom/holding) +"Py" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/freezer, +/area/slavers) "Pz" = ( /turf/open/floor/plasteel/freezer, /area/centcom/holding) @@ -17564,6 +17898,10 @@ "Qe" = ( /turf/open/ai_visible, /area/ai_multicam_room) +"Qg" = ( +/obj/machinery/vending/cigarette/syndicate, +/turf/open/floor/plasteel/dark, +/area/slavers) "Qh" = ( /obj/machinery/door/airlock/wood{ id_tag = "Ninja1"; @@ -17608,6 +17946,10 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) +"Qv" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/slavers) "Qw" = ( /obj/structure/table, /obj/item/clothing/gloves/boxing, @@ -17620,6 +17962,10 @@ /obj/structure/table/wood/fancy/royalblue, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Qz" = ( +/obj/machinery/door/airlock/centcom, +/turf/open/space/basic, +/area/slavers) "QA" = ( /obj/machinery/deepfryer, /turf/open/floor/plasteel/cafeteria, @@ -17653,6 +17999,15 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"QH" = ( +/obj/structure/bed{ + dir = 8 + }, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/turf/open/floor/wood, +/area/slavers) "QK" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -17767,6 +18122,11 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Rp" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Rq" = ( /obj/machinery/washing_machine, /turf/open/floor/mineral/titanium/blue, @@ -17776,10 +18136,20 @@ /obj/item/storage/backpack/duffelbag/med/surgery, /turf/open/floor/plasteel/white, /area/centcom/holding) +"Rw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/slavers) "Rz" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/plating, /area/syndicate_mothership) +"RB" = ( +/turf/open/floor/wood, +/area/slavers) "RD" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -17790,6 +18160,10 @@ }, /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) +"RJ" = ( +/obj/structure/closet/crate/freezer, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "RM" = ( /obj/structure/chair/comfy/brown{ color = "#596479" @@ -17818,6 +18192,27 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"RU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) +"RY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "RZ" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -17828,6 +18223,11 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) +"Sa" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/slaver, +/turf/open/floor/plasteel/dark, +/area/slavers) "Sb" = ( /obj/structure/table/wood, /obj/item/toy/prize/mauler{ @@ -17841,6 +18241,9 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Se" = ( +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Sf" = ( /obj/structure/chair{ dir = 4; @@ -17895,6 +18298,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/four) +"Sz" = ( +/obj/item/storage/box/drinkingglasses, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/slavers) "SB" = ( /obj/structure/curtain, /obj/structure/window/reinforced/tinted{ @@ -17959,6 +18368,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/space/basic, /area/centcom/supplypod) +"SQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "SU" = ( /obj/machinery/light{ dir = 4 @@ -17998,6 +18413,30 @@ /obj/structure/table/wood, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"SZ" = ( +/obj/structure/rack, +/obj/item/clothing/suit/straight_jacket, +/turf/open/floor/plasteel/dark, +/area/slavers) +"Ta" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) +"Tc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Td" = ( /obj/structure/fireplace, /turf/open/floor/carpet/red, @@ -18011,6 +18450,11 @@ /obj/structure/closet/crate/bin, /turf/open/floor/plasteel/white, /area/centcom/holding) +"Th" = ( +/obj/structure/table, +/obj/item/kitchen/rollingpin, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Tj" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -18196,6 +18640,13 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"Uo" = ( +/obj/machinery/computer/slavery, +/turf/open/indestructible/hotelwood, +/area/slavers) +"Up" = ( +/turf/open/floor/plating, +/area/slavers) "Uq" = ( /obj/machinery/button/door{ id = "Ninja2"; @@ -18245,6 +18696,21 @@ /obj/effect/light_emitter, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) +"UA" = ( +/obj/docking_port/mobile{ + dheight = 1; + dir = 8; + dwidth = 10; + height = 15; + hidden = 1; + id = "slaver"; + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); + name = "slaveship"; + port_direction = 4; + width = 22 + }, +/turf/open/space/basic, +/area/space) "UC" = ( /obj/machinery/vending/cola, /turf/open/floor/plasteel, @@ -18266,6 +18732,12 @@ }, /turf/open/floor/wood, /area/centcom/holding) +"UK" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/slavers) "UL" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18425,6 +18897,10 @@ }, /turf/open/space, /area/space) +"Vy" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Vz" = ( /obj/machinery/vending/wallmed{ name = "Emergency NanoMed"; @@ -18464,6 +18940,16 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"VG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/slavers) "VH" = ( /obj/machinery/vending/sustenance, /turf/open/indestructible/hotelwood, @@ -18504,6 +18990,10 @@ }, /turf/open/floor/wood, /area/syndicate_mothership) +"VW" = ( +/obj/effect/landmark/start/slaver, +/turf/open/floor/carpet, +/area/slavers) "VX" = ( /obj/effect/landmark/shuttle_import, /turf/open/space/basic, @@ -18512,6 +19002,17 @@ /obj/machinery/vending/cola, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"VZ" = ( +/obj/structure/toilet{ + pixel_y = 10 + }, +/turf/open/floor/plasteel/freezer, +/area/slavers) +"Wa" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/enzyme, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Wb" = ( /obj/machinery/door/window/westleft, /turf/open/indestructible/boss/air, @@ -18533,6 +19034,10 @@ /obj/machinery/vending/coffee, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Wh" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/indestructible/riveted, +/area/slavers) "Wi" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18550,6 +19055,12 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) +"Wn" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Wp" = ( /obj/machinery/processor, /obj/machinery/light{ @@ -18577,15 +19088,29 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Wv" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/dark, +/area/slavers) "WB" = ( -/obj/effect/landmark/start/slaver, -/turf/open/floor/carpet, -/area/syndicate_mothership) +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "WC" = ( /obj/structure/table/reinforced, /obj/item/pen, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) +"WG" = ( +/obj/machinery/computer/telecrystals, +/turf/open/indestructible/hotelwood, +/area/slavers) "WH" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ @@ -18624,6 +19149,10 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) +"WP" = ( +/obj/machinery/light, +/turf/open/floor/wood, +/area/slavers) "WQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -18648,6 +19177,15 @@ /obj/structure/closet/syndicate/personal, /turf/open/floor/wood, /area/syndicate_mothership) +"WU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "WV" = ( /obj/machinery/vending/cigarette, /obj/machinery/light{ @@ -18679,9 +19217,12 @@ /turf/open/indestructible/hotelwood, /area/centcom/holding) "Xc" = ( -/obj/effect/landmark/start/slaver_leader, -/turf/open/floor/carpet, -/area/syndicate_mothership) +/obj/machinery/door/poddoor/shutters{ + id = "slaveshipshutters"; + name = "blast shutters" + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Xd" = ( /obj/structure/flora/ausbushes/fernybush, /obj/structure/flora/ausbushes/fullgrass, @@ -18689,6 +19230,9 @@ /obj/structure/window/reinforced/fulltile, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Xf" = ( +/turf/open/indestructible/hotelwood, +/area/space) "Xg" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -18779,6 +19323,16 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"Xz" = ( +/obj/structure/table, +/obj/item/kitchen/fork, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) +"XD" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/slavers) "XE" = ( /obj/machinery/door/airlock/centcom{ name = "Kitchen"; @@ -18800,9 +19354,16 @@ /turf/open/floor/carpet/red, /area/centcom/holding) "XP" = ( -/obj/machinery/computer/telecrystals, -/turf/open/indestructible/hotelwood, -/area/syndicate_mothership) +/obj/machinery/door/poddoor/shutters, +/turf/open/floor/plasteel/dark, +/area/slavers) +"XS" = ( +/obj/structure/table/wood, +/obj/item/toy/prize/mauler{ + pixel_y = 12 + }, +/turf/open/floor/wood, +/area/slavers) "XT" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/sashimi, @@ -18870,13 +19431,22 @@ /turf/open/floor/plasteel/dark, /area/syndicate_mothership) "Yj" = ( -/obj/machinery/computer/slavery, -/turf/open/indestructible/hotelwood, -/area/syndicate_mothership) +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/slavers) "Ym" = ( /obj/machinery/computer/arcade/orion_trail, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Yn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Ys" = ( /obj/structure/table/reinforced, /turf/open/floor/mineral/plastitanium/red, @@ -18898,11 +19468,19 @@ }, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) +"Yv" = ( +/obj/effect/landmark/start/slaver_leader, +/turf/open/floor/carpet, +/area/slavers) "Yw" = ( /turf/closed/indestructible/fakedoor{ name = "External Access" }, /area/syndicate_mothership) +"Yx" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating, +/area/slavers) "Yy" = ( /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium, @@ -18982,9 +19560,28 @@ }, /turf/open/floor/wood, /area/centcom/holding) +"Zb" = ( +/obj/machinery/computer/slavery{ + dir = 4 + }, +/turf/open/floor/circuit/green, +/area/slavers/export) "Zc" = ( /turf/open/indestructible/binary, /area/space) +"Zf" = ( +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/structure/bed{ + dir = 8 + }, +/turf/open/floor/wood, +/area/slavers) +"Zg" = ( +/obj/machinery/processor, +/turf/open/floor/plasteel/cafeteria, +/area/slavers) "Zh" = ( /obj/item/kirbyplants{ icon_state = "plant-10" @@ -19010,10 +19607,26 @@ /obj/structure/bed/dogbed, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Zm" = ( +/obj/machinery/vending/kink, +/turf/open/floor/plasteel/dark, +/area/slavers) +"Zn" = ( +/obj/structure/sign/map/left{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/slavers) "Zr" = ( /obj/machinery/light, /turf/open/floor/plasteel/dark, /area/syndicate_mothership) +"Zs" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/slavers) "Zv" = ( /obj/structure/closet, /obj/item/storage/backpack/duffelbag/med/surgery, @@ -19043,6 +19656,10 @@ /obj/effect/landmark/start/nukeop_leader, /turf/open/floor/wood, /area/syndicate_mothership) +"ZD" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/slavers) "ZF" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -19050,6 +19667,9 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/four) +"ZG" = ( +/turf/open/indestructible/hotelwood, +/area/slavers) "ZH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19082,6 +19702,10 @@ /obj/machinery/vending/snack, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"ZN" = ( +/obj/item/gun/energy/shrink_ray, +/turf/open/floor/plasteel/dark, +/area/slavers) "ZP" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -19138,6 +19762,11 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"ZY" = ( +/obj/structure/closet, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/slavers) (1,1,1) = {" aa @@ -53036,24 +53665,24 @@ aa aa aa aa -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -53293,24 +53922,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -53550,24 +54179,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -53807,24 +54436,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OY -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -54064,24 +54693,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OY -OQ -OQ -OQ -OQ -OQ -OQ -OY -OQ -OQ -OQ -OY -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -54321,24 +54950,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -54578,24 +55207,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -54835,24 +55464,24 @@ aa aa aa aa -Pc -OQ -OQ -OY -OQ -Mu -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -55092,24 +55721,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OY -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -55349,24 +55978,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -WB -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -55606,24 +56235,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -Yj -OQ -Xc -OQ -WB -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -55863,24 +56492,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -WB -OQ -OY -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -56120,24 +56749,24 @@ aa aa aa aa -Pc -OQ -OQ -OY -OQ -OQ -OQ -OQ -OQ -WB -OQ -OQ -OQ -OQ -OY -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -56377,24 +57006,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -WB -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -56634,24 +57263,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -XP -OY -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -56891,24 +57520,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -57148,24 +57777,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -57405,24 +58034,24 @@ aa aa aa aa -Pc -OQ -OQ -OY -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OY -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -57662,24 +58291,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -57919,24 +58548,24 @@ aa aa aa aa -Pc -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -OQ -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -58176,24 +58805,24 @@ aa aa aa aa -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc -Pc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -62806,9 +63435,9 @@ aa aa aa aa -aa -aa -aa +pF +Pe +pF aa aa aa @@ -63063,9 +63692,9 @@ aa aa aa aa -aa -aa -aa +pF +Xf +pF aa aa aa @@ -63312,24 +63941,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +Bt +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ aa aa aa @@ -63569,24 +64198,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -63826,24 +64455,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -64083,24 +64712,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +UK +ZG +OJ aa aa aa @@ -64340,24 +64969,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +Pm +Bj +Bj +ZG +ZG +ZG +ZG +UK +ZG +ZG +ZG +UK +ZG +OJ aa aa aa @@ -64597,24 +65226,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +Bj +Bj +Bj +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -64854,24 +65483,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +Bj +Bj +Bj +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -65111,24 +65740,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +UK +ZG +wV +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -65368,24 +65997,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +ZG +ZG +UK +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -65625,24 +66254,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +ZG +ZG +ZG +ZG +VW +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -65882,24 +66511,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +Uo +ZG +Yv +ZG +VW +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -66139,24 +66768,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +ZG +ZG +ZG +ZG +VW +ZG +UK +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -66396,24 +67025,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +UK +ZG +Nm +ZG +ZG +ZG +VW +ZG +ZG +ZG +ZG +UK +ZG +ZG +OJ aa aa aa @@ -66653,24 +67282,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +ZG +ZG +ZG +ZG +VW +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -66910,24 +67539,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +No +IO +ZG +ZG +ZG +WG +UK +ZG +ZG +ZG +JY +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -67167,24 +67796,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -67424,24 +68053,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -67681,24 +68310,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +UK +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +UK +ZG +ZG +ZG +OJ aa aa aa @@ -67938,24 +68567,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -68195,24 +68824,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +ZG +OJ aa aa aa @@ -68452,24 +69081,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ +OJ aa aa aa @@ -71273,14 +71902,14 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +sm +sm +sm +sm aa aa aa @@ -71530,14 +72159,14 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +OQ +QH +QH +Zf +QH +XS +sm aa aa aa @@ -71787,14 +72416,14 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +OY +RB +RB +RB +RB +WP +sm aa aa aa @@ -72044,14 +72673,14 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Pc +RB +RB +RB +RB +ZD +sm aa aa aa @@ -72301,14 +72930,14 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +Qz +sm +sm +sm +sm aa aa aa @@ -72556,17 +73185,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +RU +WU +Ta +sm +sm +sm +sm aa aa aa @@ -72813,17 +73442,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tb +Mu +Pi +Tc +tk +Rw +Pi +Mu +tb +Pi aa aa aa @@ -73070,17 +73699,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tk +tk +Qz +Tc +tk +Rw +Qz +tk +tk +Pi aa aa aa @@ -73327,17 +73956,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +Pi +Tc +tk +Rw +Pi +tk +Im +Pi aa aa aa @@ -73584,17 +74213,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +Tc +tk +Rw +sm +sm +sm +sm aa aa aa @@ -73841,17 +74470,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tb +Mu +Pi +Tc +tk +Rw +Pi +Mu +tb +Pi aa aa aa @@ -74098,17 +74727,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tk +tk +Qz +Tc +tk +Rw +Qz +tk +tk +Pi aa aa aa @@ -74355,17 +74984,17 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +Pi +Tc +tk +Rw +Pi +tk +Im +Pi aa aa aa @@ -74612,6 +75241,17 @@ aa aa aa aa +sm +sm +sm +sm +Tc +Xc +Rw +sm +sm +sm +sm aa aa aa @@ -74624,18 +75264,7 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +UA aa aa aa @@ -74869,31 +75498,31 @@ aa aa aa aa +sm +tb +Mu +Pi +Tc +XP +Rw +Pi +Mu +tb +Pi aa aa aa +sm +Pi +Pi +Pi +sm aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +Pi +Yx +Pi aa aa aa @@ -75126,31 +75755,31 @@ aa aa aa aa +sm +tk +tk +Qz +Tc +tk +Rw +Qz +tk +tk +Pi aa aa +sm +GZ +xM +Zb +xM +sm +sm aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +Pi +Up +Pi aa aa aa @@ -75383,40 +76012,40 @@ aa aa aa aa +sm +Im +tk +Pi +Tc +tk +Rw +Pi +tk +Im +Pi aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tZ +xM +xM +xM +tZ +sm +sm +sm +sm +Yx +sm +sm +sm +sm +sm +sm +sm +sm +sm +sm aa aa aa @@ -75640,40 +76269,40 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +Tc +tk +Rw +sm +sm +sm +sm +sm +sm +sm +KE +Hi +Hi +Hi +KE +sm +ly +AI +Yn +tn +SQ +Sz +RB +Lf +sm +Kl +Se +ui +Wa +sm aa aa aa @@ -75897,40 +76526,40 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tb +Mu +Pi +Tc +tk +yh +RY +Ta +Ox +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +Sa +OY +RB +RB +NJ +Se +Se +Se +Th +sm aa aa aa @@ -76154,40 +76783,40 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +tk +tk +Qz +Tc +tk +tk +tk +Rw +Pi +ZN +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +Sa +wS +GN +RB +sm +Pa +Se +Se +Rp +sm aa aa aa @@ -76411,40 +77040,40 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +Pi +WB +Yj +Yj +Yj +VG +Ox +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +tk +Sa +OY +RB +Zn +sm +Xz +Se +Se +Se +Mr aa aa aa @@ -76668,40 +77297,40 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +Pi +Pi +Qz +Pi +Pi +sm +sm +Qz +sm +sm +sm +tk +tk +tk +sm +sm +Zs +tk +tk +tk +tk +NA +RB +MT +sm +RJ +Se +Vy +Zg +sm aa aa aa @@ -76928,37 +77557,37 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +tk +tk +Im +sm +Zm +tk +Wv +sm +XD +tk +tk +tk +XD +sm +KF +tk +tk +tk +sm +sm +vs +Lu +sm +sm +sm +sm +sm +sm aa aa aa @@ -77185,32 +77814,32 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +tk +tk +Im +sm +Zm +tk +Wv +sm +Ml +tk +tk +tk +Ml +sm +wn +tk +tk +tk +ZY +sm +sm +sm +sm aa aa aa @@ -77442,29 +78071,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +Im +tk +Co +Wn +Im +sm +NW +tk +tk +sm +Ml +tk +tk +tk +Ml +sm +ti +tk +tk +tk +ZY +sm aa aa aa @@ -77699,29 +78328,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +sm +sm +sm +tk +tk +tk +sm +Ml +tk +tk +tk +Ml +sm +Qv +tk +tk +tk +ZY +sm aa aa aa @@ -77962,23 +78591,23 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +SZ +zZ +Pu +sm +Ml +tk +tk +tk +Ml +sm +Dj +tk +tk +tk +ZY +sm aa aa aa @@ -78219,23 +78848,23 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +sm +sm +so +sp +Mo +sm +sm +Qg +tk +tk +tk +ZY +sm aa aa aa @@ -78480,19 +79109,19 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +sm +sm +sm +sm +Wh +Ox +sm +sm +sm aa aa aa @@ -78744,11 +79373,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +sm +wo +Km +Ll +sm aa aa aa @@ -79001,11 +79630,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +sm +VZ +Km +Km +sm aa aa aa @@ -79258,11 +79887,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +sm +Py +Km +Ol +sm aa aa aa @@ -79515,11 +80144,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +sm +sm +sm +sm +sm aa aa aa diff --git a/_maps/shuttles/slaveship_basic.dmm b/_maps/shuttles/slaveship_basic.dmm new file mode 100644 index 0000000000..1af98421a5 --- /dev/null +++ b/_maps/shuttles/slaveship_basic.dmm @@ -0,0 +1,1141 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/slaver, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"ak" = ( +/obj/machinery/computer/shuttle/slaver, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"ax" = ( +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/slaveship) +"ay" = ( +/obj/machinery/computer/camera_advanced/syndie, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"aA" = ( +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"bj" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"bK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"bN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"bP" = ( +/obj/machinery/computer/med_data/syndie, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"bV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"cc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"cy" = ( +/obj/structure/shuttle/engine/propulsion/left, +/turf/open/floor/plating, +/area/shuttle/slaveship) +"cO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "slaveshipshutters"; + name = "Cockpit Shutter Control"; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"ev" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"fI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"gc" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"gZ" = ( +/obj/machinery/door/airlock/hatch{ + req_access_txt = "152" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"hR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"iP" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"kG" = ( +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/bot_white, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/gauze, +/obj/item/stack/medical/suture, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"le" = ( +/obj/structure/bed/roller, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"mA" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"ph" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/fire, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/storage/firstaid/brute{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"pj" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "slaveshipshutters"; + name = "blast shutters" + }, +/turf/open/floor/plating, +/area/shuttle/slaveship) +"pl" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"po" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/mask/muzzle, +/obj/item/clothing/glasses/sunglasses/blindfold{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"qc" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"qT" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"rc" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"sn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"sv" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"um" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"uy" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"uZ" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"vV" = ( +/obj/machinery/computer/crew/syndie, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"wl" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"xr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/slaveship) +"xX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"yJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/mining/eva, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/slaveship) +"zI" = ( +/obj/machinery/door/poddoor{ + id = "slaveshipdoor" + }, +/obj/machinery/button/door{ + id = "slaveshipdoor"; + name = "external door control"; + pixel_y = 26; + req_access_txt = "152" + }, +/obj/docking_port/mobile{ + dheight = 1; + dir = 8; + dwidth = 10; + height = 15; + hidden = 1; + id = "slaver"; + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); + name = "slaveship"; + port_direction = 4; + width = 22 + }, +/turf/open/floor/plating, +/area/shuttle/slaveship) +"zT" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/shuttle/slaveship) +"Aw" = ( +/obj/machinery/door/window/westright, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Cd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/mining/eva, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/slaveship) +"Cj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"CM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Dj" = ( +/obj/effect/turf_decal/caution/stand_clear/white{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"DB" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Ey" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/shuttle/slaveship) +"Fm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/mining/eva, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/slaveship) +"FG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Gj" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Go" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"GC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"GG" = ( +/obj/machinery/light, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Iw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/bed/matress, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"JG" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Lr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"LG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"MJ" = ( +/turf/template_noop, +/area/template_noop) +"Pl" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/handcuffs{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/handcuffs, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Qd" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Qz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Rv" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"RD" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"RL" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Sw" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"TF" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"Uo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/folder/red, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Uv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"UL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/bed/matress, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"VS" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"VW" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/item/extinguisher/mini{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Wi" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/gloves/combat, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Wk" = ( +/obj/structure/window/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/shuttle/slaveship) +"WK" = ( +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"Xl" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/slaveship) +"XG" = ( +/obj/structure/bed/matress, +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"XN" = ( +/obj/structure/shuttle/engine/heater, +/obj/effect/spawner/structure/window/plastitanium/pirate, +/obj/structure/window/reinforced/tinted{ + layer = 3.1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/slaveship) +"Yh" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/pickaxe, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) +"ZZ" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/slaveship) + +(1,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +ax +ax +ax +ax +ax +MJ +MJ +"} +(2,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +ax +ax +ax +ax +ax +ax +Iw +DB +DB +XG +XN +cy +MJ +"} +(3,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +yJ +Fm +xr +Fm +Cd +ax +JG +aA +aA +Uv +XN +zT +MJ +"} +(4,1,1) = {" +ax +ax +ax +ax +ax +MJ +MJ +MJ +ax +sn +aA +aA +aA +CM +ax +LG +aA +uy +UL +XN +cy +MJ +"} +(5,1,1) = {" +ax +bP +bV +bK +ax +ax +ax +ax +ax +um +aA +xX +aA +FG +ax +Wk +gZ +Wk +Wk +Ey +ax +MJ +"} +(6,1,1) = {" +pj +vV +sv +bN +ax +iP +kG +ph +ax +ax +gZ +Wk +gZ +ax +Ey +aA +aA +aA +aA +Pl +XN +cy +"} +(7,1,1) = {" +pj +af +aA +cc +ax +hR +aA +aA +aA +qT +aA +aA +aA +qT +gZ +aA +Xl +Xl +aA +po +XN +cy +"} +(8,1,1) = {" +pj +ak +sv +aA +gZ +aA +Xl +Xl +Xl +Xl +Xl +Xl +Xl +aA +Wk +aA +ev +TF +aA +pl +XN +zT +"} +(9,1,1) = {" +pj +ay +aA +cO +ax +hR +aA +aA +aA +rc +aA +aA +aA +rc +gZ +aA +Xl +Xl +aA +wl +XN +cy +"} +(10,1,1) = {" +pj +Qz +bj +Lr +ax +mA +le +qc +ax +ax +gZ +Wk +gZ +ax +Ey +aA +aA +aA +aA +wl +XN +zT +"} +(11,1,1) = {" +ax +Uo +Go +fI +ax +ax +ax +ax +ax +WK +aA +aA +aA +Gj +ax +Rv +Aw +ZZ +VS +Ey +ax +MJ +"} +(12,1,1) = {" +ax +ax +ax +ax +ax +MJ +MJ +MJ +ax +uZ +aA +aA +aA +GG +ax +Qd +aA +aA +VW +XN +cy +MJ +"} +(13,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +WK +Cj +Dj +GC +Gj +ax +gc +Sw +aA +Wi +XN +cy +MJ +"} +(14,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +ax +ax +zI +ax +ax +ax +RD +RL +RL +Yh +XN +zT +MJ +"} +(15,1,1) = {" +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +ax +ax +ax +ax +ax +ax +MJ +MJ +"} diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 33d640c4dd..380fc229a1 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -374,14 +374,6 @@ N.nukeop_outfit = null add_antag_datum(N,converter.nuke_team) - else if(is_slaver(creator)) - var/datum/antagonist/slaver/converter = creator.mind.has_antag_datum(/datum/antagonist/slaver,TRUE) - var/datum/antagonist/slaver/S = new() - S.send_to_spawnpoint = FALSE - S.slaver_outfit = null - add_antag_datum(S,converter.slaver_team) - - enslaved_to = creator current.faction |= creator.faction diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index add0668950..e971913aba 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -153,6 +153,10 @@ port_id = "infiltrator" can_be_bought = FALSE +/datum/map_template/shuttle/slaveship + port_id = "slaveship" + can_be_bought = FALSE + /datum/map_template/shuttle/aux_base port_id = "aux_base" can_be_bought = FALSE @@ -612,6 +616,10 @@ suffix = "basic" name = "basic syndicate infiltrator" +/datum/map_template/shuttle/slaveship/basic + suffix = "basic" + name = "basic slaveship" + // /datum/map_template/shuttle/infiltrator/advanced // suffix = "advanced" // name = "advanced syndicate infiltrator" diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index 0befe0bd86..2a6ee2f2ad 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -175,8 +175,21 @@ has_gravity = TRUE area_flags = UNIQUE_AREA | NOTELEPORT -//CAPTURE THE FLAG +//Slave trader +/area/slavers + name = "Slave Trader Hideout" + icon_state = "syndie-ship" + requires_power = FALSE + has_gravity = STANDARD_GRAVITY + area_flags = VALID_TERRITORY | UNIQUE_AREA | NOTELEPORT + flags_1 = NONE + ambientsounds = HIGHSEC +/area/slavers/export + name = "Slave Trader Export Bay" + icon_state = "Syndicate Elite Squad" + +//CAPTURE THE FLAG /area/ctf name = "Capture the Flag" icon_state = "yellow" diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index c8ee2973c4..47c1480a28 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -55,6 +55,12 @@ /area/shuttle/syndicate/airlock name = "Syndicate Infiltrator Airlock" +////////////////////////////Slave Trader Shuttle//////////////////////////// + +/area/shuttle/slaveship + name = "Slave Trader Shuttle" + canSmoothWithAreas = /area/shuttle/slaveship + ////////////////////////////Pirate Shuttle//////////////////////////// /area/shuttle/pirate diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 193ab47ad1..f1dd603a3d 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -558,13 +558,13 @@ If not set, defaults to check_completion instead. Set it. It's used by cryo. return FALSE /datum/objective/slaver - name = "slaver" - explanation_text = "Capture some of the station crew. Bring them back to the hideout." + name = "slave trading" + explanation_text = "Earn 20,000 credits through slave trading." /datum/objective/slaver/check_completion() // if(SSticker && SSticker.mode && SSticker.mode.station_was_nuked) // return TRUE - return FALSE + return TRUE GLOBAL_LIST_EMPTY(possible_items) /datum/objective/steal diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index df3fb00f61..9e6f916711 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -340,6 +340,25 @@ log_game("[key_name(usr)] enabled emergency maintenance access.") message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.") deadchat_broadcast(" enabled emergency maintenance access at [get_area_name(usr, TRUE)].", "[usr.real_name]", usr) + if("toggleBought") + var/boughtID = params["id"] + + for(var/tracked_slave in GLOB.tracked_slaves) + var/obj/item/electropack/shockcollar/slave/C = tracked_slave + if (REF(C) == boughtID) + + var/datum/bank_account/bank = SSeconomy.get_dep_account(ACCOUNT_CAR) + if(bank) + if(C.bought) { + bank.adjust_money(C.price) + GLOB.slavers_credits_deposits -= C.price + C.bought = FALSE + } else { + bank.adjust_money(-C.price) + GLOB.slavers_credits_deposits += C.price + C.bought = TRUE + } + break /obj/machinery/computer/communications/ui_data(mob/user) var/list/data = list( @@ -376,7 +395,35 @@ data["authorizeName"] = authorize_name data["canLogOut"] = !issilicon(user) data["shuttleCanEvacOrFailReason"] = SSshuttle.canEvac(user, TRUE) - data["availableSlaves"] = TRUE // GLOB.tracked_slaves + + var/list/slaves = list() + data["slaves"] = list() + var/datum/bank_account/bank = SSeconomy.get_dep_account(ACCOUNT_CAR) + data["cargocredits"] = bank.account_balance + + for(var/tracked_slave in GLOB.tracked_slaves) + var/obj/item/electropack/shockcollar/slave/C = tracked_slave + if (!C.price || !isliving(C.loc)) + continue; + + var/mob/living/L = C.loc + var/turf/pos = get_turf(L) + if(!pos || C != L.get_item_by_slot(SLOT_NECK)) + continue + + var/list/slave = list() + slave["id"] = REF(C) + slave["name"] = L.real_name + slave["bought"] = C.bought + slave["price"] = C.price + + if(bank && !C.bought && bank.account_balance < C.price) + slave["cannotafford"] = TRUE + else + slave["cannotafford"] = FALSE + + slaves += list(slave) //Add this slave to the list of slaves + data["slaves"] = slaves if (authenticated_as_non_silicon_captain(user)) data["canRequestNuke"] = TRUE diff --git a/code/game/machinery/computer/slavery.dm b/code/game/machinery/computer/slavery.dm index c452063621..a70b29251a 100644 --- a/code/game/machinery/computer/slavery.dm +++ b/code/game/machinery/computer/slavery.dm @@ -7,6 +7,24 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF req_access = list(ACCESS_SLAVER) light_color = LIGHT_COLOR_RED + var/selected_cat + /// Dictates if the compact mode of the interface is on or off + var/compact_mode = FALSE + /// Possible gear to be dispensed + var/list/possible_gear + +/obj/machinery/computer/slavery/Initialize(mapload) + . = ..() + possible_gear = get_slaver_gear() + +/obj/machinery/computer/slavery/proc/get_slaver_gear() + var/list/filtered_modules = list() + for(var/path in GLOB.slaver_gear) + var/datum/slaver_gear/SG = new path + if(!filtered_modules[SG.category]) + filtered_modules[SG.category] = list() + filtered_modules[SG.category][SG] = SG + return filtered_modules // /obj/machinery/computer/slavery/ui_interact(mob/user) // . = ..() @@ -43,12 +61,33 @@ ui = new(user, src, "SlaveConsole", name) ui.open() -/obj/machinery/computer/slavery/ui_data(mob/user) +/obj/machinery/computer/slavery/ui_static_data(mob/user) var/list/data = list() + data["categories"] = list() + for(var/category in possible_gear) + var/list/cat = list( + "name" = category, + "items" = (category == selected_cat ? list() : null)) + for(var/gear in possible_gear[category]) + var/datum/slaver_gear/AG = possible_gear[category][gear] + cat["items"] += list(list( + "name" = AG.name, + "cost" = AG.cost, + "desc" = AG.description, + )) + data["categories"] += list(cat) var/turf/curr = get_turf(src) data["currentCoords"] = "[curr.x], [curr.y], [curr.z]" + return data + + +/obj/machinery/computer/slavery/ui_data(mob/user) + var/list/data = list() + + data["credits"] = GLOB.slavers_credits_balance + data["compactMode"] = compact_mode var/list/slaves = list() data["slaves"] = list() @@ -59,18 +98,44 @@ var/mob/living/L = C.loc var/turf/pos = get_turf(L) - if(!pos || pos.z != curr.z || C == L.get_item_by_slot(SLOT_NECK)) + if(!pos || C != L.get_item_by_slot(SLOT_NECK)) continue var/list/slave = list() - slave["id"] = C.collarID - priority_announce("Getting collar ID first: [C.GetID()] end.", sender_override = "toggleBought") + slave["id"] = REF(C)// C.collarID slave["name"] = L.real_name + slave["price"] = C.price slave["bought"] = C.bought + slave["shockcooldown"] = C.shock_cooldown; + slave["inexportbay"] = FALSE + + var/turf/curr = get_turf(src) + if(pos.z == curr.z) //Distance/Direction calculations for same z-level only + slave["coords"] = "[pos.x], [pos.y], [pos.z]" + slave["dist"] = max(get_dist(curr, pos), 0) //Distance between the machine and slave turfs + slave["degrees"] = round(Get_Angle(curr, pos)) //0-360 degree directional bearing, for more precision. + + var/area/A = get_area(get_turf(L)) + if (istype(A, /area/slavers/export)) + slave["inexportbay"] = TRUE + + switch(L.stat) + if(CONSCIOUS) + slave["stat"] = "Conscious" + slave["statstate"] = "good" + if(SOFT_CRIT) + slave["stat"] = "Conscious" + slave["statstate"] = "average" + if(UNCONSCIOUS) + slave["stat"] = "Unconscious" + slave["statstate"] = "average" + if(DEAD) + slave["stat"] = "Dead" + slave["statstate"] = "bad" + else + slave["stat"] = "Unknown" + slave["statstate"] = "grey" - slave["coords"] = "[pos.x], [pos.y], [pos.z]" - slave["dist"] = max(get_dist(curr, pos), 0) //Distance between the machine and slave turfs - slave["degrees"] = round(Get_Angle(curr, pos)) //0-360 degree directional bearing, for more precision. slaves += list(slave) //Add this slave to the list of slaves data["slaves"] = slaves return data @@ -79,9 +144,23 @@ if(..()) return + var/collarID = params["id"] + var/obj/item/electropack/shockcollar/slave/collar + + if(collarID) + for(var/tracked_slave in GLOB.tracked_slaves) + var/obj/item/electropack/shockcollar/slave/C = tracked_slave + if (REF(C) == collarID) + collar = C; + break + switch(action) + + if ("makePriorityAnnouncement") - priority_announce("Announcement.", sender_override = "Beep Beep upgate") + // priority_announce("Announcement.", sender_override = "Beep Beep upgate") + var/datum/bank_account/bank = SSeconomy.get_dep_account(ACCOUNT_CAR) + priority_announce("Station credits: [bank.account_balance], Deposit: [GLOB.slavers_credits_deposits], Balance: [GLOB.slavers_credits_balance], Total: [GLOB.slavers_credits_total]", sender_override = "Bank status") // var/is_ai = issilicon(user) // if(!SScommunications.can_announce(user, is_ai)) // to_chat(user, "Intercomms recharging. Please stand by.") @@ -100,18 +179,100 @@ if("purchaseSupplies") priority_announce("Purchase Supplies.", sender_override = "Beep Beep upgate") - if("toggleBought") - var/boughtID = text2num(params["id"]) - priority_announce("Collar ID is: [boughtID] end.", sender_override = "toggleBought") + if("setPrice") + var/newPrice = input(usr, "The station will need to pay this to get the slave back. (1000 - 10000)", "Set slave price", 4000) as num + if(!newPrice) + priority_announce("New price empty.", sender_override = "Set price") - for(var/tracked_slave in GLOB.tracked_slaves) - var/obj/item/electropack/shockcollar/slave/C = tracked_slave - if (C.collarID == boughtID) - if (!isliving(C.loc)) - priority_announce("Not living location", sender_override = "toggleBought") - continue; + newPrice = clamp(round(newPrice), 1000, 10000) + collar.price = newPrice - var/mob/living/L = C.loc - priority_announce("Slave ckey is: [L.ckey] end.", sender_override = "toggleBought") + if("export") + // var/area/curr = get_area(get_turf(collar.loc)) + // if (istype(curr, /area/slavers/export)) + // priority_announce("EXPORTING...", sender_override = "Set price") + // var/area/thearea = /area/slavers/export + // if(!curr) + // priority_announce("No area found", sender_override = "Set price") + // return + + // var/list/L = list() + // for(var/turf/T in get_area_turfs(curr.type)) + // L+=T + // if(!L || !L.len) + // say("Error: No destination found.") + // return + + // var/slaver_crew_name = /datum/antagonist/slaver.get_team().slaver_crew_name + // var/datum/antagonist/slaver.get_team() + // priority_announce("The [GLOB.slavers_team_name]", sender_override = "Set price") + + // var/datum/bank_account/bank = SSeconomy.get_dep_account(ACCOUNT_CAR) + // if(bank) + // bank.adjust_money(-1000) + GLOB.slavers_credits_deposits -= collar.price + GLOB.slavers_credits_balance += collar.price + GLOB.slavers_credits_total += collar.price + GLOB.slavers_slaves_sold++ + + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(3, 1, collar.loc) + s.start() + + playsound(get_turf(src.loc), 'sound/effects/bamf.ogg', 50, 1) + visible_message("[collar.loc] vanishes into the droppod.", \ + "You are taken by the droppod.") + + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/mob/living/M = collar.loc + // var/slaver_crew_name = /datum/antagonist/slaver.get_team().slaver_crew_name + priority_announce("[M.real_name] has been returned to the station.", sender_override = "[GLOB.slavers_team_name] Transmission") + var/obj/structure/closet/supplypod/centcompod/exportPod = new(pick(get_area_turfs(pod_storage_area))) + var/obj/effect/landmark/observer_start/dropzone = locate(/obj/effect/landmark/observer_start) in GLOB.landmarks_list + M.forceMove(exportPod) //and forceMove any atom/moveable into the supplypod + new /obj/effect/pod_landingzone(dropzone.loc, exportPod) //Then, create the DPTarget effect, which will eventually forceMove the temp_pod to it's location + + qdel(collar) + // else + // priority_announce("Nope", sender_override = "Set price") + + if("shock") + var/datum/signal/signal = new /datum/signal + signal.data["code"] = -1 + collar.receive_signal(signal) + + if("release") + qdel(collar) + + if("compact_toggle") + compact_mode = !compact_mode + return TRUE + + if("select") + selected_cat = params["category"] + return TRUE + + if("buy") + var/item_name = params["name"] + var/list/buyable_items = list() + for(var/category in possible_gear) + buyable_items += possible_gear[category] + for(var/key in buyable_items) + var/datum/slaver_gear/SG = buyable_items[key] + if(SG.name == item_name) + Dispense(SG.build_path, SG.cost) + return TRUE + +/obj/machinery/computer/slavery/proc/Dispense(item,cost=1) + if(GLOB.slavers_credits_balance >= cost) + GLOB.slavers_credits_balance -= cost + say("Incoming supply!") + var/drop_location = loc + // if(pad) + // flick("alien-pad", pad) + // drop_location = pad.loc + new item(drop_location) + else + say("Insufficent credits!") diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 391ccc4b61..d8c527dd9f 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -544,6 +544,12 @@ assignment = "Syndicate Overlord" access = list(ACCESS_SYNDICATE) +/obj/item/card/id/slaver + name = "\improper Slaver Trader ID" + desc = "A cheap ID used by slave traders." + icon_state = "retro" + access = list(ACCESS_MAINT_TUNNELS, ACCESS_SLAVER) + /obj/item/card/id/no_banking bank_support = ID_NO_BANK_ACCOUNT diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 742a1fe3b0..dae74ba26a 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -326,6 +326,11 @@ icon_state = "generic" build_path = /obj/machinery/computer/pod/old/syndicate +/obj/item/circuitboard/computer/slaver_shuttle + name = "Slaver Shuttle (Computer Board)" + icon_state = "generic" + build_path = /obj/machinery/computer/shuttle/slaver + /obj/item/circuitboard/computer/white_ship name = "White Ship (Computer Board)" icon_state = "generic" diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 852316b02b..ea0b948a2b 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -146,6 +146,8 @@ custom_materials = list(/datum/material/iron = 5000, /datum/material/glass = 2000) var/tagname = null + var/shockStrength = 100 + var/shockCooldown = 100 /datum/design/electropack/shockcollar name = "Shockcollar" @@ -172,7 +174,7 @@ if(shock_cooldown == TRUE) return shock_cooldown = TRUE - addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), 100) + addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), shockCooldown) step(L, pick(GLOB.cardinals)) to_chat(L, "You feel a sharp shock from the collar!") @@ -180,7 +182,7 @@ s.set_up(3, 1, L) s.start() - L.DefaultCombatKnockdown(100) + L.DefaultCombatKnockdown(shockStrength) if(master) master.receive_signal() @@ -206,17 +208,36 @@ /obj/item/electropack/shockcollar/slave name = "slave collar" desc = "A reinforced metal collar. This one has a shock element and tracker installed." - var/static/lastID = 0; - var/collarID + + var/price = 0 var/bought = FALSE + shockStrength = 400 + shockCooldown = 200 + code = -1 + frequency = -1 /obj/item/electropack/shockcollar/slave/Initialize() - . = ..() - collarID = ++lastID GLOB.tracked_slaves += src - priority_announce("New pack", sender_override = "Beep Beep upgate") + . = ..() + /obj/item/electropack/shockcollar/slave/Destroy() - . = ..() + visible_message("The [src] detaches from [src.loc]'s neck.", \ + "The [src] detaches from your neck.") + playsound(get_turf(src.loc), 'sound/machines/terminal_eject_disc.ogg', 50, 1) GLOB.tracked_slaves -= src - priority_announce("pack deleted", sender_override = "Beep Beep upgate") + . = ..() + +// Don't let user change frequency. +/obj/item/electropack/shockcollar/slave/attack_self(mob/living/user) + return + +// Once equipped, do not let anyone take it off +/obj/item/electropack/shockcollar/slave/equipped(mob/user, slot) + . = ..() + + if(isliving(user)) + var/mob/living/M = user + if(src == M.get_item_by_slot(SLOT_NECK)) + playsound(get_turf(M), 'sound/machines/triple_beep.ogg', 50, 1) + ADD_TRAIT(src, TRAIT_NODROP, CLOTHING_TRAIT) diff --git a/code/game/objects/items/implants/implant_slaver.dm b/code/game/objects/items/implants/implant_slaver.dm new file mode 100644 index 0000000000..2f6497f1f4 --- /dev/null +++ b/code/game/objects/items/implants/implant_slaver.dm @@ -0,0 +1,38 @@ +/obj/item/implant/slaver + name = "emergency teleport implant" + desc = "Returns you to the slave hideout (single use)." + icon = 'icons/obj/abductor.dmi' + icon_state = "implant" + activated = 1 + var/obj/machinery/abductor/pad/home + +/obj/item/implant/slaver/activate() + . = ..() + + playsound(get_turf(imp_in.loc), 'sound/magic/blink.ogg', 50, 1) + imp_in.visible_message("[imp_in] vanishes from sight!", \ + "You activate the [src], sending you to the slaver mothership!") + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(imp_in), imp_in.dir) + + var/list/L = list() + for(var/turf/T in get_area_turfs(/area/slavers/export)) + L+=T + + if(!L || !L.len) + to_chat(usr, "No area available.") + return + + imp_in.forceMove(pick(L)) + + qdel(src) + +/obj/item/implant/slaver/get_data() + var/dat = {"Implant Specifications:
+ Name: Ratchete CO. Emergency Teleport Implant
+ Life: 7 months.
+ Important Notes: Illegal, single-use
+
+ Implant Details: Subject can activate a short-range teleport.
+ Function: Teleports the host to the slave trader mothership.
+ Integrity: Implant can only be used one time before bluespace reserves are depleted."} + return dat diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 8f5e1c5079..9406b8e4db 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -241,3 +241,12 @@ target.pixel_y = target.get_standard_pixel_y_offset(FALSE) if(target == goldilocks) goldilocks = null + +/obj/structure/bed/matress + name = "matress" + desc = "This is used to lie in, sleep in or strap on." + icon_state = "mattress0" + +/obj/structure/bed/matress/New() + ..() + icon_state = "mattress[rand(0,6)]" diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 26c56fbeeb..e8e78c545d 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -292,8 +292,9 @@ var/mob/living/carbon/human/new_character=makeBody(c) if(!leader_chosen) leader_chosen = TRUE - var/datum/antagonist/slaver/S = new_character.mind.add_antag_datum(/datum/antagonist/slaver/leader) - slaver_team = S.slaver_team + new_character.mind.add_antag_datum(/datum/antagonist/slaver/leader) + // var/datum/antagonist/slaver/S = new_character.mind.add_antag_datum(/datum/antagonist/slaver/leader) + // slaver_team = S.slaver_team else new_character.mind.add_antag_datum(/datum/antagonist/slaver,slaver_team) return 1 diff --git a/code/modules/antagonists/slaver/equipment/orderable_gear.dm b/code/modules/antagonists/slaver/equipment/orderable_gear.dm new file mode 100644 index 0000000000..4c529d393d --- /dev/null +++ b/code/modules/antagonists/slaver/equipment/orderable_gear.dm @@ -0,0 +1,89 @@ +GLOBAL_LIST_INIT(slaver_gear, subtypesof(/datum/slaver_gear)) + +/datum/slaver_gear + /// Name of the gear + var/name = "Generic slaver Gear" + /// Description of the gear + var/description = "Generic description." + /// Unique ID of the gear + var/id = "slaver_generic" + /// Credit cost of the gear + var/cost = 1 + /// Build path of the gear itself + var/build_path = null + /// Category of the gear + var/category = "Basic Gear" + +/datum/slaver_gear/slave_collars + name = "Slave Collars" + description = "Slave collar x 3" + id = "slave_collar" + build_path = /obj/item/electropack/shockcollar/slave + category = "Third catti" + cost = 100 + +/datum/slaver_gear/agent_helmet + name = "Agent Helmet" + description = "Abduct with style - spiky style. Prevents digital tracking." + id = "agent_helmet" + build_path = /obj/item/clothing/head/helmet/abductor + +/datum/slaver_gear/agent_vest + name = "Agent Vest" + description = "A vest outfitted with advanced stealth technology. It has two modes - combat and stealth." + id = "agent_vest" + build_path = /obj/item/clothing/suit/armor/abductor/vest + +/datum/slaver_gear/radio_silencer + name = "Radio Silencer" + description = "A compact device used to shut down communications equipment." + id = "radio_silencer" + build_path = /obj/item/abductor/silencer + +/datum/slaver_gear/science_tool + name = "Science Tool" + description = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras." + id = "science_tool" + build_path = /obj/item/abductor/gizmo + +/datum/slaver_gear/advanced_baton + name = "Advanced Baton" + description = "A quad-mode baton used for incapacitation and restraining of specimens." + id = "advanced_baton" + cost = 2 + build_path = /obj/item/abductor/baton //does not exist? + +/datum/slaver_gear/superlingual_matrix + name = "Superlingual Matrix" + description = "A mysterious structure that allows for instant communication between users. Pretty impressive until you need to eat something." + id = "superlingual_matrix" + build_path = /obj/item/organ/tongue/abductor + category = "Advanced Gear" + +/datum/slaver_gear/mental_interface + name = "Mental Interface Device" + description = "A dual-mode tool for directly communicating with sentient brains. It can be used to send a direct message to a target, \ + or to send a command to a test subject with a charged gland." + id = "mental_interface" + cost = 2 + build_path = /obj/item/abductor/mind_device + category = "Advanced Gear" + +/datum/slaver_gear/reagent_synthesizer + name = "Reagent Synthesizer" + description = "Synthesizes a variety of reagents using proto-matter." + id = "reagent_synthesizer" + cost = 2 + build_path = /obj/item/abductor_machine_beacon/chem_dispenser + category = "Advanced Gear" + +/* +/datum/slaver_gear/shrink_ray + name = "Shrink Ray Blaster" + description = "This is a piece of frightening alien tech that enhances the magnetic pull of atoms in a localized space to temporarily make an object shrink. \ + That or it's just space magic. Either way, it shrinks stuff." + id = "shrink_ray" + cost = 2 + build_path = /obj/item/gun/energy/shrink_ray + category = "Advanced Gear" +*/ diff --git a/code/modules/antagonists/slaver/equipment/slaver_items.dm b/code/modules/antagonists/slaver/equipment/slaver_items.dm new file mode 100644 index 0000000000..a3a21677ec --- /dev/null +++ b/code/modules/antagonists/slaver/equipment/slaver_items.dm @@ -0,0 +1,7 @@ +/obj/item/storage/box/slaver_teleport + name = "boxed emergency teleport implant (with injector)" + +/obj/item/storage/box/slaver_teleport/PopulateContents() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/slaver(O) + O.update_icon() diff --git a/code/modules/antagonists/slaver/equipment/slaver_outfits.dm b/code/modules/antagonists/slaver/equipment/slaver_outfits.dm index f438733c93..333df254e0 100644 --- a/code/modules/antagonists/slaver/equipment/slaver_outfits.dm +++ b/code/modules/antagonists/slaver/equipment/slaver_outfits.dm @@ -2,36 +2,24 @@ name = "Slave Trader - Basic" uniform = /obj/item/clothing/under/syndicate - shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/black + back = /obj/item/storage/backpack/satchel ears = /obj/item/radio/headset/syndicate/alt - id = /obj/item/card/id/syndicate + id = /obj/item/card/id/slaver belt = /obj/item/gun/ballistic/automatic/pistol - backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ + backpack_contents = list(/obj/item/storage/box/survival,\ /obj/item/kitchen/knife/combat/survival) - var/tc = 25 - var/command_radio = FALSE - var/uplink_type = /obj/item/uplink/nuclear - - /datum/outfit/slaver/leader name = "Slave Master - Basic" - id = /obj/item/card/id/syndicate/nuke_leader + id = /obj/item/card/id/slaver gloves = /obj/item/clothing/gloves/krav_maga/combatglovesplus - command_radio = TRUE /datum/outfit/slaver/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) var/obj/item/radio/R = H.ears R.set_frequency(FREQ_SYNDICATE) R.freqlock = TRUE - if(command_radio) - R.command = TRUE - - if(tc) - var/obj/item/U = new uplink_type(H, H.key, tc) - H.equip_to_slot_or_del(U, SLOT_IN_BACKPACK) var/obj/item/implant/weapons_auth/W = new W.implant(H) diff --git a/code/modules/antagonists/slaver/slaver.dm b/code/modules/antagonists/slaver/slaver.dm index b6e60aefd5..38da3d42b4 100644 --- a/code/modules/antagonists/slaver/slaver.dm +++ b/code/modules/antagonists/slaver/slaver.dm @@ -1,3 +1,9 @@ +GLOBAL_VAR_INIT(slavers_team_name, "Slave Traders") +GLOBAL_VAR_INIT(slavers_credits_deposits, 0) +GLOBAL_VAR_INIT(slavers_credits_balance, 2000) +GLOBAL_VAR_INIT(slavers_credits_total, 0) +GLOBAL_VAR_INIT(slavers_slaves_sold, 0) + /datum/antagonist/slaver name = "Slave Trader" roundend_category = "slaver" @@ -33,13 +39,11 @@ return var/mob/living/carbon/human/H = owner.current - //H.set_species(/datum/species/human) //Plasamen burn up otherwise, and lizards are vulnerable to asimov AIs - H.equipOutfit(slaver_outfit) return TRUE /datum/antagonist/slaver/greet() - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0) + owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/slavers.ogg',100,0) to_chat(owner, "You are a slave trader!") owner.announce_objectives() @@ -80,7 +84,7 @@ slaver_outfit = /datum/outfit/slaver/leader /datum/antagonist/slaver/leader/greet() - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0) + owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/slavers.ogg',100,0) to_chat(owner, "You are the Slave Master for this collection job. You are responsible for organising your team and your ID is the only one who can open the launch bay doors.") to_chat(owner, "If you feel you are not up to this task, give your ID to another slaver.") owner.announce_objectives() @@ -88,11 +92,11 @@ /datum/antagonist/slaver/leader/proc/slavers_name_assign() - slaver_team.slaver_crew_name = ask_name() + GLOB.slavers_team_name = ask_name() // priority_announce("Message test 123 123 Message test 123 123 Message test 123 123 Message test 123 123 Message test 123 123.", sender_override = "Hail from the [slaver_team.slaver_crew_name]") /datum/antagonist/slaver/leader/proc/ask_name() - var/defaultname = slaver_team.slaver_crew_name + var/defaultname = GLOB.slavers_team_name var/newname = stripped_input(owner.current, "You are the slave master. Please choose a name for your crew.", "Crew name", defaultname) if (!newname) newname = defaultname @@ -104,7 +108,7 @@ return capitalize(newname) /datum/team/slavers - var/slaver_crew_name = "Slave Traders" + // var/slaver_crew_name = "Slave Traders" var/core_objective = /datum/objective/slaver /datum/team/slavers/proc/update_objectives() @@ -113,65 +117,30 @@ O.team = src objectives += O -/datum/team/pirate/roundend_report() - var/list/parts = list() - - parts += "Space Pirates were:" - - var/all_dead = TRUE - for(var/datum/mind/M in members) - if(considered_alive(M)) - all_dead = FALSE - parts += printplayerlist(members) - - parts += "Loot stolen: " - var/datum/objective/loot/L = locate() in objectives - parts += L.loot_listing() - parts += "Total loot value : [L.get_loot_value()]/[L.target_value] credits" - - if(L.check_completion() && !all_dead) - parts += "The pirate crew was successful!" - else - parts += "The pirate crew has failed." - - return "
[parts.Join("
")]
" - /datum/team/slavers/roundend_report() var/list/parts = list() - parts += "[slaver_crew_name] Crew:" + parts += "Slave Traders:" + + var/text = "
The crew were:" + var/slavesSold = GLOB.slavers_slaves_sold + var/slavesUnsold = GLOB.tracked_slaves.len + var/earnedMoney = GLOB.slavers_credits_total - var/text = "
The syndicate operatives were:" - var/purchases = "" - var/TC_uses = 0 - LAZYINITLIST(GLOB.uplink_purchase_logs_by_key) - for(var/I in members) - var/datum/mind/syndicate = I - var/datum/uplink_purchase_log/H = GLOB.uplink_purchase_logs_by_key[syndicate.key] - if(H) - TC_uses += H.total_spent - purchases += H.generate_render(show_key = FALSE) text += printplayerlist(members) text += "
" - text += "(Syndicates used [TC_uses] TC) [purchases]" + text += "Slaves sold: [slavesSold]" + text += "Slaves not sold: [slavesUnsold]" + text += "Total money earned: [earnedMoney]" + + var/datum/objective/slaver/O = locate() in objectives + if(O.check_completion()) + parts += "The slaver crew were successful!" + else + parts += "The slaver crew have failed." parts += text return "
[parts.Join("
")]
" -/datum/team/slavers/antag_listing_name() - if(slaver_crew_name) - return "[slaver_crew_name] Syndico" - else - return "Syndicaa" - -/datum/team/slavers/is_gamemode_hero() - return SSticker.mode.name == "slave hunters" - /proc/is_slaver(mob/M) return M && istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/slaver) - -// /datum/round_event_control/operative -// name = "Slave Traders" -// typepath = /datum/round_event/ghost_role/slavers -// weight = 0 //Admin only -// max_occurrences = 1 diff --git a/code/modules/shuttle/slaver.dm b/code/modules/shuttle/slaver.dm new file mode 100644 index 0000000000..5dc3d0766a --- /dev/null +++ b/code/modules/shuttle/slaver.dm @@ -0,0 +1,38 @@ +/obj/machinery/computer/shuttle/slaver + name = "slaver shuttle terminal" + desc = "The terminal used to control the slaver transport shuttle." + circuit = /obj/item/circuitboard/computer/slaver_shuttle + icon_screen = "syndishuttle" + icon_keyboard = "syndie_key" + light_color = LIGHT_COLOR_RED + shuttleId = "slaver" + possible_destinations = "slaver_away;slaver_custom" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + +// /obj/machinery/computer/shuttle/slaver/ui_act(action, params) +// switch(action) +// if("move") +// var/obj/item/circuitboard/computer/slaver_shuttle/board = circuit +// board.moved = TRUE +// return ..() + +/obj/machinery/computer/shuttle/slaver/recall + name = "slaver shuttle recall terminal" + desc = "Use this if your friends left you behind." + possible_destinations = "slaver_away" + +/obj/machinery/computer/camera_advanced/shuttle_docker/slaver + name = "slaver shuttle navigation computer" + desc = "Used to designate a precise transit location for the slaver shuttle." + icon_screen = "syndishuttle" + icon_keyboard = "syndie_key" + shuttleId = "slaver" + lock_override = CAMERA_LOCK_STATION + shuttlePortId = "slaver_custom" + jumpto_ports = list("syndicate_ne" = 1, "syndicate_nw" = 1, "syndicate_n" = 1, "syndicate_se" = 1, "syndicate_sw" = 1, "syndicate_s" = 1) + view_range = 5.5 + x_offset = -7 + y_offset = -1 + space_turfs_only = FALSE + whitelist_turfs = list(/turf/open/space, /turf/open/floor/plating, /turf/open/lava, /turf/closed/mineral) + see_hidden = TRUE diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 8eb3b619a1..95a04717e9 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/sound/ambience/antag/slavers.ogg b/sound/ambience/antag/slavers.ogg new file mode 100644 index 0000000000..6556b70373 Binary files /dev/null and b/sound/ambience/antag/slavers.ogg differ diff --git a/tgstation.dme b/tgstation.dme index b0a25d6f09..4a74d0a856 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1233,6 +1233,7 @@ #include "code\game\objects\items\grenades\syndieminibomb.dm" #include "code\game\objects\items\implants\implant.dm" #include "code\game\objects\items\implants\implant_abductor.dm" +#include "code\game\objects\items\implants\implant_slaver.dm" #include "code\game\objects\items\implants\implant_chem.dm" #include "code\game\objects\items\implants\implant_clown.dm" #include "code\game\objects\items\implants\implant_deathrattle.dm" @@ -1779,7 +1780,10 @@ #include "code\modules\antagonists\slaughter\slaughter_antag.dm" #include "code\modules\antagonists\slaughter\slaughterevent.dm" #include "code\modules\antagonists\slaver\slaver.dm" +#include "code\modules\antagonists\slaver\equipment\orderable_gear.dm" +#include "code\modules\antagonists\slaver\equipment\slaver_items.dm" #include "code\modules\antagonists\slaver\equipment\slaver_outfits.dm" +#include "code\modules\antagonists\slaver\equipment\slaver_items.dm" #include "code\modules\antagonists\space_dragon\space_dragon.dm" #include "code\modules\antagonists\space_ninja\space_ninja.dm" #include "code\modules\antagonists\survivalist\survivalist.dm" @@ -3481,6 +3485,7 @@ #include "code\modules\shuttle\ripple.dm" #include "code\modules\shuttle\shuttle.dm" #include "code\modules\shuttle\shuttle_rotate.dm" +#include "code\modules\shuttle\slaver.dm" #include "code\modules\shuttle\snaxi.dm" #include "code\modules\shuttle\spaceship_navigation_beacon.dm" #include "code\modules\shuttle\special.dm" diff --git a/tgui/packages/tgui/interfaces/CommunicationsConsole.js b/tgui/packages/tgui/interfaces/CommunicationsConsole.js index 6350c43d55..81af711cb5 100644 --- a/tgui/packages/tgui/interfaces/CommunicationsConsole.js +++ b/tgui/packages/tgui/interfaces/CommunicationsConsole.js @@ -1,7 +1,7 @@ import { sortBy } from "common/collections"; import { capitalize } from "common/string"; import { useBackend, useLocalState } from "../backend"; -import { Blink, Box, Button, Dimmer, Flex, Stack, Icon, Input, Modal, Section, TextArea, LabeledList } from "../components"; +import { Blink, Box, Button, Dimmer, Flex, Stack, Icon, Input, Modal, Section, TextArea, Table, Fragment } from "../components"; import { Window } from "../layouts"; import { sanitizeText } from "../sanitize"; @@ -317,7 +317,8 @@ export const PageMain = (props, context) => { shuttleCanEvacOrFailReason, shuttleLastCalled, shuttleRecallable, - availableSlaves, + cargocredits, + slaves, } = data; const [callingShuttle, setCallingShuttle] = useLocalState( @@ -473,54 +474,52 @@ export const PageMain = (props, context) => { - {availableSlaves && ( -
- - - John Smith - - -
-
- - {slaves.map(slave => ( - - - - {slave.name} - - - - {slave.degrees !== undefined && ( - - )} - {slave.dist !== undefined && ( - slave.dist + 'm' - )} -
-
- - {slaves.map(slave => ( - + + setTab(1)}> + Slave Management + + setTab(2)}> + Supplies + + + {tab === 1 && ( + + )} + {tab === 2 && ( + + )} - - {slave.name} - - - - {slave.degrees !== undefined && ( - - )} - {slave.dist !== undefined && ( - slave.dist + 'm' - )} - - - -
-
- -
- - {slaves.map(slave => ( - - - - {slave.name} - - - - {slave.degrees !== undefined && ( - - )} - {slave.dist !== undefined && ( - slave.dist + 'm' - )} - - - -
-
); }; + +const SlavePanel = (props, context) => { + const { slaves } = props; + const { act, data } = useBackend(context); + if (!slaves.length) { + return ( + + No slaves detected in hideout + + ); + } + return slaves.map(slave => { + return ( +
+
+ ); + }); +}; + +const SupplyPanel = (props, context) => { + const { credits } = props; + return ( + + {/*
+ Budget: 1234 credits +
*/} + +
+ Weh +
+
+ ); +};