From d8464d2b7fe04ba617beb8ff941c62eb516284c9 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 05:51:15 +0100 Subject: [PATCH 01/13] Chem Master can print the chemical analysis The Chem Master 3000 can now print out the result of a chemical analysis to paper. --- code/modules/reagents/Chemistry-Machinery.dm | 35 ++++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 369ccb1ec08..7bf99cec11e 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -363,6 +363,7 @@ var/bottlesprite = "1" //yes, strings var/pillsprite = "1" var/client/has_sprites = list() + var/printing = null /obj/machinery/chem_master/New() var/datum/reagents/R = new/datum/reagents(100) @@ -439,7 +440,33 @@ usr << browse(null, "window=chemmaster") usr.unset_machine() return - + + if (href_list["print_p"]) + if (!(src.printing)) + src.printing = 1 + for(var/mob/O in viewers(usr)) + O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1) + sleep(25) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc ) + P.info = "
Chemical Analysis

" + P.info += "Time of analysis: [worldtime2text(world.time)]

" + P.info += "Chemical name: [href_list["name"]]
" + if(href_list["name"] == "Blood") + var/datum/reagents/R = beaker:reagents + var/datum/reagent/blood/G + for(var/datum/reagent/F in R.reagent_list) + if(F.name == href_list["name"]) + G = F + break + var/B = G.data["blood_type"] + var/C = G.data["blood_DNA"] + P.info += "Description:
Blood Type: [B]
DNA: [C]" + else + P.info += "Description: [href_list["desc"]]" + P.info += "

Notes:
" + P.name = "Chemical Analysis - [href_list["name"]]" + src.printing = null + if(beaker) var/datum/reagents/R = beaker:reagents if (href_list["analyze"]) @@ -454,9 +481,11 @@ var/A = G.name var/B = G.data["blood_type"] var/C = G.data["blood_DNA"] - dat += "Chemmaster 3000Chemical infos:

Name:
[A]

Description:
Blood Type: [B]
DNA: [C]


(Back)" + dat += "Chemmaster 3000Chemical infos:

Name:
[A]

Description:
Blood Type: [B]
DNA: [C]" else - dat += "Chemmaster 3000Chemical infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" + dat += "Chemmaster 3000Chemical infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]" + dat += "

(Print Analysis)
" + dat += "(Back)" else dat += "Condimaster 3000Condiment infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" usr << browse(dat, "window=chem_master;size=575x400") From 96ede62584eaad9bcf9cbef0aea08cc68ce2ae82 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 06:18:50 +0100 Subject: [PATCH 02/13] Small typo fix Small typo fix: "Beakeris empty" to "Beaker is empty" --- nano/templates/chem_dispenser.tmpl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nano/templates/chem_dispenser.tmpl b/nano/templates/chem_dispenser.tmpl index 1dd960f9c8a..3de1d02984d 100644 --- a/nano/templates/chem_dispenser.tmpl +++ b/nano/templates/chem_dispenser.tmpl @@ -64,9 +64,9 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm {{empty}} {{if data.glass}} - Glass + Glass {{else}} - Beaker + Beaker {{/if}} is empty @@ -75,10 +75,10 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm No {{if data.glass}} - Glass + Glass {{else}} - Beaker - {{/if}} + Beaker + {{/if}} loaded {{/if}} From 5437a5f274d4cc5d45532c43f28473508aa51d52 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 07:57:43 +0100 Subject: [PATCH 03/13] Body Scanner printing Added printing functionality to the body scanner --- code/game/machinery/adv_med.dm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 10359e84421..e991c569706 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -242,6 +242,8 @@ dir = 8 idle_power_usage = 250 active_power_usage = 500 + var/printing = null + var/printing_text = null /obj/machinery/body_scanconsole/power_change() if(stat & BROKEN) @@ -506,10 +508,31 @@ dat += text("Cataracts detected.
") if(occupant.sdisabilities & NEARSIGHTED) dat += text("Retinal misalignment detected.
") + src.printing_text = dat + dat += "

Print medical condition
" else dat += "\The [src] is empty." else dat = " Error: No Body Scanner connected." - dat += text("

Close", user) + dat += text("Close", user) user << browse(dat, "window=scanconsole;size=430x600") return + +/obj/machinery/body_scanconsole/Topic(href, href_list) + if(stat & (BROKEN|NOPOWER)) return + if(usr.stat || usr.restrained()) return + + if (href_list["print_p"]) + if (!(src.printing) && src.printing_text) + src.printing = 1 + for(var/mob/O in viewers(usr)) + O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1) + sleep(20) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc ) + P.info = "
Body Scan - [href_list["name"]]

" + P.info += "Time of scan: [worldtime2text(world.time)]

" + P.info += "[src.printing_text]" + P.info += "

