From d57d42e8ddd980cbb5a466c776963bbad2e9c255 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 26 Sep 2015 02:36:44 -0400 Subject: [PATCH 01/10] Spacemove Fixup --- code/game/atoms_movable.dm | 4 ++-- code/modules/power/singularity/singularity.dm | 17 +++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index a38d22e6ff6..eb28028cac4 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -80,10 +80,10 @@ last_move = 0 return + last_move = direct src.move_speed = world.timeofday - src.l_move_time src.l_move_time = world.timeofday - last_move = direct spawn(5) // Causes space drifting. /tg/station has no concept of speed, we just use 5 @@ -154,7 +154,7 @@ if(pulledby) return 1 - if(locate(/obj/structure/lattice) in orange(1, get_turf(src))) //Not realistic but makes pushing things in space easier + if(locate(/obj/structure/lattice) in range(1, get_turf(src))) //Not realistic but makes pushing things in space easier return 1 return 0 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 9e27818eb8b..c4170888d3d 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -60,6 +60,9 @@ consume(user) return 1 +/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man! + return 0 + /obj/singularity/blob_act(severity) return @@ -268,8 +271,6 @@ step(src, movement_dir) -/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man! - return 0 /obj/singularity/proc/check_turfs_in(var/direction = 0, var/step = 0) if(!direction) @@ -360,18 +361,13 @@ /obj/singularity/proc/toxmob() var/toxrange = 10 - var/toxdamage = 4 var/radiation = 15 var/radiationmin = 3 - if (src.energy>200) - toxdamage = round(((src.energy-150)/50)*4,1) - radiation = round(((src.energy-150)/50)*5,1) - radiationmin = round((radiation/5),1)// + if (energy>200) + radiation += round((energy-150)/10,1) + radiationmin = round((radiation/5),1) for(var/mob/living/M in view(toxrange, src.loc)) M.apply_effect(rand(radiationmin,radiation), IRRADIATE) - toxdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad"))) - M.apply_effect(toxdamage, TOX) - return /obj/singularity/proc/combust_mobs() @@ -382,6 +378,7 @@ C.IgniteMob() return + /obj/singularity/proc/mezzer() for(var/mob/living/carbon/M in oviewers(8, src)) if(istype(M, /mob/living/carbon/brain)) //Ignore brains From 441391168863cce7562d285975e02b9f62b9b619 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 26 Sep 2015 06:17:29 -0400 Subject: [PATCH 02/10] Janicart and Janitor Update --- _maps/map_files/cyberiad/cyberiad.dmm | 21 +- code/game/jobs/job/support.dm | 2 +- code/game/objects/items/devices/PDA/cart.dm | 8 +- code/game/objects/items/weapons/mop.dm | 16 +- code/game/objects/items/weapons/soap.dm | 6 +- code/game/objects/structures/janicart.dm | 377 ++++++++---------- code/game/objects/structures/segway.dm | 163 -------- code/game/objects/structures/watercloset.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 2 +- .../research/designs/janitorial_designs.dm | 10 + code/modules/vehicle/train/trains/janicart.dm | 342 ---------------- icons/obj/vehicles.dmi | Bin 41115 -> 50091 bytes paradise.dme | 2 - 13 files changed, 195 insertions(+), 756 deletions(-) delete mode 100644 code/game/objects/structures/segway.dm delete mode 100644 code/modules/vehicle/train/trains/janicart.dm diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 6a06003f63b..a887cef66f2 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -225,7 +225,7 @@ "aeq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/security/interrogationobs) "aer" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Brig Prison Hallway"; dir = 4; network = list("Prison","SS13")},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) "aes" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/gun/energy/advtaser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/advtaser{pixel_x = 0; pixel_y = 0},/obj/item/weapon/gun/energy/advtaser{pixel_x = 3; pixel_y = -3},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"aet" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"aet" = (/obj/structure/rack,/obj/item/key/security,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeu" = (/obj/structure/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "aev" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Head of Security's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "aew" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/security/hos) @@ -242,7 +242,7 @@ "aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Interrogation Observation APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/interrogationobs) "aeI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Armory APC"; pixel_x = -24; pixel_y = 0},/obj/machinery/camera/motion{c_tag = "Secure Armory"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -25; pixel_y = -10},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"aeK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"aeK" = (/obj/structure/stool/bed/chair/janicart/secway,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeM" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) @@ -5237,8 +5237,8 @@ "bWK" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bWL" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/janitor) "bWM" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor) -"bWN" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/camera{c_tag = "Custodial Closet"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/janitor) -"bWO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor,/area/janitor) +"bWN" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"bWO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/machinery/newscaster{pixel_y = 30},/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/janitor) "bWP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/janitor) "bWQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/reagent_dispensers/spacecleanertank{pixel_y = 30},/turf/simulated/floor,/area/janitor) "bWR" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) @@ -5395,7 +5395,7 @@ "bZM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bZN" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/aft) "bZO" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bZP" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; name = "Janitor Requests Console"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) +"bZP" = (/obj/machinery/camera{c_tag = "Custodial Closet"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/stool/bed/chair/janicart,/turf/simulated/floor,/area/janitor) "bZQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/janitor) "bZR" = (/obj/machinery/light,/obj/structure/janitorialcart,/turf/simulated/floor,/area/janitor) "bZS" = (/obj/item/weapon/restraints/legcuffs/beartrap,/obj/item/weapon/restraints/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/janitor) @@ -8217,6 +8217,7 @@ "dca" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/obj/machinery/door_control{id = "medprivacyc"; name = "Privacy Shutters"; pixel_y = -30},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) "dcb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/medical/patients_rooms) "dcc" = (/obj/machinery/light,/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 10; icon_state = "blue"},/area/medical/patients_rooms) +"dcd" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; name = "Janitor Requests Console"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/key/janitor,/turf/simulated/floor,/area/janitor) "dce" = (/obj/machinery/light_switch{pixel_x = -24; pixel_y = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/patients_rooms) "dcf" = (/obj/machinery/power/apc{dir = 4; cell_type = 15000; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/patients_rooms) "dcg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/medical/patients_rooms) @@ -8298,9 +8299,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgacNacOacPacQacRacSacCaalacEacEacTacUacVacEacEacEaaaaaaaaaaaaabKacGactacWacXacYacXacXacZactadaadaadaadaadaadaabLadbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaajaajaajaaaaajaajaajaajaajaaaaajaajaajaajaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgacgacgacgacgacgadcaddacEacEadeadfadgadhadiacEacEaaaaaaaaaaaaaaaabKactadjadkadladmadnadoactadpadqadradsadtaduadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaajaajaajaaaaajaajaajaajaajaaaaajaajaajaajaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwadxadyadzadAadwadBadCacEadDadEadFadGadHadIadJacEaaaaaaaaaaaaaaaaaaactadKadLadMadNacXadOactadPadtadtadtadtaduadvaaaaaaaaaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaajaajaajaaaaaaaaaaaaaaaaaaaaaaajaajaajaajaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQadQadQadQadQadRadSadTadUadwachacdacEadVadWadXadGadYadZaeaacEaaaaaaaaaaaaaaaaebactaecaedaeeaefaegaehactaeiadtaejadtadtaduadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAaaaaaaabAabAabAabAabAabAabAaaaaaaabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQaekaelaemadQaenaeoaepaepaeqaeracCacEaesadWadXaetadYadZaeuacEaaaaaaaaaaaaaaaaaaactaevadLaewadNacXaexactaeyadtadtadtadtaezadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeAaeAaeAaeAaeAaeAaeAaeAaeAaaaadQaeBaeCaeDaeEaeFaeGaeFaeHaeqacSacCacEacEaeIaeJaeKaeLaeMacEacEaaaaaaaaaaaaaaaaaaactaeNaeOaePacXaeQaeRactaeSaeTaeUaeUaeVadaabLabWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQadQadQadQadQadRadSadTadUadwachacdacEadVadWadXaetadYadZaeaacEaaaaaaaaaaaaaaaaebactaecaedaeeaefaegaehactaeiadtaejadtadtaduadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAaaaaaaabAabAabAabAabAabAabAaaaaaaabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQaekaelaemadQaenaeoaepaepaeqaeracCacEaesadWadXaeKadYadZaeuacEaaaaaaaaaaaaaaaaaaactaevadLaewadNacXaexactaeyadtadtadtadtaezadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaaJaaJaaJaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeAaeAaeAaeAaeAaeAaeAaeAaeAaaaadQaeBaeCaeDaeEaeFaeGaeFaeHaeqacSacCacEacEaeIaeJbWNaeLaeMacEacEaaaaaaaaaaaaaaaaaaactaeNaeOaePacXaeQaeRactaeSaeTaeUaeUaeVadaabLabWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeAaeWaeXaeYaeAaeZaeXafaaeAaaaadQafbafcafdadQadwafeadwadwadwaffafgaalacEafhafiafjafkaflacEafmafmafmafmafmafmafmactafnafoafpafqafractactafsaftafuafuafwadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafxafxafxacGacGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeAafyafzafAaeAafyafzafAaeAaaaadQafBafCafDafEafFafGafHafIafJafKafLafMacEacEafNafOafPacEacEafmafQafRafSafTafUafVafWafXafYafZagaagaagbagcagdageagfaggaghadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaaaaaaafxaaaaabaaaagiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeAagjafAagkaeAaglafAagmaeAaaaadQadQadQadQadQagnagoagpagqagragsagtaguagvagwagxagyagzagAagBagCagDagEagFagFagFagGagHagIagJagFagFagFagFagKafuagLagMagNagOagPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagQaabagRaabagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAabAabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8380,9 +8381,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbF aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBQbBQbBQbBQbBQbBQbBQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOVbRMbRNbRObRPbNybRQbRRbRSbRTbNzbDXbRUbRVbvvbvvbFXbRWbubbQNbQMbRXbRYbRXbRZbSabSabSbbScbSdbSabSabSebSabSfbSabQMbQNbubbSgbShbSibSjbSkbSlbvvbPlbSmbQUbSnbSobSpbJkbSqbSrbSsbStbSubSvbSwbSxbJkbSybSzbLbbSAbSBbSBbSCbSDbSEbSFbSGbLgbSHbSIbMHbSJbSKbLhbPNbSLbSMbSNbSObSPbSQbSRbPPbSSbRAbSTbSTbPTbSUbSVbSWbSXbSYbSZbTabTbbTcbTdbNabOMbwobTeaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBQbBQbBQbBQbBQaaaaaaaaaaaaaaaaaaaaaaaabTfbTgbThbTgbTiaaaaaaaaabOVbOVbTjbTkbRObTlbNybTmbQnbTnbTobNzbDXbTpbTqbTrbTsbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTCbTDbTEbTEbTEbTEbTEbTEbTFbTGbTHbTIbTJbTKbTsbTLbTMbTNbTObTPbPlbTQbQUbQVbTRbSpbJkbSqbSrbTSbTTbTUbTVbTWbTXbJsbTYbTZbLbbLbbUabUabLbbSDbLdbUbbUcbLgbUdbUebUfbUgbUhbLhbPNbUibUjbUkbUlbUmbUnbUobPPbUpbRAbSTbSTbPTbUqbUrbUsbUtbUubUvbUwbUxbUybUzbNabOMbUAbUBbUAbUCbUDbUCbUCbUCaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUEbUFbUGbUHbUEbUIbUIbUIbOVbUJbUKbULbUMbUNbUObUPbUQbUQbURbNzbUSbUTbUUbUVbUVbUWbUXbUYbUVbUZbUZbVabVbbVcbUZbUZbVdbQMbQMbVebVfbVfbVfbVgbVhbVfbVfbVibVjbVkbVkbVlbVkbVmbVnbVkbVobVpbVqbPlbVrbVsbSqbVtbVubVvbVwbVxbVybVubJkbSybVzbVAbVBbVCbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObLhbPNbPNbVPbVQbVRbVSbVRbVTbPPbVUbVVbVWbVWbPTbVXbVYbVZbNabNabNabNabNabNabNabNabOMbUAbWabWbbWcbWdbWdbWebUCaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbWfbWfbWfbWfbWgbWgbWhbWhbWhbWhbWiaabaabaaaaaaaaaaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabThbWjbWkbWjbThbUIbWlbWmbWnbWobWpbWqbWrbWsbNzbWtbWubWvbWwbNzbUTbUTbWxbUVbWybWzbWAbWBbWCbUZbWDbWEbWFbWGbWHbUZbWIbWJbWKbVfbWLbWMbWNbWObWPbWQbWRbWSbWTbWUbWVbWWbWXbWYbWZbXabXbbXcbXdbXebXfbXgbXhbSrbXibXjbXkbXlbXmbXnbJsbXobXpbXqbXrbVDbXsbXsbXtbXubLgbXvbXwbXxbXybXzbXAbXBbLhbXCbXDbXEbXFbXEbXEbXGbXHbXIbXJbXKbXLbXMbPTbXNbXObPXbEXbxXbXPbXQbXRbXRbXQbXRbXSbUAbXTbXUbWcbWdbXVbXWbUCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWfbXXbXYbXXbWgbWhbWhbXZbYabXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabThbWjbWkbWjbThbUIbWlbWmbWnbWobWpbWqbWrbWsbNzbWtbWubWvbWwbNzbUTbUTbWxbUVbWybWzbWAbWBbWCbUZbWDbWEbWFbWGbWHbUZbWIbWJbWKbVfbWLbWMbZPbWObWPbWQbWRbWSbWTbWUbWVbWWbWXbWYbWZbXabXbbXcbXdbXebXfbXgbXhbSrbXibXjbXkbXlbXmbXnbJsbXobXpbXqbXrbVDbXsbXsbXtbXubLgbXvbXwbXxbXybXzbXAbXBbLhbXCbXDbXEbXFbXEbXEbXGbXHbXIbXJbXKbXLbXMbPTbXNbXObPXbEXbxXbXPbXQbXRbXRbXQbXRbXSbUAbXTbXUbWcbWdbXVbXWbUCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWfbXXbXYbXXbWgbWhbWhbXZbYabXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUEbYbbWjbWjbYcbYdbTkbYebYfbYgbTkbWqbYhbYibNzbNzbNzbNzbNzbNzbYjbUTbYkbYlbYmbYnbYnbYnbYobUZbYpbYqbYqbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbYCbVfbVibYDbVkbYEbYFbYGbYHbYIbVkbSmbQVbSnbSobYJbYKbYLbYMbYNbYObYPbYQbYRbVubYSbYTbYUbYVbYWbYXbYYbYZbZabZbbLgbLgbLgbLgbLgbZcbZdbZebLhbZfbXEbXEbZgbZhbXEbZibZjbZkbZlbRAbZmbZmbPTbPVbZnbPXbEXbUAbZobUAbUAbUAbUAbUAbUAbUAbZpbZqbUCbZrbZsbZtbUCaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbZubXXbXXbZvbWhbWhbXZbXZbZwbXZbXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabThbWkbWkbWkbThbUIbZxbZybZzbZAbTkbZBbZCbZDbZEbZFbZFbZFbZGbUTbUTbUTbWxbUVbZHbYnbZIbYnbZJbUZbYpbYqbZKbYqbZLbUZbZMbZNbZObVfbZPbZQbZRbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadbVkbTQbQVbQVcaebYJbYKcafcagcahbXjcaicajcakcalcamcancaocapcaqcarcascasbXscatbVAcaucavcawcaxcaycazcaAbZjbZfcaBbXEbXEbXEcaCcaDbZjbZkcaEbRAbZmbZmbPTcaFcaGbPXbEXcaHcaIcaJbUAcaKcaLcaMcaNcaOcaPcaQbUCcaRcaScaTbUCbUAbUAbUAbUAbUAbUAbUAbUAaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacaUbWhbZubWhbWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabThbWkbWkbWkbThbUIbZxbZybZzbZAbTkbZBbZCbZDbZEbZFbZFbZFbZGbUTbUTbUTbWxbUVbZHbYnbZIbYnbZJbUZbYpbYqbZKbYqbZLbUZbZMbZNbZObVfdcdbZQbZRbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadbVkbTQbQVbQVcaebYJbYKcafcagcahbXjcaicajcakcalcamcancaocapcaqcarcascasbXscatbVAcaucavcawcaxcaycazcaAbZjbZfcaBbXEbXEbXEcaCcaDbZjbZkcaEbRAbZmbZmbPTcaFcaGbPXbEXcaHcaIcaJbUAcaKcaLcaMcaNcaOcaPcaQbUCcaRcaScaTbUCbUAbUAbUAbUAbUAbUAbUAbUAaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacaUbWhbZubWhbWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaaaaaaaabFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmbFmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaaaabUEcaVcaWcaXbUEbUIbUIbUIbOVcaYcaZcaZcaZbOVbOVbUTcbacbacbbcbcbUTcbdcbebUVbZHbYnbYnbYncbfbUZbYpbYqbYqcbgcbhcbicbjcbkcblbVfbVfbVfbVfbVfcbmbVfbVfcbncbobVkbVkcbpbVkbVnbVkbVkbPlcbqcbqbPlbPlcbrcbscbtcbucbvcbwcbxcbycbzcbAcbBcaocapcbCcbDcbEcbFcbGcbHbVAcbIcbJcbKcbLcbMcbNcbOcbPcbQcbPcbRcbRcbRcbPcbScbPcbPcbTcbUbZmbZmbPTcbVbZnbPXcbWcbXcbYcbZccaccbccccccccdcceccfccgcchcciccjcckcclccmccnccoccpccqccrccscctaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabWgbWhccuccvccvbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwbTgccxbTgccycczaabaaabOVbOVbUIbUIbUIbOVaaabUTccAccBccCccDbZFccEccFbUVccGccHccIbYnccJccKccLccMccNccOccPbUZccQccRccSccTccUccUccUccUccVccWccXccYccYccZccZcdacdbcdcbVibPlcddcdecdfcdgcdhbYKcdicbtcdjcdkcdlcdmbSwcdncdocdpcdqcdrcdrcdscdrcdrcdrcdtbVAcducdvcdwcdxcdycdzcdAcbPcdBcdCcdDcdEcdFcdCcdGcdHcdCcdIcdJbRBbPTbPTcdKcdLcdMcdNcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebceaceccebcebcebcedceecefcegcehaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFlbFlbFlbFlbFlbFlbFlbFlbFlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabcejbUTbUTbUTcekbUTbUTcelbUVcemcenceocepceqcercescetceucevcewccKcexceycezceAceBceBceBceBceCceDceEceFceGceFceHceIceJceKceLceMceNceOcePceQceRceSceTceUceVceWceXceYceZcfacfbcfccfdcfdcfdcfecffcfgcfhcficfjcfjcfkcfjcflcfmcfncfocbPcfpcfqcfrcfscfrcftcfucfvcdCbPTcfwbPTbPTcfxcfybZnbBxbEXbUAcfzbUAbUAcfAcfBcfCcfDcfEcebcfFcfGcfHcdUcfHcdUcfIcdUcdUbUAcfJcfKcfLcfMaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabWhbXZbXZbXZbXZbXZbXZcfNbXZcfObXZbXZbXZbXZbXZbWhbWhaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index b5ad01dd92d..256eb2ca69c 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -294,7 +294,7 @@ title = "Janitor" flag = JANITOR department_flag = SUPPORT - total_positions = 1 + total_positions = 2 spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index e44fb712774..ba3316b3ce0 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -174,7 +174,7 @@ /obj/item/weapon/cartridge/rd/initialize() radio = new /obj/item/radio/integrated/signal(src) - ..() + ..() /obj/item/weapon/cartridge/captain name = "Value-PAK Cartridge" @@ -191,7 +191,7 @@ /obj/item/weapon/cartridge/captain/initialize() radio = new /obj/item/radio/integrated/beepsky(src) - ..() + ..() /obj/item/weapon/cartridge/supervisor name = "Easy-Record DELUXE" @@ -282,7 +282,7 @@ /* Power Monitor (Mode: 43 / 433) */ - if(mode==43 || mode==433) + if(mode==43 || mode==433) values["powermonitors"] = powermonitor_repository.powermonitor_data() if (powmonitor && !isnull(powmonitor.powernet)) @@ -500,7 +500,7 @@ if(!CbotData.len) CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null) var/CartData[0] - for(var/obj/structure/stool/bed/chair/cart/janicart/B in world) + for(var/obj/structure/stool/bed/chair/janicart/B in world) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 874f96271fe..0bceaa54fcf 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -1,3 +1,5 @@ +#define is_cleanable(A) (istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/rune)) + /obj/item/weapon/mop desc = "The world of janitalia wouldn't be complete without a mop." name = "mop" @@ -12,7 +14,7 @@ var/mopping = 0 var/mopcount = 0 var/mopcap = 5 - var/mopspeed = 40 + var/mopspeed = 30 /obj/item/weapon/mop/New() @@ -23,7 +25,7 @@ if(reagents.has_reagent("water", 1) || reagents.has_reagent("cleaner", 1) || reagents.has_reagent("holywater", 1)) A.clean_blood() for(var/obj/effect/O in A) - if(istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay) || istype(O,/obj/effect/rune)) + if(is_cleanable(O)) qdel(O) reagents.reaction(A, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. reagents.remove_any(1) //reaction() doesn't use up the reagents @@ -33,20 +35,20 @@ if(!proximity) return if(reagents.total_volume < 1) - user << "Your mop is dry!" + user << "Your mop is dry!" return var/turf/simulated/turf = A - if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay)) + if(is_cleanable(A)) turf = A.loc A = null if(istype(turf)) - user.visible_message("[user] begins to clean \the [turf] with [src].") + user.visible_message("[user] begins to clean \the [turf] with [src].", "You begin to clean \the [turf] with [src]...") - if(do_after(user, mopspeed, target = src)) + if(do_after(user, src.mopspeed, target = turf)) + user << "You finish mopping." clean(turf) - user << "You have finished mopping!" /obj/effect/attackby(obj/item/I, mob/user, params) diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index 7f5f6b7861e..4ebf6b257e8 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -16,11 +16,9 @@ icon_state = "soapnt" /obj/item/weapon/soap/deluxe - icon_state = "soapdeluxe" - -/obj/item/weapon/soap/deluxe/New() desc = "A deluxe Waffle Co. brand bar of soap. Smells of comdoms." - cleanspeed = 40 //same speed as mop because deluxe -- captain gets one of these + icon_state = "soapdeluxe" + cleanspeed = 40 //slightly better because deluxe -- captain gets one of these /obj/item/weapon/soap/syndie desc = "An untrustworthy bar of soap made of strong chemical agents that dissolve blood faster." diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index c9a624fad8c..d22db9cc1d7 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -1,54 +1,98 @@ -/obj/structure/stool/bed/chair/cart/ +//old style PIMP-CART +/obj/structure/stool/bed/chair/janicart + name = "janicart" + desc = "A brave janitor cyborg gave its life to produce such an amazing combination of speed and utility." icon = 'icons/obj/vehicles.dmi' - anchored = 1 + icon_state = "pussywagon" + anchored = 0 density = 1 - var/empstun = 0 - var/health = 100 - var/destroyed = 0 - var/move_delay = 1 - var/keytype = /obj/item/key - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread + var/obj/item/weapon/storage/bag/trash/mybag = null + var/callme = "pimpin' ride" //how do people refer to it? + var/move_delay = 0 + var/floorbuffer = 0 + var/keytype = /obj/item/key/janitor -/obj/structure/stool/bed/chair/cart/process() - if(empstun > 0) - empstun-- - if(empstun < 0) - empstun = 0 - -/obj/structure/stool/bed/chair/cart/New() - processing_objects |= src +/obj/structure/stool/bed/chair/janicart/New() handle_rotation() -/obj/structure/stool/bed/chair/cart/examine(mob/user) - if(..(user, 1)) - switch(health) - if(75 to 99) - usr << "\blue It appears slightly dented." - if(40 to 74) - usr << "\red It appears heavily dented." - if(1 to 39) - usr << "\red It appears severely dented." - if((INFINITY * -1) to 0) - usr << "It appears completely unsalvageable" +/obj/structure/stool/bed/chair/janicart/Move(a, b, flag) + ..() + if(floorbuffer) + var/turf/tile = loc + if(isturf(tile)) + tile.clean_blood() + if (istype(tile, /turf/simulated/floor)) + var/turf/simulated/floor/F = tile + F.dirt = 0 + for(var/A in tile) + if(istype(A, /obj/effect)) + if(is_cleanable(A)) + qdel(A) -/obj/structure/stool/bed/chair/cart/attackby(obj/item/W, mob/user, params) - if (istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if (WT.remove_fuel(0)) - if(destroyed) - user << "\red The [src.name] is destroyed beyond repair." - add_fingerprint(user) - user.visible_message("\blue [user] has fixed some of the dents on [src].", "\blue You fix some of the dents on \the [src]") - health += 20 - HealthCheck() - else - user << "Need more welding fuel!" +/obj/structure/stool/bed/chair/janicart/examine(mob/user) + ..() + if(floorbuffer) + user << "It has been upgraded with a floor buffer." + + +/obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user, params) + if(istype(I, keytype)) + user << "Hold [I] in one of your hands while you drive this [callme]." + else if(istype(I, /obj/item/weapon/storage/bag/trash)) + if(keytype == /obj/item/key/janitor) + if(!user.drop_item()) + return + user << "You hook the trashbag onto the [callme]." + I.loc = src + mybag = I + else if(istype(I, /obj/item/janiupgrade)) + if(keytype == /obj/item/key/janitor) + floorbuffer = 1 + qdel(I) + user << "You upgrade the [callme] with the floor buffer." + update_icon() + +/obj/structure/stool/bed/chair/janicart/update_icon() + overlays.Cut() + if(mybag) + overlays += "cart_garbage" + if(floorbuffer) + overlays += "cart_buffer" + +/obj/structure/stool/bed/chair/janicart/attack_hand(mob/user) + if(mybag) + mybag.loc = get_turf(user) + user.put_in_hands(mybag) + mybag = null + update_icon() + else + ..() + + +/obj/structure/stool/bed/chair/janicart/relaymove(mob/user, direction) + if(user.stat || user.stunned || user.weakened || user.paralysis) + unbuckle_mob() + if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype)) + if(!Process_Spacemove(direction) || !has_gravity(src.loc) || move_delay || !isturf(loc)) return - if(istype(W, /obj/item/key)) - user << "Hold [W] in one of your hands while you drive this [name]." + step(src, direction) + update_mob() + handle_rotation() + if(istype(src.loc, /turf/simulated)) + var/turf/simulated/T = src.loc + if(T.wet == 2) //Lube! Fall off! + playsound(src, 'sound/misc/slip.ogg', 50, 1, -3) + buckled_mob.Stun(7) + buckled_mob.Weaken(7) + unbuckle_mob() + step(src, dir) + move_delay = 1 + spawn(2) + move_delay = 0 + else + user << "You'll need the keys in one of your hands to drive this [callme]." - -/obj/structure/stool/bed/chair/cart/user_buckle_mob(mob/living/M, mob/user) +/obj/structure/stool/bed/chair/janicart/user_buckle_mob(mob/living/M, mob/user) if(user.incapacitated()) //user can't move the mob on the janicart's turf if incapacitated return for(var/atom/movable/A in get_turf(src)) //we check for obstacles on the turf. @@ -59,19 +103,14 @@ ..() update_mob() -/obj/structure/stool/bed/chair/cart/post_buckle_mob(mob/living/M) - update_mob() - return ..() +/obj/structure/stool/bed/chair/janicart/unbuckle_mob() + if(buckled_mob) + buckled_mob.pixel_x = 0 + buckled_mob.pixel_y = 0 + ..() -/obj/structure/stool/bed/chair/cart/unbuckle_mob() - var/mob/living/M = ..() - if(M) - M.pixel_x = 0 - M.pixel_y = 0 - return M - -/obj/structure/stool/bed/chair/cart/handle_rotation() - if(dir == SOUTH) +/obj/structure/stool/bed/chair/janicart/handle_rotation() + if((dir == SOUTH) || (dir == WEST) || (dir == EAST)) layer = FLY_LAYER else layer = OBJ_LAYER @@ -83,7 +122,8 @@ update_mob() -/obj/structure/stool/bed/chair/cart/proc/update_mob() + +/obj/structure/stool/bed/chair/janicart/proc/update_mob() if(buckled_mob) buckled_mob.dir = dir switch(dir) @@ -91,190 +131,85 @@ buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 7 if(WEST) - buckled_mob.pixel_x = 13 + buckled_mob.pixel_x = 12 buckled_mob.pixel_y = 7 if(NORTH) buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 4 if(EAST) - buckled_mob.pixel_x = -13 + buckled_mob.pixel_x = -12 buckled_mob.pixel_y = 7 -/obj/structure/stool/bed/chair/cart/emp_act(severity) - switch(severity) - if(1) - src.empstun = (rand(5,10)) - if(2) - src.empstun = (rand(1,5)) - src.visible_message("\red The [src.name]'s motor short circuits!") - spark_system.attach(src) - spark_system.set_up(5, 0, src) - spark_system.start() - -/obj/structure/stool/bed/chair/cart/bullet_act(var/obj/item/projectile/Proj) - var/hitrider = 0 - if(istype(Proj, /obj/item/projectile/ion)) - Proj.on_hit(src, 2) - return +/obj/structure/stool/bed/chair/janicart/bullet_act(obj/item/projectile/Proj) if(buckled_mob) - if(prob(75)) - hitrider = 1 - var/act = buckled_mob.bullet_act(Proj) - if(act >= 0) - visible_message("[buckled_mob.name] is hit by [Proj]!") - if(istype(Proj, /obj/item/projectile/energy)) - unbuckle_mob() - return - if(istype(Proj, /obj/item/projectile/energy/electrode)) - if(prob(25)) - unbuckle_mob() - visible_message("The [src.name] absorbs the [Proj]") - if(!istype(buckled_mob, /mob/living/carbon/human)) - return buckled_mob.bullet_act(Proj) - else - var/mob/living/carbon/human/H = buckled_mob - return H.electrocute_act(0, src, 1, 0) - if(!hitrider) - visible_message("[Proj] hits the [name]!") - if(!Proj.nodamage && Proj.damage_type == BRUTE || Proj.damage_type == BURN) - health -= Proj.damage - HealthCheck() - -/obj/structure/stool/bed/chair/cart/proc/HealthCheck() - if(health > 100) health = 100 - if(health <= 0 && !destroyed) - destroyed = 1 - density = 0 - if(buckled_mob) - unbuckle_mob() - visible_message("The [name] explodes!") - explosion(src.loc,-1,0,2,7,10) - icon_state = "pussywagon_destroyed" - -/obj/structure/stool/bed/chair/cart/ex_act(severity) - switch (severity) - if(1.0) - health -= 100 - if(2.0) - health -= 75 - if(3.0) - health -= 45 - HealthCheck() - - -///////////////////////////////////////////////////////////////////////// - -/obj/structure/stool/bed/chair/cart/janicart - name = "janicart" - icon_state = "pussywagon" - flags = OPENCONTAINER - //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/weapon/storage/bag/trash/mybag = null - -/obj/structure/stool/bed/chair/cart/janicart/New() - ..() - var/datum/reagents/R = new/datum/reagents(100) - reagents = R - R.my_atom = src - -/obj/structure/stool/bed/chair/cart/janicart/examine(mob/user) - if(!..(user, 1)) - return - - user << "\icon[src] This [name] contains [reagents.total_volume] unit\s of [reagents]!" - if(mybag) - user << "\A [mybag] is hanging on the [name]." - -/obj/structure/stool/bed/chair/cart/janicart/attackby(obj/item/W, mob/user, params) - ..() - if(istype(W, /obj/item/weapon/mop)) - if(reagents.total_volume >= 2) - reagents.trans_to(W, 2) - user << "You wet the mop in the pimpin' ride." - playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1) - if(reagents.total_volume < 1) - user << "This pimpin' ride is out of water!" - else if(istype(W, /obj/item/weapon/storage/bag/trash)) - user << "You hook the trashbag onto the pimpin' ride." - user.drop_item() - W.loc = src - mybag = W - - -/obj/structure/stool/bed/chair/cart/janicart/attack_hand(mob/user) - if(mybag) - mybag.loc = get_turf(user) - user.put_in_hands(mybag) - mybag = null - else - ..() - - -/obj/structure/stool/bed/chair/cart/janicart/relaymove(mob/user, direction) - if(user.stat || user.stunned || user.weakened || user.paralysis || destroyed) - unbuckle_mob() - return - if(empstun > 0) - if(user) - user << "\red \the [src] is unresponsive." - return - if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype)) - if(!Process_Spacemove(direction) || !has_gravity(src.loc) || move_delay || !isturf(loc)) - return - step(src, direction) - update_mob() - handle_rotation() - move_delay = 1 - spawn(2) - move_delay = 0 - else - user << "You'll need the keys in one of your hands to drive this pimpin' ride." - -//////////////////////////////////////////////////////////////////////////////////////////////// - -/obj/structure/stool/bed/chair/cart/ambulance - name = "ambulance" - icon = 'icons/obj/vehicles.dmi' - icon_state = "docwagon" - anchored = 0 - density = 1 -/var/brightness = 4 -/var/strobe = 0 - -/obj/structure/stool/bed/chair/cart/ambulance/relaymove(mob/user, direction) - if(user.stat || user.stunned || user.weakened || user.paralysis || destroyed) - unbuckle_mob() - return - if(empstun > 0) - if(user) - user << "\red \the [src] is unresponsive." - return - if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype)) - if(!Process_Spacemove(direction) || !has_gravity(src.loc) || move_delay || !isturf(loc)) - return - step(src, direction) - update_mob() - handle_rotation() - move_delay = 1 - spawn(2) - move_delay = 0 - else - user << "You'll need the keys in one of your hands to drive this ambulance." - + buckled_mob.bullet_act(Proj) /obj/item/key name = "key" - desc = "A keyring with a small steel key, and a pink fob reading \"Pussy Wagon\"." + desc = "A small grey key." icon = 'icons/obj/vehicles.dmi' - icon_state = "keys" + icon_state = "key" w_class = 1 +/obj/item/key/janitor + desc = "A keyring with a small steel key, and a pink fob reading \"Pussy Wagon\"." + icon_state = "keyjanitor" + +/obj/item/key/security + desc = "A keyring with a small steel key, and a rubber stun baton accessory." + icon_state = "keysec" + /obj/item/key/ambulance name = "ambulance key" desc = "A keyring with a small steel key, and tag with a red cross on it." icon_state = "keydoc" +/obj/item/key/snowmobile + name = "snowmobile key" + desc = "A keyring with a small steel key, and tag with a red cross on it; clearly it's not implying you're going to the hospital for this..." + icon_state = "keydoc" //get a better icon, sometime. + +/obj/item/janiupgrade + name = "floor buffer upgrade" + desc = "An upgrade for mobile janicarts." + icon = 'icons/obj/vehicles.dmi' + icon_state = "upgrade" + +/obj/structure/stool/bed/chair/janicart/secway + name = "secway" + desc = "A brave security cyborg gave its life to help you look like a complete tool." + icon = 'icons/obj/vehicles.dmi' + icon_state = "secway" + callme = "secway" + keytype = /obj/item/key/security + +/obj/structure/stool/bed/chair/janicart/secway/update_mob() + if(buckled_mob) + buckled_mob.dir = dir + buckled_mob.pixel_y = 4 + + +/obj/structure/stool/bed/chair/janicart/ambulance + name = "ambulance" + desc = "For getting to patients in a hurry--or running them over." + icon = 'icons/obj/vehicles.dmi' + icon_state = "docwagon" + callme = "ambulance" + keytype = /obj/item/key/ambulance + +/obj/structure/stool/bed/chair/janicart/secway/snowmobile + name = "red snowmobile" + desc = "Wheeeeeeeeeeee." + icon = 'icons/obj/vehicles.dmi' + icon_state = "snowmobile" + callme = "snowmobile" + +/obj/structure/stool/bed/chair/janicart/secway/snowmobile/blue + name = "blue snowmobile" + icon_state = "bluesnowmobile" + +//////////////////////////////////////////////////////////////////////////////////////////////// + //TG style Janicart /obj/structure/janitorialcart diff --git a/code/game/objects/structures/segway.dm b/code/game/objects/structures/segway.dm deleted file mode 100644 index 4e781364af5..00000000000 --- a/code/game/objects/structures/segway.dm +++ /dev/null @@ -1,163 +0,0 @@ -/obj/structure/stool/bed/chair/segway - name = "security segway" - desc = "Gives the illusion of authority." - icon = 'icons/obj/vehicles.dmi' - icon_state = "sec_seg_idle" - anchored = 1 - density = 1 - - var/health = 100 - var/delay = 3 //Move delay to simulate a speed - var/allowMove = 1 - var/datum/global_iterator/space_move //Handling space movement (i.e. drift forever) - -/obj/structure/stool/bed/chair/segway/New() - handle_rotation() - space_move = new /datum/global_iterator/space_movement(null,0) - return - -/obj/structure/stool/bed/chair/segway/user_buckle_mob(mob/living/M, mob/user) - if(user.incapacitated()) //user can't move the mob on the janicart's turf if incapacitated - return - for(var/atom/movable/A in get_turf(src)) //we check for obstacles on the turf. - if(A.density) - if(A != src && A != M) - return - M.loc = loc //we move the mob on the janicart's turf before checking if we can buckle. - ..() - -/obj/structure/stool/bed/chair/segway/relaymove(mob/user, direction) - if(user.stat || user.stunned || user.weakened || user.paralysis) - unbuckle_mob() - icon_state = "sec_seg_idle" - if(istype(user.l_hand, /obj/item/sec_seg_key) || istype(user.r_hand, /obj/item/sec_seg_key)) - if(!allowMove) - return - if(src.space_move.active()) - return - allowMove = 0 - icon_state = "sec_seg_move" - step(src, direction) - update_mob() - handle_rotation() - if(istype(src.loc, /turf/space)) - src.space_move.start(list(src,direction)) - if(istype(src.loc, /turf/simulated)) - var/turf/simulated/T = src.loc - if(T.wet == 2) //Lube! Fall off! - playsound(src, 'sound/misc/slip.ogg', 50, 1, -3) - buckled_mob.Stun(8) - buckled_mob.Weaken(5) - unbuckle_mob() - step(src, dir) - sleep(delay) - allowMove = 1 - else - user << "Requires key in hand to drive." - -/obj/structure/stool/bed/chair/segway/Move() - . = ..() - -/obj/structure/stool/bed/chair/segway/Bump(var/atom/obstacle) - if(istype(obstacle, /mob)) - step(obstacle, src.dir) - else - obstacle.Bumped(src) - return - -/obj/structure/stool/bed/chair/segway/post_buckle_mob(mob/living/M) - update_mob() - add_fingerprint(M) - M.pixel_x = 0 - M.pixel_y = 5 - return ..() - -/obj/structure/stool/bed/chair/segway/unbuckle_mob() - var/mob/living/M = ..() - if(M) - M.pixel_x = 0 - M.pixel_y = 0 - return M - -/obj/structure/stool/bed/chair/segway/handle_rotation() - if(dir == NORTH) - layer = OBJ_LAYER - else - layer = FLY_LAYER - - update_mob() - -/obj/structure/stool/bed/chair/segway/proc/update_mob() - if(buckled_mob) - buckled_mob.dir = dir - -/obj/structure/stool/bed/chair/segway/bullet_act(var/obj/item/projectile/Proj) - if(buckled_mob) - return buckled_mob.bullet_act(Proj) - else if(istype(Proj, /obj/item/projectile/beam)) - damage(Proj.damage) - -/obj/structure/stool/bed/chair/segway/proc/damage(amount) - health -= amount - if(health <= 0) - if(buckled_mob) - buckled_mob << "The [src.name] was destroyed!" - qdel(src) - -/obj/item/sec_seg_key - name = "security segway key" - desc = "A key for a security segway. You feel the choice of keyring could be more professional." - icon = 'icons/obj/vehicles.dmi' - icon_state = "keys" //Needs a proper sprite - w_class = 1 - -/datum/global_iterator/space_movement //moon_theme.mp3 - delay = 5 - - process(var/obj/structure/stool/bed/chair/segway/seg as obj,direction) - if(!step(seg, direction)) - src.stop() - - -/obj/structure/stool/bed/chair/segway/snowmobile - name = "red snowmobile" - desc = "Wheeeeeeeeeeee." - icon = 'icons/obj/vehicles.dmi' - icon_state = "snowmobile" - anchored = 1 - density = 1 - -/obj/structure/stool/bed/chair/segway/snowmobile/blue - name = "blue snowmobile" - desc = "Wheeeeeeeeeeee." - icon = 'icons/obj/vehicles.dmi' - icon_state = "bluesnowmobile" - anchored = 1 - density = 1 - -/obj/structure/stool/bed/chair/segway/snowmobile/relaymove(mob/user, direction) - if(user.stat || user.stunned || user.weakened || user.paralysis) - unbuckle_mob() - if(!allowMove) - return - if(src.space_move.active()) - return - allowMove = 0 - step(src, direction) - update_mob() - handle_rotation() - if(istype(src.loc, /turf/space)) - src.space_move.start(list(src,direction)) - if(istype(src.loc, /turf/simulated)) - damage(5) - usr << "Your snowmobile takes damage from not being on snow!" - var/turf/simulated/T = src.loc - if(T && T.wet == 2) //Lube! Fall off! - playsound(src, 'sound/misc/slip.ogg', 50, 1, -3) - buckled_mob.Stun(8) - buckled_mob.Weaken(5) - unbuckle_mob() - step(src, dir) - sleep(delay) - allowMove = 1 - diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 44ee7ef52db..3262ac5ece2 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -299,7 +299,7 @@ var/turf/tile = loc loc.clean_blood() for(var/obj/effect/E in tile) - if(istype(E,/obj/effect/rune) || istype(E,/obj/effect/decal/cleanable) || istype(E,/obj/effect/overlay)) + if(is_cleanable(E)) qdel(E) /obj/machinery/shower/process() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 3f5ed10edc5..cb84b8d2265 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1135,7 +1135,7 @@ var/list/robot_verbs_default = list( S.dirt = 0 for(var/A in tile) if(istype(A, /obj/effect)) - if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay)) + if(is_cleanable(A)) qdel(A) else if(istype(A, /obj/item)) var/obj/item/cleaned_item = A diff --git a/code/modules/research/designs/janitorial_designs.dm b/code/modules/research/designs/janitorial_designs.dm index 76a469d04e6..06fce1ca135 100644 --- a/code/modules/research/designs/janitorial_designs.dm +++ b/code/modules/research/designs/janitorial_designs.dm @@ -11,6 +11,16 @@ build_path = /obj/item/weapon/mop/advanced category = list("Janitorial") +/datum/design/buffer + name = "Floor Buffer Upgrade" + desc = "A floor buffer that can be attached to vehicular janicarts." + id = "buffer" + req_tech = list("materials" = 5, "engineering" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 3000, MAT_GLASS = 200) + build_path = /obj/item/janiupgrade + category = list("Janitorial") + /datum/design/holosign name = "Holographic Sign Projector" desc = "A holograpic projector used to project various warning signs." diff --git a/code/modules/vehicle/train/trains/janicart.dm b/code/modules/vehicle/train/trains/janicart.dm deleted file mode 100644 index a1fae332782..00000000000 --- a/code/modules/vehicle/train/trains/janicart.dm +++ /dev/null @@ -1,342 +0,0 @@ -/obj/vehicle/train/janitor/engine - name = "janitor train tug" - desc = "A ridable electric car designed for pulling janitor trolleys." - icon = 'icons/obj/vehicles.dmi' - icon_state = "pussywagon" //mulebot icons until I get some proper icons - on = 0 - powered = 1 - locked = 0 - layer = MOB_LAYER + 0.1 - load_item_visible = 1 - load_offset_x = 0 - load_offset_y = 7 - - var/car_limit = 3 //how many cars an engine can pull before performance degrades - active_engines = 1 - var/obj/item/weapon/key/janitor_train/key - flags = OPENCONTAINER - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/weapon/storage/bag/trash/mybag = null - -/obj/item/weapon/key/janitor_train - name = "key" - desc = "A keyring with a small steel key, and a yellow fob reading \"Choo Choo!\"." - icon = 'icons/obj/vehicles.dmi' - icon_state = "keys" - w_class = 1 - -/obj/vehicle/train/janitor/trolley - name = "janitor train trolley" - icon = 'icons/obj/janitor.dmi' - icon_state = "trashcart" - anchored = 0 - passenger_allowed = 0 - locked = 0 - load_item_visible = 1 - load_offset_x = 1 - load_offset_y = 7 - - var/openTop = 0 - var/organs = 0 -//------------------------------------------- -// Standard procs -//------------------------------------------- -/obj/vehicle/train/janitor/engine/New() - ..() - cell = new /obj/item/weapon/stock_parts/cell/high - verbs -= /atom/movable/verb/pull - key = new() - var/datum/reagents/R = new/datum/reagents(100) - reagents = R - R.my_atom = src - -/obj/vehicle/train/janitor/engine/Move() - . = ..() - handle_rotation() - update_mob() - -/obj/vehicle/train/janitor/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(openTop) - W.loc = src - user.visible_message("[user] puts [W] in [src].","You put [W] in [src].") - if(istype(W,/obj/item/weapon/organ)) - organs = 1 - update_icon() - else - user << "The top is closed!" - -/obj/vehicle/train/janitor/trolley/attack_hand(mob/user) - openTop = !openTop - user.visible_message("[user] [openTop ? "opens" : "closes"] the top of [src].","You [openTop ? "open" : "close"] the the top of [src].") - update_icon() - ..() - -/obj/vehicle/train/janitor/trolley/update_icon() - if(openTop) - if(organs) - icon_state = "trashcartopengib" - else - icon_state = "trashcartopen" - else - if(organs) - icon_state = "trashcartgib" - else - icon_state = "trashcart" - -/obj/vehicle/train/janitor/engine/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/key/janitor_train)) - if(!key) - user.drop_item() - key = W - W.loc = src - verbs += /obj/vehicle/train/janitor/engine/verb/remove_key - return - else if(istype(W, /obj/item/weapon/mop)) - if(reagents.total_volume >= 2) - reagents.trans_to(W, 2) - user << "You wet the mop in the pimpin' ride." - playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1) - if(reagents.total_volume < 1) - user << "This pimpin' ride is out of water!" - return - else if(istype(W, /obj/item/weapon/storage/bag/trash)) - user << "You hook the trashbag onto the pimpin' ride." - user.drop_item() - W.loc = src - mybag = W - return - ..() - -/obj/vehicle/train/janitor/engine/attack_hand(mob/user) - if(mybag) - mybag.loc = get_turf(user) - user.put_in_hands(mybag) - mybag = null - else - ..() - -/obj/vehicle/train/janitor/update_icon() - if(open) - //icon_state = "mulebot-hatch" - icon_state = initial(icon_state) - else - icon_state = initial(icon_state) - -/obj/vehicle/train/janitor/engine/Emag(mob/user as mob) - ..() - flick("mulebot-emagged", src) - -/obj/vehicle/train/janitor/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) - return - -/obj/vehicle/train/janitor/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) - ..() - update_stats() - -/obj/vehicle/train/janitor/engine/remove_cell(var/mob/living/carbon/human/H) - ..() - update_stats() - -/obj/vehicle/train/janitor/engine/Bump(atom/Obstacle) - var/obj/machinery/door/D = Obstacle - var/mob/living/carbon/human/H = load - if(istype(D) && istype(H)) - D.Bumped(H) //a little hacky, but hey, it works, and repects access rights - - ..() - -/obj/vehicle/train/janitor/trolley/Bump(atom/Obstacle) - if(!lead) - return //so people can't knock others over by pushing a trolley around - ..() - -/obj/vehicle/train/janitor/engine/handle_rotation() - if(dir == SOUTH) - layer = FLY_LAYER - else - layer = OBJ_LAYER - -/obj/vehicle/train/janitor/engine/proc/update_mob() - if(load) - load.dir = dir - switch(dir) - if(SOUTH) - load.pixel_x = 0 - load.pixel_y = 7 - if(WEST) - load.pixel_x = 13 - load.pixel_y = 7 - if(NORTH) - load.pixel_x = 0 - load.pixel_y = 4 - if(EAST) - load.pixel_x = -13 - load.pixel_y = 7 - - -//------------------------------------------- -// Train procs -//------------------------------------------- -/obj/vehicle/train/janitor/engine/turn_on() - if(!key) - return - else - ..() - update_stats() - -/obj/vehicle/train/janitor/RunOver(var/mob/living/carbon/human/H) - var/list/parts = list("head", "chest", "l_leg", "r_leg", "l_arm", "r_arm") - - H.apply_effects(5, 5) - for(var/i = 0, i < rand(1,3), i++) - H.apply_damage(rand(1,5), BRUTE, pick(parts)) - -/obj/vehicle/train/janitor/trolley/RunOver(var/mob/living/carbon/human/H) - ..() - attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") - -/obj/vehicle/train/janitor/engine/RunOver(var/mob/living/carbon/human/H) - ..() - - if(is_train_head() && istype(load, /mob/living/carbon/human)) - var/mob/living/carbon/human/D = load - D << "\red \b You ran over [H]!" - visible_message("\red \The [src] ran over [H]!") - attack_log += text("\[[time_stamp()]\] ran over [key_name(H)], driven by [key_name(D)]") - msg_admin_attack("[key_name_admin(D)] ran over [key_name_admin(H)]") - else - attack_log += text("\[[time_stamp()]\] ran over [key_name(H)]") - - -//------------------------------------------- -// Interaction procs -//------------------------------------------- -/obj/vehicle/train/janitor/engine/relaymove(mob/user, direction) - if(user != load) - return 0 - - if(is_train_head()) - if(direction == reverse_direction(dir)) - return 0 - if(Move(get_step(src, direction))) - return 1 - return 0 - else - return ..() - - -/obj/vehicle/train/janitor/engine/examine(mob/user) - if(!..(user, 1)) - return - - user << "\icon[src] This [name] contains [reagents.total_volume] unit\s of [reagents]!" - if(mybag) - user << "\A [mybag] is hanging on the [name]." - - user << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition." - -/obj/vehicle/train/janitor/engine/verb/check_power() - set name = "Check power level" - set category = "Object" - set src in view(1) - - if(!istype(usr, /mob/living/carbon/human)) - return - - if(!cell) - usr << "There is no power cell installed in [src]." - return - - usr << "The power meter reads [round(cell.percent(), 0.01)]%" - -/obj/vehicle/train/janitor/engine/verb/start_engine() - set name = "Start engine" - set category = "Object" - set src in view(1) - - if(!istype(usr, /mob/living/carbon/human)) - return - - if(on) - usr << "The engine is already running." - return - - turn_on() - if (on) - usr << "You start [src]'s engine." - else - if(cell.charge < charge_use) - usr << "[src] is out of power." - else - usr << "[src]'s engine won't start." - -/obj/vehicle/train/janitor/engine/verb/stop_engine() - set name = "Stop engine" - set category = "Object" - set src in view(1) - - if(!istype(usr, /mob/living/carbon/human)) - return - - if(!on) - usr << "The engine is already stopped." - return - - turn_off() - if (!on) - usr << "You stop [src]'s engine." - -/obj/vehicle/train/janitor/engine/verb/remove_key() - set name = "Remove key" - set category = "Object" - set src in view(1) - - if(!istype(usr, /mob/living/carbon/human)) - return - - if(!key || (load && load != usr)) - return - - if(on) - turn_off() - - key.loc = usr.loc - if(!usr.get_active_hand()) - usr.put_in_hands(key) - key = null - - verbs -= /obj/vehicle/train/janitor/engine/verb/remove_key - -//------------------------------------------- -// Loading/unloading procs -//------------------------------------------- -/obj/vehicle/train/janitor/trolley/load(var/atom/movable/C) - return 0 - -/obj/vehicle/train/janitor/engine/load(var/atom/movable/C) - if(!ismob(C)) - return 0 - - return ..() - - -//------------------------------------------------------- -// Stat update procs -// -// Update the trains stats for speed calculations. -// The longer the train, the slower it will go. car_limit -// sets the max number of cars one engine can pull at -// full speed. Adding more cars beyond this will slow the -// train proportionate to the length of the train. Adding -// more engines increases this limit by car_limit per -// engine. -//------------------------------------------------------- - -/obj/vehicle/train/janitor/engine/proc/update_move_delay() - if(!is_train_head() || !on) - move_delay = initial(move_delay) //so that engines that have been turned off don't lag behind - else - move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains - move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_speed //base reference speed - move_delay *= 1.05 diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 9d92dd02a811767ebb755f72fdf6e191376df648..63515f5b2e5e16b83c8bb898fc7dd11c277406a9 100644 GIT binary patch literal 50091 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 KvX# Date: Sat, 26 Sep 2015 08:45:43 -0700 Subject: [PATCH 03/10] Pixel-coords laserpointer --- code/game/objects/items/devices/laserpointer.dm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index ec5f18283a8..4167c36a61f 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -66,9 +66,9 @@ /obj/item/device/laser_pointer/afterattack(var/atom/target, var/mob/living/user, flag, params) if(flag) //we're placing the object on a table or in backpack return - laser_act(target, user) + laser_act(target, user, params) -/obj/item/device/laser_pointer/proc/laser_act(var/atom/target, var/mob/living/user) +/obj/item/device/laser_pointer/proc/laser_act(var/atom/target, var/mob/living/user, var/params) if( !(user in (viewers(7,target))) ) return if (!diode) @@ -173,12 +173,19 @@ //laser pointer image icon_state = "pointer_[pointer_icon_state]" var/list/showto = list() - for(var/mob/M in range(7,targloc)) + for(var/mob/M in viewers(7,targloc)) if(M.client) showto.Add(M.client) var/image/I = image('icons/obj/projectiles.dmi',targloc,pointer_icon_state,10) - I.pixel_x = target.pixel_x + rand(-5,5) - I.pixel_y = target.pixel_y + rand(-5,5) + var/list/click_params = params2list(params) + if(click_params) + if(click_params["icon-x"]) + I.pixel_x = (text2num(click_params["icon-x"]) - 16) + if(click_params["icon-y"]) + I.pixel_y = (text2num(click_params["icon-y"]) - 16) + else + I.pixel_x = target.pixel_x + rand(-5,5) + I.pixel_y = target.pixel_y + rand(-5,5) if(outmsg) user << outmsg From 495a5bfe317c641ea989482e25b9ef69fd668db3 Mon Sep 17 00:00:00 2001 From: Robertha89 Date: Sat, 26 Sep 2015 19:29:48 +0200 Subject: [PATCH 04/10] Death Alarm Implant Kit change Add's a sixth implant, and removes the implantpad, as it is not needed for deathimplants. --- code/game/objects/items/weapons/storage/boxes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index d22ca34cffa..24e030fbbc0 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -258,8 +258,8 @@ new /obj/item/weapon/implantcase/death_alarm(src) new /obj/item/weapon/implantcase/death_alarm(src) new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) new /obj/item/weapon/implanter(src) - new /obj/item/weapon/implantpad(src) /obj/item/weapon/storage/box/rxglasses From 77bf9cb73d95c9c21ff593c6917e56ee40384c53 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Sat, 26 Sep 2015 15:27:06 -0500 Subject: [PATCH 05/10] Gives a special *deathgasp text to IPC's. --- code/modules/mob/living/carbon/human/emote.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 95e60ade252..da652505eff 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -334,8 +334,12 @@ m_type = 2 if ("deathgasp") - message = "[src] seizes up and falls limp, \his eyes dead and lifeless..." - m_type = 1 + if (species.name == "Machine") + message = "[src] gives one shrill beep before falling lifeless..." + m_type = 1 + else + message = "[src] seizes up and falls limp, \his eyes dead and lifeless..." + m_type = 1 if ("giggle") if(miming) From 1ac203fb3dd809bdf5a4abb6102b91b140f6bde3 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Sat, 26 Sep 2015 16:06:17 -0500 Subject: [PATCH 06/10] Gives the IPC *deathgasp a bit more flavor. Delicious. --- code/modules/mob/living/carbon/human/emote.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index da652505eff..08c7c1732d2 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -335,7 +335,7 @@ if ("deathgasp") if (species.name == "Machine") - message = "[src] gives one shrill beep before falling lifeless..." + message = "[src] gives one shrill beep before falling limp, screen quickly flashing blue before shutting off entirely." m_type = 1 else message = "[src] seizes up and falls limp, \his eyes dead and lifeless..." From d743fb1d1ae5d72b2a074d33df455894fce3bcab Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sun, 27 Sep 2015 04:48:04 -0400 Subject: [PATCH 07/10] pda janitor cart fixup --- code/game/objects/items/devices/PDA/cart.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index ba3316b3ce0..a710738c757 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -500,7 +500,7 @@ if(!CbotData.len) CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null) var/CartData[0] - for(var/obj/structure/stool/bed/chair/janicart/B in world) + for(var/obj/structure/janitorialcart/B in world) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) From 569758f4cb25507052b02677a845e3735979f241 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sun, 27 Sep 2015 06:46:50 -0400 Subject: [PATCH 08/10] bluespace trashbag --- .../objects/items/weapons/storage/bags.dm | 19 ++++++++++++------ .../research/designs/janitorial_designs.dm | 10 +++++++++ icons/obj/janitor.dmi | Bin 10071 -> 12500 bytes icons/obj/trash.dmi | Bin 10123 -> 4670 bytes 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index e88e37afd6c..5b700bf7181 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -29,8 +29,8 @@ /obj/item/weapon/storage/bag/trash name = "trash bag" desc = "It's the heavy-duty black polymer kind. Time to take out the trash!" - icon = 'icons/obj/trash.dmi' - icon_state = "trashbag0" + icon = 'icons/obj/janitor.dmi' + icon_state = "trashbag" item_state = "trashbag" w_class = 4 @@ -46,12 +46,12 @@ /obj/item/weapon/storage/bag/trash/update_icon() if(contents.len == 0) - icon_state = "trashbag0" + icon_state = "[initial(icon_state)]" else if(contents.len < 12) - icon_state = "trashbag1" + icon_state = "[initial(icon_state)]1" else if(contents.len < 21) - icon_state = "trashbag2" - else icon_state = "trashbag3" + icon_state = "[initial(icon_state)]2" + else icon_state = "[initial(icon_state)]3" /obj/item/weapon/storage/bag/trash/cyborg @@ -63,6 +63,13 @@ /obj/item/weapon/storage/bag/trash/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return +/obj/item/weapon/storage/bag/trash/bluespace + name = "trash bag of holding" + desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." + icon_state = "bluetrashbag" + max_combined_w_class = 60 + storage_slots = 60 + // ----------------------------- // Plastic Bag diff --git a/code/modules/research/designs/janitorial_designs.dm b/code/modules/research/designs/janitorial_designs.dm index 06fce1ca135..8c575425ebe 100644 --- a/code/modules/research/designs/janitorial_designs.dm +++ b/code/modules/research/designs/janitorial_designs.dm @@ -11,6 +11,16 @@ build_path = /obj/item/weapon/mop/advanced category = list("Janitorial") +/datum/design/blutrash + name = "Trashbag of Holding" + desc = "An advanced trashabg with bluespace properties; capable of holding a plethora of garbage." + id = "blutrash" + req_tech = list("materials" = 5, "bluespace" = 3) + build_type = PROTOLATHE + materials = list(MAT_GOLD = 1500, MAT_URANIUM = 250, MAT_PLASMA = 1500) + build_path = /obj/item/weapon/storage/bag/trash/bluespace + category = list("Janitorial") + /datum/design/buffer name = "Floor Buffer Upgrade" desc = "A floor buffer that can be attached to vehicular janicarts." diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 38b93652f0ea40613a59034cf3f0aab194e74b64..119f3df0e375479849934e59c5951c1ef9ce4145 100644 GIT binary patch literal 12500 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 diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 1d0d126006bcf46ff45ec41c2f5d8d2c6d7aed02..600ecc9f8a53e11aa16a238430b8f28042d5d537 100644 GIT binary patch literal 4670 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 literal 10123 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 F{{q8sUz7j< From 155afc61317b85321021e4cba18047409eda0984 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sun, 27 Sep 2015 19:24:35 -0400 Subject: [PATCH 09/10] lists --- code/_globalvars/lists/objects.dm | 1 + code/game/objects/items/devices/PDA/cart.dm | 2 +- code/game/objects/structures/janicart.dm | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index c832bcc03d4..709892ee141 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -11,6 +11,7 @@ var/global/list/joblist = list() //list of all jobstypes, minus borg and AI var/global/list/flag_list = list() //list of flags during Nations gamemode var/global/list/airlocks = list() //list of all airlocks var/global/list/singularities = list() //list of all singularities +var/global/list/janitorialcarts = list() //list of all singularities var/global/list/aibots = list() // AI controlled bots var/global/list/table_recipes = list() //list of all table craft recipes diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index a710738c757..0262d1f99a6 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -500,7 +500,7 @@ if(!CbotData.len) CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null) var/CartData[0] - for(var/obj/structure/janitorialcart/B in world) + for(var/obj/structure/janitorialcart/B in janitorialcarts) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index d22db9cc1d7..6972d1eb908 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -232,8 +232,13 @@ /obj/structure/janitorialcart/New() create_reagents(100) + janitorialcarts += src +/obj/structure/janitorialcart/Destroy() + janitorialcarts -= src + return ..() + /obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user) if(reagents.total_volume < 1) user << "[src] is out of water!" From d7f23f4271fa27ce7879cfe8bf36f03b373105fc Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sun, 27 Sep 2015 19:39:09 -0400 Subject: [PATCH 10/10] Oh, that kind of list --- code/_globalvars/lists/objects.dm | 2 +- code/game/objects/items/devices/PDA/cart.dm | 8 ++++---- code/game/objects/items/weapons/mop.dm | 4 ++++ code/game/objects/structures/janicart.dm | 4 ++-- code/game/objects/structures/mop_bucket.dm | 5 +++++ 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 709892ee141..a001c55082f 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -11,7 +11,7 @@ var/global/list/joblist = list() //list of all jobstypes, minus borg and AI var/global/list/flag_list = list() //list of flags during Nations gamemode var/global/list/airlocks = list() //list of all airlocks var/global/list/singularities = list() //list of all singularities -var/global/list/janitorialcarts = list() //list of all singularities +var/global/list/janitorial_equipment = list() //list of janitorial equipment var/global/list/aibots = list() // AI controlled bots var/global/list/table_recipes = list() //list of all table craft recipes diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 0262d1f99a6..670d02af975 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -463,7 +463,7 @@ else JaniData["user_loc"] = list("x" = 0, "y" = 0) var/MopData[0] - for(var/obj/item/weapon/mop/M in world) + for(var/obj/item/weapon/mop/M in janitorial_equipment) var/turf/ml = get_turf(M) if(ml) if(ml.z != cl.z) @@ -476,7 +476,7 @@ var/BucketData[0] - for(var/obj/structure/mopbucket/B in world) + for(var/obj/structure/mopbucket/B in janitorial_equipment) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) @@ -488,7 +488,7 @@ BucketData[++BucketData.len] = list("x" = 0, "y" = 0, dir=null, status = null) var/CbotData[0] - for(var/obj/machinery/bot/cleanbot/B in world) + for(var/obj/machinery/bot/cleanbot/B in aibots) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) @@ -500,7 +500,7 @@ if(!CbotData.len) CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null) var/CartData[0] - for(var/obj/structure/janitorialcart/B in janitorialcarts) + for(var/obj/structure/janitorialcart/B in janitorial_equipment) var/turf/bl = get_turf(B) if(bl) if(bl.z != cl.z) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 0bceaa54fcf..205ffc6733f 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -19,7 +19,11 @@ /obj/item/weapon/mop/New() create_reagents(mopcap) + janitorial_equipment += src +/obj/item/weapon/mop/Destroy() + janitorial_equipment -= src + return..() /obj/item/weapon/mop/proc/clean(turf/simulated/A) if(reagents.has_reagent("water", 1) || reagents.has_reagent("cleaner", 1) || reagents.has_reagent("holywater", 1)) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 6972d1eb908..9d8ed7ee3dc 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -232,11 +232,11 @@ /obj/structure/janitorialcart/New() create_reagents(100) - janitorialcarts += src + janitorial_equipment += src /obj/structure/janitorialcart/Destroy() - janitorialcarts -= src + janitorial_equipment -= src return ..() /obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user) diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index f14e9ec246d..4988e7d465e 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -11,11 +11,16 @@ var/datum/reagents/R = new/datum/reagents(100) reagents = R R.my_atom = src + janitorial_equipment += src /obj/structure/mopbucket/full/New() ..() reagents.add_reagent("water", 100) +/obj/structure/mopbucket/Destroy() + janitorial_equipment -= src + return ..() + /obj/structure/mopbucket/examine(mob/user) if(..(user, 1)) usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)