From 69ee17daf8692f5f369ffdef4932c93994ba893e Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 1 May 2014 19:45:29 -0400 Subject: [PATCH 01/23] Fixed medbay maintenance wierdness --- maps/tgstation2.dmm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index d1b3276982..349d9b0c12 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -4145,7 +4145,7 @@ "bBK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/janitor) "bBL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/medical/genetics) "bBM" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Janitor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/janitor) -"bBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/medical/surgery) +"bBN" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bBO" = (/turf/simulated/wall/r_wall,/area/toxins/server) "bBP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = null; req_access_txt = "30"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) "bBQ" = (/turf/simulated/wall/r_wall,/area/toxins/storage) @@ -4425,7 +4425,7 @@ "bHe" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b) "bHf" = (/turf/simulated/wall,/area/medical/genetics_cloning) "bHg" = (/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b) -"bHh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bHh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bHi" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/cmo) "bHj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo) "bHk" = (/turf/simulated/wall/r_wall,/area/toxins/misc_lab) @@ -4476,7 +4476,7 @@ "bId" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bIe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bIf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_a) -"bIg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bIg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bIh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/asmaint2) "bIi" = (/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/iv_drip,/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_a) "bIj" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_a) @@ -4547,7 +4547,6 @@ "bJw" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bJx" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "bJy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bJz" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 6},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) "bJA" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bJB" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/storage/tech) "bJC" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/storage/tech) @@ -11045,12 +11044,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabASbDCbDDbDmbDFbDGbDnbDIbDlbDKbAUbffbDLbDiaIOaIOaIOaIOaNsbCubCGbDNaIOaIObDdaIOaIObDPbDQbDRaIOaIOaIOaIObDbaIOaNsbCubCGbDSaXNbCPbCXbDYbDXbDZbymbEbbBxbBxbBxbEebEdbEgbEfbEibEhbzGbEjbCUbCYbCZbDabDcbDebDfbDgbDcbDhbDkbDwbDEbAgbCQbCRbAgbAgbAqbksbCTbBObEqbErbEsbEtbDMbDJbDUbBQbDObEybEzbEzbBTbDqbEBbECbEDbEEbEFbDzbDtbEHbEIbySbADbAEbyVbEJbEKbEKbyVaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbELbEMbEMbENbEObEObEPbEPbEPbEPbEQaafaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaabERbESaYhbESbEUaaaaaaaaabASbASbEVbEWbDmbEWbEXbEYbEZbFdbFbbAUbFcbffbEwbFebuDbFfbuDbFgbFhbFibuEaIObFjbEubEvbEvbFaaIObDSaXNaXNaXNaXNbDWbFnbFobFpbFqbFrbDHbDVbDTbEobEnaIObymbFmbBxbFlbETbBxbEdbFubFtbFzbFxbFwbFvbFEbFFbFBbFDbFKbFQbFGbDcbDcbHfbHfbHfbAqbEGbExbEAbElbEkbAqbksbCTbBObFPbEmbFAbFybFCbFTbFUbBQbFVbEybEzbEzbBTbFIbFJbFLbFMbFNbFObFRbFSbGebGfbFWbFXbFYbFYbFYbFYbGhbAFaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbGkbGlbGmbGlbEObEPbEPbGnbGobGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbGqbGrbGqbGpbGsbGtbGubASbGvbEWbGwbBbbGybGzbGAbGAbBcbGCbAUbGDbGDbBibGDaUnaUnaUnaUnbGFbGFbGFbGFbGFbGFbGFbGFbBgbBfbBebGHbGHbGHbGHbBhbGJbGHbGHbGHbGHbGKbBdbGKaIUaKtbzYbymbzXbBxbBxbBxbAebAcbApbAobzGbzZbAbbAabyKbzGbzObzPbyzbyAbyCbyHbzTbzUbEcbAgbAgbAgbAtbAybATbAgbAqbksbHkbHkbHkbHkacTacTacTacTacTbBQbHlbHmbHnbHnbBTbBnbHpbHqbHrbHrbHrbHrbHsbHtbHubBqbHrbHrbHrbHrbAEbgpbHxaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagbHybGlbGlbHzbEPbEPbGnbGnbHAbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYhbHBbHCbHBaYhbHDbHEbHFbASbHGbHHbEWbHIbHJbAUbHKbHLbBrbHNbAUbHObHObBBbGDaaaaaaaaaaaabGFbBvbHRbBAbHTbHUbHVbGFbBVbHXbBYbGHbHZbCjbCpbClbBGbBDbBKbBJbBMbAVbBRbBNbBobGKbGKbymbBmbBlbBlbBkbymbBCbBybBwbBubBtbBsbBpbCsbCybCqbCrbBHbBIbBEbBFbCNbCObFkbCIbBLbCFbBjbAgbAgbCJbAqbksbHkdQRbIEbIEbCMbCLbCKbCKbCKbBQbIKbILbIMbIMbBTbCSbIObBWbIPbIQbIRbISbITbIUbIVbCVbIXbIYbIZbHrbyVbCWbyVbJbbJbbJbbJbbJbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabJcbEPbHybEPbEPbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbHBbHBbHBbJdbJebEWbEWbJfbJgbEWbEWbJhbJibAUbAUbAUbJRbAUbAUbJkbJlbJDbJnaaabJCbJpbJBbJrbJsbHVbJtbJubJPbJKbJObJybJxbJwbJvbJqbJobJEbJFbJGbJHbJIbGHbGHbJJbJAbJzbJQbJNbJUbJSbJZbJWbJWbJWbIDbICbJabIFbzGbJjbJMbJLbIxbzGbIybIzbEcbIAbIBbIBbIubIvbEcbAqbIwbAqbAqbAqbAqbAqbAqbksbHkbIHbIEbIEbCKbCKbCKbCKbIGbBQbKobEybKpbKpbBTbKjbKqbKrbKsbKtbKtbKtbKtbKubKvbKibKgbKhbJYbHrbKfbKdbJVbJTbJXbKFbKGbKHaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEPbKIbKJbKJbGnbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYhbHCbHCbHCaYhbKKbKLbKMbKNbKObEWbKPbLsbLkbLibKVbKVbKZbKWbKVbKDbKEbKQbKYaaabGLbLabLbbLcbLdbHVbLebLfbLgbLhbGFbIabLjbKRbGHbLlbLmbLnbLobLpbLqbLrbKUboNbKSbKTbEabPybPybKnbymbFmbBxbFlbETbBxbHcbKcbFtbKmbKlbKkbKebKBbKCbGXbGYbLxbIAbIBbIBbIubKxbEcbKwbKzbKAbmobKybKbbKabkybksbHkdQRbIEbIEbCKbCKbCKbCKbCKbBQbQDbEybMbbMbbBTbLObMdbBWbMebKvbKvbMfbLFbLHbLIbLKbMkbLLbLCbLBbLwbLvbLubLtbMsbMtbKGbMuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbEPbMvbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaabGpbMwbMxbMybGpbMzbGtbGubASbASbMAbMAbMAbASbASbGDbJkbJkbGibJkbJkbJkblPbKYaaabGLbMDbMEbMFbMGbMHbMIbMJbMGbMGbMKbGBbGxbGjbGHbGHbGHbGHbGHbGHbMObGHbGHbGIbGGbGEbEabPycpqasZbymbEbbBxbBxbBxbHdbHcbApbFtbHabGZbHbbBtbGVbGWbGXbGYbGRbGSbGTbGUbGNbGObEcbGPbGcbGdbmobGgbHgbHebkybksbHkbHkbHkbIEbCKbCKbCKacTacTbBQbNtbNubMbbMbbBTbHQbMdbBWbIPbNwbNxbNybNzbNAbHPbNCbKvbNDbNEbHrbGQbGMbNHbJbbNIbNJbNKbNLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEPbGnbGnbGnbGnbGnbGnbNMbGnbNNbGnbGnbGnbGnbGnbEPbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNObESbNPbESbNQaaaaafaaaaaabASbNRbNSbNTbASaaabGDccpcbybHWbJkbJkbJkblPbKYaaabGLbNWbNXbNYbNZbHVbOabObbOcbOdbGFbIabHYbIcbIbbIdbIdbIdbIdbIdbIdbIdbIdbIebIebIgbHhbGKbGKbGKbymbymbHwbHMbHwbymbymbHvbHobHjbHibzGbBubCUbInbIlbImbEcbIkbEcbEcbEcbEcbEcbIjbIfbIibmobHSbIsbIrbkybksbHkbIpbItbIqbGabFZbIobGbbFsbBTbOSbIWbDsbBTbBTbJmbMdbOVbJbbJbbHrbHrbHrbHrbBqbHrbOWbKvbOXbHrbIhbCWbyVbJbbOZbPabPbbJbaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbPcbPcbPcbPcbPcbPcbPdbGnbPebPcbNNbGnbGnbGnbGnbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafcbxbGDbGDbGDbGDbJkblQblPbPiaaabPjbJpbPkbPlbPmbHVbHVbPnblOblMblNbmwblSblRbgXbgXbgXbgXbgXbgXbgXbgXbgXbPwbPxbPybmqblAblzbGKbymblCblBblEblDblGblFblIblHblKblJblYblXbmabmbbmcbmdbmebmfbmgbmibmjbmkbidbmlbmmbmnbmobmpblfblebkybksbHkblTblyblxbisbisbisbmtbmvbBTbBTbllbBTbBTbQebgnbMdbojbQgaafbQhbQibQjbQkblwbQkblvbQnbQobHrblLbgpbQqbJbbQrbQsbQsbQtaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQubGlbGlbGlbGlbGlbGlbGlbQvbGobGnbGnbGnbGnbQwbGobEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYhbHBbHCbHBaYhbHDbHEbHFbASbHGbHHbEWbHIbHJbAUbHKbHLbBrbHNbAUbHObHObBBbGDaaaaaaaaaaaabGFbBvbHRbBAbHTbHUbHVbGFbBVbHXbBYbGHbHZbCjbCpbClbBGbBDbBKbBJbBMbAVbBRbGKbBobGKbGKbymbBmbBlbBlbBkbymbBCbBybBwbBubBtbBsbBpbCsbCybCqbCrbBHbBIbBEbBFbCNbCObFkbCIbBLbCFbBjbAgbAgbCJbAqbksbHkdQRbIEbIEbCMbCLbCKbCKbCKbBQbIKbILbIMbIMbBTbCSbIObBWbIPbIQbIRbISbITbIUbIVbCVbIXbIYbIZbHrbyVbCWbyVbJbbJbbJbbJbbJbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabJcbEPbHybEPbEPbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbHBbHBbHBbJdbJebEWbEWbJfbJgbEWbEWbJhbJibAUbAUbAUbJRbAUbAUbJkbJlbJDbJnaaabJCbJpbJBbJrbJsbHVbJtbJubJPbJKbJObJybJxbJwbJvbJqbJobJEbJFbJGbJHbJIbGHbGHbJJbJAbBNbJQbJNbJUbJSbJZbJWbJWbJWbIDbICbJabIFbzGbJjbJMbJLbIxbzGbIybIzbEcbIAbIBbIBbIubIvbEcbAqbIwbAqbAqbAqbAqbAqbAqbksbHkbIHbIEbIEbCKbCKbCKbCKbIGbBQbKobEybKpbKpbBTbKjbKqbKrbKsbKtbKtbKtbKtbKubKvbKibKgbKhbJYbHrbKfbKdbJVbJTbJXbKFbKGbKHaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEPbKIbKJbKJbGnbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYhbHCbHCbHCaYhbKKbKLbKMbKNbKObEWbKPbLsbLkbLibKVbKVbKZbKWbKVbKDbKEbKQbKYaaabGLbLabLbbLcbLdbHVbLebLfbLgbLhbGFbIabLjbKRbGHbLlbLmbLnbLobLpbLqbLrbKUboNbKSbKTbGKbPybPybKnbymbFmbBxbFlbETbBxbHcbKcbFtbKmbKlbKkbKebKBbKCbGXbGYbLxbIAbIBbIBbIubKxbEcbKwbKzbKAbmobKybKbbKabkybksbHkdQRbIEbIEbCKbCKbCKbCKbCKbBQbQDbEybMbbMbbBTbLObMdbBWbMebKvbKvbMfbLFbLHbLIbLKbMkbLLbLCbLBbLwbLvbLubLtbMsbMtbKGbMuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbEPbMvbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaabGpbMwbMxbMybGpbMzbGtbGubASbASbMAbMAbMAbASbASbGDbJkbJkbGibJkbJkbJkblPbKYaaabGLbMDbMEbMFbMGbMHbMIbMJbMGbMGbMKbGBbGxbGjbGHbGHbGHbGHbGHbGHbMObGHbGHbGIbGGbGEbGKbPycpqasZbymbEbbBxbBxbBxbHdbHcbApbFtbHabGZbHbbBtbGVbGWbGXbGYbGRbGSbGTbGUbGNbGObEcbGPbGcbGdbmobGgbHgbHebkybksbHkbHkbHkbIEbCKbCKbCKacTacTbBQbNtbNubMbbMbbBTbHQbMdbBWbIPbNwbNxbNybNzbNAbHPbNCbKvbNDbNEbHrbGQbGMbNHbJbbNIbNJbNKbNLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEPbGnbGnbGnbGnbGnbGnbNMbGnbNNbGnbGnbGnbGnbGnbEPbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNObESbNPbESbNQaaaaafaaaaaabASbNRbNSbNTbASaaabGDccpcbybHWbJkbJkbJkblPbKYaaabGLbNWbNXbNYbNZbHVbOabObbOcbOdbGFbIabHYbIcbIbbIdbIdbIdbIdbIdbIdbIdbIdbIebIebHhbGKbGKbGKbGKbymbymbHwbHMbHwbymbymbHvbHobHjbHibzGbBubCUbInbIlbImbEcbIkbEcbEcbEcbEcbEcbIjbIfbIibmobHSbIsbIrbkybksbHkbIpbItbIqbGabFZbIobGbbFsbBTbOSbIWbDsbBTbBTbJmbMdbOVbJbbJbbHrbHrbHrbHrbBqbHrbOWbKvbOXbHrbIhbCWbyVbJbbOZbPabPbbJbaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbPcbPcbPcbPcbPcbPcbPdbGnbPebPcbNNbGnbGnbGnbGnbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafcbxbGDbGDbGDbGDbJkblQblPbPiaaabPjbJpbPkbPlbPmbHVbHVbPnblOblMblNbmwblSblRbgXbgXbgXbgXbgXbgXbgXbgXbgXbPwbPxbmqbIgblAblzbGKbymblCblBblEblDblGblFblIblHblKblJblYblXbmabmbbmcbmdbmebmfbmgbmibmjbmkbidbmlbmmbmnbmobmpblfblebkybksbHkblTblyblxbisbisbisbmtbmvbBTbBTbllbBTbBTbQebgnbMdbojbQgaafbQhbQibQjbQkblwbQkblvbQnbQobHrblLbgpbQqbJbbQrbQsbQsbQtaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQubGlbGlbGlbGlbGlbGlbGlbQvbGobGnbGnbGnbGnbQwbGobEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaBcaCcaCcaDcaEbGDccfbJkbmKbGDaaaaaaaaaaaabGFbQybQzbQAbQBbGFbQCbGFbmIbmHbmJbgXbgXbmEbmGbmFbmCbmBbmDbfNbfNbfNbfNbfNbfNbkabnZbnXbpdboXboUboObpkbpjbpibphbpobpnbnIbpmbnIbnJbnubnvbnNbnObnLbnMbnObnSbnPbnQbnVbnWbnTbnUbmubmxbmzbmybHkbmAbptbpsbpvbpubpwbpubqmbpPbRlbmhbojbRnbojbgnbMdbojbRoaafbQhbRpbRpblUblVblWbRtbRubRvbHrbgqbgpbAEbJbbJbbJbbJbbJbaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbKJbKJbKJbKJbKJbKJbRxbGnbKIbKJbRybGnbGnbGnbGnbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRecbncbocbpbJkbgsbJkbJkbgtbGDbguaaaaaaaaabGFbGFbGFbGFbGFbGFbGFbGFbhybhibhhbgXbgXbhBbgwbgxbgxbgwbgvbfNbgMbgLbgDbgBbfNbfGbymbymbfCbfAbfFbfEbBzbggbgibghbfJbfHbgfbfLbgTbgVbgWbgYbgjbgkbbVbcZbgkbhfbhjbhEbgZbhabhcbhdbinbilbidbhJbhIbhHbhGbgrbisbiybivbisbisbiabSlbgmbSnbojbSobgnbMdbSpbSqaafbQhbRpbSrbQkbgobQkbStbSubSvbHrbgqbgpbiubitbyVaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEPbGnbGnbGnbGnbGnbGnbNMbGnbRybGnbGnbGnbGnbGnbEPbEPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccecaCcaCcaDcbtbiLbkebGDbkubGDccgbkvbkEccgccgbjFbjLbjMbjSbjTbjUblgbYpbjqbjxbkobjybgwbjEbjDbiNbiMbiObfNbiQbiPbjpbiRbfNbkabPybjZbjYbjWbjVbiTbiTbkhbkgbkfbiDbkdbkcbkbbiDbiDbiBbiCbizbwUbhebhFbhebiKbiIbiJbiGbiHbiEbiFbiGbklbidbkibHkbiAbjXbjubkkbkjbknbkmacTacTbrhbiwbrhbrhbrhbhTbTwbhRbrhbHrbHrbHrbHrbHrbhYbHrbHrbHrbHrbHrbgqbgpbkrbkpbyVaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEPbEPbMvbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 0dfe70fe2b545e2ba2d4e0ec2c733a9bd20513a4 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 20:08:45 +0930 Subject: [PATCH 02/23] IPC will no longer take damage from walking in glass. Not sure why this was happening beforehand. --- code/game/objects/items/stacks/sheets/glass.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 0e79b89189..5f1218a4cd 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -285,11 +285,14 @@ playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) if(ishuman(M)) var/mob/living/carbon/human/H = M + + if(H.flags & IS_SYNTHETIC) + return + if( !H.shoes && ( !H.wear_suit || !(H.wear_suit.body_parts_covered & FEET) ) ) var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot")) if(affecting.status & ORGAN_ROBOT) return - H.Weaken(3) if(affecting.take_damage(5, 0)) H.UpdateDamageIcon() From 5ef994337b5dca1f20151918a0a5fce95a676769 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 20:13:20 +0930 Subject: [PATCH 03/23] Fix for previous commit. --- code/game/objects/items/stacks/sheets/glass.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 5f1218a4cd..4a85328819 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -286,7 +286,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.flags & IS_SYNTHETIC) + if(H.species.flags & IS_SYNTHETIC) return if( !H.shoes && ( !H.wear_suit || !(H.wear_suit.body_parts_covered & FEET) ) ) From 378e6865d4782ca712f7c39c4b5a73e96cf11773 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 20:25:36 +0930 Subject: [PATCH 04/23] Attempting to stop IPC from eating and drinking. --- .../reagents/reagent_containers/food/drinks.dm | 12 ++++++++++++ .../reagents/reagent_containers/food/snacks.dm | 16 +++++++++++++++- code/modules/reagents/reagent_containers/pill.dm | 12 ++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 026338606d..f5ad9391f6 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -27,6 +27,13 @@ return 0 if(M == user) + + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return + M << "\blue You swallow a gulp of [src]." if(reagents.total_volume) reagents.trans_to_ingest(M, gulp_size) @@ -35,6 +42,11 @@ return 1 else if( istype(M, /mob/living/carbon/human) ) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return + for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] attempts to feed [M] [src].", 1) if(!do_mob(user, M)) return diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 2cfe2978eb..7d8eca5676 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -37,8 +37,16 @@ M.drop_from_inventory(src) //so icons update :[ del(src) return 0 + if(istype(M, /mob/living/carbon)) - if(M == user) //If you're eating it yourself. + if(M == user) //If you're eating it yourself + + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return + . var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) if (fullness <= 50) M << "\red You hungrily chew out a piece of [src] and gobble it!" @@ -52,6 +60,12 @@ M << "\red You cannot force any more of [src] to go down your throat." return 0 else + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return + if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else. var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) if (fullness <= (550 * (1 + M.overeatduration / 1000))) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index fa9149f3ff..1cdcf8cc49 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -20,6 +20,13 @@ return attack(mob/M as mob, mob/user as mob, def_zone) if(M == user) + + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return + M << "\blue You swallow [src]." M.drop_from_inventory(src) //icon update if(reagents.total_volume) @@ -31,6 +38,11 @@ else if(istype(M, /mob/living/carbon/human) ) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return + for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] attempts to force [M] to swallow [src].", 1) From c526b9c29a95b487f4762e16795c502cebb9ca03 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 21:09:55 +0930 Subject: [PATCH 05/23] Lousy goddamn indentation. --- .../reagent_containers/food/drinks.dm | 18 +++++++------- .../reagent_containers/food/snacks.dm | 24 +++++++++---------- .../reagents/reagent_containers/pill.dm | 16 ++++++------- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index f5ad9391f6..d09acc8e15 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -28,11 +28,11 @@ if(M == user) - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red You have a monitor for a head, where do you think you're going to put that?" - return + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return M << "\blue You swallow a gulp of [src]." if(reagents.total_volume) @@ -42,10 +42,10 @@ return 1 else if( istype(M, /mob/living/carbon/human) ) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" - return + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] attempts to feed [M] [src].", 1) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 7d8eca5676..89abf284c5 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -39,15 +39,13 @@ return 0 if(istype(M, /mob/living/carbon)) + var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) if(M == user) //If you're eating it yourself - - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red You have a monitor for a head, where do you think you're going to put that?" - return - . - var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return if (fullness <= 50) M << "\red You hungrily chew out a piece of [src] and gobble it!" if (fullness > 50 && fullness <= 150) @@ -61,13 +59,13 @@ return 0 else if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" - return + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else. - var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) + if (fullness <= (550 * (1 + M.overeatduration / 1000))) for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] attempts to feed [M] [src].", 1) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 1cdcf8cc49..2ada558367 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -22,10 +22,10 @@ if(M == user) if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red You have a monitor for a head, where do you think you're going to put that?" - return + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red You have a monitor for a head, where do you think you're going to put that?" + return M << "\blue You swallow [src]." M.drop_from_inventory(src) //icon update @@ -38,10 +38,10 @@ else if(istype(M, /mob/living/carbon/human) ) - var/mob/living/carbon/human/H = M - if(H.species.flags & IS_SYNTHETIC) - H << "\red They have a monitor for a head, where do you think you're going to put that?" - return + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "\red They have a monitor for a head, where do you think you're going to put that?" + return for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] attempts to force [M] to swallow [src].", 1) From 25c85d6e2ab113dcf31979285263d086a7bb51d4 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 21:10:26 +0930 Subject: [PATCH 06/23] Adding some repair procs to cables and welders for IPC use. --- code/game/objects/items/weapons/tools.dm | 27 +++++++++++++++++++++-- code/modules/power/cable.dm | 28 ++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index ad7ec85f14..5f93605169 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -449,11 +449,15 @@ item_state = "crowbar_red" /obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob) + if(hasorgans(M)) + var/datum/organ/external/S = M:organs_by_name[user.zone_sel.selecting] + if (!S) return if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help") return ..() + if(S.brute_dam) S.heal_damage(15,0,0,1) if(user != M) @@ -464,7 +468,26 @@ user.visible_message("\red \The [user] patches some dents on their [S.display_name] with \the [src]",\ "\red You patch some dents on your [S.display_name]",\ "You hear a welder.") - else - user << "Nothing to fix!" + return + + if(istype(M,/mob/living/carbon/human)) + + var/mob/living/carbon/human/H = M + + if(H.species.flags & IS_SYNTHETIC) + + if(H.getFireLoss() > 0) + + if(M == user) + user << "\red You can't repair damage to your own body - it's against OH&S." + return + + user.visible_message("\red \The [user] patches some dents on \the [M] with \the [src]",\ + "\red \The [user] patches some of your dents.",\ + "You hear a welder.") + H.heal_organ_damage(5,0) + return + + user << "Nothing to fix!" else return ..() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 7456e54915..e1eba818f1 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -638,11 +638,14 @@ obj/structure/cable/proc/cableColor(var/colorC) /obj/item/weapon/cable_coil/attack(mob/M as mob, mob/user as mob) if(hasorgans(M)) + var/datum/organ/external/S = M:get_organ(user.zone_sel.selecting) if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help") return ..() + if(S.burn_dam > 0 && use(1)) S.heal_damage(0,15,0,1) + if(user != M) user.visible_message("\The [user] repairs some burn damage on [M]'s [S.display_name] with \the [src]",\ "\The [user] repairs some burn damage on your [S.display_name]",\ @@ -651,7 +654,28 @@ obj/structure/cable/proc/cableColor(var/colorC) user.visible_message("\The [user] repairs some burn damage on their [S.display_name] with \the [src]",\ "You repair some burn damage on your [S.display_name]",\ "You hear wires being cut.") - else - user << "Nothing to fix!" + + return + + if(istype(M,/mob/living/carbon/human)) + + var/mob/living/carbon/human/H = M + + if(H.species.flags & IS_SYNTHETIC) + + if(H.getFireLoss() > 0) + + if(M == user) + user << "\red You can't repair damage to your own body - it's against OH&S." + return + + user.visible_message("\The [user] repairs some burn damage on [M] with \the [src]",\ + "\The [user] repairs some of your burn damage.",\ + "You hear wires being cut.") + H.heal_organ_damage(0,5) + return + + user << "Nothing to fix!" + else return ..() From 5b32150858a1bd765a88671c6635710bd07a258f Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 21:21:19 +0930 Subject: [PATCH 07/23] Fixes for previous commit, sigh. --- code/game/objects/items/weapons/tools.dm | 6 +++--- code/modules/power/cable.dm | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 5f93605169..be44827938 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -476,16 +476,16 @@ if(H.species.flags & IS_SYNTHETIC) - if(H.getFireLoss() > 0) + if(H.getBruteLoss() > 0) if(M == user) user << "\red You can't repair damage to your own body - it's against OH&S." return user.visible_message("\red \The [user] patches some dents on \the [M] with \the [src]",\ - "\red \The [user] patches some of your dents.",\ + "\red \You patches some of the dents on \the [M].",\ "You hear a welder.") - H.heal_organ_damage(5,0) + H.heal_overall_damage(5,0) return user << "Nothing to fix!" diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index e1eba818f1..851f1fdf3e 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -670,9 +670,9 @@ obj/structure/cable/proc/cableColor(var/colorC) return user.visible_message("\The [user] repairs some burn damage on [M] with \the [src]",\ - "\The [user] repairs some of your burn damage.",\ + "You repair some of \the [M]'s burn damage.",\ "You hear wires being cut.") - H.heal_organ_damage(0,5) + H.heal_overall_damage(0,5) return user << "Nothing to fix!" From 1a2ad49b8eaef808e7f609bf3c994a0f5b8c4db1 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 21:27:49 +0930 Subject: [PATCH 08/23] Removed 'You are now sterile' line from groin loss due to spam issues when lost by an IPC as well as general pointlessness. --- code/modules/organs/organ_external.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 5ed7583adf..0444216267 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -515,8 +515,6 @@ This function completely restores a damaged organ to perfect condition. var/obj/organ //Dropped limb object switch(body_part) - if(LOWER_TORSO) - owner << "\red You are now sterile." if(HEAD) if(owner.species.flags & IS_SYNTHETIC) organ= new /obj/item/weapon/organ/head/posi(owner.loc, owner) From 3d693a5f38d48ee7afa227f0d78659517e1fdb1f Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 21:29:10 +0930 Subject: [PATCH 09/23] Several IPC adjustments. --- code/modules/mob/living/carbon/human/human.dm | 6 +++++- code/modules/mob/living/carbon/human/human_damage.dm | 4 ++++ code/modules/mob/living/carbon/human/life.dm | 6 ++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 9e75b94987..89f3b8eccc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -63,7 +63,7 @@ hud_list[IMPTRACK_HUD] = image('icons/mob/hud.dmi', src, "hudblank") hud_list[SPECIALROLE_HUD] = image('icons/mob/hud.dmi', src, "hudblank") hud_list[STATUS_HUD_OOC] = image('icons/mob/hud.dmi', src, "hudhealthy") - + ..() @@ -860,6 +860,10 @@ return /mob/living/carbon/human/proc/vomit() + + if(species.flags & IS_SYNTHETIC) + return //Machines don't throw up. + if(!lastpuke) lastpuke = 1 src << "You feel nauseous..." diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index a8a8648476..1b12f62562 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -73,6 +73,10 @@ /mob/living/carbon/human/adjustCloneLoss(var/amount) ..() + + if(species.flags & IS_SYNTHETIC) + return + var/heal_prob = max(0, 80 - getCloneLoss()) var/mut_prob = min(80, getCloneLoss()+10) if (amount > 0) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index a87a505b28..fe535fc897 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -225,6 +225,9 @@ proc/handle_mutations_and_radiation() + if(species.flags & IS_SYNTHETIC) //Robots don't suffer from mutations or radloss. + return + if(getFireLoss()) if((COLD_RESISTANCE in mutations) || (prob(1))) heal_organ_damage(0,1) @@ -249,6 +252,7 @@ radiation = 0 else + if(species.flags & RAD_ABSORB) var/rads = radiation/25 radiation -= rads @@ -258,8 +262,6 @@ adjustToxLoss(-(rads)) updatehealth() return - if(species.flags & IS_SYNTHETIC) - return var/damage = 0 switch(radiation) From d2b5f24545990ccade3b55627a85c8e5fb2cac86 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sat, 3 May 2014 08:29:10 -0500 Subject: [PATCH 10/23] Trimming messages prior to say code processing. Hoping to fix any whitespace issues that stop processing of emotes and radio/language channels --- code/modules/mob/living/carbon/human/say.dm | 2 ++ code/modules/mob/living/silicon/say.dm | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 9173a4af88..8103d3f950 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -9,6 +9,8 @@ src << "\red You cannot speak in IC (Muted)." return + message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) + if(stat == 2) return say_dead(message) diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 1205965b10..8a3da816dc 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -23,8 +23,9 @@ if (src.client.handle_spam_prevention(message,MUTE_IC)) return + message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) + if (stat == 2) - message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) return say_dead(message) if(copytext(message,1,2) == "*") From 0e39f18763f22fc5f109f3bad9bb23ac012b4b7d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 3 May 2014 23:17:08 +0930 Subject: [PATCH 11/23] Compile fix. --- code/game/objects/items/weapons/tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index be44827938..e434913aee 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -483,7 +483,7 @@ return user.visible_message("\red \The [user] patches some dents on \the [M] with \the [src]",\ - "\red \You patches some of the dents on \the [M].",\ + "\red You patch some of the dents on \the [M].",\ "You hear a welder.") H.heal_overall_damage(5,0) return From ed25b7c870c9bb345542813d713147eda7c38c9b Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sat, 3 May 2014 09:27:59 -0500 Subject: [PATCH 12/23] Canceling an IRC-adminPM will not send a blank message. Ooops --- code/modules/admin/verbs/adminpm.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 12763c6a1b..0770280a9c 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -189,6 +189,10 @@ return var/msg = input(src,"Message:", "Private message to admins on IRC / 400 character limit") as text|null + + if(!msg) + return + sanitize(msg) if(length(msg) > 400) // TODO: if message length is over 400, divide it up into seperate messages, the message length restriction is based on IRC limitations. Probably easier to do this on the bots ends. From 3fb37ade172b49f5612eb454c4a8d38d5383d1eb Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sat, 3 May 2014 17:40:35 +0100 Subject: [PATCH 13/23] zas: fix zburn /0 runtime Signed-off-by: Mloc-Argent --- code/ZAS/Fire.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index a564de2836..74540039b7 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -205,6 +205,9 @@ datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid, forc else total_fuel += liquid.amount + if(total_fuel == 0) + return 0 + //Calculate the firelevel. var/firelevel = calculate_firelevel(liquid) From e050251c819f48fc945564e5e1399f4c430721c6 Mon Sep 17 00:00:00 2001 From: Jarcolr Date: Sun, 4 May 2014 16:06:09 +0300 Subject: [PATCH 14/23] Cyborg hud modules now have proper icons Before: http://puu.sh/8yK5W.png After: http://puu.sh/8yKYc.png --- code/game/objects/items/robot/robot_items.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 4ee6e76aab..a50743a83f 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -47,12 +47,15 @@ /obj/item/borg/sight/thermal name = "\proper thermal vision" sight_mode = BORGTHERM + icon_state = "thermal" + icon = 'icons/obj/clothing/glasses.dmi' /obj/item/borg/sight/meson name = "\proper meson vision" sight_mode = BORGMESON - + icon_state = "meson" + icon = 'icons/obj/clothing/glasses.dmi' /obj/item/borg/sight/hud name = "hud" @@ -61,7 +64,8 @@ /obj/item/borg/sight/hud/med name = "medical hud" - + icon_state = "healthhud" + icon = 'icons/obj/clothing/glasses.dmi' New() ..() @@ -71,7 +75,8 @@ /obj/item/borg/sight/hud/sec name = "security hud" - + icon_state = "securityhud" + icon = 'icons/obj/clothing/glasses.dmi' New() ..() From 02ce9332974ef306464d66d51cc525e2e7ff3bc5 Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Sun, 4 May 2014 18:11:11 +0400 Subject: [PATCH 15/23] Larger job and preferences windows but still lesser than 764. More choices in "Quick Create Object" menu. --- code/modules/admin/create_object.dm | 5 +++-- code/modules/client/preferences.dm | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm index 5b5f926e4b..779cb7bc90 100644 --- a/code/modules/admin/create_object.dm +++ b/code/modules/admin/create_object.dm @@ -15,8 +15,9 @@ var/quick_create_object_html = null var/pathtext = null - pathtext = input("Select the path of the object you wish to create.", "Path", "/obj") in list("/obj","/obj/structure","/obj/item","/obj/item/weapon","/obj/machinery") - + pathtext = input("Select the path of the object you wish to create.", "Path", "/obj") as null|anything in list("/obj","/obj/structure","/obj/item","/obj/item/weapon","/obj/item/clothing","/obj/machinery","/obj/mecha") + if(!pathtext) + return var path = text2path(pathtext) if (!quick_create_object_html) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index aa618fd5ad..85feebb4d6 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -404,9 +404,9 @@ datum/preferences dat += "Reset Setup" dat += "" - user << browse(dat, "window=preferences;size=560x580") + user << browse(dat, "window=preferences;size=560x720") - proc/SetChoices(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 550) + proc/SetChoices(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 650) if(!job_master) return From 93bee94c107a41aab775ea6a03cfbab90cf1952a Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 4 May 2014 09:27:14 -0500 Subject: [PATCH 16/23] Saycode herp derp. client check checking speaker client instead of hearers. --- code/modules/mob/living/say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 882e9d2c99..89d6302597 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -105,7 +105,7 @@ var/list/department_radio_keys = list( objects |= O for(var/mob/M in player_list) - if(M.stat == DEAD && client && (M.client.prefs.toggles & CHAT_GHOSTEARS)) + if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTEARS)) listening |= M continue if(M.loc && M.locs[1] in hearturfs) From 11e5c64c787d5c6f9709f0d037dd534e814be341 Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Sun, 4 May 2014 18:37:42 +0400 Subject: [PATCH 17/23] Unified interface for options of admin --- code/modules/admin/admin.dm | 24 ++++++++++++++++++++++++ code/modules/admin/verbs/adminhelp.dm | 2 +- code/modules/admin/verbs/adminpm.dm | 6 +++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 19768f7465..4170c82b5c 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1099,6 +1099,30 @@ var/global/floorIsLava = 0 if(istype(H)) H.regenerate_icons() +proc/get_options_bar(whom, detail = 2, name = 0, link = 1) + if(!whom) + return "(*null*)" + var/mob/M + var/client/C + if(istype(whom, /client)) + C = whom + M = C.mob + else if(istype(whom, /mob)) + M = whom + C = M.client + else + return "(*not an mob*)" + switch(detail) + if(0) + return "[key_name(C, link, name)]" + if(1) + return "[key_name(C, link, name)](?)" + if(2) + var/ref_mob = "\ref[M]" + return "[key_name(C, link, name)](?) (PP) (VV) (SM) (JMP) (CA)" + + + // // //ALL DONE diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index e2504a0465..1d57a79342 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(!mob) return //this doesn't happen var/ref_mob = "\ref[mob]" - msg = "\blue HELP: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) [ai_found ? " (CL)" : ""]: [msg]" + msg = "\blue HELP: [get_options_bar(mob, 2, 0, 0)][ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins var/admin_number_afk = 0 diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0770280a9c..cb43ed3cc8 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -109,9 +109,9 @@ adminhelp(reply) //sender has left, adminhelp instead return - recieve_message = "[recieve_pm_type] PM from-[key_name(src, C, C.holder ? 1 : 0)]: [msg]" + recieve_message = "[recieve_pm_type] PM from-[get_options_bar(C, 1, C.holder ? 1 : 0, 1)]: [msg]" C << recieve_message - src << "[send_pm_type]PM to-[key_name(C, src, holder ? 1 : 0)]: [msg]" + src << "[send_pm_type]PM to-[get_options_bar(C, 1, holder ? 1 : 0, 1)]: [msg]" /*if(holder && !C.holder) C.last_pm_recieved = world.time @@ -209,5 +209,5 @@ if(X == src) continue if((X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD)) - X << "PM: [key_name(src, X, 0)]->IRC-Admins: \blue [msg]" + X << "PM: [key_name(src, X, 0)]->IRC-Admins: \blue [msg]" From d4ee83666e728dea69a66a4c5b1571172f34147a Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Sun, 4 May 2014 19:41:14 +0400 Subject: [PATCH 18/23] Now AH shows key, prefs.jobs not have scrollbar, prefs is fully visible except undo/save menus. --- code/modules/admin/verbs/adminhelp.dm | 2 +- code/modules/client/preferences.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 1d57a79342..568c8992a9 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(!mob) return //this doesn't happen var/ref_mob = "\ref[mob]" - msg = "\blue HELP: [get_options_bar(mob, 2, 0, 0)][ai_found ? " (CL)" : ""]: [msg]" + msg = "\blue HELP: [get_options_bar(mob, 2, 1, 0)][ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins var/admin_number_afk = 0 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 85feebb4d6..6a4a81e141 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -404,9 +404,9 @@ datum/preferences dat += "Reset Setup" dat += "" - user << browse(dat, "window=preferences;size=560x720") + user << browse(dat, "window=preferences;size=560x736") - proc/SetChoices(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 650) + proc/SetChoices(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"), width = 550, height = 660) if(!job_master) return From e05efd0f1eae444ff8af47245fdce6ea6c10a40c Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Sun, 4 May 2014 22:06:56 +0400 Subject: [PATCH 19/23] New job menu for ID computer. --- code/game/machinery/computer/card.dm | 53 ++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 74c6d3f8e7..8b9d8f0baf 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -108,10 +108,57 @@ header += "
" var/jobs_all = "" - var/list/alljobs = (istype(src,/obj/machinery/computer/card/centcom)? get_all_centcom_jobs() : joblist) + "Custom" - for(var/job in alljobs) - jobs_all += "[replacetext(job, " ", " ")] " //make sure there isn't a line break in the middle of a job + var/counter = 0 + jobs_all += "" + jobs_all += ""//Captain in special because he is head of heads ~Intercross21 + jobs_all += "" + jobs_all += "" + + counter = 0 + jobs_all += ""//Orange + for(var/job in engineering_positions) + counter++ + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "" + + counter = 0 + jobs_all += ""//Green + for(var/job in medical_positions) + counter++ + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "" + + counter = 0 + jobs_all += ""//Purple + for(var/job in science_positions) + counter++ + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "" + + counter = 0 + jobs_all += ""//Grey + for(var/job in civilian_positions) + counter++ + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "" + + if(istype(src,/obj/machinery/computer/card/centcom)) + counter = 0 + jobs_all += ""//Brown + for(var/job in get_all_centcom_jobs()) + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "" var/body if (authenticated && modify) From c8c67da6ac4073952b503af268d57bac7a440b60 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 4 May 2014 12:55:30 -0500 Subject: [PATCH 20/23] Dionaea nymphs now using new say code and get languages again. dionaea will understand and be understood by humans if they have stolen any blood, it's assumed they learned common. and a minor fix in hear_say for observers to not get not see simple_animals in (parens) since they have no real_name. --- code/modules/mob/hear_say.dm | 2 +- code/modules/mob/living/carbon/human/say.dm | 4 ++ .../modules/mob/living/carbon/monkey/diona.dm | 48 +++++++++++++++++++ .../mob/living/carbon/monkey/monkey.dm | 6 +-- 4 files changed, 55 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 77e122d8cc..ab500a9630 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -32,7 +32,7 @@ if(istype(src, /mob/dead/observer)) if(italics && client.prefs.toggles & CHAT_GHOSTRADIO) return - if(speaker_name != speaker.real_name) + if(speaker_name != speaker.real_name && speaker.real_name) speaker_name = "[speaker.real_name] ([speaker_name])" track = "(follow) " if(client.prefs.toggles & CHAT_GHOSTEARS && speaker in view(src)) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 8103d3f950..066d5a5fd8 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -148,6 +148,10 @@ if(has_brain_worms()) //Brain worms translate everything. Even mice and alien speak. return 1 + if (istype(other, /mob/living/carbon/monkey/diona) && !speaking) + if(other.languages.len >= 2) //They've sucked down some blood and can speak common now. + return 1 + if (istype(other, /mob/living/silicon)) return 1 if (istype(other, /mob/living/carbon/brain)) diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index eb8dedb4f0..1cb0979c89 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -252,3 +252,51 @@ src << "\green You feel your awareness expand, and realize you know how to understand the creatures around you." else src << "\green The blood seeps into your small form, and you draw out the echoes of memories and personality from it, working them into your budding mind." + + +/mob/living/carbon/monkey/diona/say_understands(var/mob/other,var/datum/language/speaking = null) + + if (istype(other, /mob/living/carbon/human) && !speaking) + if(languages.len >= 2) // They have sucked down some blood. + return 1 + return ..() + +/mob/living/carbon/monkey/diona/say(var/message) + var/verb = "says" + var/message_range = world.view + + if(client) + if(client.prefs.muted & MUTE_IC) + src << "\red You cannot speak in IC (Muted)." + return + + message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) + + + if(stat == 2) + return say_dead(message) + + var/datum/language/speaking = null + + + + if(length(message) >= 2) + var/channel_prefix = copytext(message, 1 ,3) + if(languages.len) + for(var/datum/language/L in languages) + if(lowertext(channel_prefix) == ":[L.key]") + verb = L.speech_verb + speaking = L + break + + if(speaking) + message = trim(copytext(message,3)) + + message = capitalize(trim_left(message)) + + if(!message || stat) + return + + + + ..(message, speaking, verb, null, null, message_range, null) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 1471ea2d02..4eb294c8a4 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -515,7 +515,7 @@ /mob/living/carbon/monkey/IsAdvancedToolUser()//Unless its monkey mode monkeys cant use advanced tools return 0 -/mob/living/carbon/monkey/say(var/message) +/mob/living/carbon/monkey/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/italics=0, var/message_range = world.view, var/list/used_radios = list()) if(stat) return @@ -525,11 +525,9 @@ if(stat) return - var/verb = "says" - if(speak_emote.len) verb = pick(speak_emote) message = capitalize(trim_left(message)) - ..(message, null, verb) + ..(message, speaking, verb, alt_name, italics, message_range, used_radios) From aa7ad269aee725327e955bb9ab556050cdee18ae Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Mon, 5 May 2014 07:20:26 +0400 Subject: [PATCH 21/23] Little change: "show" button shows job only first time. Now shows job anytime. --- code/game/machinery/computer/card.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 8b9d8f0baf..4498f1bb40 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -185,7 +185,7 @@ } function hideAll(){ var allJobsSlot = document.getElementById('alljobsslot'); - allJobsSlot.innerHTML = "show"; + allJobsSlot.innerHTML = "[(modify.assignment) ? modify.assignment : "Unassgied"]"; } "} carddesc += "
" From cef243188a33b7865d94a78a2cbbfd7d0db04514 Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Mon, 5 May 2014 19:25:50 +0400 Subject: [PATCH 22/23] AH with link --- code/modules/admin/verbs/adminhelp.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 568c8992a9..1f5bd8f905 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(!mob) return //this doesn't happen var/ref_mob = "\ref[mob]" - msg = "\blue HELP: [get_options_bar(mob, 2, 1, 0)][ai_found ? " (CL)" : ""]: [msg]" + msg = "\blue HELP: [get_options_bar(mob, 2, 1, 1)][ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins var/admin_number_afk = 0 From 0e40a3f2dd717b5fffb9616c95481d92754ee403 Mon Sep 17 00:00:00 2001 From: Intercross21 Date: Mon, 5 May 2014 19:38:09 +0400 Subject: [PATCH 23/23] And little more fixes --- code/modules/admin/verbs/adminpm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index cb43ed3cc8..1989955840 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -111,7 +111,7 @@ recieve_message = "[recieve_pm_type] PM from-[get_options_bar(C, 1, C.holder ? 1 : 0, 1)]: [msg]" C << recieve_message - src << "[send_pm_type]PM to-[get_options_bar(C, 1, holder ? 1 : 0, 1)]: [msg]" + src << "[send_pm_type]PM to-[get_options_bar(C, 1, holder ? 1 : 0, 1)]: [msg]" /*if(holder && !C.holder) C.last_pm_recieved = world.time
Command
SpecialCaptainCustom
Engineering
[replacetext(job, " ", " ")]
Medical
[replacetext(job, " ", " ")]
Science
[replacetext(job, " ", " ")]
Civilian
[replacetext(job, " ", " ")]
CentComm
[replacetext(job, " ", " ")]