Merge branch 'master' into kvlt

This commit is contained in:
uraniummeltdown
2017-10-12 15:15:15 +05:00
committed by GitHub
65 changed files with 1087 additions and 687 deletions
@@ -6670,6 +6670,7 @@
"cyn" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8},/turf/simulated/floor/plating/airless,/area/space)
"cyo" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery1)
"cyp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery{id = "surgery2"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
"cyq" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/wardrobe/coroner,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cyr" = (/obj/machinery/door/firedoor,/obj/machinery/status_display{dir = 4; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay3)
"cys" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "cmoprivacy"; layer = 2.7; name = "privacy shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo)
"cyt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay3)
@@ -6684,6 +6685,7 @@
"cyC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
"cyD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception)
"cyE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cyF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/obj/machinery/light/small,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cyG" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/medical/chemistry)
"cyH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception)
"cyI" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception)
@@ -7606,7 +7608,6 @@
"cQt" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 26},/obj/machinery/camera{c_tag = "Virology - Break Room"; dir = 2; network = list("SS13","Medbay")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
"cQu" = (/obj/item/device/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/structure/table/glass,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitegreen"},/area/medical/virology)
"cQv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/maintenance/aft{name = "Aft Maintenance"})
"cQw" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/wardrobe/black,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cQx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cQy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cQz" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
@@ -8009,7 +8010,6 @@
"cYt" = (/obj/machinery/hologram/holopad,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cYu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cYv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cYw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cYy" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cYA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/starboard)
"cYB" = (/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
@@ -8631,10 +8631,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCfcCfcCfcCfcCfaaaclIabqcCfcCfcCfcCfcCfaaaarBaaaabqaaaaaaaaabZUcPGcNacNbbZUcGZcEYcKzcKycKDcKAcGocKHcEYcKWcKXcFdcFdcFdcKecFdcFdcFdcKYcDecwqcKZcLbcLacLdcLccLecBvcBvcLfcDgcBvczCczCczCczCczCczCcLgcGqcGrcGscGtcGucGvcGwczMcGxcGycGzcGAcGBcGCcGDcdlcGFcGGcGHcGIcGIcGJcGKcGLcGMcGNcdncGPcGQcGRcGScGTcGUcGVcGVcGVcGWcBNabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcGYcFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaabqaaaabqaaaabqaaacmRaaaabqaaaabqabqabqabqaupaaaaaaaaaaaaabqbZUcNOcNPcNQbZUcEQcEYcLhcGocLicGocGocLjcEYcxpcLvcLkcLKcLwcLWcLwcLwcLwcLYcLXcxycKZcMacLZcLdcMbcMccImcMecMdcMrcMfcIocMwcIncMLcImcMScMTczGczHcHncHocHocHpcHqczMcHrcHscHtcDpcHvcHwcHxcdMcHzcHAcHBcHCceEcHEcHFcHGcHHcHIcHJceQcHLcHMcHNcHOcHPcHQcHRcHScHTcBNabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcHUcALcHVcHWcHXcALcHUabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacAfcAfcAfcAfcAfabqcHYabqcAfcAfcAfcAfcAfabqarBaaaaaaaaaaaaaaabZUcOJcOKcfbbZUcMUcEYcMWcMVcNccMXcNscNicEYcNIcNKcNJcNMcNLcNNcNKcNKcNScOqcNUcwqcKZcOIcOHcLdcOLcOUcImcPkcOYcPlcIncIocPucPwcPvcImcIscnscgxcItcBJcIucFOcIwcIucIxcIxcIxcIxcIxcIycxPcIzcEycIAcIAcIBcICcIDcIEcIFcIGcIHcIIcIJcEKcIKcILcIMcEycINcBNcBNcFHcBNcFHarAabqaaaaaaabqaaaaaaabqabqabqaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqabqcALcALcIOcIPcIPcIPcIQcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcBdcBecBecBecBecBfckrcBgcBhcBhcBhcBhcBiabqarBaaaaaaaaaaaaaaabZUbZUcfccPEcPFcPxcEYcEYcEYcEYcEYcEYcEYcEYcPycPycPycPzcPycPycPycPycPycPBcPAcPDcKZcKZcQbcLdcQfcLdcImcQwcMdcQzcIncIocQAcQCcQBcImcJgcnscgxcvmcwEcQKcJicJjcJkcJlcJmcJncJocJpcJqcCOczQdgSdgSdgSdgSdgSdgScJrcJscJtcJucJvcJwcEKbZUcFGbZUcFHcJxcJycJzcJAcJBarAarAabqabqabqabqabqabqabqaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqcJCcJDcJCcIPcJEcIPcXxcJGcFNabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcBdcBecBecBecBecBfckrcBgcBhcBhcBhcBhcBiabqarBaaaaaaaaaaaaaaabZUbZUcfccPEcPFcPxcEYcEYcEYcEYcEYcEYcEYcEYcPycPycPycPzcPycPycPycPycPycPBcPAcPDcKZcKZcQbcLdcQfcLdcImcyqcMdcQzcIncIocQAcQCcQBcImcJgcnscgxcvmcwEcQKcJicJjcJkcJlcJmcJncJocJpcJqcCOczQdgSdgSdgSdgSdgSdgScJrcJscJtcJucJvcJwcEKbZUcFGbZUcFHcJxcJycJzcJAcJBarAarAabqabqabqabqabqabqabqaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqcJCcJDcJCcIPcJEcIPcXxcJGcFNabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCfcCfcCfcCfcCfaaaclIaaacCfcCfcCfcCfcCfaaaaupaaaaaaaaaaaaaaaaaabZUbZUbZUbZUcJRcogcogcogcogcNTcogcogcQVcogcogcogcRkcNTcNTcRlcRocPycRpcNUcRLcREcwjcRMcwjcRMcSvcImcSBcMdcSCcIocSPcSMcTncTecImcMScEXcgxcvmcKpcTwcKrcKscKtcKtcKtcKucKvcJpcgCcCOcKwdgScKxcfHcfscgLdgTcYScKBbRzcKEcKFcEKcrUcKGccscfYcFHcFHcFHcFHcFHcHfcKIarAabqaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqabqcALcALcKJcIPcIPcIPcKKcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaaaaaabqabqabqaaaaaacKLabqaaaaaaabqabqaaaaaaarBabqaaaaaaaaaaaaaaaaaaaaaaaabZUbZUbZUbZUbZUbZUbZUbZUbZUbZUbZUcoDcuVcTFchycoDcTZcjicUacUocUecUqcUpcUpcUrcUpcUFcUVcUUcVbcUWcVmcVlcVucVtcVEcVvcWkcVKcWGcWlcWHcIxcIxcLlcLmcLncLocLpcLqcLrcJpcLscLtcLucBNcKxcfHchuchuchEcLxcLycLzcJucLAcEKcdNcLBceNchycLCbZUabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcHUcALcLDcLEcLFcALcHUabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaacKLaaaaaaaaaaaaabqaaaaaaaupaaacHZcHZcHZcFvcHZcHZcHZaaaabqaaaaaaaaaabqaaaabqabqabqaaabZUcWIchychychychycWTchycDUcWUcwncXrcXlcXlcXwcXAcXycXYcImcYocYncYwcIncYIcYycYNcYLcImcMgcMhcgxcmmcIxcMicMjcMkcLocLocMlcMmcMncJpcMocMpcMqdgScKxcfHchuckedgTcYTcKBcMtcMucMvcEKcjnchyceNchycMxbZUabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcMycFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaacKLaaaaaaaaaaaaabqaaaaaaaupaaacHZcHZcHZcFvcHZcHZcHZaaaabqaaaaaaaaaabqaaaabqabqabqaaabZUcWIchychychychycWTchycDUcWUcwncXrcXlcXlcXwcXAcXycXYcImcYocYncyFcIncYIcYycYNcYLcImcMgcMhcgxcmmcIxcMicMjcMkcLocLocMlcMmcMncJpcMocMpcMqdgScKxcfHchuckedgTcYTcKBcMtcMucMvcEKcjnchyceNchycMxbZUabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcMycFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabearBarBarBaaaaaaaaacKLaaaaaaaaaarBarBarBauparBabqcHZcIRcIScIRcITcIRcHZcHZcFvcHZcFvcHZcHZaaaaaaabqaaaaaacHZcHZcHZcHZcHZbZUcKVbZUcDUcYOcDecRLcRUcRUcRUcRUcRUcRUcRUcImcImcImcImcYWcImcImcImcImbZUcNdcgxcmmcIxcNecMjcLocLpcLocNfcNgcNhckzcNjcNkcNldgVdgUdgUdgUdgUdgUcNocNncNpcNqcNrcEKchychyceNchybZUbZUbZUabqabqaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcFNcALcFNabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaarBabqcNtabqarBaaaaaaabqaaaaaaabqaaacHZcJHcJIcJJcJKcJHcGXcJMcJNcJOcJPcJQcHZaaacZmcIacIacIacLRcLTcLUcLVcHZcZvcZqcZwcDUcZIcZycZQcZOcZXdeidafdaddakcRUcNRcmVcmVcmWdancjecmYcmYcmZcNVcNWcNXcBIcIxcNYcNZcOacOacOacObcOccOdcOecOfcOgcOhcOicOjcOkcOlcJLcOncOocOpclncOrcOscOtcmYcmYcOucOvcOwcOxbZUbZUbZUcksaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaarBaaaabqaaaarBaaaaaaabqabqabqabqabqcHZcKMcHjcKOcHucKMcKMcKQcKRcKScKTcKUcHZaaadaodaucMMcMNcMOcMPcMBcMQcMRdaydaxdaMdaLdaOdaNdaPcYCdaUdaQdbbdaVdbfcRUcOMbZUbZUbZUbZUbZUbZUbZUbZUczIcONcOOcOPcOQcORcOScOTdblcOVcOWcLpcOXclCcOZcPacPbcPccPdcPecPfcPgcPhcPicOpclNcPjbZUbZUbZUbZUbZUdenclGcPmclJcPnclJcPoabqabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+3 -3
View File
@@ -2376,13 +2376,13 @@
"aTJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/fore)
"aTK" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/medical/exam_room)
"aTL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/medical/exam_room)
"aTM" = (/obj/structure/closet/wardrobe/black,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/medical/morgue)
"aTM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/wardrobe/coroner,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/medical/morgue)
"aTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/medical/exam_room)
"aTO" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/medical/morgue)
"aTP" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cane{pixel_x = -5; pixel_y = 6},/obj/item/weapon/cane,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/medical/exam_room)
"aTQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/medical/exam_room)
"aTR" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_y = 8},/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 10},/area/medical/morgue)
"aTS" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/morgue)
"aTS" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/morgue)
"aTT" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/optable,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/morgue)
"aTU" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/morgue)
"aTV" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/morgue)
@@ -4479,7 +4479,7 @@
"bIg" = (/obj/machinery/door_control{dir = 2; id = "mechbay"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24; req_access_txt = "29"},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay)
"bIh" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
"bIi" = (/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"bIj" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics)
"bIj" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/obj/machinery/light_switch{pixel_x = -23; pixel_y = -10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics)
"bIk" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"bIl" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
"bIm" = (/obj/machinery/camera{c_tag = "Research Robotics Lab"; dir = 2; network = list("Research","SS13")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics)
+9 -3
View File
@@ -29,7 +29,7 @@
/proc/time_stamp()
return time2text(world.timeofday, "hh:mm:ss")
/proc/gameTimestamp(format = "hh:mm:ss") // Get the game time in text
return time2text(world.time - timezoneOffset + 432000, format)
@@ -61,6 +61,12 @@ proc/isDay(var/month, var/day)
*/
/proc/stop_watch(wh)
return round(0.1 * (TimeOfGame - wh), 0.1)
/proc/month2number(month)
return month_names.Find(month)
return month_names.Find(month)
//Take a value in seconds and returns a string of minutes and seconds in the format X minute(s) and X seconds.
/proc/seconds_to_time(var/seconds as num)
var/numSeconds = seconds % 60
var/numMinutes = (seconds - numSeconds) / 60
return "[numMinutes] [numMinutes > 1 ? "minutes" : "minute"] and [numSeconds] seconds."
+3 -1
View File
@@ -5,4 +5,6 @@ var/wavesecret = 0 // meteor mode, delays wave progression, terrible name
var/datum/station_state/start_state = null // Used in round-end report
var/custom_event_msg = null
var/list/summon_spots = list()
var/custom_event_admin_msg = null
var/list/summon_spots = list()
+1 -1
View File
@@ -489,7 +489,7 @@
var/list/L = value
var/list/items = list()
if(L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > (IS_NORMAL_LIST(L) ? 50 : 150)))
if(L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > (IS_NORMAL_LIST(L) ? 50 : 300)))
for(var/i in 1 to L.len)
var/key = L[i]
var/val
@@ -0,0 +1,82 @@
/obj/effect/proc_holder/changeling/biodegrade
name = "Biodegrade"
desc = "Dissolves restraints or other objects preventing free movement."
helptext = "This is obvious to nearby people, and can destroy standard restraints and closets."
chemical_cost = 30 //High cost to prevent spam
dna_cost = 2
req_human = 1
/obj/effect/proc_holder/changeling/biodegrade/sting_action(mob/living/carbon/human/user)
var/used = FALSE // only one form of shackles removed per use
if(!user.restrained() && !istype(user.loc, /obj/structure/closet) && !istype(user.loc, /obj/structure/spider/cocoon))
to_chat(user, "<span class='warning'>We are already free!</span>")
return FALSE
if(user.handcuffed)
var/obj/O = user.get_item_by_slot(slot_handcuffed)
if(!istype(O))
return FALSE
user.visible_message("<span class='warning'>[user] vomits a glob of acid on \his [O]!</span>", \
"<span class='warning'>We vomit acidic ooze onto our restraints!</span>")
addtimer(src, "dissolve_handcuffs", 30, FALSE, user, O)
used = TRUE
if(user.wear_suit && user.wear_suit.breakouttime && !used)
var/obj/item/clothing/suit/S = user.get_item_by_slot(slot_wear_suit)
if(!istype(S))
return FALSE
user.visible_message("<span class='warning'>[user] vomits a glob of acid across the front of \his [S]!</span>", \
"<span class='warning'>We vomit acidic ooze onto our straight jacket!</span>")
addtimer(src, "dissolve_straightjacket", 30, FALSE, user, S)
used = TRUE
if(istype(user.loc, /obj/structure/closet) && !used)
var/obj/structure/closet/C = user.loc
if(!istype(C))
return FALSE
C.visible_message("<span class='warning'>[C]'s hinges suddenly begin to melt and run!</span>")
to_chat(user, "<span class='warning'>We vomit acidic goop onto the interior of [C]!</span>")
addtimer(src, "open_closet", 70, FALSE, user, C)
used = TRUE
if(istype(user.loc, /obj/structure/spider/cocoon) && !used)
var/obj/structure/spider/cocoon/C = user.loc
if(!istype(C))
return FALSE
C.visible_message("<span class='warning'>[src] shifts and starts to fall apart!</span>")
to_chat(user, "<span class='warning'>We secrete acidic enzymes from our skin and begin melting our cocoon...</span>")
addtimer(src, "dissolve_cocoon", 25, FALSE, user, C) //Very short because it's just webs
used = TRUE
if(used)
feedback_add_details("changeling_powers","BD")
return TRUE
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O)
if(O && user.handcuffed == O)
user.unEquip(O)
O.visible_message("<span class='warning'>[O] dissolves into a puddle of sizzling goop.</span>")
O.forceMove(get_turf(user))
qdel(O)
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_straightjacket(mob/living/carbon/human/user, obj/S)
if(S && user.wear_suit == S)
user.unEquip(S)
S.visible_message("<span class='warning'>[S] dissolves into a puddle of sizzling goop.</span>")
S.forceMove(get_turf(user))
qdel(S)
/obj/effect/proc_holder/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C)
if(C && user.loc == C)
C.visible_message("<span class='warning'>[C]'s door breaks and opens!</span>")
C.welded = FALSE
C.locked = FALSE
C.broken = TRUE
C.open()
to_chat(user, "<span class='warning'>We open the container restraining us!</span>")
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C)
if(C && user.loc == C)
qdel(C) //The cocoon's destroy will move the changeling outside of it without interference
to_chat(user, "<span class='warning'>We dissolve the cocoon!</span>")
+4 -2
View File
@@ -192,13 +192,15 @@
/obj/item/weapon/whetstone/cult
name = "eldritch whetstone"
desc = "A block, empowered by dark magic. Sharp weapons will be enhanced when used on the stone."
icon = 'icons/obj/cult.dmi'
icon_state = "cultstone"
icon_state = "cult_sharpener"
used = 0
increment = 5
max = 40
prefix = "darkened"
/obj/item/weapon/whetstone/cult/update_icon()
icon_state = "cult_sharpener[used ? "_used" : ""]"
/obj/item/weapon/reagent_containers/food/drinks/bottle/unholywater
name = "flask of unholy water"
desc = "Toxic to nonbelievers; this water renews and reinvigorates the faithful of a cult."
+2 -1
View File
@@ -148,8 +148,9 @@
var/input_rune_key = input(user, "Choose a rune to teleport to.", "Rune to Teleport to") as null|anything in potential_runes //we know what key they picked
var/obj/effect/rune/teleport/actual_selected_rune = potential_runes[input_rune_key] //what rune does that key correspond to?
if(!actual_selected_rune)
if(!src || qdeleted(src) || !user || user.l_hand != src && user.r_hand != src || user.incapacitated() || !actual_selected_rune)
return ..(user, 0)
user.visible_message("<span class='warning'>Dust flows from [user]'s hand, and they disappear in a flash of red light!</span>", \
"<span class='cultitalic'>You speak the words of the talisman and find yourself somewhere else!</span>")
user.forceMove(get_turf(actual_selected_rune))
@@ -363,7 +363,7 @@
var/mob/living/carbon/human/H = target
H.visible_message("<span class='warning'>[H]'s skin suddenly bubbles and shifts around their body!</span>", \
"<span class='shadowling'>You regenerate your protective armor and cleanse your form of defects.</span>")
H.adjustCloneLoss(target.getCloneLoss())
H.adjustCloneLoss(-target.getCloneLoss())
H.equip_to_slot_or_del(new /obj/item/clothing/under/shadowling(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/shadowling(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/space/shadowling(H), slot_wear_suit)
@@ -319,6 +319,7 @@
return 0
if(!affects(C))
C.visible_message("<span class='warning'>[C] seems to resist the takeover!</span>", "<span class='notice'>Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil.</span>")
return 0
if(!ishuman(C))
to_chat(user, "<span class='warning'>You can only enthrall humans!</span>")
return 0
@@ -44,6 +44,24 @@
name = "Circuit board (Camera Monitor)"
build_path = /obj/machinery/computer/security
origin_tech = "programming=2;combat=2"
/obj/item/weapon/circuitboard/camera/telescreen
name = "Circuit board (Telescreen)"
build_path = /obj/machinery/computer/security/telescreen
/obj/item/weapon/circuitboard/camera/telescreen/entertainment
name = "Circuit board (Entertainment Monitor)"
build_path = /obj/machinery/computer/security/telescreen/entertainment
/obj/item/weapon/circuitboard/camera/wooden_tv
name = "Circuit board (Wooden TV)"
build_path = /obj/machinery/computer/security/wooden_tv
/obj/item/weapon/circuitboard/camera/mining
name = "Circuit board (Outpost Camera Monitor)"
build_path = /obj/machinery/computer/security/mining
/obj/item/weapon/circuitboard/camera/engineering
name = "Circuit board (Engineering Camera Monitor)"
build_path = /obj/machinery/computer/security/engineering
/obj/item/weapon/circuitboard/xenobiology
name = "Circuit board (Xenobiology Console)"
build_path = /obj/machinery/computer/camera_advanced/xenobio
+31 -13
View File
@@ -87,6 +87,25 @@
else
..()
/obj/machinery/computer/security/telescreen/attackby(obj/item/I, mob/user, params)
if(ismultitool(I))
var/direction = input(user, "Which direction?", "Select direction!") as null|anything in list("North", "East", "South", "West", "Centre")
if(!direction || !Adjacent(user))
return
pixel_x = 0
pixel_y = 0
switch(direction)
if("North")
pixel_y = 32
if("East")
pixel_x = 32
if("South")
pixel_y = -32
if("West")
pixel_x = -32
else
..()
/obj/machinery/computer/security/emag_act(user as mob)
if(!emagged)
emagged = 1
@@ -293,39 +312,36 @@
// Other computer monitors.
/obj/machinery/computer/security/telescreen
name = "\improper Telescreen"
name = "telescreen"
desc = "Used for watching camera networks."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "telescreen"
icon_state = "telescreen_console"
icon_screen = "telescreen"
icon_keyboard = null
light_range_on = 0
network = list("SS13")
density = 0
/obj/machinery/computer/security/telescreen/update_icon()
icon_state = initial(icon_state)
if(stat & BROKEN)
icon_state += "b"
return
circuit = /obj/item/weapon/circuitboard/camera/telescreen
/obj/machinery/computer/security/telescreen/entertainment
name = "entertainment monitor"
desc = "Damn, they better have Paradise TV on these things."
icon = 'icons/obj/status_display.dmi'
icon_state = "entertainment"
icon_state = "entertainment_console"
icon_screen = "entertainment"
light_color = "#FFEEDB"
light_range_on = 0
network = list("news")
luminosity = 0
circuit = /obj/item/weapon/circuitboard/camera/telescreen/entertainment
/obj/machinery/computer/security/wooden_tv
name = "security camera monitor"
desc = "An old TV hooked into the stations camera network."
desc = "An old TV hooked into the station's camera network."
icon_state = "television"
icon_keyboard = null
icon_screen = "detective_tv"
light_color = "#3848B3"
light_power_on = 0.5
network = list("SS13")
circuit = /obj/item/weapon/circuitboard/camera/wooden_tv
/obj/machinery/computer/security/mining
name = "outpost camera monitor"
@@ -334,6 +350,7 @@
icon_screen = "mining"
light_color = "#F9BBFC"
network = list("Mining Outpost")
circuit = /obj/item/weapon/circuitboard/camera/mining
/obj/machinery/computer/security/engineering
name = "engineering camera monitor"
@@ -342,3 +359,4 @@
icon_screen = "engie_cams"
light_color = "#FAC54B"
network = list("Power Alarms","Atmosphere Alarms","Fire Alarms")
circuit = /obj/item/weapon/circuitboard/camera/engineering
+11 -10
View File
@@ -46,7 +46,7 @@
<center><small><b>Admission data:</b></small></center><br>
<small><b>Log generated at:</b> [worldtime2text()]<br>
<b>Detainee:</b> [logname]<br>
<b>Duration:</b> [timetoset/10] seconds<br>
<b>Duration:</b> [seconds_to_time(timetoset / 10)]<br>
<b>Charge(s):</b> [logcharges]<br>
<b>Arresting Officer:</b> [usr.name]<br><hr><br>
<small>This log file was generated automatically upon activation of a cell timer.</small>"}
@@ -55,7 +55,7 @@
cell_logs += P
var/datum/data/record/R = find_security_record("name", logname)
Radio.autosay("Detainee [logname] has been incarcerated for [timetoset/10] seconds for the charges of, '[logcharges]'. \
Radio.autosay("Detainee [logname] has been incarcerated for [seconds_to_time(timetoset / 10)] for the charges of, '[logcharges]'. \
Arresting Officer: [usr.name].[R ? "" : " Detainee record not found, manual record update required."]", name, "Security", list(z))
if(R)
@@ -277,7 +277,7 @@
dat += "Set Timer: [(setminute ? text("[setminute]:") : null)][setsecond]<br/>"
// Controls
dat += "<a href='?src=[UID()];tp=-60'>-</a> <a href='?src=[UID()];tp=-1'>-</a> <a href='?src=[UID()];tp=1'>+</a> <A href='?src=[UID()];tp=60'>+</a><br/>"
dat += "<a href='?src=[UID()];settime=1'>Input Time</a>"
// Mounted flash controls
for(var/obj/machinery/flasher/F in targets)
@@ -319,13 +319,9 @@
Radio.autosay("Timer stopped manually by [usr.name].", name, "Security", list(z))
else
if(href_list["tp"]) //adjust timer, close door if not already closed
var/tp = text2num(href_list["tp"])
var/addtime = (timetoset / 10)
addtime += tp
addtime = min(max(round(addtime), 0), 3600)
timeset(addtime)
if(href_list["settime"])
var/time = min(max(round(return_time_input(usr)), 0), 3600)
timeset(time)
if(href_list["fc"])
for(var/obj/machinery/flasher/F in targets)
@@ -368,6 +364,11 @@
overlays.Cut()
overlays += image('icons/obj/status_display.dmi', icon_state=picture_state)
/obj/machinery/door_timer/proc/return_time_input()
var/mins = input(usr, "Minutes", "Enter number of minutes", 0) as num
var/seconds = input(usr, "Seconds", "Enter number of seconds", 0) as num
var/totaltime = (seconds + (mins * 60))
return totaltime
//Checks to see if there's 1 line or 2, adds text-icons-numbers/letters over display
// Stolen from status_display
+3 -3
View File
@@ -47,14 +47,14 @@
if(operation == 1) // Play
if(working == 1)
return
if(!account || account.money < 10)
if(!account || account.money < 100)
return
if(!account.charge(10, transaction_purpose = "Bet", dest_name = name))
if(!account.charge(100, transaction_purpose = "Bet", dest_name = name))
return
plays += 1
working = 1
icon_state = "slots-on"
var/roll = rand(1,1350)
var/roll = rand(1,20000)
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
spawn(25)
if(roll == 1)
@@ -21,6 +21,11 @@
if(!user.can_speak())
to_chat(user, "<span class='warning'>You find yourself unable to speak at all.</span>")
return
if(ishuman(user))
var/mob/living/carbon/human/abductor/H = user
if(H && H.mind.abductor)
to_chat(user, "<span class='warning'>Megaphones can't project psionic communication!</span>")
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H && H.mind && H.mind.miming)
+4 -3
View File
@@ -16,8 +16,9 @@
playsound(M, 'sound/weapons/Genhit.ogg', 50, 1)
return 0
if(!user.cell.use(charge_cost))
return
if(isrobot(user))
if(!user.cell.use(charge_cost))
return
user.do_attack_animation(M)
M.Weaken(5)
@@ -229,4 +230,4 @@
playsound(get_turf(src), 'sound/machines/warning-buzzer.ogg', 130, 3)
cooldown = world.time + 600
log_game("[key_name(user)] used an emagged Cyborg Harm Alarm in ([user.x],[user.y],[user.z])")
log_game("[key_name(user)] used an emagged Cyborg Harm Alarm in ([user.x],[user.y],[user.z])")
@@ -76,6 +76,8 @@
log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].")
activated = 1
if(jobban_isbanned(M, ROLE_SYNDICATE))
ticker.mode.replace_jobbanned_player(M, ROLE_SYNDICATE)
return 1
return 0
@@ -171,6 +171,7 @@
icon_state = "yellow slime extract"
materials = list()
self_recharge = 1 // Infused slime cores self-recharge, over time
chargerate = 500
/obj/item/weapon/stock_parts/cell/pulse //200 pulse shots
name = "pulse rifle power cell"
@@ -62,8 +62,8 @@
/obj/item/weapon/tank/air
name = "air tank"
desc = "Mixed anyone?"
icon_state = "oxygen"
icon_state = "air"
item_state = "air"
/obj/item/weapon/tank/air/examine(mob/user)
if(..(user, 0))
+8 -7
View File
@@ -14,28 +14,28 @@
/obj/item/weapon/whetstone/attackby(obj/item/I, mob/user, params)
if(used)
to_chat(user, "<span class='notice'>The whetstone is too worn to use again.</span>")
to_chat(user, "<span class='warning'>The whetstone is too worn to use again!</span>")
return
if(I.force >= max || I.throwforce >= max)//no esword sharpening
to_chat(user, "<span class='notice'>[I] is much too powerful to sharpen further.</span>")
to_chat(user, "<span class='warning'>[I] is much too powerful to sharpen further!</span>")
return
if(requires_sharpness && !I.sharp)
to_chat(user, "<span class='notice'>You can only sharpen items that are already sharp, such as knives.</span>")
to_chat(user, "<span class='warning'>You can only sharpen items that are already sharp, such as knives!</span>")
return
if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff
var/obj/item/weapon/twohanded/TH = I
if(TH.force_wielded >= max)
to_chat(user, "<span class='notice'>[TH] is much too powerful to sharpen further.</span>")
to_chat(user, "<span class='warning'>[TH] is much too powerful to sharpen further!</span>")
return
if(TH.wielded)
to_chat(user, "<span class='notice'>[TH] must be unwielded before it can be sharpened.</span>")
to_chat(user, "<span class='warning'>[TH] must be unwielded before it can be sharpened!</span>")
return
if(TH.force_wielded > initial(TH.force_wielded))
to_chat(user, "<span class='notice'>[TH] has already been refined before. It cannot be sharpened further.</span>")
to_chat(user, "<span class='warning'>[TH] has already been refined before. It cannot be sharpened further!</span>")
return
TH.force_wielded = Clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay
if(I.force > initial(I.force))
to_chat(user, "<span class='notice'>[I] has already been refined before. It cannot be sharpened further.</span>")
to_chat(user, "<span class='warning'>[I] has already been refined before. It cannot be sharpened further!</span>")
return
user.visible_message("<span class='notice'>[user] sharpens [I] with [src]!</span>", "<span class='notice'>You sharpen [I], making it much more deadly than before.</span>")
if(!requires_sharpness)
@@ -47,6 +47,7 @@
name = "worn out [name]"
desc = "[desc] At least, it used to."
used = 1
update_icon()
/obj/item/weapon/whetstone/attack_self(mob/user as mob) //This is just fluff for now. Species datums are global and not newly created instances, so we can't adjust unarmed damage on a per mob basis.
if(ishuman(user))
@@ -8,6 +8,8 @@
var/icon_opened = "open"
var/opened = 0
var/welded = 0
var/locked = 0
var/broken = 0
var/wall_mounted = 0 //never solid (You can always pass over it)
var/health = 100
var/lastbang
@@ -11,7 +11,7 @@
var/localopened = 0 //Setting this to keep it from behaviouring like a normal closet and obstructing movement in the map. -Agouri
opened = 1
var/hitstaken = 0
var/locked = 1
locked = 1
var/smashed = 0
attackby(var/obj/item/O as obj, var/mob/living/user as mob) //Marker -Agouri
@@ -10,19 +10,18 @@
burn_state = FLAMMABLE
burntime = 20
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
/obj/structure/closet/secure_closet/bar/New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer( src )
/obj/structure/closet/secure_closet/bar/update_icon()
if(broken)
@@ -34,4 +33,4 @@
else
icon_state = icon_closed
else
icon_state = icon_opened
icon_state = icon_opened
@@ -8,16 +8,17 @@
icon_broken = "securecargobroken"
icon_off = "securecargooff"
New()
..()
new /obj/item/clothing/under/rank/cargotech(src)
new /obj/item/clothing/under/rank/cargotech/skirt(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft(src)
/obj/structure/closet/secure_closet/cargotech/New()
..()
new /obj/item/clothing/under/rank/cargotech(src)
new /obj/item/clothing/under/rank/cargotech/skirt(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft(src)
// new /obj/item/weapon/cartridge/quartermaster(src)
/obj/structure/closet/secure_closet/quartermaster
name = "quartermaster's locker"
req_access = list(access_qm)
@@ -28,16 +29,16 @@
icon_broken = "secureqmbroken"
icon_off = "secureqmoff"
New()
..()
new /obj/item/clothing/under/rank/cargo(src)
new /obj/item/clothing/under/rank/cargo/skirt(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/clothing/head/soft(src)
new /obj/item/weapon/door_remote/quartermaster(src)
/obj/structure/closet/secure_closet/quartermaster/New()
..()
new /obj/item/clothing/under/rank/cargo(src)
new /obj/item/clothing/under/rank/cargo/skirt(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/clothing/head/soft(src)
new /obj/item/weapon/door_remote/quartermaster(src)
@@ -8,33 +8,34 @@
icon_broken = "securecebroken"
icon_off = "secureceoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/clothing/head/beret/ce(src)
new /obj/item/areaeditor/blueprints(src)
new /obj/item/weapon/storage/box/permits(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/glasses/welding/superior(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/cartridge/ce(src)
new /obj/item/device/radio/headset/heads/ce(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/multitool(src)
new /obj/item/device/flash(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/weapon/door_remote/chief_engineer(src)
new /obj/item/weapon/rpd(src)
/obj/structure/closet/secure_closet/engineering_chief/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/clothing/head/beret/ce(src)
new /obj/item/areaeditor/blueprints(src)
new /obj/item/weapon/storage/box/permits(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/glasses/welding/superior(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/cartridge/ce(src)
new /obj/item/device/radio/headset/heads/ce(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/multitool(src)
new /obj/item/device/flash(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/weapon/door_remote/chief_engineer(src)
new /obj/item/weapon/rpd(src)
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
@@ -46,22 +47,20 @@
icon_broken = "secureengelecbroken"
icon_off = "secureengelecoff"
New()
..()
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/clothing/head/beret/eng
/obj/structure/closet/secure_closet/engineering_electrical/New()
..()
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/weapon/apc_electronics(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/clothing/head/beret/eng
/obj/structure/closet/secure_closet/engineering_welding
@@ -74,16 +73,14 @@
icon_broken = "secureengweldbroken"
icon_off = "secureengweldoff"
New()
..()
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
/obj/structure/closet/secure_closet/engineering_welding/New()
..()
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
/obj/structure/closet/secure_closet/engineering_personal
@@ -96,24 +93,24 @@
icon_broken = "secureengbroken"
icon_off = "secureengoff"
/obj/structure/closet/secure_closet/engineering_personal/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer/skirt(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/weapon/cartridge/engineering(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer/skirt(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/weapon/cartridge/engineering(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
/obj/structure/closet/secure_closet/atmos_personal
name = "technician's locker"
@@ -125,23 +122,22 @@
icon_broken = "secureatmbroken"
icon_off = "secureatmoff"
New()
..()
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/weapon/cartridge/atmos(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/taperoll/engineering(src)
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/atmos(src)
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/weapon/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
new /obj/item/weapon/rpd(src)
/obj/structure/closet/secure_closet/atmos_personal/New()
..()
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/weapon/cartridge/atmos(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/taperoll/engineering(src)
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/weapon/storage/backpack/duffel/atmos(src)
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/weapon/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
new /obj/item/weapon/rpd(src)
@@ -23,6 +23,7 @@
if(!isemptylist(bombs)) // You're fucked.
..(severity)
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
req_access = list(access_kitchen)
@@ -35,12 +36,10 @@
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon_state = "fridge1"
@@ -50,12 +49,10 @@
icon_broken = "fridgebroken"
icon_off = "fridge1"
New()
..()
for(var/i in 1 to 4)
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
/obj/structure/closet/secure_closet/freezer/meat/New()
..()
for(var/i in 1 to 4)
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
/obj/structure/closet/secure_closet/freezer/fridge
@@ -67,15 +64,13 @@
icon_broken = "fridgebroken"
icon_off = "fridge1"
New()
..()
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src)
for(var/i in 1 to 2)
new /obj/item/weapon/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/fridge/New()
..()
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src)
for(var/i in 1 to 2)
new /obj/item/weapon/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/money
@@ -96,10 +91,3 @@
new /obj/item/stack/spacecash/c500(src)
for(var/i in 1 to 6)
new /obj/item/stack/spacecash/c200(src)
@@ -9,20 +9,18 @@
icon_off = "medicaloff"
req_access = list(access_medical)
New()
..()
new /obj/item/weapon/storage/box/autoinjectors(src)
new /obj/item/weapon/storage/box/syringes(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
/obj/structure/closet/secure_closet/medical1/New()
..()
new /obj/item/weapon/storage/box/autoinjectors(src)
new /obj/item/weapon/storage/box/syringes(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
/obj/structure/closet/secure_closet/medical2
@@ -36,16 +34,14 @@
icon_off = "medicaloff"
req_access = list(access_surgery)
New()
..()
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
/obj/structure/closet/secure_closet/medical2/New()
..()
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
/obj/structure/closet/secure_closet/medical3
@@ -58,22 +54,23 @@
icon_broken = "securemedbroken"
icon_off = "securemedoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_med(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/defibrillator/loaded(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/medical3/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_med(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/defibrillator/loaded(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/shoes/sandal/white(src)
//Exam Room
/obj/structure/closet/secure_closet/exam
@@ -87,23 +84,22 @@
icon_off = "medicaloff"
req_access = list(access_medical)
New()
..()
new /obj/item/weapon/storage/box/syringes(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/accessory/stethoscope(src)
new /obj/item/device/flashlight/pen(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/firstaid/brute(src)
new /obj/item/weapon/storage/firstaid/fire(src)
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
/obj/structure/closet/secure_closet/exam/New()
..()
new /obj/item/weapon/storage/box/syringes(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/accessory/stethoscope(src)
new /obj/item/device/flashlight/pen(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/firstaid/brute(src)
new /obj/item/weapon/storage/firstaid/fire(src)
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
// Psychiatrist's pill bottle
@@ -128,12 +124,13 @@
icon_broken = "securemedbroken"
icon_off = "securemedoff"
New()
..()
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/weapon/reagent_containers/syringe(src)
new /obj/item/weapon/reagent_containers/glass/bottle/ether(src)
new /obj/item/weapon/storage/pill_bottle/psychiatrist(src)
/obj/structure/closet/secure_closet/psychiatrist/New()
..()
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/weapon/reagent_containers/syringe(src)
new /obj/item/weapon/reagent_containers/glass/bottle/ether(src)
new /obj/item/weapon/storage/pill_bottle/psychiatrist(src)
/obj/structure/closet/secure_closet/CMO
name = "chief medical officer's locker"
@@ -145,52 +142,49 @@
icon_broken = "cmosecurebroken"
icon_off = "cmosecureoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/shoes/white(src)
switch(pick("blue", "green", "purple"))
if("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
if("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
if("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/shoes/brown (src)
new /obj/item/device/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/defibrillator/compact/loaded(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src)
new /obj/item/weapon/door_remote/chief_medical_officer(src)
/obj/structure/closet/secure_closet/CMO/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/shoes/white(src)
switch(pick("blue", "green", "purple"))
if("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
if("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
if("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/shoes/brown (src)
new /obj/item/device/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/defibrillator/compact/loaded(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src)
new /obj/item/weapon/door_remote/chief_medical_officer(src)
/obj/structure/closet/secure_closet/animal
name = "animal control locker"
req_access = list(access_surgery)
New()
..()
new /obj/item/device/assembly/signaler(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
/obj/structure/closet/secure_closet/animal/New()
..()
new /obj/item/device/assembly/signaler(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
/obj/structure/closet/secure_closet/chemical
@@ -204,11 +198,11 @@
icon_off = "medicaloff"
req_access = list(access_chemistry)
/obj/structure/closet/secure_closet/chemical/New()
..()
new /obj/item/weapon/storage/box/pillbottles(src)
new /obj/item/weapon/storage/box/pillbottles(src)
New()
..()
new /obj/item/weapon/storage/box/pillbottles(src)
new /obj/item/weapon/storage/box/pillbottles(src)
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
@@ -247,13 +241,12 @@
icon_off = "medicaloff"
req_access = list(access_paramedic)
New()
..()
new /obj/item/clothing/suit/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/device/sensor_device(src)
/obj/structure/closet/secure_closet/paramedic/New()
..()
new /obj/item/clothing/suit/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/device/sensor_device(src)
/obj/structure/closet/secure_closet/reagents
name = "chemical storage closet"
@@ -266,12 +259,11 @@
icon_off = "chemicaloff"
req_access = list(access_chemistry)
New()
..()
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine(src)
/obj/structure/closet/secure_closet/reagents/New()
..()
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine(src)
@@ -8,19 +8,19 @@
icon_broken = "secureresbroken"
icon_off = "secureresoff"
New()
..()
new /obj/item/weapon/storage/backpack/science(src)
new /obj/item/weapon/storage/backpack/satchel_tox(src)
new /obj/item/clothing/under/rank/scientist(src)
//new /obj/item/clothing/suit/labcoat/science(src)
new /obj/item/clothing/suit/storage/labcoat/science(src)
new /obj/item/clothing/shoes/white(src)
/obj/structure/closet/secure_closet/scientist/New()
..()
new /obj/item/weapon/storage/backpack/science(src)
new /obj/item/weapon/storage/backpack/satchel_tox(src)
new /obj/item/clothing/under/rank/scientist(src)
//new /obj/item/clothing/suit/labcoat/science(src)
new /obj/item/clothing/suit/storage/labcoat/science(src)
new /obj/item/clothing/shoes/white(src)
// new /obj/item/weapon/cartridge/signal/toxins(src)
new /obj/item/device/radio/headset/headset_sci(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/shoes/sandal/white(src)
new /obj/item/device/radio/headset/headset_sci(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/roboticist
name = "roboticist's locker"
@@ -32,18 +32,18 @@
icon_broken = "secureresbroken"
icon_off = "secureresoff"
New()
..()
new /obj/item/weapon/storage/backpack(src)
new /obj/item/weapon/storage/backpack(src)
new /obj/item/weapon/storage/backpack/satchel_norm(src)
new /obj/item/weapon/storage/backpack/satchel_norm(src)
new /obj/item/weapon/storage/backpack/duffel(src)
new /obj/item/weapon/storage/backpack/duffel(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/device/radio/headset/headset_sci(src)
new /obj/item/device/radio/headset/headset_sci(src)
/obj/structure/closet/secure_closet/roboticist/New()
..()
new /obj/item/weapon/storage/backpack(src)
new /obj/item/weapon/storage/backpack(src)
new /obj/item/weapon/storage/backpack/satchel_norm(src)
new /obj/item/weapon/storage/backpack/satchel_norm(src)
new /obj/item/weapon/storage/backpack/duffel(src)
new /obj/item/weapon/storage/backpack/duffel(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/device/radio/headset/headset_sci(src)
new /obj/item/device/radio/headset/headset_sci(src)
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
@@ -55,22 +55,23 @@
icon_broken = "rdsecurebroken"
icon_off = "rdsecureoff"
New()
..()
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/under/rank/research_director(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/weapon/cartridge/rd(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/device/radio/headset/heads/rd(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/suit/armor/reactive/teleport(src)
new /obj/item/device/flash(src)
new /obj/item/device/laser_pointer(src)
new /obj/item/weapon/door_remote/research_director(src)
/obj/structure/closet/secure_closet/RD/New()
..()
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/under/rank/research_director(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/weapon/cartridge/rd(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/device/radio/headset/heads/rd(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/suit/armor/reactive/teleport(src)
new /obj/item/device/flash(src)
new /obj/item/device/laser_pointer(src)
new /obj/item/weapon/door_remote/research_director(src)
/obj/structure/closet/secure_closet/research_reagents
name = "research chemical storage closet"
@@ -83,20 +84,19 @@
icon_off = "rchemicaloff"
req_access = list(access_tox_storage)
New()
..()
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine(src)
/obj/structure/closet/secure_closet/research_reagents/New()
..()
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine(src)
@@ -5,8 +5,8 @@
icon_state = "secure1"
density = 1
opened = 0
var/locked = 1
var/broken = 0
locked = 1
broken = 0
var/large = 1
icon_closed = "secure"
var/icon_locked = "secure1"
@@ -8,30 +8,29 @@
icon_broken = "capsecurebroken"
icon_off = "capsecureoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/captain(src)
else
new /obj/item/weapon/storage/backpack/satchel_cap(src)
new /obj/item/weapon/book/manual/faxes(src)
new /obj/item/weapon/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/under/captainparade(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/weapon/cartridge/captain(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/device/radio/headset/heads/captain/alt(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/weapon/storage/belt/rapier(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/door_remote/captain(src)
/obj/structure/closet/secure_closet/captains/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/captain(src)
else
new /obj/item/weapon/storage/backpack/satchel_cap(src)
new /obj/item/weapon/book/manual/faxes(src)
new /obj/item/weapon/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/under/captainparade(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/weapon/cartridge/captain(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/device/radio/headset/heads/captain/alt(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/weapon/storage/belt/rapier(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/door_remote/captain(src)
/obj/structure/closet/secure_closet/hop
@@ -44,19 +43,20 @@
icon_broken = "hopsecurebroken"
icon_off = "hopsecureoff"
New()
..()
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/head/hopcap(src)
new /obj/item/weapon/cartridge/hop(src)
new /obj/item/device/radio/headset/heads/hop(src)
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/PDAs(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/accessory/petcollar(src)
new /obj/item/weapon/door_remote/civillian(src)
/obj/structure/closet/secure_closet/hop/New()
..()
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/head/hopcap(src)
new /obj/item/weapon/cartridge/hop(src)
new /obj/item/device/radio/headset/heads/hop(src)
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/PDAs(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/accessory/petcollar(src)
new /obj/item/weapon/door_remote/civillian(src)
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
@@ -68,21 +68,20 @@
icon_broken = "hopsecurebroken"
icon_off = "hopsecureoff"
New()
..()
new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/under/dress/dress_hop(src)
new /obj/item/clothing/under/dress/dress_hr(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/leather(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src)
/obj/structure/closet/secure_closet/hop2/New()
..()
new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/under/dress/dress_hop(src)
new /obj/item/clothing/under/dress/dress_hr(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/leather(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src)
/obj/structure/closet/secure_closet/hos
@@ -95,33 +94,32 @@
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/device/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/under/rank/head_of_security/formal(src)
new /obj/item/clothing/under/rank/head_of_security/corp(src)
new /obj/item/clothing/under/rank/head_of_security/skirt(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/suit/armor/hos/alt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/head/HoS/beret(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/weapon/storage/lockbox/mindshield(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/clothing/mask/gas/sechailer/hos(src)
new /obj/item/weapon/shield/riot/tele(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/gun/energy/gun/hos(src)
new /obj/item/weapon/door_remote/head_of_security(src)
/obj/structure/closet/secure_closet/hos/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/device/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/under/rank/head_of_security/formal(src)
new /obj/item/clothing/under/rank/head_of_security/corp(src)
new /obj/item/clothing/under/rank/head_of_security/skirt(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/suit/armor/hos/alt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/head/HoS/beret(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/weapon/storage/lockbox/mindshield(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/clothing/mask/gas/sechailer/hos(src)
new /obj/item/weapon/shield/riot/tele(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/gun/energy/gun/hos(src)
new /obj/item/weapon/door_remote/head_of_security(src)
/obj/structure/closet/secure_closet/warden
@@ -134,34 +132,32 @@
icon_broken = "wardensecurebroken"
icon_off = "wardensecureoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/suit/armor/vest/warden(src)
new /obj/item/clothing/head/warden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
new /obj/item/clothing/head/beret/sec/warden(src)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/under/rank/warden/formal(src)
new /obj/item/clothing/under/rank/warden/corp(src)
new /obj/item/clothing/under/rank/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/storage/box/zipties(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun/advtaser(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/weapon/storage/box/holobadge(src)
new /obj/item/clothing/gloves/color/black/krav_maga/sec(src)
/obj/structure/closet/secure_closet/warden/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/suit/armor/vest/warden(src)
new /obj/item/clothing/head/warden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
new /obj/item/clothing/head/beret/sec/warden(src)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/under/rank/warden/formal(src)
new /obj/item/clothing/under/rank/warden/corp(src)
new /obj/item/clothing/under/rank/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/storage/box/zipties(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun/advtaser(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/weapon/storage/box/holobadge(src)
new /obj/item/clothing/gloves/color/black/krav_maga/sec(src)
/obj/structure/closet/secure_closet/security
@@ -174,24 +170,25 @@
icon_broken = "secbroken"
icon_off = "secoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/head/soft/sec(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/taperoll/police(src)
/obj/structure/closet/secure_closet/security/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/head/soft/sec(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/taperoll/police(src)
/obj/structure/closet/secure_closet/brigdoc
name = "brig physician's locker"
@@ -203,24 +200,25 @@
icon_broken = "securemedbroken"
icon_off = "securemedoff"
New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/firstaid/fire(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
new /obj/item/clothing/suit/storage/brigdoc(src)
new /obj/item/clothing/under/rank/security/brigphys(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/brigdoc/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/firstaid/fire(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
new /obj/item/clothing/suit/storage/brigdoc(src)
new /obj/item/clothing/under/rank/security/brigphys(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/blueshield
name = "blueshield's locker"
@@ -232,25 +230,26 @@
icon_broken = "bssecurebroken"
icon_off = "bssecureoff"
New()
..()
new /obj/item/weapon/storage/briefcase(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/health/health_advanced
new /obj/item/clothing/head/beret/centcom/officer(src)
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
new /obj/item/clothing/suit/armor/vest/blueshield(src)
new /obj/item/clothing/suit/storage/blueshield(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/accessory/holster(src)
new /obj/item/clothing/accessory/blue(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
/obj/structure/closet/secure_closet/blueshield/New()
..()
new /obj/item/weapon/storage/briefcase(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/belt/security/sec(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/health/health_advanced
new /obj/item/clothing/head/beret/centcom/officer(src)
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
new /obj/item/clothing/suit/armor/vest/blueshield(src)
new /obj/item/clothing/suit/storage/blueshield(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/accessory/holster(src)
new /obj/item/clothing/accessory/blue(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
/obj/structure/closet/secure_closet/ntrep
name = "\improper Nanotrasen Representative's locker"
@@ -262,51 +261,54 @@
icon_broken = "ntsecurebroken"
icon_off = "ntsecureoff"
New()
..()
new /obj/item/weapon/book/manual/faxes(src)
new /obj/item/weapon/storage/briefcase(src)
new /obj/item/device/paicard(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/head/ntrep(src)
new /obj/item/clothing/shoes/sandal/fancy(src)
new /obj/item/weapon/storage/box/tapes(src)
new /obj/item/device/taperecorder(src)
/obj/structure/closet/secure_closet/ntrep/New()
..()
new /obj/item/weapon/book/manual/faxes(src)
new /obj/item/weapon/storage/briefcase(src)
new /obj/item/device/paicard(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/head/ntrep(src)
new /obj/item/clothing/shoes/sandal/fancy(src)
new /obj/item/weapon/storage/box/tapes(src)
new /obj/item/device/taperecorder(src)
/obj/structure/closet/secure_closet/security/cargo
New()
..()
new /obj/item/clothing/accessory/armband/cargo(src)
new /obj/item/device/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/cargo/New()
..()
new /obj/item/clothing/accessory/armband/cargo(src)
new /obj/item/device/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/engine
New()
..()
new /obj/item/clothing/accessory/armband/engine(src)
new /obj/item/device/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/engine/New()
..()
new /obj/item/clothing/accessory/armband/engine(src)
new /obj/item/device/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/science
New()
..()
new /obj/item/clothing/accessory/armband/science(src)
new /obj/item/device/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/science/New()
..()
new /obj/item/clothing/accessory/armband/science(src)
new /obj/item/device/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/med
New()
..()
new /obj/item/clothing/accessory/armband/medgreen(src)
new /obj/item/device/encryptionkey/headset_med(src)
/obj/structure/closet/secure_closet/security/med/New()
..()
new /obj/item/clothing/accessory/armband/medgreen(src)
new /obj/item/device/encryptionkey/headset_med(src)
/obj/structure/closet/secure_closet/detective
@@ -321,28 +323,28 @@
burn_state = FLAMMABLE
burntime = 20
New()
..()
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/blue(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/red(src)
new /obj/item/clothing/gloves/color/black/forensics(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/storage/box/evidence(src)
new /obj/item/weapon/clipboard(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/device/detective_scanner(src)
new /obj/item/clothing/suit/armor/vest/det_suit(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/weapon/gun/projectile/revolver/detective(src)
new /obj/item/taperoll/police(src)
new /obj/item/clothing/accessory/holster/armpit(src)
new /obj/item/clothing/glasses/sunglasses/yeah(src)
new /obj/item/device/flashlight/seclite(src)
new /obj/item/clothing/accessory/black(src)
/obj/structure/closet/secure_closet/detective/New()
..()
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/blue(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/red(src)
new /obj/item/clothing/gloves/color/black/forensics(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/storage/box/evidence(src)
new /obj/item/weapon/clipboard(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/device/detective_scanner(src)
new /obj/item/clothing/suit/armor/vest/det_suit(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/weapon/gun/projectile/revolver/detective(src)
new /obj/item/taperoll/police(src)
new /obj/item/clothing/accessory/holster/armpit(src)
new /obj/item/clothing/glasses/sunglasses/yeah(src)
new /obj/item/device/flashlight/seclite(src)
new /obj/item/clothing/accessory/black(src)
/obj/structure/closet/secure_closet/detective/update_icon()
if(broken)
@@ -356,16 +358,15 @@
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(access_security)
New()
..()
new /obj/item/weapon/reagent_containers/ld50_syringe/lethal(src)
new /obj/item/weapon/reagent_containers/ld50_syringe/lethal(src)
/obj/structure/closet/secure_closet/injection/New()
..()
new /obj/item/weapon/reagent_containers/ld50_syringe/lethal(src)
new /obj/item/weapon/reagent_containers/ld50_syringe/lethal(src)
/obj/structure/closet/secure_closet/brig
@@ -374,29 +375,29 @@
anchored = 1
var/id = null
New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/weapon/card/id/prisoner/random(src)
new /obj/item/device/radio/headset(src)
/obj/structure/closet/secure_closet/brig/New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/weapon/card/id/prisoner/random(src)
new /obj/item/device/radio/headset(src)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_court)
New()
..()
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/weapon/storage/briefcase(src)
/obj/structure/closet/secure_closet/courtroom/New()
..()
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/weapon/storage/briefcase(src)
/obj/structure/closet/secure_closet/wall
name = "wall locker"
@@ -460,3 +460,20 @@
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/purple(src)
new /obj/item/clothing/shoes/leather(src)
/obj/structure/closet/wardrobe/coroner
name = "coroner wardrobe"
icon_state = "black"
icon_closed = "black"
/obj/structure/closet/wardrobe/coroner/New()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/storage/labcoat/mortician(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/under/rank/medical/mortician(src)
new /obj/item/clothing/head/surgery/black(src)
@@ -242,8 +242,8 @@
var/greenlight = "securecrateg"
var/sparks = "securecratesparks"
var/emag = "securecrateemag"
var/broken = 0
var/locked = 1
broken = 0
locked = 1
health = 1000
/obj/structure/closet/crate/secure/update_icon()
@@ -443,9 +443,9 @@
anchored = TRUE
/obj/structure/closet/crate/can/attackby(obj/item/weapon/W, mob/living/user, params)
add_fingerprint(user)
user.changeNext_move(CLICK_CD_MELEE)
if(iswrench(W))
add_fingerprint(user)
user.changeNext_move(CLICK_CD_MELEE)
if(anchored)
playsound(loc, W.usesound, 100, 1)
user.visible_message("[user] starts loosening [src]'s floor casters.", \
@@ -469,6 +469,8 @@
user.visible_message("[user] has secured [src]'s floor casters.", \
"<span class='notice'>You have secured [src]'s floor casters.</span>")
anchored = TRUE
else
..()
/obj/structure/closet/crate/radiation
desc = "A crate with a radiation sign on it."
+18 -18
View File
@@ -108,7 +108,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
return 1
/obj/structure/window/hitby(atom/movable/AM)
/obj/structure/window/hitby(atom/movable/AM)
..()
var/tforce = 0
if(ismob(AM))
@@ -125,7 +125,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
update_nearby_icons()
step(src, get_dir(AM, src))
if(health <= 0)
destroy()
destroy()
/obj/structure/window/attack_hand(mob/user as mob)
@@ -179,14 +179,14 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
attack_generic(user, rand(10, 15))
/obj/structure/window/attackby(obj/item/weapon/W as obj, mob/living/user as mob, params)
if(!istype(W)) return//I really wish I did not need this
if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
/obj/structure/window/attackby(obj/item/I as obj, mob/living/user as mob, params)
if(!istype(I)) return//I really wish I did not need this
if(istype(I, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = I
if(istype(G.affecting,/mob/living))
var/mob/living/M = G.affecting
var/state = G.state
qdel(W) //gotta delete it here because if window breaks, it won't get deleted
qdel(I) //gotta delete it here because if window breaks, it won't get deleted
switch(state)
if(1)
M.visible_message("<span class='warning'>[user] slams [M] against \the [src]!</span>")
@@ -210,29 +210,29 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
hit(75)
return
if(W.flags & NOBLUDGEON) return
if(I.flags & NOBLUDGEON) return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(I, /obj/item/weapon/screwdriver))
if(reinf && state >= 1)
state = 3 - state
playsound(loc, W.usesound, 75, 1)
playsound(loc, I.usesound, 75, 1)
to_chat(user, (state == 1 ? "<span class='notice'>You have unfastened the window from the frame.</span>" : "<span class='notice'>You have fastened the window to the frame.</span>"))
else if(reinf && state == 0)
anchored = !anchored
update_nearby_icons()
playsound(loc, W.usesound, 75, 1)
playsound(loc, I.usesound, 75, 1)
to_chat(user, (anchored ? "<span class='notice'>You have fastened the frame to the floor.</span>" : "<span class='notice'>You have unfastened the frame from the floor.</span>"))
else if(!reinf)
anchored = !anchored
update_nearby_icons()
playsound(loc, W.usesound, 75, 1)
playsound(loc, I.usesound, 75, 1)
to_chat(user, (anchored ? "<span class='notice'>You have fastened the window to the floor.</span>" : "<span class='notice'>You have unfastened the window.</span>"))
else if(istype(W, /obj/item/weapon/crowbar) && reinf && state <= 1)
else if(istype(I, /obj/item/weapon/crowbar) && reinf && state <= 1)
state = 1 - state
playsound(loc, W.usesound, 75, 1)
playsound(loc, I.usesound, 75, 1)
to_chat(user, (state ? "<span class='notice'>You have pried the window into the frame.</span>" : "<span class='notice'>You have pried the window out of the frame.</span>"))
else if(istype(W, /obj/item/weapon/wrench) && !anchored && health > 7) //Disassemble deconstructed window into parts
playsound(src.loc, W.usesound, 50, 1)
else if(istype(I, /obj/item/weapon/wrench) && !anchored && health > 7) //Disassemble deconstructed window into parts
playsound(src.loc, I.usesound, 50, 1)
for(var/i=0;i<sheets;i++)
var/obj/item/stack/sheet/glass/NG = new glasstype(src.loc)
for(var/obj/item/stack/sheet/glass/G in src.loc) //Stack em up
@@ -258,9 +258,9 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
update_nearby_icons()
qdel(src)
else
if(W.damtype == BRUTE || W.damtype == BURN)
if(I.damtype == BRUTE || I.damtype == BURN)
user.changeNext_move(CLICK_CD_MELEE)
hit(W.force)
hit(I.force)
if(health <= 7)
anchored = 0
update_nearby_icons()
+2
View File
@@ -108,6 +108,8 @@ var/list/admin_verbs_event = list(
/client/proc/toggle_random_events,
/client/proc/toggle_ert_calling,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_custom_event_info,
/client/proc/cmd_view_custom_event_info,
/datum/admins/proc/access_news_network, /*allows access of newscasters*/
/client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/
/client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/
+46
View File
@@ -38,3 +38,49 @@
to_chat(src, "<h2 class='alert'>A custom event is taking place. OOC Info:</h2>")
to_chat(src, "<span class='alert'>[html_encode(custom_event_msg)]</span>")
to_chat(src, "<br>")
//admin event info to be view by admins
/client/proc/cmd_admin_custom_event_info()
set category = "Event"
set name = "Change Custom Admin Event Info"
if(!check_rights(R_EVENT))
to_chat(src, "Only administrators may use this command.")
return
var/input = input(usr, "Enter the description of the custom event. This is informations for admins only. Use it to notify other admins of event info but not players.", "Custom Event Info", custom_event_msg) as message|null
if(!input || input == "")
custom_event_admin_msg = null
log_admin("[key_name(usr)] has cleared the custom admin event info text.")
message_admins("[key_name_admin(usr)] has cleared the custom admin event text.")
return
log_admin("[key_name(usr)] has changed the custom admin event info text.")
message_admins("[key_name_admin(usr)] has changed the custom admin event info text.")
custom_event_admin_msg = input
for(var/client/X in admins)
if(check_rights(R_EVENT,0,X.mob))
to_chat(X, "<h1 class='alert'>Custom Admin Event Info</h1>")
to_chat(X, "<h2 class='alert'>A custom event is starting. OOC Admin Info:</h2>")
to_chat(X, "<span class='alert'>[html_encode(custom_event_admin_msg)]</span>")
to_chat(X,"<br>")
/client/proc/cmd_view_custom_event_info()
set category = "Event"
set name = "Custom Event Admin Info"
if(!check_rights(R_EVENT))
to_chat(src, "Only administrators may use this command.")
return
if(!custom_event_admin_msg || custom_event_admin_msg == "")
to_chat(src, "There currently is no known custom admin event taking place.")
return
to_chat(src, "<h1 class='alert'>Custom Event Info</h1>")
to_chat(src, "<h2 class='alert'>A custom event is taking place. OOC Info:</h2>")
to_chat(src, "<span class='alert'>[html_encode(custom_event_admin_msg)]</span>")
to_chat(src, "<br>")
+1 -1
View File
@@ -61,7 +61,7 @@
if(usr)
if(usr.client)
if(usr.client.holder)
to_chat(M, "<b>old You hear a voice in your head... <i>[msg]</i></b>")
to_chat(M, "<b>You hear a voice in your head... <i>[msg]</i></b>")
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
message_admins("<span class='boldnotice'>SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]</span>", 1)
+2
View File
@@ -436,6 +436,8 @@
on_holder_add()
add_admin_verbs()
admin_memo_output("Show", 0, 1)
if(custom_event_admin_msg && custom_event_admin_msg != "" && check_rights(R_EVENT))
cmd_view_custom_event_info()
// Forcibly enable hardware-accelerated graphics, as we need them for the lighting overlays.
// (but turn them off first, since sometimes BYOND doesn't turn them on properly otherwise)
+1 -3
View File
@@ -1,12 +1,10 @@
/datum/event/alien_infestation
announceWhen = 400
var/spawncount = 1
var/spawncount = 2
var/successSpawn = 0 //So we don't make a command report if nothing gets spawned.
/datum/event/alien_infestation/setup()
announceWhen = rand(announceWhen, announceWhen + 50)
if(prob(50))
spawncount++
/datum/event/alien_infestation/announce()
if(successSpawn)
@@ -286,7 +286,7 @@
drink_container.desc = "[recipe_to_use.description]"
flick("bottler_on", src)
spawn(45)
QDEL_LIST_ASSOC_VAL(slots)
resetSlots()
bottling = 0
drink_container.forceMove(loc)
updateUsrDialog()
@@ -405,3 +405,7 @@
icon_state = "bottler_on"
else
icon_state = "bottler_off"
/obj/machinery/bottler/proc/resetSlots()
QDEL_LIST_ASSOC_VAL(slots)
slots.len = 3
@@ -71,8 +71,7 @@
var/datum/reagent/R = null
if(random_reagent)
R = pick(subtypesof(/datum/reagent))
R = chemical_reagents_list[initial(R.id)]
R = get_random_reagent_id()
queen_bee = new(src)
queen_bee.beehome = src
@@ -89,13 +88,12 @@
B.beehome = src
B.assign_reagent(R)
/obj/structure/beebox/premade/random
random_reagent = TRUE
/obj/structure/beebox/process()
if(queen_bee)
if(queen_bee && (!queen_bee.beegent || !queen_bee.beegent.can_synth))
if(bee_resources >= BEE_RESOURCE_HONEYCOMB_COST)
if(honeycombs.len < get_max_honeycomb())
bee_resources = max(bee_resources-BEE_RESOURCE_HONEYCOMB_COST, 0)
@@ -172,11 +170,13 @@
var/obj/item/queen_bee/qb = I
user.unEquip(qb)
qb.queen.forceMove(src)
bees += qb.queen
queen_bee = qb.queen
qb.queen = null
if(!qb.queen.beegent || (qb.queen.beegent && qb.queen.beegent.can_synth))
qb.queen.forceMove(src)
bees += qb.queen
queen_bee = qb.queen
qb.queen = null
else
visible_message("<span class='notice'>The [qb] refuses to settle down. Maybe it's something to do with its reagent?</span>")
if(queen_bee)
visible_message("<span class='notice'>[user] sets [qb] down inside the apiary, making it their new home.</span>")
+18 -5
View File
@@ -68,6 +68,7 @@ var/list/robot_verbs_default = list(
var/lockcharge //Used when locking down a borg to preserve cell charge
var/speed = 0 //Cause sec borgs gotta go fast //No they dont!
var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them.
var/pdahide = 0 //Used to hide the borg from the messenger list
var/tracking_entities = 0 //The number of known entities currently accessing the internal camera
var/braintype = "Cyborg"
var/base_icon = ""
@@ -193,6 +194,7 @@ var/list/robot_verbs_default = list(
return 1
/mob/living/silicon/robot/proc/get_default_name(var/prefix as text)
if(prefix)
modtype = prefix
@@ -226,10 +228,12 @@ var/list/robot_verbs_default = list(
if(!rbPDA)
rbPDA = new(src)
rbPDA.set_name_and_job(real_name, braintype)
if(scrambledcodes)
var/datum/data/pda/app/messenger/M = rbPDA.find_program(/datum/data/pda/app/messenger)
if(M)
var/datum/data/pda/app/messenger/M = rbPDA.find_program(/datum/data/pda/app/messenger)
if(M)
if(scrambledcodes)
M.hidden = 1
if(pdahide)
M.toff = 1
/mob/living/silicon/robot/binarycheck()
if(is_component_functioning("comms"))
@@ -390,7 +394,7 @@ var/list/robot_verbs_default = list(
module.add_subsystems_and_actions(src)
//Custom_sprite check and entry
if(custom_sprite == 1)
if(custom_sprite && check_sprite("[ckey]-[modtype]"))
module_sprites["Custom"] = "[src.ckey]-[modtype]"
hands.icon_state = lowertext(module.module_type)
@@ -489,7 +493,7 @@ var/list/robot_verbs_default = list(
toggle_ionpulse()
return
cell.charge -= 50 // 500 steps on a default cell.
cell.charge -= 25 // 500 steps on a default cell.
return 1
/mob/living/silicon/robot/proc/toggle_ionpulse()
@@ -1332,6 +1336,7 @@ var/list/robot_verbs_default = list(
icon_state = "nano_bloodhound"
lawupdate = 0
scrambledcodes = 1
pdahide = 1
modtype = "Commando"
faction = list("nanotrasen")
designation = "Nanotrasen Combat"
@@ -1380,6 +1385,7 @@ var/list/robot_verbs_default = list(
icon_state = "syndie_bloodhound"
lawupdate = 0
scrambledcodes = 1
pdahide = 1
faction = list("syndicate")
designation = "Syndicate Assault"
modtype = "Syndicate"
@@ -1483,3 +1489,10 @@ var/list/robot_verbs_default = list(
borked_part.wrapped = new borked_part.external_type
borked_part.heal_damage(brute,burn)
borked_part.install()
/mob/living/silicon/robot/proc/check_sprite(spritename)
. = FALSE
var/static/all_borg_icon_states = icon_states('icons/mob/custom_synthetic/custom-synthetic.dmi')
if(spritename in all_borg_icon_states)
. = TRUE
@@ -681,11 +681,12 @@
if(istype(M,/mob/living/silicon/robot))
visible_message("<span class='danger'>[src] bumps into [M]!</span>")
else
add_logs(src, M, "knocked down")
visible_message("<span class='danger'>[src] knocks over [M]!</span>")
M.stop_pulling()
M.Stun(8)
M.Weaken(5)
if(!paicard)
add_logs(src, M, "knocked down")
visible_message("<span class='danger'>[src] knocks over [M]!</span>")
M.stop_pulling()
M.Stun(8)
M.Weaken(5)
return ..()
/mob/living/simple_animal/bot/mulebot/proc/RunOver(mob/living/carbon/human/H)
@@ -127,9 +127,6 @@
return 1
return 0
//Botany Worker Bees
/mob/living/simple_animal/hostile/poison/bees/worker
//Blank type define in case we need to give them special stuff later, plus organization (currently they are same as base type bee)
@@ -253,6 +250,9 @@
if(S.reagents.has_reagent("royal_bee_jelly")) //checked twice, because I really don't want royal bee jelly to be duped
if(S.reagents.has_reagent("royal_bee_jelly",5))
S.reagents.remove_reagent("royal_bee_jelly", 5)
if(!queen.beegent.can_synth)
to_chat(user, "<span class='warning'>You inject [src] with the royal bee jelly. It's ineffective! Maybe it's something to do with the [src] reagent.</span>")
return
var/obj/item/queen_bee/qb = new(get_turf(user))
qb.queen = new(qb)
if(queen && queen.beegent)
@@ -16,6 +16,8 @@
humanize_prompt += " Role: [spider_role_summary]"
if(user.ckey in ts_ckey_blacklist)
error_on_humanize = "You are not able to control any terror spider this round."
else if(user.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
error_on_humanize = "You have enabled antag HUD and are unable to re-enter the round."
else if(spider_awaymission)
error_on_humanize = "Terror spiders that are part of an away mission cannot be controlled by ghosts."
else if(!ai_playercontrol_allowtype)
+12 -6
View File
@@ -3,7 +3,7 @@
name = "Placeholder Generator" //seriously, don't use this. It can't be anchored without VV magic.
desc = "A portable generator for emergency backup power"
icon = 'icons/obj/power.dmi'
icon_state = "portgen0"
icon_state = "portgen0_0"
density = 1
anchored = 0
use_power = 0
@@ -13,6 +13,7 @@
var/open = 0
var/recent_fault = 0
var/power_output = 1
var/base_icon = "portgen0"
/obj/machinery/power/port_gen/proc/IsBroken()
return (stat & (BROKEN|EMPED))
@@ -29,14 +30,17 @@
/obj/machinery/power/port_gen/proc/handleInactive()
return
/obj/machinery/power/port_gen/update_icon()
icon_state = "[base_icon]_[active]"
/obj/machinery/power/port_gen/process()
if(active && HasFuel() && !IsBroken() && anchored && powernet)
add_avail(power_gen * power_output)
UseFuel()
else
active = 0
icon_state = initial(icon_state)
handleInactive()
update_icon()
/obj/machinery/power/powered()
return 1 //doesn't require an external power source
@@ -362,11 +366,11 @@
if(href_list["action"] == "enable")
if(!active && HasFuel() && !IsBroken())
active = 1
icon_state = "portgen1"
update_icon()
if(href_list["action"] == "disable")
if(active)
active = 0
icon_state = "portgen0"
update_icon()
if(href_list["action"] == "eject")
if(!active)
DropFuel()
@@ -382,7 +386,8 @@
/obj/machinery/power/port_gen/pacman/super
name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator"
desc = "A power generator that utilizes uranium sheets as fuel. Can run for much longer than the standard PACMAN type generators. Rated for 80 kW max safe output."
icon_state = "portgen1"
icon_state = "portgen1_0"
base_icon = "portgen1"
sheet_path = /obj/item/stack/sheet/mineral/uranium
sheet_name = "Uranium Sheets"
time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power
@@ -420,7 +425,8 @@
/obj/machinery/power/port_gen/pacman/mrs
name = "M.R.S.P.A.C.M.A.N.-type Portable Generator"
desc = "An advanced power generator that runs on diamonds. Rated for 200 kW maximum safe output!"
icon_state = "portgen2"
icon_state = "portgen2_0"
base_icon = "portgen2"
sheet_path = /obj/item/stack/sheet/mineral/diamond
sheet_name = "Diamond Sheets"
@@ -11,6 +11,9 @@
projectile_type = /obj/item/projectile/beam/laser
select_name = "kill"
/obj/item/ammo_casing/energy/laser/cyborg //to balance cyborg energy cost seperately
e_cost = 250
/obj/item/ammo_casing/energy/lasergun
projectile_type = /obj/item/projectile/beam/laser
e_cost = 83
@@ -126,6 +129,9 @@
e_cost = 50
fire_sound = 'sound/weapons/taser2.ogg'
/obj/item/ammo_casing/energy/disabler/cyborg //seperate balancing for cyborg, again
e_cost = 250
/obj/item/ammo_casing/energy/plasma
projectile_type = /obj/item/projectile/plasma
select_name = "plasma burst"
@@ -182,16 +182,19 @@
/obj/item/ammo_box/magazine/m10mm/fire
name = "pistol magazine (10mm incendiary)"
icon_state = "9x19pI"
desc = "A gun magazine. Loaded with rounds which ignite the target."
ammo_type = /obj/item/ammo_casing/c10mm/fire
/obj/item/ammo_box/magazine/m10mm/hp
name = "pistol magazine (10mm HP)"
icon_state = "9x19pH"
desc= "A gun magazine. Loaded with hollow-point rounds, extremely effective against unarmored targets, but nearly useless against protective clothing."
ammo_type = /obj/item/ammo_casing/c10mm/hp
/obj/item/ammo_box/magazine/m10mm/ap
name = "pistol magazine (10mm AP)"
icon_state = "9x19pA"
desc= "A gun magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets"
ammo_type = /obj/item/ammo_casing/c10mm/ap
@@ -46,6 +46,7 @@
/obj/item/weapon/gun/energy/laser/cyborg
can_charge = 0
desc = "An energy-based laser gun that draws power from the cyborg's internal energy cell directly. So this is what freedom looks like?"
ammo_type = list(/obj/item/ammo_casing/energy/laser/cyborg)
origin_tech = null
/obj/item/weapon/gun/energy/laser/cyborg/newshot()
@@ -52,6 +52,7 @@
/obj/item/weapon/gun/energy/disabler/cyborg
name = "cyborg disabler"
desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating."
ammo_type = list(/obj/item/ammo_casing/energy/disabler/cyborg)
can_charge = 0
/obj/item/weapon/gun/energy/disabler/cyborg/newshot()
@@ -15,8 +15,8 @@
var/bypass_protection = 0 //If the hypospray can go through armor or thick material
var/list/datum/reagents/reagent_list = list()
var/list/reagent_ids = list("salglu_solution", "epinephrine", "spaceacillin", "charcoal")
//var/list/reagent_ids = list("salbutamol", "silver_sulfadiazine", "styptic_powder", "charcoal", "epinephrine", "spaceacillin")
var/list/reagent_ids = list("salglu_solution", "epinephrine", "spaceacillin", "charcoal", "hydrocodone")
//var/list/reagent_ids = list("salbutamol", "silver_sulfadiazine", "styptic_powder", "charcoal", "epinephrine", "spaceacillin", "hydrocodone")
/obj/item/weapon/reagent_containers/borghypo/surgeon
reagent_ids = list("styptic_powder", "epinephrine", "salbutamol")
@@ -127,4 +127,4 @@
empty = 0
if(empty)
to_chat(user, "<span class='notice'>It is currently empty. Allow some time for the internal syntheszier to produce more.</span>")
to_chat(user, "<span class='notice'>It is currently empty. Allow some time for the internal syntheszier to produce more.</span>")
+108
View File
@@ -56,6 +56,114 @@
-->
<div class="commit sansserif">
<h2 class="date">11 October 2017</h2>
<h3 class="author">Anasari updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Slot machine no longer earn money on average. Bet changed to 100.</li>
<li class="tweak">All items can be used to smash windows instead of only those defined as weapons. (e.g. including guitar & flashlight)</li>
<li class="tweak">Mulebot with pAI cannot knock people down anymore.</li>
</ul>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Terror spiders now respect antagHUD respawn restrictions.</li>
</ul>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">mindslaving an antagbanned player now offers control of their mob to ghosts.</li>
</ul>
<h3 class="author">TullyBurnalot updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Can now place garbage in garbage cans without standing on top of them.</li>
</ul>
<h3 class="author">scrubmcnoob updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Cult must use teleport tailsman in active hands.</li>
</ul>
<h3 class="author">uraniummeltdown updated:</h3>
<ul class="changes bgimages16">
<li class="imageadd">New PACMAN portable generator sprites</li>
</ul>
<h2 class="date">10 October 2017</h2>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Bees with no reagent will now work.</li>
</ul>
<h2 class="date">07 October 2017</h2>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">User interface tweaks to Brig timers.</li>
<li class="tweak">Seconds converted to minutes and seconds in Brig radio and security console printouts.</li>
<li class="bugfix">Bees can no longer reproduce un-synthable reagents.</li>
</ul>
<h3 class="author">imsxz updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Aliens now always spawn as a pair when their infestation event begins.</li>
</ul>
<h3 class="author">scrubmcnoob updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Abductors can no longer use megaphones.</li>
</ul>
<h3 class="author">uraniummeltdown updated:</h3>
<ul class="changes bgimages16">
<li class="imageadd">Adds new sprites to the unused and used eldritch whetstones. Sprites by Fury McFlurry.</li>
<li class="rscadd">Air tanks now have their own sprite, no longer looking like oxygen tanks</li>
<li class="imageadd">10mm alt magazines have their own sprites</li>
</ul>
<h2 class="date">06 October 2017</h2>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Bottler doesn't break after one use.</li>
</ul>
<h2 class="date">05 October 2017</h2>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Re-adds missing light switch to robotics.</li>
</ul>
<h2 class="date">02 October 2017</h2>
<h3 class="author">Imsxz updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Rapid re-hatch no longer kills shadowlings.</li>
<li class="bugfix">Vampires can no longer enthrall chaplains</li>
</ul>
<h2 class="date">30 September 2017</h2>
<h3 class="author">Jovaniph updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Coroner now has their own locker in the morgue.</li>
</ul>
<h3 class="author">Landerlow updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Adds hydrocodone to the Cyborg Hypospray</li>
</ul>
<h2 class="date">29 September 2017</h2>
<h3 class="author">Citinited updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Telescreens and entertainment consoles now have 'off' and 'broken' sprites.</li>
<li class="tweak">Wooden TVs, engineering camera consoles, mining camera consoles, telescreens, and entertainment consoles now have their own circuit boards and can be reconstructed!</li>
<li class="tweak">Using a multitool on a telescreen or entertainment monitor will now allow you to reposition it.</li>
</ul>
<h3 class="author">imsxz updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Subtle messages no longer begin with "old"</li>
</ul>
<h2 class="date">28 September 2017</h2>
<h3 class="author">MarsM0nd updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Stops the electrified arm from combat and stunbaton implant from runtiming.</li>
</ul>
<h3 class="author">uraniummeltdown updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Changelings have a new power, Biodegrade, for 2 evolution points. For 30 chemicals you can vomit acid onto restraints, welded/locked lockers and spider cocoons to escape them.</li>
<li class="bugfix">Hivemind Link for changelings has been readded, it was removed in error</li>
</ul>
<h2 class="date">05 September 2017</h2>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
+66
View File
@@ -5479,3 +5479,69 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
2017-09-05:
Kyep:
- rscadd: Adds alternative military shuttle, NT Navy troop transport.
2017-09-28:
MarsM0nd:
- bugfix: Stops the electrified arm from combat and stunbaton implant from runtiming.
uraniummeltdown:
- rscadd: Changelings have a new power, Biodegrade, for 2 evolution points. For
30 chemicals you can vomit acid onto restraints, welded/locked lockers and spider
cocoons to escape them.
- bugfix: Hivemind Link for changelings has been readded, it was removed in error
2017-09-29:
Citinited:
- rscadd: Telescreens and entertainment consoles now have 'off' and 'broken' sprites.
- tweak: Wooden TVs, engineering camera consoles, mining camera consoles, telescreens,
and entertainment consoles now have their own circuit boards and can be reconstructed!
- tweak: Using a multitool on a telescreen or entertainment monitor will now allow
you to reposition it.
imsxz:
- bugfix: Subtle messages no longer begin with "old"
2017-09-30:
Jovaniph:
- rscadd: Coroner now has their own locker in the morgue.
Landerlow:
- rscadd: Adds hydrocodone to the Cyborg Hypospray
2017-10-02:
Imsxz:
- bugfix: Rapid re-hatch no longer kills shadowlings.
- bugfix: Vampires can no longer enthrall chaplains
2017-10-05:
Birdtalon:
- bugfix: Re-adds missing light switch to robotics.
2017-10-06:
Birdtalon:
- bugfix: Bottler doesn't break after one use.
2017-10-07:
Birdtalon:
- tweak: User interface tweaks to Brig timers.
- tweak: Seconds converted to minutes and seconds in Brig radio and security console
printouts.
- bugfix: Bees can no longer reproduce un-synthable reagents.
imsxz:
- tweak: Aliens now always spawn as a pair when their infestation event begins.
scrubmcnoob:
- bugfix: Abductors can no longer use megaphones.
uraniummeltdown:
- imageadd: Adds new sprites to the unused and used eldritch whetstones. Sprites
by Fury McFlurry.
- rscadd: Air tanks now have their own sprite, no longer looking like oxygen tanks
- imageadd: 10mm alt magazines have their own sprites
2017-10-10:
Birdtalon:
- bugfix: Bees with no reagent will now work.
2017-10-11:
Anasari:
- tweak: Slot machine no longer earn money on average. Bet changed to 100.
- tweak: All items can be used to smash windows instead of only those defined as
weapons. (e.g. including guitar & flashlight)
- tweak: Mulebot with pAI cannot knock people down anymore.
Birdtalon:
- bugfix: Terror spiders now respect antagHUD respawn restrictions.
Kyep:
- bugfix: mindslaving an antagbanned player now offers control of their mob to ghosts.
TullyBurnalot:
- bugfix: Can now place garbage in garbage cans without standing on top of them.
scrubmcnoob:
- bugfix: Cult must use teleport tailsman in active hands.
uraniummeltdown:
- imageadd: New PACMAN portable generator sprites
Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

+4 -4
View File
@@ -12,10 +12,10 @@ Used In File(s): /code/game/machinery/slotmachine.dm
</div>
<div class="item">
<div class="statusLabel">
Ten credits to play!
Hundred credits to play!
</div>
<div class="statusValue">
{{:helper.link('SPIN!', 'refresh', {'ops' : 1}, data.money >= 10 && !data.working ? null : 'disabled')}}
{{:helper.link('SPIN!', 'refresh', {'ops' : 1}, data.money >= 100 && !data.working ? null : 'disabled')}}
</div>
</div>
{{if data.result}}
@@ -29,6 +29,6 @@ Used In File(s): /code/game/machinery/slotmachine.dm
{{else}}
<div class="notice">
Could not scan your card or could not find account!<br>
Please wear or hold your ID and try again.
Please wear or hold your ID and try again.
</div>
{{/if}}
{{/if}}
+2
View File
@@ -408,6 +408,7 @@
#include "code\game\gamemodes\changeling\traitor_chan.dm"
#include "code\game\gamemodes\changeling\powers\absorb.dm"
#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm"
#include "code\game\gamemodes\changeling\powers\biodegrade.dm"
#include "code\game\gamemodes\changeling\powers\chameleon_skin.dm"
#include "code\game\gamemodes\changeling\powers\digitalcamo.dm"
#include "code\game\gamemodes\changeling\powers\epinephrine.dm"
@@ -417,6 +418,7 @@
#include "code\game\gamemodes\changeling\powers\hivemind.dm"
#include "code\game\gamemodes\changeling\powers\humanform.dm"
#include "code\game\gamemodes\changeling\powers\lesserform.dm"
#include "code\game\gamemodes\changeling\powers\linglink.dm"
#include "code\game\gamemodes\changeling\powers\mimic_voice.dm"
#include "code\game\gamemodes\changeling\powers\mutations.dm"
#include "code\game\gamemodes\changeling\powers\panacea.dm"