mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 16:44:43 +01:00
Merge branch 'master' of https://github.com/tgstation/-tg-station.git into Moarbotany
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -55,7 +55,10 @@
|
||||
blobstart += loc
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if("secequipment")
|
||||
secequipment += loc
|
||||
qdel(src)
|
||||
return
|
||||
if("xeno_spawn")
|
||||
xeno_spawn += loc
|
||||
qdel(src)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
<html>
|
||||
<head><title>Server Rules</title></head>
|
||||
<body>There’s a lot here, but the gist of the rules is roleplay takes priority. Don’t metagame. Don’t play to win. Don’t be a jerk OOCly. If you don’t 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.We’re all here to have a good time. If you’re intentionally trying to ruin everyone else’s good time, you won’t 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 player’s 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 someone’s fun and poor form in roleplay. If you don’t 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. Don’t 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. Don’t spam, either IC or OOC. Don’t 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 admin’s way of saying it’s 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 can’t 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 doesn’t 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 they’re 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 doesn’t 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
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user