From 62a7bf40d037fbd530d00c1e0b5089caffe3121a Mon Sep 17 00:00:00 2001 From: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Date: Tue, 8 Nov 2022 16:34:10 +0100 Subject: [PATCH] Custodial Oversight Fixes (#15041) --- .../crates_lockers/closets/secure/service.dm | 21 ++++------- code/game/objects/structures/janicart.dm | 31 ++++++++++++---- .../clothing/under/accessories/holster.dm | 35 +++++++++++++----- html/changelogs/custodiholster_tweak.yml | 7 ++++ .../clothing/accessories/utility_holsters.dmi | Bin 0 -> 1989 bytes maps/sccv_horizon/sccv_horizon-1_deck_1.dmm | 6 +-- maps/sccv_horizon/sccv_horizon-2_deck_2.dmm | 24 ++++++------ 7 files changed, 78 insertions(+), 46 deletions(-) create mode 100644 html/changelogs/custodiholster_tweak.yml create mode 100644 icons/contained_items/clothing/accessories/utility_holsters.dmi diff --git a/code/game/objects/structures/crates_lockers/closets/secure/service.dm b/code/game/objects/structures/crates_lockers/closets/secure/service.dm index fe2c95507d5..c4b936fee7e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/service.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/service.dm @@ -1,9 +1,9 @@ -// Custodian +// Custodial Locker /obj/structure/closet/secure_closet/custodial name = "custodial closet" - req_access = list(access_janitor) desc = "It's a storage unit for a custodian's clothes and gear." icon_state = "custodial" + req_access = list(access_janitor) /obj/structure/closet/secure_closet/custodial/fill() new /obj/item/clothing/head/softcap/nt/custodian(src) @@ -13,7 +13,8 @@ new /obj/item/clothing/under/rank/janitor/idris(src) new /obj/item/storage/box/janitorgloves(src) new /obj/item/storage/belt/custodial(src) - new /obj/item/clothing/accessory/holster/utility/custodial/armpit/brown(src) + new /obj/item/clothing/accessory/holster/utility/custodial/hip(src) + new /obj/item/clothing/accessory/holster/utility/custodial/armpit(src) new /obj/item/clothing/shoes/galoshes(src) new /obj/item/gun/energy/mousegun(src) new /obj/item/device/flashlight(src) @@ -28,27 +29,21 @@ new /obj/item/grenade/chem_grenade/cleaner(src) new /obj/item/device/gps/janitor(src) new /obj/item/taperoll/custodial(src) - new /obj/item/clothing/suit/caution(src) - new /obj/item/clothing/suit/caution(src) - new /obj/item/clothing/suit/caution(src) - new /obj/item/clothing/suit/caution(src) new /obj/item/storage/box/lights/mixed(src) new /obj/item/storage/box/mousetraps(src) -obj/structure/closet/secure_closet/custodial/offship +// Away Ship/Site Custodial Locker +/obj/structure/closet/secure_closet/custodial/offship req_access = null /obj/structure/closet/secure_closet/custodial/offship/fill() new /obj/item/storage/box/janitorgloves(src) new /obj/item/storage/belt/custodial(src) - new /obj/item/clothing/accessory/holster/utility/custodial/armpit/brown(src) new /obj/item/clothing/shoes/galoshes(src) - new /obj/item/gun/energy/mousegun(src) new /obj/item/device/flashlight(src) new /obj/item/reagent_containers/spray/cleaner(src) - new /obj/item/soap/nanotrasen(src) + new /obj/item/soap/red_soap(src) new /obj/item/reagent_containers/glass/rag(src) - new /obj/item/reagent_containers/glass/rag/advanced(src) new /obj/item/device/lightreplacer(src) new /obj/item/storage/bag/trash(src) new /obj/item/grenade/chem_grenade/cleaner(src) @@ -60,4 +55,4 @@ obj/structure/closet/secure_closet/custodial/offship new /obj/item/clothing/suit/caution(src) new /obj/item/clothing/suit/caution(src) new /obj/item/storage/box/lights/mixed(src) - new /obj/item/storage/box/mousetraps(src) + new /obj/item/storage/box/mousetraps(src) \ No newline at end of file diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 15a8fc4ff2c..4893aac013e 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -1,6 +1,6 @@ /obj/structure/janitorialcart - name = "janitorial cart" - desc = "The ultimate in janitorial carts! Has space for water, mops, signs, trash bags, and more!" + name = "custodial cart" + desc = "The ultimate in custodial carts. Has space for water, mops, signs, trash bags, and more." desc_info = "Click and drag a mop bucket onto the cart to mount it\
Alt+Click with a mop to put it away, a normal click will wet it in the bucket.\
Alt+Click with a container, such as a bucket, to pour its contents into the mounted bucket. A normal click will toss it into the trash\ @@ -14,18 +14,33 @@ build_amt = 15 slowdown = 0 - //copypaste sorry var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null + var/obj/item/storage/bag/trash/mybag = null var/obj/item/mop/mymop = null var/obj/item/reagent_containers/spray/myspray = null var/obj/item/device/lightreplacer/myreplacer = null var/obj/structure/mopbucket/mybucket = null - var/signs = 0 //maximum capacity hardcoded below - var/has_items = 0//This is set true whenever the cart has anything loaded/mounted on it + var/signs = 0 //maximum capacity hardcoded below + var/has_items = FALSE //This is set true whenever the cart has anything loaded/mounted on it var/driving var/mob/living/pulling +// Regular Variant +// No trashbag and no light replacer, this is inside the custodian's locker. +/obj/structure/janitorialcart/Initialize() + . = ..() + mymop = new /obj/item/mop(src) + myspray = new /obj/item/reagent_containers/spray/cleaner(src) + + mybucket = new /obj/structure/mopbucket(src) + + for(signs, signs < 4, signs++) + new /obj/item/clothing/suit/caution(src) + + update_icon() + +// Full Variant +// Has everything. /obj/structure/janitorialcart/full/Initialize() . = ..() mybag = new /obj/item/storage/bag/trash(src) @@ -40,6 +55,8 @@ update_icon() +// Full with Water Variant +// Has everything as well as water in the mop bucket. /obj/structure/janitorialcart/full/water/Initialize() . = ..() mybag = new /obj/item/storage/bag/trash(src) @@ -407,4 +424,4 @@ if(istype(mover, /obj/item/projectile)) return prob(30) else - return !density + return !density \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index c98b9321a86..57684f03afc 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -177,33 +177,48 @@ name = "brown thigh holster" icon_state = "holster_brown_thigh" -// -// Utility Holsters -// +/********** Utility Holsters Start **********/ +// Utility Holster /obj/item/clothing/accessory/holster/utility name = "utility holster" desc = "A utility holster." + icon = 'icons/contained_items/clothing/accessories/utility_holsters.dmi' + contained_sprite = TRUE + var/list/allowed_items = list() // A list of allowed items. /obj/item/clothing/accessory/holster/utility/holster(var/obj/item/I, var/mob/living/user) if(!is_type_in_list(I, allowed_items)) - to_chat(user, "\The [I] won't fit in \the [src].") + to_chat(user, SPAN_NOTICE("\The [I] won't fit in \the [src].")) return - ..() // Custodial Holster -/obj/item/clothing/accessory/holster/utility/custodial/armpit/brown - name = "brown custodial armpit holster" - desc = "A brown utility holster which can't hold actual firearms. This particular one is designed for custodial personnel." +/obj/item/clothing/accessory/holster/utility/custodial + name = "custodial holster" + desc = "A custodial holster." desc_fluff = "In a universe where various utility firearms and tools have become more common for diverse applications, it is important that there are ways to store them where \ they are kept safe from wear and tear as well as from misuse. Thus as an alternative to regular firearm holsters, specialized utility firearm and tool holsters exist, which \ allow non-standard firearms to be stored inside, whilst at the same time keeping individuals from storing actual firearms in one." - icon_state = "holster_brown" allowed_items = list( /obj/item/gun/energy/mousegun, /obj/item/gun/energy/mousegun/xenofauna, /obj/item/gun/projectile/revolver/capgun, /obj/item/toy/crossbow, /obj/item/reagent_containers/food/snacks/grown/banana - ) \ No newline at end of file + ) + +// Brown Custodial Armpit Holster +/obj/item/clothing/accessory/holster/utility/custodial/armpit + name = "brown custodial armpit holster" + desc = "A brown utility holster which can't hold actual firearms. This particular one is designed for custodial personnel." + icon_state = "custodial_brown" + item_state = "custodial_brown" + +// Brown Custodial Hip Holster +/obj/item/clothing/accessory/holster/utility/custodial/hip + name = "brown custodial hip holster" + desc = "A brown utility holster which can't hold actual firearms. This particular one is designed for custodial personnel." + icon_state = "custodial_brown_hip" + item_state = "custodial_brown_hip" +/********** Utility Holsters End **********/ \ No newline at end of file diff --git a/html/changelogs/custodiholster_tweak.yml b/html/changelogs/custodiholster_tweak.yml new file mode 100644 index 00000000000..73fdfe5f7a8 --- /dev/null +++ b/html/changelogs/custodiholster_tweak.yml @@ -0,0 +1,7 @@ +author: SleepyGemmy + +delete-after: True + +changes: + - bugfix: "Adds a hip variant of the custodial holster. Removes superfluous items from the custodians' lockers. Removes superfluous items from the custodial cart." + - bugfix: "Turns the utility holsters into a contained sprite." \ No newline at end of file diff --git a/icons/contained_items/clothing/accessories/utility_holsters.dmi b/icons/contained_items/clothing/accessories/utility_holsters.dmi new file mode 100644 index 0000000000000000000000000000000000000000..59393b4a107761815a24e84bca97d6f8335da1f0 GIT binary patch literal 1989 zcmb7_c{Cg78pdPB)~H*8YAsD^EmhReA=MJwlr*TZwW^j|9jZkZu?Inot#+!kC}nI- zGqtY?W?BpqYZxhlXpu(jB59bMd(J)Qo;khep8Lo5zUMp7KkxUP=l8uS4))fPKm{NG z0FZ>)SUC#%OTod3iwf!!pL>deRu<`e8)NlTun*cFiSb7S0RZ7IoLrIUko_GeY_JlKws3R*j^ZL5L^rw7l&+yZ7G^@$W%B8?kE=^mzM)igKs(M%LFgx zrfv;x=e0td^wUxW%JDYHcq%B^NhRR!+R`{$U&4m!oO(a=*xNfJuT>qrL{F0k`?b$f zyiOO2FgTLsl7yo?xx4(kvUjm2ZGf4pMcIkv#ohpb=se8I+&TOOYt{s@ctci{{@bLS z8c5SDEvtI#(u2^!4o5AZm3g5SsHR@729%;T7O1HzU*r16(?4|_V$A+w&BrH!waJ+t;Mruyo0r5z6uvD+_M1SVGPpca#Z^G5;y2>uQf5+#fOt(|DJvD+ zS)h>ckK$*OfpXnRGzs3qUT;PuNq2QmC8q2fh+9C7vrf*`S?CAP>B@)M>S=-4F1Q=d ze*+n{xe{~OVKn#3xfJt7nPI*r<2g(%N%+zn$O^~S8TG##g{|(HaJL#J6|qjuCZJKM z`V9PB$Tdvq_UP#>zo(8(E7NnV#z4Y+N-}2?rJXd!sv6eiKo8m?x>RfS`VuVu5qkM}AkDqG!1Qxr*pnGaBjJ2#OPFQlE zbFDoY&GW0h^lH=b5tu0Cd}1wSB2WH-@%+ff9QxX53r`}dXXC0rZy?1|?H5v|6t3&W4>sJksriW<6r$7WDF80W_+6Bn)EbbM@oc@L8PlHjA#t-x3 zsrB?kvF`_Z(p3iz?M}MmH>5?x=@=pm8TN#`WKh0fZy|GqAHEcZUN^+;%J0|?J_@uT|1ekXq)TnBYqYFGoz^iBblS%z9)=jm4Q}k-5>dm%zzk_!Ko>aVH~gN*vP`(r*@AwxnZvQxz;=>W zv6gG5nN1W@>Gz6_MR@)h;05UwecNYoPokPr+M$mxDQ>WD|0`-@-}d)m+(JG-lV*q% z2{mw_p>ChI{V*H)$Cm~b-3smMsq++V2Y`@m4@^AS0$?utU-J4lNv|T)we;p4#*Cge z`3_2D#xk0yy!z=iO&$+uf0WOe)IG4d)74{CB9hMyPnr6(-BDZt;ewc;7j%g@F7|?K zC8E$+)GC^|lU&EirGl=x1*~$nJ{WrBS*y8~vIo{^U*f_DTr7-YKUMIlTrJspNiF-M z3XXcbni>G>ExXx{;uB}ID z#djD!@iJAUv%QTLWpI9$xZdZrSp$*EugR6-gntdqzdiLosr{OC<07u3*5MvF<7p6h z$6o|lKkYcC_T8z1)$XZ!U-t@%NHASp0K;H}wYY7pgNKfFPhfBe?y~&45TeY_tR&*b zWVugN*NdviD~LwVf!*b{VODi3^mayrhBM#__7cG$GNSm(`g84Oc0+cG6q?hjEVnPF zGE~wnKA&uu9ihBD5AY@m9 zhk#0Eo?8<%|FXSz6W?h*lZN21A3~@B5MT5C&C;4B^PqXAAtmNR%lS-e^P4LQqji54 zk&Dvz2ldvxpPvceKTO(p&B)}FizNGCp!=2;s>}XLE9betPZ=?nzsx0uuO|$U-fvXu z5ke0(`Was3C9jDrU6;=>cD+yasfWK*P~s_HsjXe{f!X%8yri&b2$HWYHAr?EqHC z4LQeM&rJk3Xk{qGfpu|NIuOCIf;IBBK(0Z-FyEJ?RQff+UIxH^u(x_+;T``Mx>>S1 literal 0 HcmV?d00001 diff --git a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm index 514adb5127c..adbb751c685 100644 --- a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm +++ b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm @@ -3278,11 +3278,11 @@ /turf/simulated/floor/tiled, /area/medical/emergency_storage) "cxG" = ( -/obj/structure/janitorialcart/full, /obj/effect/floor_decal/corner/purple{ dir = 10 }, /obj/effect/floor_decal/industrial/outline/custodial, +/obj/structure/janitorialcart, /turf/simulated/floor/tiled, /area/janitor) "cya" = ( @@ -14600,7 +14600,7 @@ id_tag = "intrepid_cockpit"; name = "Close-in Weapons System Bay"; req_access = null; - req_one_access = list(73, 31) + req_one_access = list(73,31) }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, @@ -22188,7 +22188,6 @@ /turf/simulated/floor/tiled, /area/operations/loading) "rpK" = ( -/obj/structure/janitorialcart/full, /obj/machinery/camera/network/service{ c_tag = "Custodial - Main Storage"; dir = 1 @@ -22197,6 +22196,7 @@ dir = 10 }, /obj/effect/floor_decal/industrial/outline/custodial, +/obj/structure/janitorialcart, /turf/simulated/floor/tiled, /area/janitor) "rqf" = ( diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm index 32224ae9819..2ff99b3def3 100644 --- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm +++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm @@ -3573,7 +3573,7 @@ name = "Primary Armament Exterior Bolts"; pixel_x = 22; pixel_y = 22; - req_access = list(19, 11); + req_access = list(19,11); specialfunctions = 4 }, /obj/structure/cable{ @@ -17683,14 +17683,12 @@ /turf/simulated/floor/tiled, /area/maintenance/wing/starboard) "iMo" = ( -/obj/structure/closet/crate/trashcart, -/obj/effect/floor_decal/corner/purple/full{ - dir = 1 - }, /obj/structure/sign/nosmoking_1{ pixel_y = 32 }, -/obj/effect/floor_decal/industrial/outline/custodial, +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/operations/lobby) "iMG" = ( @@ -24103,7 +24101,7 @@ /turf/simulated/floor/reinforced/airless, /area/engineering/engine_room) "mep" = ( -/obj/effect/floor_decal/corner/purple{ +/obj/effect/floor_decal/corner/green{ dir = 6 }, /turf/simulated/floor/tiled, @@ -25129,12 +25127,12 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/effect/floor_decal/corner/purple/full{ - dir = 4 - }, /obj/structure/flora/pottedplant{ icon_state = "plant-33" }, +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/operations/lobby) "mGr" = ( @@ -26439,12 +26437,12 @@ /turf/simulated/floor/tiled/dark, /area/security/armory) "niM" = ( -/obj/effect/floor_decal/corner/purple{ - dir = 6 - }, /obj/machinery/light{ dir = 4 }, +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, /turf/simulated/floor/tiled, /area/operations/lobby) "niR" = (