Merge branch 'master' of https://github.com/tgstation/-tg-station.git into Moarbotany

This commit is contained in:
Firecage
2014-07-07 11:33:52 +02:00
34 changed files with 384 additions and 257 deletions
+27 -26
View File
@@ -65,7 +65,7 @@
"abm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
"abn" = (/obj/machinery/atmospherics/pipe/manifold{pipe_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"abo" = (/turf/simulated/floor/carpet,/area/security/hos)
"abp" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"abp" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"abq" = (/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space)
"abr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
"abs" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
@@ -103,11 +103,11 @@
"abY" = (/obj/structure/rack,/obj/item/weapon/shield/riot{pixel_x = -3; pixel_y = 3},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
"abZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
"aca" = (/obj/structure/closet/l3closet/security,/obj/machinery/camera{c_tag = "Brig Equipment Room"; dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/main)
"acb" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 7},/turf/simulated/floor,/area/security/main)
"acb" = (/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acc" = (/obj/machinery/light,/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/hos)
"ace" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/carpet,/area/security/hos)
"acf" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acf" = (/obj/machinery/light_switch{pixel_y = -23},/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acg" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"},/area/security/main)
"ach" = (/obj/machinery/camera{c_tag = "Security Office"; dir = 1; network = list("SS13")},/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"},/area/security/main)
"aci" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
@@ -122,7 +122,7 @@
"acr" = (/obj/machinery/power/apc{dir = 1; name = "Labor Shuttle Dock APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
"acs" = (/obj/machinery/vending/security,/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/main)
"act" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-y"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main)
"acu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"acu" = (/obj/structure/noticeboard{dir = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"acv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/hos)
"acw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/security/hos)
"acx" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor/carpet,/area/security/hos)
@@ -164,9 +164,9 @@
"adh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/hos)
"adi" = (/obj/machinery/door/airlock/glass_command{name = "Head of Security"; req_access_txt = "58"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/security/hos)
"adj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/hos)
"adk" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"adk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main)
"adl" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main)
"adm" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/main)
"adm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 7},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"adn" = (/obj/machinery/camera{c_tag = "Security Escape Pod"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ado" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/escape_pod3/station)
"adp" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod3/station)
@@ -198,11 +198,11 @@
"adP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig)
"adQ" = (/turf/simulated/floor,/area/security/main)
"adR" = (/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main)
"adT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adU" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"adT" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adU" = (/obj/machinery/atmospherics/pipe/manifold{pipe_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/effect/landmark{name = "secequipment"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/machinery/recharger,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/main)
"adW" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/security/main)
"adW" = (/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"adX" = (/obj/machinery/door/airlock/external{name = "Security Escape Pod"; req_access_txt = "63"},/turf/simulated/floor/plating,/area/security/main)
"adY" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"adZ" = (/obj/machinery/door/airlock/shuttle{name = "Escape Pod Airlock"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
@@ -218,16 +218,16 @@
"aej" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
"aek" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/security/prison)
"ael" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/security/prison)
"aem" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"aem" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main)
"aen" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/start{name = "Security Officer"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/security/main)
"aeo" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/razor{pixel_x = -6},/obj/item/stack/medical/ointment{pixel_y = 4},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 5; pixel_y = -2},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/security/prison)
"aep" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"aep" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"aeq" = (/obj/structure/closet/secure_closet/brig{anchored = 1},/turf/simulated/floor{icon_state = "red"},/area/security/prison)
"aer" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/prison)
"aes" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/prison)
"aet" = (/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/processing)
"aeu" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
"aev" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/main)
"aev" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"aew" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
"aex" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
"aey" = (/obj/structure/table/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/window/brigdoor{dir = 1; name = "Armory Desk"; req_access_txt = "3"},/obj/machinery/door/window/southleft{name = "Reception Desk"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/warden)
@@ -241,7 +241,7 @@
"aeG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/warden)
"aeH" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/assembly/timer,/turf/simulated/floor,/area/security/main)
"aeI" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor,/area/security/main)
"aeJ" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"aeJ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"aeK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/main)
"aeL" = (/obj/structure/sign/pods{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/security/main)
"aeM" = (/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
@@ -277,7 +277,7 @@
"afq" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"afr" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/brig)
"afs" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/hallway/secondary/exit)
"aft" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor{icon_state = "red"},/area/security/main)
"aft" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/main)
"afu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig)
"afv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig)
"afw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/warden)
@@ -466,7 +466,7 @@
"aiX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig)
"aiY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig)
"aiZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_timer/cell_4,/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig)
"aja" = (/obj/structure/noticeboard{dir = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/main)
"aja" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/security/main)
"ajb" = (/turf/simulated/floor,/area/security/brig)
"ajc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig)
"ajd" = (/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/courtroom)
@@ -492,8 +492,8 @@
"ajx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/brig)
"ajy" = (/obj/machinery/door/airlock/glass_security{id_tag = "innerbrig"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig)
"ajz" = (/obj/machinery/door/airlock/glass_security{id_tag = "innerbrig"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig)
"ajA" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"ajB" = (/obj/machinery/atmospherics/pipe/manifold{pipe_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
"ajA" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
"ajB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/main)
"ajC" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/security/prison)
"ajD" = (/obj/structure/stool/bed/chair{dir = 4; name = "Prosecution"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/crew_quarters/courtroom)
"ajE" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/courtroom)
@@ -8838,6 +8838,7 @@
"dnX" = (/turf/simulated/wall/r_wall,/area/mine/explored)
"dnY" = (/turf/simulated/wall/r_wall,/area/mine/production)
"dnZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/mine/production)
"doa" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/turf/simulated/floor,/area/security/main)
"dob" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/production)
"doc" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
"dod" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
@@ -9237,13 +9238,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaafaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdpmdoLdpfdoLabddpiaaiabsaaqabtabfabuaaqabvabhabwaaKabxabdabyaaiabzabzabzabzabzabzabzabzabzabAabBaeKafmabDabodoJdoIabEagpaaNaaaaafabIabJabIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRaaaaaaaafaafaafaaaaaaabraafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafabKaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafdpmdoTdoRdoSagjdpnaaiabLaaqabMabNabOaaqabPabhabQaaKabPabdabRaaiabSabTabVabVabWabXabYdoOabzacaabBaeKafmacdaceabodoPabodoUaaNaafaafabIaciabIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafackaafacjacjacjacjacjaafaaGaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHaaGaaGaaaaaaaaaaclaaaaaaaaaaaGaaGaaHaaHaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlabddowdoxdosdoydozaaiabhacmabdabfabhacnabfabhabhacoabfabdabdaaiabSacpacqacqacqacqdoCdoAabzacsabBaeKafmaaNdoBacvacwacxacyaaNafOabkacBabJabIabIacCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacDacEacEacEacEacFacGacHacIacIacIacIacJaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaafaafaaaaaaaaaaclaafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahldoMdoKdoDdoHacPacMacNdpaacPacQacRacSacPacTacUacVacWaaiacXacYdoEdoFadbdoGdoQdoZbYgabBadfadgabkaaNadhaaNadiaaNadjaaNadQadmabkadnadoadpadpadqaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadradradradradraafacGaafadradradradradraafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafadtaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahlaKubRDcdladzamJadwaliadBadzadAadBadzadzadCajwadEadFaaiadGamfadIadJadJadKalbakZalaajQaksadVabkadSadTadUadRaemaepadUaevadWadXadYadZaeaaohaecaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaafacGaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaedaeeaeeaeeaeeaefaegaehaeiaeiaeiaeiaejaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlaaaahlahlahlahldoraaiaaiaaiaaidoidoudotdbydbjaeodaZaeqaeqaeqabdaeraesaaiaoiaeudbaaewaexbEBcuwaeAabzaeBchVaeDabkcuGaeHadQcuUaeEaeIdovaeJaeLabkaeMaeNadpadpaeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafacGaafacjacjacjacjacjaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaePaePaePaePaePaafaegaafaePaePaePaePaePaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiabdafaabdaeSaeSaeSaeSaeSaeSaeSaeTaeUaeVafhaeXaeYaeZagdafbagkafdaeVafeagoajBajAaeWafjadQadlaeEafkaeFadkabkacBabIabIabIacCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacDacEacEacEacEacFacGacHacIacIacIacIacJaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaafaegaaaaaaaaaaafaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiadHaekaelaeSafnafoafpafqafoaeSafuafvafwagMafxafyafcahmafBafMafXafNagbagaafHafIaenaczafIacAadyadxadvacuafPafQafRafSabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadradradradradraafacGaafadradradradradraafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafaegaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaaiadaaaDafKaeSafTafUafVafWafoaeSafuafLagGagHagiageagfaggaghafEagMafDafGafFagmagnacKagnagnactagraccagsagtabkabkadYaguabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaaaacGaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaedaeeaeeaeeaeeaefaegaehaeiaeiaeiaeiaejaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaiabFaaDadOagAabnagwagxagyagzagAadPaeCafwafCagcafiaflagKabGaeGagNaeQagPahsajaaftacfagUachacgacbabpagZahaahbahcahdaheahfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafacGaafacjacjacjacjacjaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaafaafaaaaaaaaaaclaafaafaaaaafaafaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahldoMdoKdoDdoHacPacMacNdpaacPacQacRacSacPacTacUacVacWaaiacXacYdoEdoFadbdoGdoQdoZbYgabBadfadgabkaaNadhaaNadiaaNadjaaNdoaajBabkadnadoadpadpadqaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadradradradradraafacGaafadradradradradraafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafadtaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlahlahlahlahlahlahlaKubRDcdladzamJadwaliadBadzadAadBadzadzadCajwadEadFaaiadGamfadIadJadJadKalbakZalaajQaksadVabkaemaepadWadRaevaeJadWaftajaadXadYadZaeaaohaecaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaafacGaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaedaeeaeeaeeaeeaefaegaehaeiaeiaeiaeiaejaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahlaaaahlahlahlahldoraaiaaiaaiaaidoidoudotdbydbjaeodaZaeqaeqaeqabdaeraesaaiaoiaeudbaaewaexbEBcuwaeAabzaeBchVaeDabkcuGaeHadQcuUaeEaeIdovajAaeLabkaeMaeNadpadpaeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafacGaafacjacjacjacjacjaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaePaePaePaePaePaafaegaafaePaePaePaePaePaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiabdafaabdaeSaeSaeSaeSaeSaeSaeSaeTaeUaeVafhaeXaeYaeZagdafbagkafdaeVafeagoadUadTaeWafjadQadlaeEafkaeFadSabkacBabIabIabIacCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacDacEacEacEacEacFacGacHacIacIacIacIacJaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaafaegaaaaaaaaaaafaaaaaaaaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiadHaekaelaeSafnafoafpafqafoaeSafuafvafwagMafxafyafcahmafBafMafXafNagbagaafHafIaenaczafIacAadyadxadvadmafPafQafRafSabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadradradradradraafacGaafadradradradradraafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafaegaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaaiadaaaDafKaeSafTafUafVafWafoaeSafuafLagGagHagiageagfaggaghafEagMafDafGafFagmagnacKagnagnactagradkagsagtabkabkadYaguabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaaaacGaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaedaeeaeeaeeaeeaefaegaehaeiaeiaeiaeiaejaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaiabFaaDadOagAabnagwagxagyagzagAadPaeCafwafCagcafiaflagKabGaeGagNaeQagPahsacuacfaccacbachacgagUabpagZahaahbahcahdaheahfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafacjacjacjacjacjaafacGaafacjacjacjacjacjaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafaePaePaePaePaePaafaegaafaePaePaePaePaePaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaaaaaaaaiadLadMadNaeSahgahhahhahhahhahiadDagFaeVafAaezaeyahpahqaduafzaeVaeVacBagRahtacBacBabkabkabkabkabkabkabkabkahuahvahwahxaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaafacDacEacEacEacEacFacGacHacIacIacIacIacJaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaaaaaaaafaaaaaaaaaaegaaaaaaaaaaafaaaaaaaaaaaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafahyahyakWahyadcaeRaddaeSaeSaeSaeSaeSaeSahzaeSahFahGahDahDahDahDahDahHahIahDahJahKahLagQahIagFaeRahMahNahOaawahQahRahSahTahUahVahWahXaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaadradradradradraafacGaafadradradradradraaaaaRaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaafadsadsadsadsadsaafaegaafadsadsadsadsadsaafaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaahYahZahZahZaiaaaaaafahyabbabaacOacZaeRacLacraigahDabZabmabHailaimainaioaipaipaipaioaipaiqairaipairaipaipaglairaisaitaiuaivaiwaixaiyaizaiAaiBahuahvahwabIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaaafaaaaafaafaaaaaaacGaaaaaaaafaaaaaaaafaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+1
View File
@@ -37,6 +37,7 @@ var/list/tdomeadmin = list()
var/list/prisonsecuritywarp = list() //prison security goes to these
var/list/prisonwarped = list() //list of players already warped
var/list/blobstart = list()
var/list/secequipment = list()
var/list/global_activeturfs
//away missions
+17
View File
@@ -89,6 +89,23 @@
#define ui_alien_health "EAST-1:28,CENTER-1:15" //aliens have the health display where humans have the pressure damage indicator.
#define ui_alienplasmadisplay "EAST-1:28,CENTER-2:15"
// AI
#define ui_ai_core "SOUTH:6,WEST:16"
#define ui_ai_camera_list "SOUTH:6,WEST+1:16"
#define ui_ai_track_with_camera "SOUTH:6,WEST+2:16"
#define ui_ai_camera_light "SOUTH:6,WEST+3:16"
#define ui_ai_crew_monitor "SOUTH:6,WEST+4:16"
#define ui_ai_crew_manifest "SOUTH:6,WEST+5:16"
#define ui_ai_alerts "SOUTH:6,WEST+6:16"
#define ui_ai_announcement "SOUTH:6,WEST+7:16"
#define ui_ai_shuttle "SOUTH:6,WEST+8:16"
#define ui_ai_state_laws "SOUTH:6,WEST+9:16"
#define ui_ai_pda_send "SOUTH:6,WEST+10:16"
#define ui_ai_pda_log "SOUTH:6,WEST+11:16"
#define ui_ai_take_picture "SOUTH:6,WEST+12:16"
#define ui_ai_view_images "SOUTH:6,WEST+13:16"
//Pop-up inventory
#define ui_shoes "WEST+1:8,SOUTH:5"
+135
View File
@@ -0,0 +1,135 @@
/datum/hud/proc/ai_hud()
adding = list()
other = list()
var/obj/screen/using
//AI core
using = new /obj/screen()
using.name = "AI Core"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "ai_core"
using.screen_loc = ui_ai_core
using.layer = 20
adding += using
//Camera list
using = new /obj/screen()
using.name = "Show Camera List"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "camera"
using.screen_loc = ui_ai_camera_list
using.layer = 20
adding += using
//Track
using = new /obj/screen()
using.name = "Track With Camera"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "track"
using.screen_loc = ui_ai_track_with_camera
using.layer = 20
adding += using
//Camera light
using = new /obj/screen()
using.name = "Toggle Camera Light"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "camera_light"
using.screen_loc = ui_ai_camera_light
using.layer = 20
adding += using
//Crew Monitorting
using = new /obj/screen()
using.name = "Crew Monitorting"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "crew_monitor"
using.screen_loc = ui_ai_crew_monitor
using.layer = 20
adding += using
//Crew Manifest
using = new /obj/screen()
using.name = "Show Crew Manifest"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "manifest"
using.screen_loc = ui_ai_crew_manifest
using.layer = 20
adding += using
//Alerts
using = new /obj/screen()
using.name = "Show Alerts"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "alerts"
using.screen_loc = ui_ai_alerts
using.layer = 20
adding += using
//Announcement
using = new /obj/screen()
using.name = "Announcement"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "announcement"
using.screen_loc = ui_ai_announcement
using.layer = 20
adding += using
//Shuttle
using = new /obj/screen()
using.name = "Call Emergency Shuttle"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "call_shuttle"
using.screen_loc = ui_ai_shuttle
using.layer = 20
adding += using
//Laws
using = new /obj/screen()
using.name = "State Laws"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "state_laws"
using.screen_loc = ui_ai_state_laws
using.layer = 20
adding += using
//PDA message
using = new /obj/screen()
using.name = "PDA - Send Message"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "pda_send"
using.screen_loc = ui_ai_pda_send
using.layer = 20
adding += using
//PDA log
using = new /obj/screen()
using.name = "PDA - Show Message Log"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "pda_receive"
using.screen_loc = ui_ai_pda_log
using.layer = 20
adding += using
//Take image
using = new /obj/screen()
using.name = "Take Image"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "take_picture"
using.screen_loc = ui_ai_take_picture
using.layer = 20
adding += using
//View images
using = new /obj/screen()
using.name = "View Images"
using.icon = 'icons/mob/screen_ai.dmi'
using.icon_state = "view_images"
using.screen_loc = ui_ai_view_images
using.layer = 20
adding += using
mymob.client.screen += adding + other
return
-3
View File
@@ -13,9 +13,6 @@
mymob.blind.screen_loc = "CENTER-7,CENTER-7"
mymob.blind.layer = 0
/datum/hud/proc/ai_hud()
return
/datum/hud/proc/blob_hud(ui_style = 'icons/mob/screen_midnight.dmi')
blobpwrdisplay = new /obj/screen()
+72
View File
@@ -290,6 +290,78 @@
if(istype(usr, /mob/living/silicon/robot))
usr:toggle_module(3)
if("AI Core")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.view_core()
if("Show Camera List")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
var/camera = input(AI) in AI.get_camera_list()
AI.ai_camera_list(camera)
if("Track With Camera")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
var/target_name = input(AI) in AI.trackable_mobs()
AI.ai_camera_track(target_name)
if("Toggle Camera Light")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.toggle_camera_light()
if("Crew Monitorting")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
crewmonitor(AI)
if("Show Crew Manifest")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.ai_roster()
if("Show Alerts")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.ai_alerts()
if("Announcement")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.announcement()
if("Call Emergency Shuttle")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.ai_call_shuttle()
if("State Laws")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.checklaws()
if("PDA - Send Message")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.cmd_send_pdamesg(usr)
if("PDA - Show Message Log")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.cmd_show_message_log(usr)
if("Take Image")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.aicamera.toggle_camera_mode()
if("View Images")
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
AI.aicamera.viewpictures()
else
return 0
return 1
+7 -1
View File
@@ -54,7 +54,8 @@
var/server
var/banappeals
var/wikiurl = "http://www.tgstation13.org/wiki" // Default wiki link.
var/forumurl
var/forumurl = "http://tgstation13.org/phpBB/index.php" //default forums
var/rulesurl = "http://www.tgstation13.org/wiki/Rules" // default rules
var/forbid_singulo_possession = 0
var/useircbot = 0
@@ -76,6 +77,7 @@
var/traitor_scaling_coeff = 6 //how much does the amount of players get divided by to determine traitors
var/changeling_scaling_coeff = 7 //how much does the amount of players get divided by to determine changelings
var/security_scaling_coeff = 8 //how much does the amount of players get divided by to determine open security officer positions
var/traitor_objectives_amount = 2
var/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other
@@ -243,6 +245,8 @@
config.wikiurl = value
if("forumurl")
config.forumurl = value
if("rulesurl")
config.rulesurl = value
if("guest_jobban")
config.guest_jobban = 1
if("guest_ban")
@@ -346,6 +350,8 @@
config.traitor_scaling_coeff = text2num(value)
if("changeling_scaling_coeff")
config.changeling_scaling_coeff = text2num(value)
if("security_scaling_coeff")
config.security_scaling_coeff = text2num(value)
if("traitor_objectives_amount")
config.traitor_objectives_amount = text2num(value)
if("probability")
+3
View File
@@ -250,7 +250,10 @@
text += "<br>"
text += "<br><b>The code phrases were:</b> <font color='red'>[syndicate_code_phrase]</font><br>\
<b>The code responses were:</b> <font color='red'>[syndicate_code_response]</font><br>"
world << text
return 1
+2 -2
View File
@@ -152,8 +152,8 @@ Security Officer
department_head = list("Head of Security")
department_flag = ENGSEC
faction = "Station"
total_positions = 5
spawn_positions = 5
total_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
spawn_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
supervisors = "the head of security, and the head of your assigned department (if applicable)"
selection_color = "#ffeeee"
minimal_player_age = 7
+22 -1
View File
@@ -113,7 +113,7 @@ var/global/datum/controller/occupations/job_master
return
//This proc is called before the level loop of DivideOccupations() and will try to select a head, ignoring ALL non-head preferences for every level until´
//This proc is called before the level loop of DivideOccupations() and will try to select a head, ignoring ALL non-head preferences for every level until
//it locates a head or runs out of levels to check
//This is basically to ensure that there's atleast a few heads in the round
/datum/controller/occupations/proc/FillHeadPosition()
@@ -189,6 +189,9 @@ var/global/datum/controller/occupations/job_master
Debug("DO, Len: [unassigned.len]")
if(unassigned.len == 0) return 0
//Scale number of open security officer slots to population
setup_officer_positions()
//Shuffle players and jobs
unassigned = shuffle(unassigned)
@@ -308,6 +311,24 @@ var/global/datum/controller/occupations/job_master
return 1
/datum/controller/occupations/proc/setup_officer_positions()
var/officer_positions = 5 //Number of open security officer positions at round start
if(config.security_scaling_coeff > 0)
officer_positions = min(12, max(5, (unassigned.len/config.security_scaling_coeff))) //Scale between 5 and 12 officers
var/datum/job/J = job_master.GetJob("Security Officer")
if(J || J.spawn_positions > 0)
Debug("Setting open security officer positions to [officer_positions]")
J.total_positions = officer_positions
J.spawn_positions = officer_positions
for(var/i=officer_positions-5, i>0, i--) //Spawn some extra eqipment lockers if we have more than 5 officers
if(secequipment.len)
var/spawnloc = secequipment[1]
new /obj/structure/closet/secure_closet/security(spawnloc)
secequipment -= spawnloc
else //We ran out of spare locker spawns!
break
/datum/controller/occupations/proc/LoadJobs(jobsfile) //ran during round setup, reads info from jobs.txt -- Urist
if(!config.load_jobs_from_txt)
return 0
+1 -1
View File
@@ -80,7 +80,7 @@
if(!locked)
open = !open
user << "<span class='notice'>Maintenance panel is now [src.open ? "opened" : "closed"].</span>"
else if(istype(W, /obj/item/weapon/weldingtool))
else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != "harm")
if(health < maxhealth)
if(open)
health = min(maxhealth, health+10)
+3 -1
View File
@@ -206,7 +206,9 @@ Auto Patrol: []"},
user << "\red Access denied."
else
..()
if(!istype(W, /obj/item/weapon/screwdriver) && !istype(W, /obj/item/weapon/weldingtool) && (W.force) && (!src.target)) // Added check for welding tool to fix #2432. Welding tool behavior is handled in superclass.
if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != "harm") // Any intent but harm will heal, so we shouldn't get angry.
return
if(!istype(W, /obj/item/weapon/screwdriver) && (W.force) && (!src.target) ) // Added check for welding tool to fix #2432. Welding tool behavior is handled in superclass.
threatlevel = user.assess_threat(src)
threatlevel += 6
if(threatlevel > 0)
-7
View File
@@ -22,9 +22,6 @@
/mob/living/silicon/ai/proc/ai_camera_list(var/camera in get_camera_list())
set category = "AI Commands"
set name = "Show Camera List"
if(src.stat == 2)
src << "You can't list the cameras because you are dead!"
return
@@ -101,10 +98,6 @@
return targets
/mob/living/silicon/ai/proc/ai_camera_track(var/target_name in trackable_mobs())
set category = "AI Commands"
set name = "Track With Camera"
set desc = "Select who you would like to track."
if(src.stat == 2)
src << "You can't track with camera because you are dead!"
return
+4 -1
View File
@@ -55,7 +55,10 @@
blobstart += loc
qdel(src)
return
if("secequipment")
secequipment += loc
qdel(src)
return
if("xeno_spawn")
xeno_spawn += loc
qdel(src)
+10 -14
View File
@@ -972,19 +972,17 @@ var/global/list/obj/item/device/pda/PDAs = list()
//AI verb and proc for sending PDA messages.
/mob/living/silicon/ai/verb/cmd_send_pdamesg()
set category = "AI Commands"
set name = "PDA - Send Message"
/mob/living/silicon/ai/proc/cmd_send_pdamesg(mob/user as mob)
var/list/names = list()
var/list/plist = list()
var/list/namecounts = list()
if(usr.stat == 2)
usr << "You can't send PDA messages because you are dead!"
if(user.stat == 2)
user << "You can't send PDA messages because you are dead!"
return
if(src.aiPDA.toff)
usr << "Turn on your receiver in order to send messages."
user << "Turn on your receiver in order to send messages."
return
for (var/obj/item/device/pda/P in get_viewable_pdas())
@@ -1003,7 +1001,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
plist[text("[name]")] = P
var/c = input(usr, "Please select a PDA") as null|anything in sortList(plist)
var/c = input(user, "Please select a PDA") as null|anything in sortList(plist)
if (!c)
return
@@ -1037,17 +1035,15 @@ var/global/list/obj/item/device/pda/PDAs = list()
else
usr << "You do not have a PDA. You should make an issue report about this."
/mob/living/silicon/ai/verb/cmd_show_message_log()
set category = "AI Commands"
set name = "PDA - Show Message Log"
if(usr.stat == 2)
usr << "You can't do that because you are dead!"
/mob/living/silicon/ai/proc/cmd_show_message_log(mob/user as mob)
if(user.stat == 2)
user << "You can't do that because you are dead!"
return
if(!isnull(aiPDA))
var/HTML = "<html><head><title>AI PDA Message Log</title></head><body>[aiPDA.tnote]</body></html>"
usr << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0")
user << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0")
else
usr << "You do not have a PDA. You should make an issue report about this."
user << "You do not have a PDA. You should make an issue report about this."
//Some spare PDAs in a box
/obj/item/weapon/storage/box/PDAs
+1 -1
View File
@@ -171,7 +171,7 @@
var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting))
if(affecting.status == ORGAN_ROBOTIC)
if(affecting.status == ORGAN_ROBOTIC && user.a_intent != "harm")
if(src.remove_fuel(0))
item_heal_robotic(H, user, 30, 0)
return
@@ -8,7 +8,7 @@
src.verbs -= /atom/movable/verb/pull
..()
spawn(3) //sorry. i don't think there's a better way to do this.
handle_rotation()
handle_layer()
return
/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -33,22 +33,27 @@
rotate()
return
/obj/structure/stool/bed/chair/proc/handle_rotation() //making this into a seperate proc so office chairs can call it on Move()
if(src.dir == NORTH)
/obj/structure/stool/bed/chair/proc/handle_rotation(direction) //making this into a seperate proc so office chairs can call it on Move()
if(buckled_mob)
buckled_mob.buckled = null //Temporary, so Move() succeeds.
if(!buckled_mob.Move(direction))
buckled_mob.buckled = src
dir = buckled_mob.dir
return 0
buckled_mob.buckled = src //Restoring
return 1
/obj/structure/stool/bed/chair/proc/handle_layer()
if(dir == NORTH)
src.layer = FLY_LAYER
else
src.layer = OBJ_LAYER
/obj/structure/stool/bed/chair/proc/spin()
src.dir = turn(src.dir, 90)
handle_layer()
if(buckled_mob)
if(buckled_mob.loc != src.loc)
buckled_mob.buckled = null //Temporary, so Move() succeeds.
if(!buckled_mob.Move(loc))
unbuckle()
buckled_mob = null
else
buckled_mob.buckled = src //Restoring
if(buckled_mob)
buckled_mob.dir = dir
buckled_mob.dir = dir
/obj/structure/stool/bed/chair/verb/rotate()
set name = "Rotate Chair"
@@ -56,18 +61,13 @@
set src in oview(1)
if(config.ghost_interaction)
src.dir = turn(src.dir, 90)
handle_rotation()
return
spin()
else
if(!usr || !isturf(usr.loc))
return
if(usr.stat || usr.restrained())
return
src.dir = turn(src.dir, 90)
handle_rotation()
return
spin()
/obj/structure/stool/bed/chair/MouseDrop_T(mob/M as mob, mob/user as mob)
if(!istype(M)) return
@@ -130,9 +130,10 @@
/obj/structure/stool/bed/chair/office
anchored = 0
/obj/structure/stool/bed/chair/office/Move()
..()
handle_rotation()
/obj/structure/stool/bed/chair/office/Move(direction)
if(handle_rotation(direction))
..()
handle_layer()
/obj/structure/stool/bed/chair/office/light
icon_state = "officechair_white"
+2 -5
View File
@@ -1,14 +1,11 @@
/obj/item/clothing/glasses/meson
name = "Optical Meson Scanner"
desc = "Used for seeing walls, floors, and stuff through anything."
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
icon_state = "meson"
item_state = "glasses"
origin_tech = "magnets=2;engineering=2"
darkness_view = 1
vision_flags = SEE_TURFS
/obj/item/clothing/glasses/meson/advanced
name = "Advanced Optical Meson Scanner"
desc = "More powerful than your standard mesons, these ones make everything appear to be lit extremely brightly."
invis_view = SEE_INVISIBLE_MINIMUM
/obj/item/clothing/glasses/science
+10 -10
View File
@@ -160,18 +160,18 @@
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 100),
new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 150),
new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 150),
new /datum/data/mining_equipment("Stimulant pills", /obj/item/weapon/storage/pill_bottle/stimulant, 350),
new /datum/data/mining_equipment("Alien toy", /obj/item/clothing/mask/facehugger/toy, 250),
new /datum/data/mining_equipment("Laser pointer", /obj/item/device/laser_pointer, 500),
new /datum/data/mining_equipment("Point card", /obj/item/weapon/card/mining_point_card, 500),
new /datum/data/mining_equipment("Lazarus injector", /obj/item/weapon/lazarus_injector, 1000),
new /datum/data/mining_equipment("Space cash", /obj/item/weapon/spacecash/c1000, 5000),
new /datum/data/mining_equipment("Sonic jackhammer", /obj/item/weapon/pickaxe/jackhammer, 500),
new /datum/data/mining_equipment("Mining drone", /mob/living/simple_animal/hostile/mining_drone/, 500),
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 200),
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 500),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 500),
new /datum/data/mining_equipment("Stimulant Pills", /obj/item/weapon/storage/pill_bottle/stimulant, 350),
new /datum/data/mining_equipment("Sonic Jackhammer", /obj/item/weapon/pickaxe/jackhammer, 500),
new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone/, 500),
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 750),
new /datum/data/mining_equipment("Kinetic accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 1000),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 1000),
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 2000),
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 200),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
new /datum/data/mining_equipment("Point Card", /obj/item/weapon/card/mining_point_card, 500),
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 5000),
)
/datum/data/mining_equipment/
+10 -8
View File
@@ -72,8 +72,8 @@
/turf/simulated/mineral/random
name = "Mineral deposit"
icon_state = "rock"
var/mineralSpawnChanceList = list("Uranium" = 1, "Diamond" = 1, "Gold" = 1, "Silver" = 1, "Plasma" = 1, "Iron" = 50, "Gibtonite" = 4/*, "Adamantine" =5*/, "Cave" = 2)//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 10 //means 10% chance of this plot changing to a mineral deposit
var/mineralSpawnChanceList = list("Uranium" = 18, "Diamond" = 3, "Gold" = 12, "Silver" = 16, "Plasma" = 25, "Iron" = 40, "Gibtonite" = 2/*, "Adamantine" =5*/, "Cave" = 2)//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 16
/turf/simulated/mineral/random/New()
..()
@@ -99,6 +99,8 @@
new/turf/simulated/floor/plating/asteroid/airless/cave(src)
if("Gibtonite")
M = new/turf/simulated/mineral/gibtonite(src)
if("Clown")
M = new/turf/simulated/mineral/clown(src)
/*if("Adamantine")
M = new/turf/simulated/mineral/adamantine(src)*/
if(M)
@@ -109,7 +111,7 @@
/turf/simulated/mineral/random/high_chance
icon_state = "rock_highchance"
mineralChance = 25
mineralSpawnChanceList = list("Uranium" = 35, "Diamond" = 10, "Gold" = 35, "Silver" = 35, "Plasma" = 35, "Iron" = 50)
mineralSpawnChanceList = list("Uranium" = 35, "Diamond" = 30, "Gold" = 45, "Silver" = 50, "Plasma" = 30)
/turf/simulated/mineral/random/high_chance/New()
icon_state = "rock"
@@ -117,8 +119,8 @@
/turf/simulated/mineral/random/low_chance
icon_state = "rock_lowchance"
mineralChance = 5
mineralSpawnChanceList = list("Uranium" = 1, "Diamond" = 1, "Gold" = 1, "Silver" = 1, "Plasma" = 1, "Iron" = 50, "Gibtonite" = 4)
mineralChance = 8
mineralSpawnChanceList = list("Uranium" = 8, "Diamond" = 2, "Gold" = 4, "Silver" = 6, "Plasma" = 20, "Iron" = 40, "Gibtonite" = 1)
/turf/simulated/mineral/random/low_chance/New()
icon_state = "rock"
@@ -168,7 +170,7 @@
name = "Plasma deposit"
icon_state = "rock_Plasma"
mineralName = "Plasma"
spreadChance = 5
spreadChance = 8
spread = 1
hidden = 1
scan_state = "rock_Plasma"
@@ -353,7 +355,7 @@
if(prob(30))
if(istype(loc, /area/mine/explored))
return
for(var/atom/A in range(15,T))//Lowers chance of mob clumps
for(var/atom/A in range(20,T))//Lowers chance of mob clumps
if(istype(A, /mob/living/simple_animal/hostile/asteroid))
return
var/randumb = pickweight(mob_spawn_list)
@@ -613,4 +615,4 @@
else if(istype(R.module_state_3,/obj/item/weapon/storage/bag/ore))
src.attackby(R.module_state_3,R)
else
return
return
+6 -30
View File
@@ -90,8 +90,7 @@ var/list/ai_list = list()
aicamera = new/obj/item/device/camera/ai_camera(src)
if (istype(loc, /turf))
verbs.Add(/mob/living/silicon/ai/proc/ai_call_shuttle,/mob/living/silicon/ai/proc/ai_camera_track, \
/mob/living/silicon/ai/proc/ai_camera_list, /mob/living/silicon/ai/proc/ai_network_change, \
verbs.Add(/mob/living/silicon/ai/proc/ai_network_change, \
/mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, \
/mob/living/silicon/ai/proc/toggle_camera_light)
@@ -182,9 +181,6 @@ var/list/ai_list = list()
stat(null, text("Systems nonfunctional"))
/mob/living/silicon/ai/proc/ai_alerts()
set category = "AI Commands"
set name = "Show Alerts"
var/dat = "<HEAD><TITLE>Current Station Alerts</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n"
dat += "<A HREF='?src=\ref[src];mach_close=aialerts'>Close</A><BR><BR>"
for (var/cat in alarms)
@@ -218,8 +214,6 @@ var/list/ai_list = list()
src << browse(dat, "window=aialerts&can_close=0")
/mob/living/silicon/ai/proc/ai_roster()
set category = "AI Commands"
set name = "Show Crew Manifest"
var/dat = "<html><head><title>Crew Roster</title></head><body><b>Crew Roster:</b><br><br>"
for(var/datum/data/record/t in sortRecord(data_core.general))
@@ -229,13 +223,7 @@ var/list/ai_list = list()
src << browse(dat, "window=airoster")
onclose(src, "airoster")
/mob/living/silicon/ai/verb/ai_crew()
set category = "AI Commands"
set name = "Crew Monitoring Console"
crewmonitor(src)
/mob/living/silicon/ai/proc/ai_call_shuttle()
set category = "AI Commands"
set name = "Call Emergency Shuttle"
if(src.stat == 2)
src << "You can't call the shuttle because you are dead!"
return
@@ -258,6 +246,9 @@ var/list/ai_list = list()
return
/mob/living/silicon/ai/cancel_camera()
src.view_core()
/mob/living/silicon/ai/verb/toggle_anchor()
set category = "AI Commands"
set name = "Toggle Floor Bolts"
@@ -515,14 +506,6 @@ var/list/ai_list = list()
if (viewalerts) ai_alerts()
return !cleared
/mob/living/silicon/ai/cancel_camera()
set category = "AI Commands"
set name = "Cancel Camera View"
//src.cameraFollow = null
src.view_core()
//Replaces /mob/living/silicon/ai/verb/change_network() in ai.dm & camera.dm
//Adds in /mob/living/silicon/ai/proc/ai_network_change() instead
//Addition by Mord_Sith to define AI's network change ability
@@ -650,9 +633,8 @@ var/list/ai_list = list()
//Toggles the luminosity and applies it by re-entereing the camera.
/mob/living/silicon/ai/proc/toggle_camera_light()
set name = "Toggle Camera Light"
set desc = "Toggles the light on the camera the AI is looking through."
set category = "AI Commands"
if(stat != CONSCIOUS)
return
camera_light_on = !camera_light_on
src << "Camera lights [camera_light_on ? "activated" : "deactivated"]."
@@ -687,9 +669,3 @@ var/list/ai_list = list()
src.current = camera
src.current.SetLuminosity(AI_CAMERA_LUMINOSITY)
camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds.
/mob/living/silicon/ai/verb/outputlaws()
set category = "AI Commands"
set name = "State Laws"
checklaws()
@@ -61,7 +61,8 @@
var/mob/living/silicon/ai/AI = usr
if(AI.eyeobj && AI.client.eye == AI.eyeobj)
AI.cameraFollow = null
AI.eyeobj.setLoc(src)
if (isturf(src.loc) || isturf(src))
AI.eyeobj.setLoc(src)
// This will move the AIEye. It will also cause lights near the eye to light up, if toggled.
// This is handled in the proc below this one.
@@ -92,14 +93,6 @@
// Return to the Core.
/mob/living/silicon/ai/verb/core()
set category = "AI Commands"
set name = "AI Core"
view_core()
/mob/living/silicon/ai/proc/view_core()
current = null
+1 -6
View File
@@ -63,12 +63,7 @@ var/const/VOX_DELAY = 600
popup.open()
/mob/living/silicon/ai/verb/announcement()
set name = "Announcement"
set desc = "Create a vocal announcement by typing in the available words to create a sentence."
set category = "AI Commands"
/mob/living/silicon/ai/proc/announcement()
if(announcing_vox > world.time)
src << "<span class='notice'>Please wait [round((announcing_vox - world.time) / 10)] seconds.</span>"
return
@@ -395,7 +395,7 @@
if (istype(W, /obj/item/weapon/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do
return
if (istype(W, /obj/item/weapon/weldingtool))
if (istype(W, /obj/item/weapon/weldingtool) && user.a_intent != "harm")
var/obj/item/weapon/weldingtool/WT = W
if (src == user)
user << "<span class='warning'>You lack the reach to be able to repair yourself.</span>"
-5
View File
@@ -255,13 +255,8 @@
O.show_laws()
O << "<b>These laws may be changed by other players, or by you being the traitor.</b>"
O.verbs += /mob/living/silicon/ai/proc/ai_call_shuttle
O.verbs += /mob/living/silicon/ai/proc/show_laws_verb
O.verbs += /mob/living/silicon/ai/proc/ai_camera_track
O.verbs += /mob/living/silicon/ai/proc/ai_alerts
O.verbs += /mob/living/silicon/ai/proc/ai_camera_list
O.verbs += /mob/living/silicon/ai/proc/ai_statuschange
O.verbs += /mob/living/silicon/ai/proc/ai_roster
O.job = "AI"
-15
View File
@@ -113,21 +113,6 @@
name = "AI photo camera"
var/in_camera_mode = 0
verb/picture()
set category ="AI Commands"
set name = "Take Image"
set src in usr
toggle_camera_mode()
verb/viewpicture()
set category ="AI Commands"
set name = "View Images"
set src in usr
viewpictures()
/obj/item/device/camera/attack(mob/living/carbon/human/M, mob/user)
return
+3 -12
View File
@@ -1906,22 +1906,13 @@ datum/design/welding_mask
datum/design/mesons
name = "Optical Meson Scanners"
desc = "Used for seeing walls, floors, and stuff through anything."
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
id = "mesons"
req_tech = list("magnets" = 2, "engineering" = 2)
req_tech = list("materials" = 3, "magnets" = 3, "engineering" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
materials = list("$metal" = 200, "$glass" = 300, "$plasma" = 100)
build_path = /obj/item/clothing/glasses/meson
datum/design/advanced_mesons
name = "Advanced Optical Meson Scanner"
desc = "More powerful than your standard mesons, these ones make everything appear to be lit extremely brightly."
id = "advanced_mesons"
req_tech = list("magnets" = 4, "engineering" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 100, "$glass" = 100)
build_path = /obj/item/clothing/glasses/meson/advanced
datum/design/night_vision_goggles
name = "Night Vision Goggles"
desc = "Goggles that let you see through darkness unhindered."
-6
View File
@@ -50,12 +50,6 @@
origin_tech = "materials=1;biotech=1"
attack_verb = list("drilled")
/obj/item/weapon/scalpel/suicide_act(mob/user)
user.visible_message(pick("<span class='suicide'>[user] is pressing [src] to \his temple and activating it! It looks like \he's trying to commit suicide.</span>", \
"<span class='suicide'>[user] is pressing [src] to \his chest and activating it! It looks like \he's trying to commit suicide.</span>"))
return (BRUTELOSS)
/obj/item/weapon/scalpel
name = "scalpel"
desc = "Cut, cut, and once more cut."
+4 -1
View File
@@ -111,11 +111,14 @@ GUEST_BAN
# SERVER ss13.example.com:2506
## forum address
# FORUMURL http://justanotherday.example.com
# FORUMURL http://tgstation13.org/phpBB/index.php
## Wiki address
# WIKIURL http://www.tgstation13.org/wiki
##Rules address
# RULESURL http://www.tgstation13.org/wiki/Rules
## Ban appeals URL - usually for a forum or wherever people should go to contact your admins.
# BANAPPEALS http://justanotherday.example.com
+5
View File
@@ -114,6 +114,11 @@ SHUTTLE_REFUEL_DELAY 12000
TRAITOR_SCALING_COEFF 6
CHANGELING_SCALING_COEFF 7
## Variables calculate how number of open security officer positions will scale to population.
## Used as (Officers = Population / Coeff)
## Set to 0 to disable scaling and use default numbers instead.
SECURITY_SCALING_COEFF 8
# The number of objectives traitors get.
# Not including escaping/hijacking.
TRAITOR_OBJECTIVES_AMOUNT 2
-62
View File
@@ -1,62 +0,0 @@
<html>
<head><title>Server Rules</title></head>
<body>Theres a lot here, but the gist of the rules is roleplay takes priority. Dont metagame. Dont play to win. Dont be a jerk OOCly. If you dont understand what those words mean or you need more detail, read on!
<br />
<h2>Primary Policies</h2>
<br />
<ol>
<dt>0. Admins may disregard any of these rules at their discretion when they feel its in the best interest of the current round/server/playerbase at large. They will, of course, be fully accountable for their actions should they choose to exercise this privilege.</dt>
<br>
<dt>1.Were all here to have a good time. If youre intentionally trying to ruin everyone elses good time, you wont have a place here. Being a jerk in-character is fine to a point, but being a jerk out of character is not welcome at all. </dt>
<br>
<dt>2. You are playing a game where you are not fully in control of everything. You will be put into situations beyond your control, which will result in some rounds being ruined for you. Man up and deal with it. However, if you are obviously griefed, be sure to report it to administrators by using the adminhelp verb. </dt>
<br>
<dt>3. This is a roleplaying game. The purpose of the game is to have fun roleplaying. Being an asshole, who ruins other players roleplay experience, just to win, is considered a play-to-win style of playing. You can and will be banned for this playstyle. Be considerate of other players experience.</dt>
<dd>3b. (Suggested rewording) Randomly murdering people is generally considered to be ruining someones fun and poor form in roleplay. If you dont have a solid IC reason for murder, you may be removed. Trying to justify it with My character is so random/insane is not tolerated.</dd>
<br><br>
<dt>4. IC information should be kept out of OOC channels and vice-versa. </dt>
<br>
<dt>5. Dont metagame. Do not ever use information, acquired out of character or through patterns or events your character would not be able to know, in game.</dt>
<dd>5b. (Suggested rewording) This game is developed by volunteers in their spare time. Do not expect perfection. If you find a bug or an exploit, report it via adminhelp. Abusing bugs or exploits is not allowed. This includes reacting to events or patterns, which your character would not be able to identify IC (metagaming). </dd>
<br><br>
<dt>6. If you take up or are given a job, which is important for game progression (head of staff, AI, antagonist role), make sure you actually do that job. If you find yourself unable to do this due to real life circumstances, just let an admin know (adminhelp) before you leave, please. </dt>
<br>
<dt>7. Speak like a normal person while in character. Dont spam, either IC or OOC. Dont use smileys, netspeak, etc. in IC speech. </dt>
<br>
<dt>8. Erotic Roleplay is allowed, but some decency is expected. Keep it private. All involved players must consent. Unwelcome ERP will be punished harshly, usually with a permaban. </dt>
<br>
<dt>9. Ingame administration has the final say in all ingame matters. If problems arise, you can report offending or abusive admins on the forums. If an admin says something was valid, it means it was valid. This is the admins way of saying its been investigated and found to not breaking any rules; The admin will not reveal ingame information. </dt>
<br>
<dt>10. It should go without saying, but if you break the rules (or regularly come very close to breaking them i.e. “toeing the line”), you will be warned, muted, banned, or talked about rudely. </dt>
</dl>
<br>
<h2>Additional Policies</h2>
<h3><u>Roleplay</u></h3>
Murder is justifiable as long as it was properly escalated. You cant go from a single rude punch to a knife in the neck. You can, however, go from a single punch to a counter punch to a brawl to using weapons, and so on. Other IC justifications may exist for murder, but these are on a case by case basis. Minor aggravations like demotions, pranks, insults, or thefts are not adequate justification.
IC in OOC can be a no warning ban of 15 minutes, it can be longer if the IC in OOC is severe. To clarify, this is revealing anything about the current round that others can use in the OOC channel. If you are unsure do not say it.
Avoid using non character names. If you have a very offensive name or an obviously immersion breaking moniker like 'xenohunter360' you will be asked to change it.
As long as there is adequate IC backing and it doesnt happen too often, assisting a traitor is within the rules.
Admins are not only allowed to run events or otherwise influence the course of rounds, they are encouraged to. They are as much GMs as they are enforcers of the rules, perhaps even moreso.
Persistent character relationships are acceptable, so long as theyre roleplayed out every round. Wordlessly assisting your OOC friends (or harming your OOC foes) ICly is NOT cool and will be addressed harshly. Roleplaying out your interactions will help you stay on the right side of the rules. How much or how little of previous “shifts” your character recalls is up to their discretion, with the caveat that being a known traitor doesnt persist past the round it occurred in.
Griefing on the shuttle can also be a no warning ban scaling up from 15 minutes. Shuttle griefing is attacking people or preventing people boarding before the shuttle has launched for no IC reason.
<br />
<h3><u>Silicons</u></h3>
All Silicons are expected to follow their laws to the best of their ability. Failure to do so will likely result in a job ban from all silicon positions.
Law order determines law priority. In the case of two laws contradicting, the one with the smaller law number wins.
Asimov silicons are not required to do what players who threaten self-harm demand, unless they choose to interpret law 1 to include that.
<br />
<h3><u>Command/Security</u></h3>
Security are expected to use non-lethal force when defending against non-lethal attacks. This of course also means that security are allowed the option to use lethal force when defending against lethal attacks. Getting stunned in a dark maintenance hallway by an assistant is potentially lethal - a clown slipping you outside Medbay, probably not.
Permabrigging is functionally the same as murder. Anyone who is valid for execution is valid for permabrigging. Anyone who is not justifiably executable is, likewise, not justifiably a candidate for permabrigging. Makeshift permabrigs are treated the same as the official permabrig in terms of rules-enforcement.
A Captain or acting Captain may execute criminals, traitors, and other known threats to the station should alternatives not prove sufficient. Abuse or misuse of this privilege can lead to job banning or worse.
Theft, assault, annoyance, false arrest, sentence times etc. are in character matters. Unless it is extremely excessive or griefy, it is not an admin matter.
<br />
<h3><u>Admin-help</u></h3>
When you adminhelp do not say things like 'is it valid?' or 'being griefed', give details of what is happening and ideally who is doing it, job and character name.
If you see someone doing something that seems out of line adminhelp right then, do not wait until round end to see if they are a traitor then adminhelp next round. It makes it a lot harder to deal with.
Do not lie in PM's and avoid being aggressive, unhelpful or insulting to admins, lying while being questioned over an incident will cause you to receive a longer ban and being consistently insulting or aggressive will get you muted.
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

+11 -7
View File
@@ -3,33 +3,37 @@
set name = "wiki"
set desc = "Visit the wiki."
set hidden = 1
if( config.wikiurl )
if(config.wikiurl)
if(alert("This will open the wiki in your browser. Are you sure?",,"Yes","No")=="No")
return
src << link(config.wikiurl)
else
src << "\red The wiki URL is not set in the server configuration."
src << "<span class='danger'>The wiki URL is not set in the server configuration.</span>"
return
/client/verb/forum()
set name = "forum"
set desc = "Visit the forum."
set hidden = 1
if( config.forumurl )
if(config.forumurl)
if(alert("This will open the forum in your browser. Are you sure?",,"Yes","No")=="No")
return
src << link(config.forumurl)
else
src << "\red The forum URL is not set in the server configuration."
src << "<span class='danger'>The forum URL is not set in the server configuration.</span>"
return
#define RULES_FILE "config/rules.html"
/client/verb/rules()
set name = "Rules"
set desc = "Show Server Rules."
set hidden = 1
src << browse(file(RULES_FILE), "window=rules;size=480x320")
#undef RULES_FILE
if(config.rulesurl)
if(alert("This will open the rules in your browser. Are you sure?",,"Yes","No")=="No")
return
src << link(config.rulesurl)
else
src << "<span class='danger'>The rules URL is not set in the server configuration.</span>"
return
/client/verb/hotkeys_help()
set name = "hotkeys-help"
+1
View File
@@ -68,6 +68,7 @@
#include "code\_onclick\overmind.dm"
#include "code\_onclick\telekinesis.dm"
#include "code\_onclick\hud\_defines.dm"
#include "code\_onclick\hud\ai.dm"
#include "code\_onclick\hud\alien.dm"
#include "code\_onclick\hud\alien_larva.dm"
#include "code\_onclick\hud\hud.dm"