Notes:
" + P.name = "Body Scan - [href_list["name"]]" + src.printing = null + src.printing_text = null \ No newline at end of file From c281329be073a3c9748a1d7e0049a0b8a86c6ad3 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 08:40:20 +0100 Subject: [PATCH 04/13] fix: retractor autolathe build path Autolathes can now successfully print a retractor. --- code/modules/research/designs/autolathe_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 69759b63b69..541518016b9 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -311,7 +311,7 @@ id = "retractor" build_type = AUTOLATHE materials = list("$metal" = 6000, "$glass" = 3000) - build_path = /obj/item/weapon/ + build_path = /obj/item/weapon/retractor category = list("initial", "Medical") /datum/design/scalpel From 1711eac2ef0817b6c4a50e67de07e10dea52c5b8 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 09:14:28 +0100 Subject: [PATCH 05/13] Added allowed list to paramedic hazard vest Added missing allowed list to paramedic hazard vest, it can now carry things such as health analyzers, flashlights, syringers and radios. --- code/modules/clothing/suits/jobs.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index b1b72376e8c..316cf98f2ff 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -7,6 +7,8 @@ desc = "A hazard vest used in the recovery of bodies." icon_state = "paramedic-vest" item_state = "paramedic-vest" + allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \ + /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10) species_fit = list("Vox") sprite_sheets = list( From 528aabbc7b13822fe1f28debe1d1d8cde27418a1 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 09:28:37 +0100 Subject: [PATCH 06/13] Fixed spare key in Paramedic The spare key in Paramedic can now be used on the ambulance. --- code/modules/vehicles/ambulance.dm | 4 ++-- maps/cyberiad.dmm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/vehicles/ambulance.dm b/code/modules/vehicles/ambulance.dm index 8212e93b085..581b8ca8efd 100644 --- a/code/modules/vehicles/ambulance.dm +++ b/code/modules/vehicles/ambulance.dm @@ -16,8 +16,8 @@ var/obj/item/weapon/key/ambulance_train/key /obj/item/weapon/key/ambulance_train - name = "key" - desc = "A keyring with a small steel key, and a yellow fob reading \"Choo Choo!\"." + name = "ambulance key" + desc = "A keyring with a small steel key, and tag with a red cross on it." icon = 'icons/obj/vehicles.dmi' icon_state = "keydoc" w_class = 1 diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 502d469d089..29484e720b4 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -2121,6 +2121,7 @@ "aOO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/gateway) "aOP" = (/obj/machinery/light{dir = 4},/obj/effect/decal/warning_stripes/southwest,/obj/structure/closet/secure_closet/exile,/turf/simulated/floor,/area/gateway) "aOQ" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/eva/anomaly,/obj/item/clothing/head/helmet/space/eva/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/turf/simulated/floor,/area/research_outpost/gearstore) +"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "spare ambulance key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "aOS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aOT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) "aOU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) @@ -5032,7 +5033,6 @@ "bSO" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor,/area/janitor) "bSP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bSQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bSR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/key/ambulance,/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "bSS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "bST" = (/obj/machinery/light,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "Paramedic APC"; pixel_y = -24},/obj/machinery/camera{c_tag = "Paramedic Bay"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "bSU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) @@ -12686,7 +12686,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZby aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNVbNWbNXbNYbNVbNZbOabObbIybOcbOdbOebsYbOgbOhbOibOjbOjbOkbwdbOlbOmbOnaaqaaqbOobOpbOqaaqaaqaaqbOrbOsbOtaaqaaqbOubKcbKcbOvaaqaaqaaqaosbOwaaqaaqaaqbOxaaqaaqbOyaaqbOzaosaaqbOAbOBbOCaaqbODbOEbLIbOFaaibOGbOHbOIbOJaaibCQbLQbwKaaqbwLbwMbwObyAbzZbAcabJbORbOSbOTbOUbOVbOWbOXaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibOYbOZbPabPaaaqbPbbPcbPdaaiaaiaaiaaiaaiaaiaaiaaibIhaaibPebPfbPgbPhbPhbPiaJmaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbPjbCfbCfbCgaaqaaqaaiaaiaaiaaibPkaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbPlbPmbPlbMzbPnbAdbPpbPqbPrbPsbPtbPubPvbIAbPwbPxbPybPzbIAbOmbOmbPAaaqbPBbPCbPDbPEbPFaaqbPGbPHbPIbPJbPKaaqbPLbPMbPNaaqbPObEabPQbPRbPSbPTbPUbPVbPWabZbPXbPYbPZbQabQbbQcbQdbQebQfbQgbQhbQibQjbLJbQkbQlbQmbQnbQobQpbCYbDabBrbBxbAebwObFXbFXbEEbFTaaqbQybQzbQAbQBbQCbQDbQEaaibQFbQGbQHbQIbQHbQHbQJacFacFbQKbQLbQMbQNaaqbQObQPbJmaaibsfbQQbQRbQSbQSbQRbQSbQTaaibQUbQVbPgbPhbQWbQXaJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQYbQZbRabQZaaqaaiaaibRbbRcbRbbRdaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNVbPlbPlbPlbRebRfbMCbRgbRhbRibMCbPtbRjbRkbIAbIAbIAbIAbIAbIAbRlbOmbEOabZbRnbRobRobRobRpaaqbRqbRrbRrbRrbRsaRkbRtbRubRvabZbRwbRxbRybRzbRAbRBaaqaaqbRCaaqbRDbREbRFbRGbRHaaqbLEbKlbLFbLGbRIbRJbRKbRLacFbRMbRNbRObRPaaibRQbLSbLUabZbTfbLVbKBbKCbKDbLTaaqaaqaaqaaqaaqaaJazraugaaibSabQHbQHbSbbQHbScbSdaaiaaibSebKRbSfbSfaaqbJkbSgbJmaaiaaibShaaiaaiaaiaaiaaiaaiaaibSibSjaJmbSkbSlbSmaJmaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbSnbQZbQZbSoaaiaaibRbbRbbSpbRbbRbaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbPmbPmbPmbMzbSqbLXbSsbStbLWbMCbSvbSwbSxbSybSzbSzbSzbSAbOmbOmbOmbPAaaqbRpbRobSBbRobSCaaqbSDbRrbSEbRrbSFaaqbSGbSHbSIaaqbSJbSKbSLbSMbSNbSOabJbSPbSQabJbSRbSSbSTbSUbSVaaqbNjbKlbKlbSWbRIbRJbSXbSYbSZbQlbTabTbbTcbTdbTebNubHGbOKbNvbNwbNtbNtbFXbLYaaqbTmbTnbTobTpbTqbTrbTsaaibSabTtbQHbQHbQHbTubTvaaiaaibTwbKRbSfbSfaaqbTxbTybJmaaibTzbTAbTBaaibTCbTDbTEbTFbTGbTHbTIaJmbTJbTKbTLaJmaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabTMaaibSnaaiaaibRbbRbbRbbRbbRbbRbbRbaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbPmbPmbPmbMzbSqbLXbSsbStbLWbMCbSvbSwbSxbSybSzbSzbSzbSAbOmbOmbOmbPAaaqbRpbRobSBbRobSCaaqbSDbRrbSEbRrbSFaaqbSGbSHbSIaaqbSJbSKbSLbSMbSNbSOabJbSPbSQabJaORbSSbSTbSUbSVaaqbNjbKlbKlbSWbRIbRJbSXbSYbSZbQlbTabTbbTcbTdbTebNubHGbOKbNvbNwbNtbNtbFXbLYaaqbTmbTnbTobTpbTqbTrbTsaaibSabTtbQHbQHbQHbTubTvaaiaaibTwbKRbSfbSfaaqbTxbTybJmaaibTzbTAbTBaaibTCbTDbTEbTFbTGbTHbTIaJmbTJbTKbTLaJmaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabTMaaibSnaaiaaibRbbRbbRbbRbbRbbRbbRbaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaaaaaaaaaaabzabzabzabzabzabzabzabzabzabzabzabzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabNVbTNbTObTPbNVbTQbOabObbIybIybTRbTRbTRbIybIybOmbTSbTSbTTbTUbOmbTVbTWaaqbRpbRobRobRobTXaaqbSDbRrbRrbTYbTZabJbIRbUbbUcaaqaaqaaqaaqaaqbUdaaqaaqbUebUfaaqaaqbUgaaqaosaaqaaqbUhbUibUiaaqaaqbUjbUkbUlbUmbUnbUobUpbUqbUraaqbIWbHGbHIbIUbIVbGebGfbKFbHFaaqbUvbUwbUxbUybUzbUAbUBaaibUCaaibUDbUEbUFaaiafaaaiaaibUGbUHbSfbSfaaqbUIbSgbJmbUJbUKbULbUMbUNbUObUPbUPbUQbURbUSbUTbUUbUVbUWbUXbUYbUZbVabVbachbVcbVdbVebVfaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaqaaibVgbVhbVhbRbbRbbRbbRbbRbbRbbRbbRbaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyZbyZbyZbyZbyZbyZbyZbyZbyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVibMybVjbMybVkbVlaabaaaaaabIybVmbVnbVobIyaaabOmbVpbVqbVrbVsbVtbVubVvaaqbVwbVxbVybRobRpaMhbVzbVAbVBbVCbVDaaqbVEbVFbVGbVHbVIbVIbVIbVIbVJbVKbVLbVMbVMbVNbVNbVObVPbVQaaqaaqbVRbIZbIXbVUbVVbRJbVWbUlbVXbVYaEmbVZbLObWaaEmbKAbKzaoaaoabJbaoaaoaaoabJaaaqbWjbWkbWlbWmbWnbWobWpaaibWqbWrbWsbWtbWubWrbWvbWwaaqbWxbWybKSaaqaaqbWzbWAbWBacFbWCbWDbWEacFbWFbWGbWHbWIbWJbWKbWLbWMbWNbWObWNbWPbWObWObWObWQbWRbWSbWTbWUaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaiaaibWVbRbbRbbRbbRbbRbbRbbRbbRbbRbbRbbRbaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbWWbOmbOmbOmbtqbOmbOmbWYaaqbWZbXabXbbXcbXdaaJbXebXfbXgbXhbXiaMhbXjbXkbXlabJachachachachbnbbXmbowabZbXnabZabZbXobXpbXqbXrbXsbrCbrBbrDbXwbXxbXybXzbXAbXBbXCbrEbXEbXFbXGbXHbXIcagcagcagbrFbtnbtocdLbtpaaqaaqbXLaaqamfbXMbXNbXOaaibXPbXQbXRbXSbXRbXTbXUbXVaaqaaqbXWaaqaaqbXXbXYbSgbvwaaiaaibXZaaiaaibYabYbbYcbYdbYebWObYfbYgbYhbWHbYhbWHbYibWHbWHaaibYjbYkbYlbYmaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaibRbbRbbRbbRbbRbbRbbYnbRbbYobRbbRbbRbbRbbRbaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 333d49910623575d2be458d2486211e7fe4681db Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 09:35:58 +0100 Subject: [PATCH 07/13] ambulance spare key --- maps/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 29484e720b4..debfe012ae6 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -2121,7 +2121,7 @@ "aOO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/gateway) "aOP" = (/obj/machinery/light{dir = 4},/obj/effect/decal/warning_stripes/southwest,/obj/structure/closet/secure_closet/exile,/turf/simulated/floor,/area/gateway) "aOQ" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/eva/anomaly,/obj/item/clothing/head/helmet/space/eva/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/turf/simulated/floor,/area/research_outpost/gearstore) -"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "spare ambulance key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) +"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "ambulance spare key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "aOS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aOT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) "aOU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) From 7b9e799baa4eb042dddaf92bd81e2032684adaa4 Mon Sep 17 00:00:00 2001 From: Artorp Date: Thu, 29 Jan 2015 09:40:46 +0100 Subject: [PATCH 08/13] Revert "ambulance spare key" This reverts commit 333d49910623575d2be458d2486211e7fe4681db. --- maps/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index debfe012ae6..29484e720b4 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -2121,7 +2121,7 @@ "aOO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/gateway) "aOP" = (/obj/machinery/light{dir = 4},/obj/effect/decal/warning_stripes/southwest,/obj/structure/closet/secure_closet/exile,/turf/simulated/floor,/area/gateway) "aOQ" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/eva/anomaly,/obj/item/clothing/head/helmet/space/eva/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/turf/simulated/floor,/area/research_outpost/gearstore) -"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "ambulance spare key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) +"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "spare ambulance key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "aOS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aOT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) "aOU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) From b0d74070d70192dddeb67f209d730e2b639a5b78 Mon Sep 17 00:00:00 2001 From: Bone White Date: Thu, 29 Jan 2015 15:31:06 +0000 Subject: [PATCH 09/13] Better logs for cryokinesis and immolate Better admin/attack/server logs for incendiary mitochondria (can only target self but still needs an admin message) and cryokinesis. Also adds the caster's name to the visible_message, so everyone knows who's throwing the ice around. --- code/game/dna/genes/goon_disabilities.dm | 4 ++++ code/game/dna/genes/goon_powers.dm | 17 +++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index 32617d456be..c0973e2206d 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -333,6 +333,10 @@ */ var/mob/living/carbon/L = usr + if(L) + usr.attack_log += text("\[[time_stamp()]\] [usr.real_name] ([usr.ckey]) cast the spell [name] on [L.real_name] ([L.ckey]).") + msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast the spell [name] on [L.real_name] ([L.ckey]) ()") + L.adjust_fire_stacks(0.5) L.visible_message("\red [L.name] suddenly bursts into flames!") L.on_fire = 1 diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 29cebeac06f..e421a9594f8 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -159,11 +159,15 @@ if(istype(H.wear_suit, /obj/item/clothing/suit/space)) handle_suit = 1 if(H.internal) - H.visible_message("\red A cloud of fine ice crystals engulfs [H]!", - "A cloud of fine ice crystals cover your [H.head]'s visor.") + H.visible_message("\red [usr] sprays a cloud of fine ice crystals, engulfing [H]!", + "[usr] sprays a cloud of fine ice crystals over your [H.head]'s visor.") + log_admin("[ckey(usr.key)] has used cryokinesis on [ckey(C.key)], internals yes, suit yes") + msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast cryokinesis on [C.real_name] ([C.ckey]), ()") else - H.visible_message("\red A cloud of fine ice crystals engulfs [H]!", - "A cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") + H.visible_message("\red [usr] sprays a cloud of fine ice crystals engulfing, [H]!", + "[usr] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") + log_admin("[usr.real_name] ([ckey(usr.key)]) has used cryokinesis on [C.real_name] ([ckey(C.key)]), ()") + msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast cryokinesis on [C.real_name] ([C.ckey]), ()") H.bodytemperature = max(0, H.bodytemperature - 50) H.adjustFireLoss(5) if(!handle_suit) @@ -171,8 +175,9 @@ C.adjustFireLoss(10) C.ExtinguishMob() - C.visible_message("\red A cloud of fine ice crystals engulfs [C]!") - log_admin("[ckey(usr.key)] has used cryokinesis on [ckey(C.key)].") + C.visible_message("\red [usr] sprays a cloud of fine ice crystals, engulfing [C]!") + log_admin("[ckey(usr.key)] has used cryokinesis on [ckey(C.key)], internals no, suit no") + msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast cryokinesis on [C.real_name] ([C.ckey]), ()") //playsound(usr.loc, 'bamf.ogg', 50, 0) From 6d3cde18ed878a8a8137e70da0b5323306f5fd43 Mon Sep 17 00:00:00 2001 From: Bone White Date: Thu, 29 Jan 2015 16:06:36 +0000 Subject: [PATCH 10/13] Removing a test var --- code/modules/power/singularity/generator.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 69c3b611e39..bcd8403b54c 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -13,7 +13,6 @@ var/turf/T = get_turf(src) if(src.energy >= 200) var/admin_message = "New singularity made" - world << "lengthy = [length(fingerprintshidden)]" if(fingerprintshidden && length(fingerprintshidden)) admin_message += "touched by: " if(islist(fingerprintshidden)) From a93ef4dd1b99c3dd228129bbad1ad594d996b2b0 Mon Sep 17 00:00:00 2001 From: DZD Date: Thu, 29 Jan 2015 13:23:46 -0500 Subject: [PATCH 11/13] The Return of the Shoulder Holster - Detective's shoulder holster now only fits projectile-based (not energy) handguns. - Swaps the detective's belt holster for the old shoulder holster. - Makes some specific handguns actually fit inside of holsters. - Unrelated: Removes a debug output from /code/modules/power/singularity/generator.dm --- .../crates_lockers/closets/secure/security.dm | 2 +- code/modules/clothing/under/ties.dm | 22 ++--- code/modules/power/singularity/generator.dm | 1 - .../projectiles/guns/projectile/launchers.dm | 2 + .../projectiles/guns/projectile/pistol.dm | 6 ++ paradise.dme | 81 ------------------- 6 files changed, 21 insertions(+), 93 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index dcd10cfb5d8..7bc09593e5e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -339,7 +339,7 @@ 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/weapon/storage/belt/holster(src) + new /obj/item/clothing/tie/holster/armpit(src) return /obj/structure/closet/secure_closet/detective/update_icon() diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 7b847a09faa..5bf9e1cb75f 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -176,11 +176,12 @@ _color = "medgreen" /obj/item/clothing/tie/holster - name = "shoulder holster" + name = "large shoulder holster" desc = "A handgun holster." icon_state = "holster" _color = "holster" var/obj/item/weapon/gun/holstered = null + var/holster_allow = /obj/item/weapon/gun icon_action_button = "action_holster" /obj/item/clothing/tie/holster/attack_self() @@ -191,27 +192,27 @@ if(usr.stat) return if(!holstered) - if(!istype(usr.get_active_hand(), /obj/item/weapon/gun)) - usr << "\blue You need your gun equiped to holster it." + if(!istype(usr.get_active_hand(), holster_allow)) + usr << "You can't fit that in the holster." return var/obj/item/weapon/gun/W = usr.get_active_hand() if (!W.isHandgun()) - usr << "\red This gun won't fit in \the [src]!" + usr << "This gun won't fit in \the [src]!" return holstered = usr.get_active_hand() usr.drop_item() holstered.loc = src - usr.visible_message("\blue \The [usr] holsters \the [holstered].", "You holster \the [holstered].") + usr.visible_message("\The [usr] holsters \the [holstered].", "You holster \the [holstered].") else if(istype(usr.get_active_hand(),/obj) && istype(usr.get_inactive_hand(),/obj)) - usr << "\red You need an empty hand to draw the gun!" + usr << "You need an empty hand to draw the gun!" else if(usr.a_intent == "harm") - usr.visible_message("\red \The [usr] draws \the [holstered], ready to shoot!", \ - "\red You draw \the [holstered], ready to shoot!") + usr.visible_message("\The [usr] draws \the [holstered], ready to shoot!", \ + "You draw \the [holstered], ready to shoot!") else - usr.visible_message("\blue \The [usr] draws \the [holstered], pointing it at the ground.", \ - "\blue You draw \the [holstered], pointing it at the ground.") + usr.visible_message("\The [usr] draws \the [holstered], pointing it at the ground.", \ + "You draw \the [holstered], pointing it at the ground.") usr.put_in_hands(holstered) holstered = null @@ -220,6 +221,7 @@ desc = "A worn-out handgun holster. Perfect for concealed carry" icon_state = "holster" _color = "holster" + holster_allow = /obj/item/weapon/gun/projectile /obj/item/clothing/tie/storage name = "load bearing equipment" diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 69c3b611e39..bcd8403b54c 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -13,7 +13,6 @@ var/turf/T = get_turf(src) if(src.energy >= 200) var/admin_message = "New singularity made" - world << "lengthy = [length(fingerprintshidden)]" if(fingerprintshidden && length(fingerprintshidden)) admin_message += "touched by: " if(islist(fingerprintshidden)) diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index 5e53c71efa9..d1d7e471f1b 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -9,6 +9,8 @@ fire_sound = 'sound/effects/Explosion1.ogg' origin_tech = "combat=3" mag_type = "/obj/item/ammo_box/magazine/m75" + isHandgun() + return 1 /obj/item/weapon/gun/projectile/automatic/gyropistol/New() ..() diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 26555a3b040..108e6977e11 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -6,6 +6,8 @@ origin_tech = "combat=2;materials=2;syndicate=2" mag_type = "/obj/item/ammo_box/magazine/m10mm" can_suppress = 1 + isHandgun() + return 1 /obj/item/weapon/gun/projectile/automatic/pistol/update_icon() ..() @@ -19,6 +21,8 @@ w_class = 3.0 origin_tech = "combat=3;materials=2" mag_type = "/obj/item/ammo_box/magazine/m45" + isHandgun() + return 1 /obj/item/weapon/gun/projectile/automatic/m2411/update_icon() @@ -32,6 +36,8 @@ icon_state = "deagle" force = 14.0 mag_type = "/obj/item/ammo_box/magazine/m50" + isHandgun() + return 1 /obj/item/weapon/gun/projectile/automatic/deagle/update_icon() ..() diff --git a/paradise.dme b/paradise.dme index a790a81d85a..589a5268d67 100644 --- a/paradise.dme +++ b/paradise.dme @@ -5,87 +5,6 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . -#define FILE_DIR "code" -#define FILE_DIR "code/TriDimension" -#define FILE_DIR "code/unused" -#define FILE_DIR "code/unused/goonheist" -#define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" -#define FILE_DIR "code/WorkInProgress/IndexLP" -#define FILE_DIR "code/WorkInProgress/Susan" -#define FILE_DIR "html" -#define FILE_DIR "html/images" -#define FILE_DIR "icons" -#define FILE_DIR "icons/48x48" -#define FILE_DIR "icons/ass" -#define FILE_DIR "icons/atmos" -#define FILE_DIR "icons/effects" -#define FILE_DIR "icons/mecha" -#define FILE_DIR "icons/misc" -#define FILE_DIR "icons/mob" -#define FILE_DIR "icons/mob/human_races" -#define FILE_DIR "icons/mob/in-hand" -#define FILE_DIR "icons/mob/in-hand/left" -#define FILE_DIR "icons/mob/in-hand/right" -#define FILE_DIR "icons/mob/otherHuman" -#define FILE_DIR "icons/mob/species" -#define FILE_DIR "icons/mob/species/armalis" -#define FILE_DIR "icons/mob/species/skrell" -#define FILE_DIR "icons/mob/species/tajaran" -#define FILE_DIR "icons/mob/species/unathi" -#define FILE_DIR "icons/mob/species/vox" -#define FILE_DIR "icons/mob/spirits" -#define FILE_DIR "icons/NTOS" -#define FILE_DIR "icons/NTOS/battery_icons" -#define FILE_DIR "icons/obj" -#define FILE_DIR "icons/obj/assemblies" -#define FILE_DIR "icons/obj/atmospherics" -#define FILE_DIR "icons/obj/clothing" -#define FILE_DIR "icons/obj/clothing/species" -#define FILE_DIR "icons/obj/clothing/species/skrell" -#define FILE_DIR "icons/obj/clothing/species/tajaran" -#define FILE_DIR "icons/obj/clothing/species/unathi" -#define FILE_DIR "icons/obj/clothing/species/vox" -#define FILE_DIR "icons/obj/doors" -#define FILE_DIR "icons/obj/flora" -#define FILE_DIR "icons/obj/machines" -#define FILE_DIR "icons/obj/pipes" -#define FILE_DIR "icons/obj/power_cond" -#define FILE_DIR "icons/pda_icons" -#define FILE_DIR "icons/pods" -#define FILE_DIR "icons/spideros_icons" -#define FILE_DIR "icons/stamp_icons" -#define FILE_DIR "icons/Testing" -#define FILE_DIR "icons/turf" -#define FILE_DIR "icons/vehicles" -#define FILE_DIR "icons/vending_icons" -#define FILE_DIR "nano" -#define FILE_DIR "nano/images" -#define FILE_DIR "sound" -#define FILE_DIR "sound/AI" -#define FILE_DIR "sound/ambience" -#define FILE_DIR "sound/effects" -#define FILE_DIR "sound/effects/turret" -#define FILE_DIR "sound/effects/wind" -#define FILE_DIR "sound/hallucinations" -#define FILE_DIR "sound/items" -#define FILE_DIR "sound/machines" -#define FILE_DIR "sound/mecha" -#define FILE_DIR "sound/misc" -#define FILE_DIR "sound/music" -#define FILE_DIR "sound/piano" -#define FILE_DIR "sound/turntable" -#define FILE_DIR "sound/violin" -#define FILE_DIR "sound/voice" -#define FILE_DIR "sound/voice/complionator" -#define FILE_DIR "sound/voice/Serithi" -#define FILE_DIR "sound/vox" -#define FILE_DIR "sound/vox_fem" -#define FILE_DIR "sound/weapons" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG From 35b654e53401515967c0220866509f939c1ce883 Mon Sep 17 00:00:00 2001 From: DZD Date: Thu, 29 Jan 2015 14:21:27 -0500 Subject: [PATCH 12/13] Fixes FILE_DIR Changes --- paradise.dme | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/paradise.dme b/paradise.dme index 589a5268d67..a790a81d85a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -5,6 +5,87 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/TriDimension" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/goonheist" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" +#define FILE_DIR "code/WorkInProgress/IndexLP" +#define FILE_DIR "code/WorkInProgress/Susan" +#define FILE_DIR "html" +#define FILE_DIR "html/images" +#define FILE_DIR "icons" +#define FILE_DIR "icons/48x48" +#define FILE_DIR "icons/ass" +#define FILE_DIR "icons/atmos" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/mob/human_races" +#define FILE_DIR "icons/mob/in-hand" +#define FILE_DIR "icons/mob/in-hand/left" +#define FILE_DIR "icons/mob/in-hand/right" +#define FILE_DIR "icons/mob/otherHuman" +#define FILE_DIR "icons/mob/species" +#define FILE_DIR "icons/mob/species/armalis" +#define FILE_DIR "icons/mob/species/skrell" +#define FILE_DIR "icons/mob/species/tajaran" +#define FILE_DIR "icons/mob/species/unathi" +#define FILE_DIR "icons/mob/species/vox" +#define FILE_DIR "icons/mob/spirits" +#define FILE_DIR "icons/NTOS" +#define FILE_DIR "icons/NTOS/battery_icons" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/clothing/species" +#define FILE_DIR "icons/obj/clothing/species/skrell" +#define FILE_DIR "icons/obj/clothing/species/tajaran" +#define FILE_DIR "icons/obj/clothing/species/unathi" +#define FILE_DIR "icons/obj/clothing/species/vox" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/obj/power_cond" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/pods" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/stamp_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vehicles" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "nano" +#define FILE_DIR "nano/images" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/effects/turret" +#define FILE_DIR "sound/effects/wind" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/music" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/turntable" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/voice/complionator" +#define FILE_DIR "sound/voice/Serithi" +#define FILE_DIR "sound/vox" +#define FILE_DIR "sound/vox_fem" +#define FILE_DIR "sound/weapons" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG From 655fdd91065e4c60bcceb29a52a23e5e4ecdd85d Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 29 Jan 2015 16:33:51 -0500 Subject: [PATCH 13/13] RIG Helmets --- code/modules/clothing/clothing.dm | 1 + code/modules/clothing/spacesuits/alien.dm | 4 ++-- code/modules/clothing/spacesuits/rig.dm | 6 ++++-- code/modules/events/event_container.dm | 16 ++++++++-------- code/modules/events/event_dynamic.dm | 10 +++++----- code/modules/mob/living/carbon/human/human.dm | 3 ++- .../modules/mob/living/carbon/human/inventory.dm | 4 ++++ code/modules/mob/mob.dm | 9 ++++++++- code/modules/organs/organ_external.dm | 2 +- code/modules/surgery/braincore.dm | 1 - 10 files changed, 35 insertions(+), 21 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index fe90597b4c3..fb8977de393 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -1,6 +1,7 @@ /obj/item/clothing name = "clothing" var/list/species_restricted = null //Only these species can wear this kit. + var/rig_restrict_helmet = 0 // Stops the user from equipping a rig helmet without attaching it to the suit first. /* Sprites used when the clothing item is refit. This is done by setting icon_override. diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index 3f9ceacc2da..d1d9962393b 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -238,7 +238,7 @@ usr << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped. /obj/item/clothing/suit/space/eva/vox - name = "Vox Space Suit" + name = "Vox EVA Suit" icon_state = "voxspace" item_state = "voxspace" species_restricted = list("Vox", "Vox Armalis") @@ -248,7 +248,7 @@ ) /obj/item/clothing/head/helmet/space/eva/vox - name = "Vox Space Suit" + name = "Vox EVA Suit" icon_state = "voxspace" item_state = "voxspace" species_restricted = list("Vox","Vox Armalis") diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index f3dc8d6b36e..04fc8365eaa 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -4,6 +4,7 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment." icon_state = "rig0-engineering" item_state = "eng_helm" + rig_restrict_helmet = 1 armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) allowed = list(/obj/item/device/flashlight) var/brightness_on = 4 //luminosity when on @@ -436,16 +437,17 @@ //Medical Rig /obj/item/clothing/head/helmet/space/rig/medical name = "medical hardsuit helmet" - desc = "A special helmet designed for work in a hazardous, low pressure environment. Has minor radiation shielding." + desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light." icon_state = "rig0-medical" item_state = "medical_helm" _color = "medical" + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) /obj/item/clothing/suit/space/rig/medical icon_state = "rig-medical" name = "medical hardsuit" - desc = "A special suit that protects against hazardous, low pressure environments. Has minor radiation shielding." + desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort." item_state = "medical_hardsuit" slowdown = 1 allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index b6df7d94c3b..8441b36dcd4 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -150,7 +150,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meaty Ores", /datum/event/dust/meaty, 0, list(ASSIGNMENT_ENGINEER = 20)), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 500, list(ASSIGNMENT_AI = 150, ASSIGNMENT_SECURITY = 120)), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, 0, list(ASSIGNMENT_SECURITY = 100)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 200, list(ASSIGNMENT_ENGINEER = 60)), +// new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 200, list(ASSIGNMENT_ENGINEER = 60)), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 250, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_JANITOR = 150)), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 50), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 150)), @@ -159,15 +159,15 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 2.5, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), // NON-BAY EVENTS - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space Dust", /datum/event/dust, 50, list(ASSIGNMENT_ENGINEER = 50)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space Dust", /datum/event/dust, 50, list(ASSIGNMENT_ENGINEER = 50)), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Dimensional Tear", /datum/event/tear, 0, list(ASSIGNMENT_SECURITY = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Wormholes", /datum/event/wormholes, 150), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Wormholes", /datum/event/wormholes, 150), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Pyro Anomaly", /datum/event/anomaly/anomaly_pyro, 100, list(ASSIGNMENT_ENGINEER = 60)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Vortex Anomaly", /datum/event/anomaly/anomaly_vortex, 50, list(ASSIGNMENT_ENGINEER = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Bluespace Anomaly", /datum/event/anomaly/anomaly_bluespace, 50, list(ASSIGNMENT_ENGINEER = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Flux Anomaly", /datum/event/anomaly/anomaly_flux, 50, list(ASSIGNMENT_ENGINEER = 50)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Gravitational Anomaly", /datum/event/anomaly/anomaly_grav, 200), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Pyro Anomaly", /datum/event/anomaly/anomaly_pyro, 100, list(ASSIGNMENT_ENGINEER = 60)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Vortex Anomaly", /datum/event/anomaly/anomaly_vortex, 50, list(ASSIGNMENT_ENGINEER = 25)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Bluespace Anomaly", /datum/event/anomaly/anomaly_bluespace, 50, list(ASSIGNMENT_ENGINEER = 25)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Flux Anomaly", /datum/event/anomaly/anomaly_flux, 50, list(ASSIGNMENT_ENGINEER = 50)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Gravitational Anomaly", /datum/event/anomaly/anomaly_grav, 200), ) /datum/event_container/major diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index d94c5f3ea3a..df494ddc245 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -47,7 +47,7 @@ var/global/list/possibleEvents = list() possibleEvents[/datum/event/economic_event] = 300 possibleEvents[/datum/event/trivial_news] = 400 - possibleEvents[/datum/event/mundane_news] = 300 + possibleEvents[/datum/event/mundane_news] = 300 possibleEvents[/datum/event/cargo_bonus] = 150 @@ -59,7 +59,7 @@ var/global/list/possibleEvents = list() possibleEvents[/datum/event/mass_hallucination] = 200 possibleEvents[/datum/event/vent_clog] = 300 possibleEvents[/datum/event/anomaly/anomaly_grav] = 200 - + possibleEvents[/datum/event/wormholes] = 150 possibleEvents[/datum/event/carp_migration] = 20 + 10 * active_with_role["Engineer"] @@ -72,7 +72,7 @@ var/global/list/possibleEvents = list() possibleEvents[/datum/event/communications_blackout] = 50 + 25 * active_with_role["AI"] + active_with_role["Scientist"] * 25 possibleEvents[/datum/event/ionstorm] = active_with_role["AI"] * 25 + active_with_role["Cyborg"] * 25 + active_with_role["Engineer"] * 10 + active_with_role["Scientist"] * 5 - possibleEvents[/datum/event/grid_check] = 25 + 10 * active_with_role["Engineer"] +// possibleEvents[/datum/event/grid_check] = 25 + 10 * active_with_role["Engineer"] possibleEvents[/datum/event/electrical_storm] = 15 * active_with_role["Janitor"] + 5 * active_with_role["Engineer"] possibleEvents[/datum/event/wallrot] = 30 * active_with_role["Engineer"] + 50 * active_with_role["Botanist"] @@ -82,8 +82,8 @@ var/global/list/possibleEvents = list() possibleEvents[/datum/event/anomaly/anomaly_pyro] = 100 + 60 * active_with_role["Engineer"] possibleEvents[/datum/event/anomaly/anomaly_vortex] = 50 + 25 * active_with_role["Engineer"] possibleEvents[/datum/event/anomaly/anomaly_bluespace] = 50 + 25 * active_with_role["Engineer"] - possibleEvents[/datum/event/anomaly/anomaly_flux] = 50 + 50 * active_with_role["Engineer"] - + possibleEvents[/datum/event/anomaly/anomaly_flux] = 50 + 50 * active_with_role["Engineer"] + possibleEvents[/datum/event/meteor_wave] = 10 * active_with_role["Engineer"] possibleEvents[/datum/event/meteor_shower] = 20 * active_with_role["Engineer"] possibleEvents[/datum/event/blob] = 10 * active_with_role["Engineer"] diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 53c834cb371..1c0feaaef05 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1016,6 +1016,8 @@ number += 2 if(istype(src.head, /obj/item/clothing/head/helmet/space/eva)) number -= 2 + if(istype(src.head, /obj/item/clothing/head/helmet/space/rig/medical)) + number -= 2 if(istype(src.glasses, /obj/item/clothing/glasses/thermal)) number -= 1 if(istype(src.glasses, /obj/item/clothing/glasses/sunglasses)) @@ -1412,7 +1414,6 @@ if(H) H.brained=1 h_style = "Bald" - drop_from_inventory(head) update_hair() update_body() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 171de58faab..2520b2d1982 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -10,6 +10,10 @@ H << "You are not holding anything to equip." return + if(istype(I, /obj/item/clothing/head/helmet/space/rig)) // If the item to be equipped is a rigid suit helmet + src << "\red You must fasten the helmet to a hardsuit first. (Target the head and use on a hardsuit)" // Stop eva helms equipping. + return 0 + if(H.equip_to_appropriate_slot(I)) if(hand) update_inv_l_hand(0) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 54188426075..0f008d9f81a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -106,7 +106,14 @@ var/obj/item/W = get_active_hand() if(istype(W)) - equip_to_slot_if_possible(W, slot) + if (istype(W, /obj/item/clothing)) + var/obj/item/clothing/C = W + if(C.rig_restrict_helmet) + src << "\red You must fasten the helmet to a hardsuit first. (Target the head and use on a hardsuit)" // Stop eva helms equipping. + else + equip_to_slot_if_possible(C, slot) + else + equip_to_slot_if_possible(W, slot) if(ishuman(src) && W == src:head) src:update_hair() diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 78f31a5d177..1f7da7049b2 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -1005,7 +1005,7 @@ Note that amputating the affected organ does in fact remove the infection from t if (burn_dam > 40) disfigure("burn") if(!brained) - if(brute_dam > 25) + if(brute_dam > 40) if(prob(10)) breakskull() diff --git a/code/modules/surgery/braincore.dm b/code/modules/surgery/braincore.dm index 7445fc2233e..3ce95d81553 100644 --- a/code/modules/surgery/braincore.dm +++ b/code/modules/surgery/braincore.dm @@ -30,7 +30,6 @@ user.visible_message("\blue [user] has cut through [target]'s skull open with \the [tool].", \ "\blue You have cut through [target]'s skull open with \the [tool].") target.brain_op_stage = 2 - target.expose_brain() fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("\red [user]'s hand slips, cracking [target]'s skull with \the [tool]!" , \