From e49e165482caf87b2d9fb9e035fbb25bdb058724 Mon Sep 17 00:00:00 2001
From: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Date: Wed, 2 Nov 2022 13:05:50 -0400
Subject: [PATCH] Bed war: add pillow weaponry and pillowman juggernaut suit
(#69977)
* Add pillows you can hit someone you hate with it until they collaspe from exhaustion. The pillow can be made with cloth
* Adds a Pillow juggernaut suit, this suit allows you to automatically hit people with a pillow when you bump into them. It can be made from pillows and duct tape via the crafting menu
* Adds a bumpattack component, this can be added to any item and allows the user to auto attack on bump with a target, used for the juggernaut suit.
* Adds a Pillow hat an alternative to the paperbag hat, also made from duct tape and pillow. Very fashionable!
add: Clown/mime pillows
* The beds in dorm now come properly equipped with a pillow
---
.../map_files/Deltastation/DeltaStation2.dmm | 5 +
.../map_files/IceBoxStation/IceBoxStation.dmm | 5 +
_maps/map_files/KiloStation/KiloStation.dmm | 4 +
_maps/map_files/MetaStation/MetaStation.dmm | 6 +
_maps/map_files/tramstation/tramstation.dmm | 333 ++++++++++--------
code/datums/components/bumpattack.dm | 72 ++++
code/datums/components/crafting/recipes.dm | 22 ++
code/datums/quirks/negative.dm | 1 +
code/game/objects/items/melee/misc.dm | 1 +
code/game/objects/items/pillow.dm | 175 +++++++++
.../items/stacks/sheets/sheet_types.dm | 1 +
icons/mob/clothing/neck.dmi | Bin 111412 -> 111817 bytes
icons/mob/clothing/suits/pillow.dmi | Bin 0 -> 926 bytes
icons/mob/inhands/items/pillow_lefthand.dmi | Bin 0 -> 865 bytes
icons/mob/inhands/items/pillow_righthand.dmi | Bin 0 -> 889 bytes
icons/obj/janitor.dmi | Bin 32960 -> 32950 bytes
icons/obj/pillow.dmi | Bin 0 -> 1061 bytes
sound/items/pillow_hit.ogg | Bin 0 -> 9623 bytes
sound/items/pillow_hit2.ogg | Bin 0 -> 9191 bytes
tgstation.dme | 2 +
20 files changed, 472 insertions(+), 155 deletions(-)
create mode 100644 code/datums/components/bumpattack.dm
create mode 100644 code/game/objects/items/pillow.dm
create mode 100644 icons/mob/clothing/suits/pillow.dmi
create mode 100644 icons/mob/inhands/items/pillow_lefthand.dmi
create mode 100644 icons/mob/inhands/items/pillow_righthand.dmi
create mode 100644 icons/obj/pillow.dmi
create mode 100644 sound/items/pillow_hit.ogg
create mode 100644 sound/items/pillow_hit2.ogg
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 486905e09db..8c4be2d99a2 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1523,6 +1523,7 @@
/obj/item/bedsheet/dorms{
dir = 1
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"aqW" = (
@@ -56637,6 +56638,7 @@
/obj/item/bedsheet/dorms,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/landmark/start/hangover,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"nKA" = (
@@ -60482,6 +60484,7 @@
/obj/structure/bed,
/obj/item/bedsheet/dorms,
/obj/machinery/status_display/evac/directional/east,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"oLT" = (
@@ -65392,6 +65395,7 @@
dir = 1
},
/obj/machinery/status_display/evac/directional/north,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"pUp" = (
@@ -84456,6 +84460,7 @@
/obj/item/bedsheet/dorms_double,
/obj/machinery/status_display/evac/directional/east,
/obj/effect/landmark/start/hangover,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"uEv" = (
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 896dedbd395..b948354da4e 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -6973,6 +6973,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"ccr" = (
@@ -10424,6 +10425,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"dct" = (
@@ -41280,6 +41282,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"mJX" = (
@@ -45067,6 +45070,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"nOw" = (
@@ -49570,6 +49574,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"piI" = (
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 4eca0ce985a..65cbfe16b44 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -8331,6 +8331,7 @@
specialfunctions = 4
},
/obj/effect/mapping_helpers/broken_floor,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/locker)
"czH" = (
@@ -24844,6 +24845,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/locker)
"hfP" = (
@@ -62542,6 +62544,7 @@
dir = 4
},
/obj/effect/landmark/start/hangover,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/locker)
"rPy" = (
@@ -81554,6 +81557,7 @@
/obj/effect/landmark/start/assistant,
/obj/item/bedsheet/dorms,
/obj/effect/landmark/start/hangover,
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/locker)
"xdv" = (
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index dd0f670e7bd..4e0f6f2f5c4 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -1146,6 +1146,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"awt" = (
@@ -3629,6 +3630,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"bmB" = (
@@ -32197,6 +32199,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"lxm" = (
@@ -50605,6 +50608,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"rUE" = (
@@ -52464,6 +52468,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/wood,
/area/station/commons/dorms)
"sBd" = (
@@ -64718,6 +64723,7 @@
normaldoorcontrol = 1;
specialfunctions = 4
},
+/obj/item/pillow/random,
/turf/open/floor/carpet,
/area/station/commons/dorms)
"wND" = (
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 7c2873ff9ef..343312782e1 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -3211,14 +3211,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"bpU" = (
-/obj/structure/bed{
- dir = 8
- },
-/obj/item/bedsheet/dorms,
-/obj/structure/sign/clock/directional/east,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"bqg" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -3711,6 +3703,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/construction/engineering)
+"bzs" = (
+/obj/structure/bed{
+ dir = 4
+ },
+/obj/item/bedsheet/dorms{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/west,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"bzz" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
@@ -6688,6 +6691,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"cvg" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/dorms_double,
+/obj/effect/landmark/start/assistant,
+/obj/structure/sign/clock/directional/north,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"cvw" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -7882,6 +7893,18 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard)
+"cPK" = (
+/obj/structure/bed{
+ dir = 4
+ },
+/obj/item/bedsheet/dorms{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/obj/structure/sign/clock/directional/west,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"cPM" = (
/turf/closed/wall,
/area/station/engineering/atmos)
@@ -10093,15 +10116,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
-"dBQ" = (
-/obj/structure/bed{
- dir = 8
- },
-/obj/item/bedsheet/dorms,
-/obj/effect/landmark/start/assistant,
-/obj/structure/sign/clock/directional/east,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"dCd" = (
/turf/open/floor/iron/smooth,
/area/station/maintenance/tram/mid)
@@ -10945,6 +10959,17 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/plating/airless,
/area/station/engineering/supermatter/room)
+"dRz" = (
+/obj/structure/bed{
+ dir = 4
+ },
+/obj/item/bedsheet/dorms{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/south,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"dRK" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 10
@@ -13884,15 +13909,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
-"eUF" = (
-/obj/structure/bed{
- dir = 8
- },
-/obj/item/bedsheet/dorms,
-/obj/effect/landmark/start/assistant,
-/obj/structure/sign/clock/directional/east,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"eUH" = (
/obj/machinery/door/airlock/external{
name = "Labor Camp Shuttle Airlock"
@@ -13902,16 +13918,6 @@
},
/turf/open/floor/plating,
/area/station/security/processing)
-"eUS" = (
-/obj/structure/bed{
- dir = 4
- },
-/obj/item/bedsheet/dorms{
- dir = 4
- },
-/obj/structure/sign/clock/directional/west,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"eUZ" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 6
@@ -16605,16 +16611,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation/entertainment)
-"fWG" = (
-/obj/structure/bed{
- dir = 4
- },
-/obj/item/bedsheet/dorms{
- dir = 4
- },
-/obj/structure/sign/clock/directional/west,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"fWJ" = (
/obj/effect/turf_decal/trimline/red/filled/line,
/obj/effect/turf_decal/trimline/red/filled/corner{
@@ -18109,13 +18105,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"gyH" = (
-/obj/structure/bed/double,
-/obj/item/bedsheet/dorms_double,
-/obj/effect/landmark/start/assistant,
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"gyP" = (
/obj/structure/rack,
/obj/item/healthanalyzer{
@@ -19892,6 +19881,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/tram/right)
+"hft" = (
+/obj/structure/bed{
+ dir = 8
+ },
+/obj/item/bedsheet/dorms,
+/obj/structure/sign/clock/directional/east,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"hfw" = (
/obj/machinery/light/directional/north,
/obj/effect/turf_decal/trimline/red/filled/line{
@@ -21073,16 +21071,6 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/mining,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"hEp" = (
-/obj/structure/bed{
- dir = 4
- },
-/obj/item/bedsheet/dorms{
- dir = 4
- },
-/obj/structure/sign/clock/directional/south,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"hEz" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/marker_beacon/burgundy,
@@ -21314,6 +21302,16 @@
"hHP" = (
/turf/open/floor/iron/dark,
/area/station/maintenance/radshelter/civil)
+"hHR" = (
+/obj/structure/bed{
+ dir = 8
+ },
+/obj/item/bedsheet/dorms,
+/obj/effect/landmark/start/hangover,
+/obj/structure/sign/clock/directional/east,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"hIg" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -21688,10 +21686,6 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/qm)
-"hQy" = (
-/obj/machinery/keycard_auth,
-/turf/closed/wall/r_wall,
-/area/station/command/bridge)
"hQU" = (
/obj/effect/turf_decal/trimline/green/filled/corner{
dir = 4
@@ -21764,6 +21758,14 @@
},
/turf/open/floor/catwalk_floor,
/area/station/maintenance/tram/mid)
+"hRK" = (
+/obj/structure/bed,
+/obj/item/bedsheet/dorms,
+/obj/effect/landmark/start/hangover,
+/obj/structure/sign/clock/directional/south,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"hSf" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
@@ -23351,6 +23353,13 @@
},
/turf/open/floor/wood/large,
/area/station/service/library)
+"iuJ" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/dorms_double,
+/obj/structure/sign/clock/directional/north,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"iuM" = (
/obj/structure/table/wood/fancy/royalblue,
/obj/machinery/door/window{
@@ -25790,6 +25799,16 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/security/brig)
+"jnR" = (
+/obj/structure/bed{
+ dir = 8
+ },
+/obj/item/bedsheet/dorms,
+/obj/effect/landmark/start/assistant,
+/obj/structure/sign/clock/directional/east,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"jnU" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -25798,13 +25817,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
-"joe" = (
-/obj/structure/bed/double,
-/obj/item/bedsheet/dorms_double,
-/obj/effect/landmark/start/hangover,
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"jof" = (
/obj/effect/turf_decal/trimline/red/filled/corner{
dir = 1
@@ -29428,15 +29440,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"kBm" = (
-/obj/structure/bed{
- dir = 8
- },
-/obj/item/bedsheet/dorms,
-/obj/effect/landmark/start/hangover,
-/obj/structure/sign/clock/directional/east,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"kBo" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -29722,14 +29725,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/maintenance/tram/mid)
-"kFW" = (
-/obj/structure/bed{
- dir = 8
- },
-/obj/item/bedsheet/dorms,
-/obj/structure/sign/clock/directional/east,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"kFY" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -32883,6 +32878,16 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/tram/center)
+"lLq" = (
+/obj/structure/bed{
+ dir = 8
+ },
+/obj/item/bedsheet/dorms,
+/obj/effect/landmark/start/assistant,
+/obj/structure/sign/clock/directional/east,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"lLx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -34266,12 +34271,6 @@
/obj/effect/turf_decal/stripes/white/full,
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"mkZ" = (
-/obj/structure/bed/double,
-/obj/item/bedsheet/dorms_double,
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"mlg" = (
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 6
@@ -39147,13 +39146,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"nYL" = (
-/obj/structure/bed,
-/obj/item/bedsheet/dorms,
-/obj/effect/landmark/start/hangover,
-/obj/structure/sign/clock/directional/south,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"nYP" = (
/obj/machinery/power/smes{
charge = 5e+006
@@ -40321,6 +40313,14 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"ouo" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"oux" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 6
@@ -41443,16 +41443,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/maintenance/tram/left)
-"oRE" = (
-/obj/item/bedsheet/dorms_double{
- dir = 4
- },
-/obj/structure/bed/double{
- dir = 4
- },
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"oRV" = (
/obj/machinery/firealarm/directional/north,
/obj/effect/turf_decal/trimline/green/filled/line,
@@ -42203,6 +42193,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison)
+"pfm" = (
+/obj/item/bedsheet/dorms_double{
+ dir = 4
+ },
+/obj/structure/bed/double{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/north,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"pfo" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 4
@@ -46375,6 +46376,10 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/iron,
/area/station/engineering/main)
+"qyZ" = (
+/obj/machinery/keycard_auth,
+/turf/closed/wall/r_wall,
+/area/station/command/bridge)
"qza" = (
/turf/closed/wall,
/area/station/command/heads_quarters/qm)
@@ -52394,16 +52399,6 @@
/obj/item/computer_disk/atmos,
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
-"sGu" = (
-/obj/structure/bed/double{
- dir = 4
- },
-/obj/item/bedsheet/dorms_double{
- dir = 4
- },
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"sGF" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -56038,6 +56033,17 @@
},
/turf/open/floor/iron,
/area/station/science/research)
+"tUM" = (
+/obj/structure/bed{
+ dir = 4
+ },
+/obj/item/bedsheet/dorms{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/west,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"tVe" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -56657,6 +56663,15 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/art)
+"ugf" = (
+/obj/structure/bed{
+ dir = 8
+ },
+/obj/item/bedsheet/dorms,
+/obj/structure/sign/clock/directional/east,
+/obj/item/pillow/random,
+/turf/open/floor/carpet,
+/area/station/commons/dorms)
"ugh" = (
/obj/effect/turf_decal/siding/thinplating,
/obj/effect/turf_decal/siding/thinplating{
@@ -57098,6 +57113,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/hallway/primary/tram/center)
+"upb" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/dorms_double,
+/obj/effect/landmark/start/hangover,
+/obj/structure/sign/clock/directional/north,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"upe" = (
/obj/effect/landmark/start/cyborg,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61073,17 +61096,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/engine,
/area/station/science/cytology)
-"vMv" = (
-/obj/structure/bed{
- dir = 4
- },
-/obj/item/bedsheet/dorms{
- dir = 4
- },
-/obj/effect/landmark/start/assistant,
-/obj/structure/sign/clock/directional/west,
-/turf/open/floor/carpet,
-/area/station/commons/dorms)
"vMx" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63731,6 +63743,17 @@
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"wJe" = (
+/obj/structure/bed/double{
+ dir = 4
+ },
+/obj/item/bedsheet/dorms_double{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/north,
+/obj/item/pillow/random,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"wJh" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
@@ -84949,15 +84972,15 @@ ncF
ncF
dhe
elr
-eUS
+tUM
fOs
suR
elr
-fWG
+bzs
pKZ
oJR
elr
-eUS
+tUM
fOs
suR
elr
@@ -84966,11 +84989,11 @@ ujn
elr
oJR
pKZ
-vMv
+cPK
elr
suR
fOs
-eUS
+tUM
apC
apC
apC
@@ -85231,7 +85254,7 @@ eAS
elr
xlU
dxL
-hEp
+dRz
apC
xtu
dhe
@@ -85488,7 +85511,7 @@ elr
elr
elr
rnD
-eix
+ouo
apC
xtu
dhe
@@ -87515,15 +87538,15 @@ qQq
uWr
vqV
ncF
-joe
+upb
twk
smp
elr
-mkZ
+iuJ
szo
vyR
elr
-gyH
+cvg
twk
smp
apC
@@ -88543,15 +88566,15 @@ qQq
hXO
woH
ncF
-sGu
+wJe
twk
smp
elr
-oRE
+pfm
szo
vyR
elr
-sGu
+wJe
twk
smp
apC
@@ -90885,7 +90908,7 @@ eAS
elr
xlU
dxL
-nYL
+hRK
apC
xtu
dhe
@@ -91117,15 +91140,15 @@ ncF
dhe
dhe
elr
-kBm
+hHR
fOs
dVA
elr
-eUF
+jnR
pKZ
sjB
elr
-kFW
+hft
fOs
dVA
oTA
@@ -91134,11 +91157,11 @@ vwO
oTA
sjB
pKZ
-bpU
+ugf
elr
dVA
fOs
-dBQ
+lLq
elr
apC
apC
@@ -152253,7 +152276,7 @@ pxi
pxi
pxi
pxi
-hQy
+qyZ
lDK
xAQ
eTv
diff --git a/code/datums/components/bumpattack.dm b/code/datums/components/bumpattack.dm
new file mode 100644
index 00000000000..0f7955fb30c
--- /dev/null
+++ b/code/datums/components/bumpattack.dm
@@ -0,0 +1,72 @@
+/**
+ * Add an auto attack on bump behaviour to item
+ * valid_inventory_slot: the inventory slot the item could be held in while still bumpattacking with it
+ * proxy_weapon: the weapon that will gain this behaviour
+ */
+#define COOLDOWN_BUMP_ATTACK "bump_attack_cooldown"
+
+/datum/component/bumpattack
+ dupe_mode = COMPONENT_DUPE_UNIQUE
+ ///inventory slot that the item could be stored while still being able to attack with it. DO SLOT_HANDS|SLOT_BACK instead of a list for multiple slots
+ var/valid_inventory_slot
+ ///whether or not the behaviour would be active on the item
+ var/active = FALSE
+ ///the mob handling the item
+ var/mob/living/wearer
+ ///the item that will gain this behaviour
+ var/obj/item/proxy_weapon
+ ///cool down between each hit
+ var/attack_cooldown = CLICK_CD_MELEE
+
+/datum/component/bumpattack/Initialize(valid_inventory_slot, obj/item/proxy_weapon)
+ if(!isitem(parent))
+ return COMPONENT_INCOMPATIBLE
+ src.valid_inventory_slot = valid_inventory_slot
+ src.proxy_weapon = proxy_weapon
+
+ return ..()
+
+/datum/component/bumpattack/RegisterWithParent()
+ RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/check_equip)
+ RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/check_drop)
+
+/datum/component/bumpattack/UnregisterFromParent()
+ UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
+
+/datum/component/bumpattack/proc/check_equip(obj/item/source, mob/living/user, slot)
+ SIGNAL_HANDLER
+ if(!user) // iunno, thoroughness
+ return
+ if(slot & valid_inventory_slot)
+ activate(user)
+ else
+ deactivate()
+
+/datum/component/bumpattack/proc/check_drop(datum/source, mob/living/dropper)
+ SIGNAL_HANDLER
+ deactivate()
+
+/datum/component/bumpattack/proc/activate(mob/living/user)
+ if(!istype(user))
+ return
+ active = TRUE
+ wearer = user
+ RegisterSignal(user, COMSIG_LIVING_MOB_BUMP, .proc/check_bump)
+
+/datum/component/bumpattack/proc/deactivate()
+ active = FALSE
+ if(wearer)
+ UnregisterSignal(wearer, COMSIG_LIVING_MOB_BUMP)
+ wearer = null
+
+/datum/component/bumpattack/proc/check_bump(mob/living/bumper, mob/living/target)
+ SIGNAL_HANDLER
+ var/obj/item/our_weapon = proxy_weapon || parent
+ if(!istype(our_weapon))
+ CRASH("[our_weapon] somehow failed istype")
+ if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_BUMP_ATTACK))
+ TIMER_COOLDOWN_START(src, COOLDOWN_BUMP_ATTACK, attack_cooldown)
+ INVOKE_ASYNC(target, /atom.proc/attackby , our_weapon, bumper)
+ bumper.visible_message(span_danger("[bumper] charges into [target], attacking with [our_weapon]!"), span_danger("You charge into [target], attacking with [our_weapon]!"), vision_distance = COMBAT_MESSAGE_RANGE)
+
+#undef COOLDOWN_BUMP_ATTACK
diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm
index 069521982fc..f13f5b8a89d 100644
--- a/code/datums/components/crafting/recipes.dm
+++ b/code/datums/components/crafting/recipes.dm
@@ -1839,6 +1839,28 @@
qdel(toilet)
to_chat(user, span_notice("[user] attaches the flamethrower to the repurposed toilet."))
+/datum/crafting_recipe/pillow_suit
+ name = "pillow suit"
+ result = /obj/item/clothing/suit/pillow_suit
+ time = 2 SECONDS
+ reqs = list(
+ /obj/item/stack/sticky_tape = 10,
+ /obj/item/pillow = 5,
+ )
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/pillow_hood
+ name = "pillow hood"
+ result = /obj/item/clothing/head/pillow_hood
+ tool_behaviors = list(TOOL_WIRECUTTER, TOOL_KNIFE)
+ time = 2 SECONDS
+ reqs = list(
+ /obj/item/stack/sticky_tape = 5,
+ /obj/item/pillow = 1,
+ )
+ category = CAT_CLOTHING
+
+
/datum/crafting_recipe/house_edge
name = "House Edge"
result = /obj/item/house_edge
diff --git a/code/datums/quirks/negative.dm b/code/datums/quirks/negative.dm
index 79ab5a0485e..c68e4482575 100644
--- a/code/datums/quirks/negative.dm
+++ b/code/datums/quirks/negative.dm
@@ -264,6 +264,7 @@
/obj/item/clothing/head/costume/nightcap/red,
/obj/item/clothing/under/misc/pj/blue,
/obj/item/clothing/head/costume/nightcap/blue,
+ /obj/item/pillow/random,
)
/datum/quirk/hypersensitive
diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm
index 6b38d164e9a..1bb5f2716a5 100644
--- a/code/game/objects/items/melee/misc.dm
+++ b/code/game/objects/items/melee/misc.dm
@@ -450,3 +450,4 @@
armour_penetration = 50
attack_verb_continuous = list("smacks", "strikes", "cracks", "beats")
attack_verb_simple = list("smack", "strike", "crack", "beat")
+
diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm
new file mode 100644
index 00000000000..d3c09d4d200
--- /dev/null
+++ b/code/game/objects/items/pillow.dm
@@ -0,0 +1,175 @@
+//Pillow and pillow related items
+/obj/item/pillow
+ name = "pillow"
+ desc = "A soft and fluffy pillow. You can smack someone with this!"
+ icon = 'icons/obj/pillow.dmi'
+ icon_state = "pillow_1_t"
+ inhand_icon_state = "pillow_t"
+ lefthand_file = 'icons/mob/inhands/items/pillow_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/items/pillow_righthand.dmi'
+ w_class = WEIGHT_CLASS_NORMAL
+ damtype = STAMINA
+ ///change the description based on the pillow tag
+ var/static/tag_desc = "This one seems to have its tag removed."
+ ///pillow tag is attached to it
+ var/obj/item/clothing/neck/pillow_tag/pillow_trophy
+ ///whoever last use this pillow
+ var/last_fighter
+ ///for selecting the various sprite variation, defaults to the blank white pillow
+ var/variation = 1
+ ///for alternating between hard hitting sound vs soft hitting sound
+ var/hit_sound
+
+/obj/item/pillow/Initialize(mapload)
+ . = ..()
+ if(!pillow_trophy)
+ pillow_trophy = new(src)
+ AddComponent(/datum/component/two_handed, \
+ force_unwielded = 5, \
+ force_wielded = 10, \
+ )
+
+/obj/item/pillow/Destroy(force)
+ . = ..()
+ QDEL_NULL(pillow_trophy)
+
+/obj/item/pillow/attack(mob/living/carbon/target_mob, mob/living/user, params)
+ . = ..()
+ if(!iscarbon(target_mob))
+ return
+ if(HAS_TRAIT(src, TRAIT_WIELDED))
+ user.apply_damage(5, STAMINA) // when hitting with such force we should prolly be getting tired too
+ hit_sound = 'sound/items/pillow_hit2.ogg'
+ else
+ hit_sound = 'sound/items/pillow_hit.ogg'
+ last_fighter = user
+ playsound(user, hit_sound, 80) //the basic 50 vol is barely audible
+
+/obj/item/pillow/attack_secondary(mob/living/carbon/victim, mob/living/user, params)
+ . = ..()
+ if(!istype(victim))
+ return
+ if(victim.wear_mask || !user.get_bodypart(BODY_ZONE_HEAD))
+ return
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ to_chat(user, span_notice("You can't bring yourself to harm [victim]"))
+ return
+ if(victim.body_position || user.grab_state >= GRAB_AGGRESSIVE)
+ user.visible_message("[user] starts to smother [victim]", span_notice("You begin smothering [victim]"), vision_distance = COMBAT_MESSAGE_RANGE)
+ smothering(user, victim)
+
+/obj/item/pillow/proc/smothering(mob/living/carbon/user, mob/living/carbon/victim)
+ while(victim)
+ if(victim.body_position == FALSE && user.grab_state <= GRAB_NECK)
+ break
+ if(!do_after(user, 1 SECONDS, victim))
+ break
+ victim.losebreath += 1
+ victim.visible_message("[victim] manages to escape being smothered!", span_notice("You break free!"), vision_distance = COMBAT_MESSAGE_RANGE)
+
+/obj/item/pillow/attackby(obj/item/attacking_item, mob/user, params)
+ . = ..()
+ if(!pillow_trophy && istype(attacking_item, /obj/item/clothing/neck/pillow_tag))
+ user.transferItemToLoc(attacking_item, src)
+ pillow_trophy = attacking_item
+ balloon_alert(user, "honor reclaimed!")
+ update_appearance()
+ else
+ balloon_alert(user, "tag is intact.")
+ return
+
+/obj/item/pillow/examine(mob/user)
+ . = ..()
+ . += span_notice("There's more information below, you can look again to take a closer look...")
+
+/obj/item/pillow/examine_more(mob/user)
+ . = ..()
+ . += span_notice("Alt-click to remove the tag!")
+
+/obj/item/pillow/AltClick(mob/user)
+ . = ..()
+ if(!pillow_trophy)
+ balloon_alert(user, "no tag!")
+ return
+ balloon_alert(user, span_notice("removing tag..."))
+ if(!do_after(user, 2 SECONDS, src))
+ return
+ if(last_fighter)
+ pillow_trophy.desc = "a pillow tag taken from [last_fighter] after a gruesome pillow fight."
+ user.put_in_hands(pillow_trophy)
+ pillow_trophy = null
+ balloon_alert(user, span_notice("tag removed"))
+ playsound(user,'sound/items/poster_ripped.ogg', 50)
+ update_appearance()
+
+/obj/item/pillow/update_appearance(updates)
+ . = ..()
+ if(!pillow_trophy)
+ desc = "A soft and fluffy pillow. You can smack someone with this! [tag_desc]"
+ icon_state = "pillow_[variation]"
+ inhand_icon_state = "pillow_no_t"
+ else
+ desc = "A soft and fluffy pillow. You can smack someone with this!"
+ icon_state = "pillow_[variation]_t"
+ inhand_icon_state = "pillow_t"
+
+/obj/item/pillow/random
+
+/obj/item/pillow/random/Initialize(mapload)
+ . = ..()
+ variation = rand(1, 4)
+ icon_state = "pillow_[variation]_t"
+
+/obj/item/clothing/suit/pillow_suit
+ name = "pillow suit"
+ desc = "Part man, part pillow. All CARNAGE!"
+ body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET
+ cold_protection = CHEST|GROIN|ARMS|LEGS //a pillow suit must be hella warm
+ allowed = list(/obj/item/pillow) //moar pillow carnage
+ icon = 'icons/obj/pillow.dmi'
+ worn_icon = 'icons/mob/clothing/suits/pillow.dmi'
+ icon_state = "pillow_suit"
+ armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 75) //fluffy amor
+ var/obj/item/pillow/unstoppably_plushed
+
+/obj/item/clothing/suit/pillow_suit/Initialize(mapload)
+ . = ..()
+ unstoppably_plushed = new(src)
+ AddComponent(/datum/component/bumpattack, proxy_weapon = unstoppably_plushed, valid_inventory_slot = ITEM_SLOT_OCLOTHING)
+
+/obj/item/clothing/suit/pillow_suit/Destroy()
+ . = ..()
+ QDEL_NULL(unstoppably_plushed)
+
+/obj/item/clothing/head/pillow_hood
+ name = "pillow hood"
+ desc = "The final piece of the pillow juggernaut"
+ body_parts_covered = HEAD
+ icon = 'icons/obj/pillow.dmi'
+ worn_icon = 'icons/mob/clothing/suits/pillow.dmi'
+ icon_state = "pillowcase_hat"
+ body_parts_covered = HEAD
+ flags_inv = HIDEHAIR|HIDEEARS
+ armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 75) //fluffy amor
+
+/obj/item/clothing/neck/pillow_tag
+ name = "pillow tag"
+ desc = "A price tag for the pillow. It appears to have space to fill names in."
+ icon = 'icons/obj/pillow.dmi'
+ icon_state = "pillow_tag"
+ worn_icon = 'icons/mob/clothing/neck.dmi'
+ worn_icon_state = "pillow_tag"
+ body_parts_covered = NECK
+
+/obj/item/pillow/clown
+ name = "clown pillow"
+ desc = "Daww look at that little clown!"
+ icon_state = "pillow_5_t"
+ variation = 5
+
+/obj/item/pillow/mime
+ name = "mime pillow"
+ desc = "Daww look at that little mime!"
+ icon_state = "pillow_6_t"
+ variation = 6
+
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 27abe2999e2..1d22d1f924a 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -430,6 +430,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
new/datum/stack_recipe("19x19 canvas", /obj/item/canvas/nineteen_nineteen, 3), \
new/datum/stack_recipe("23x19 canvas", /obj/item/canvas/twentythree_nineteen, 4), \
new/datum/stack_recipe("23x23 canvas", /obj/item/canvas/twentythree_twentythree, 5), \
+ new/datum/stack_recipe("pillow", /obj/item/pillow, 3), \
))
/obj/item/stack/sheet/cloth
diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi
index acd30970cbf2d9682eaa7efd2ab32b2c57ae5f14..0e744988976eda052626c763a853b86bfd186308 100644
GIT binary patch
delta 4449
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
delta 4041
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
diff --git a/icons/mob/clothing/suits/pillow.dmi b/icons/mob/clothing/suits/pillow.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..d1fe8d182a45125531a498462d0369636a0d69e8
GIT binary patch
literal 926
zcmV;P17ZA$P)h>`Cnvu=zPL2AM2U+tC9|j)q?L;^ttc@!6~s0~
zSDTzzoEo2zh*P<;f~%hk*ew9~R4X~XmS&Xz00N>(L_t(oh3%HXZqq;zhSx1};pVND
zti-8lO5uoNm0mGS>@y@5R~tnRN77mzsV9Ug)FV6sQYBuK*&w{LF0r+u7o^M~(!ZW>
zXFThji4Z&ce@#y4XMY@R(_IVT@GQ@#D%qmR4qtFUK{<)z@e-oHYqP~{e#(Fp0A`D{
z1yaaqCAEM8P*AkMK~vWRG-x#eb*ndk&MdI^vNjQ#snsSzt7!{FZ~zVP=6qxU9cPe@
zEU*`!z}fuw3kHP?Ob
ziy)rPk0$xib}jbK-U;y!KmZWY*)WZft`qKoz%Q%xT6h!rAx9%3ows&QTR$4-c<;<6$gIuSmcEuimU
zx)vTMZXE}K^R*|i0K`u|zfSCwhfUiBc+cJXQ
zc@We|XCe*E1EIl<5e#%|1333b4FYu+=$|%3m=}u>9!ot=l}o!07*qoM6N<$f-<$I
AbpQYW
literal 0
HcmV?d00001
diff --git a/icons/mob/inhands/items/pillow_lefthand.dmi b/icons/mob/inhands/items/pillow_lefthand.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..af23abae6391cff678745ad0808a3f8bd7d25c76
GIT binary patch
literal 865
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoMO7gYB`&GO$wiq3C7Jno3=9=>
zg2M`mO22;zF8KKMiI%sn*10q1gExd4Tr__0Nawtd=1GR4p57f6#zDrHjlC4+JeqW5
zQiwwEN(Eze_5C*cTspgrRX4AYSkm8ZyjH`|T=a<9k$@S~`=i%xYFa&?`-UjPk&7Dp
z^ZN{B85o#WdAc};RLprh$1t18P@-+?mAhL51g0-?Zr8i}`*dm9%N4UZTGzdkU6;ZU
zbM^DS_j)gjFMe-iUTIkO%+OLZ-zaYVb>)K}9mEUXdoc8{93YDD5o0`lafwt>y|dEJ
z27`$Ar(HKWdf$z|F16;S7yM{0R>g}AoJo#H~*CTGL
z&u5h1{QTpq4eK90Uif9|qPAQ2&)vE@UCw`PAWbH(buyYoWfnLE!zgme)I2N=}}9e(ynm)w_as0iS;P
zvV8n_Oj0i1%SgD^G*Rq=uKND<9VNw{(k^G1^qxM^UH@_VmHtcL)OSot<8
literal 0
HcmV?d00001
diff --git a/icons/mob/inhands/items/pillow_righthand.dmi b/icons/mob/inhands/items/pillow_righthand.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..3508e9e3e048e744bdfe6c0aea966581f7857e25
GIT binary patch
literal 889
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoMO7gYB`&GO$wiq3C7Jno3=9=>
zg2M`mO22;zF8KKMiI%sn*10q1gExd4Tr__0Nawtd=1GR4p57f6#zDrHjlC4+JeqW5
zQiwwEN(Eze_5C*cTspgrRX4AYSkm8ZyjH`|T=a<9k$@S~`=i%xYFa&?`-UjPk&7Dp
z^ZN{B85o!jdAc};RLprh$1q#kQNYb#?cG%=renRG-6ENno=^Y%%0x5h#tuOy=cw;`
zBK{i_ll^W*Rz9Ei?Tf8|%%!ZnE$6GNXUvT5eQd$e$8FVE?9P;+!r(>}5yKSMb~?61
zN%y7ZegCD5-;(#;ua&H`vw3&z@awF;C3a3O`*vRVZn!+<`ke0%xIFBax$C?a(^fp|
zSatVa?O*ZBeV@-?TK#NK_g&_=c)8g}Htv76{py$d)n*@ecF0KI&SC9H+_AIkuD_V}
zgQCA5y_fs`d*=UU-}VSbU60BCvv(KPFHc)j_(AVP(^B6Xef2T*>$v;`rhfiiyFm2l
z?F%b}-7gtE|NZv!yW3xTtM~Noy`NW>|0s6)x@IPw4p#5u?{plZp3gbH`e$ExP9f_T
zqmPzri~Hs<=N>W;Vo+uzjfmxVvGU%1j+K4e7Ti0atFAM({kzgav-tA%Ga&f@TrmXBI=Vvbd)=;}zq27Mix;o94+(TivbU9P+F!imR*q@gd!F2S|
zojEn~5#o0F2Q9y-?_hDcenLL!a8UhxAlumUoZt1ZxP--)*1B
z*QNbn$GwK<%dS5PKB35U{qbvMpn<*aU)0Yu?sinRnkZ&D$7$Zy7kV7Pr1p===do2g
U!FVdQ&MBb@0Ek9>kN^Mx
literal 0
HcmV?d00001
diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi
index c9e80285dc69c2c15413826f2c773047f543c31a..edff5a54f1e02af42ff51d68dfc69857b38be832 100644
GIT binary patch
literal 32950
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Πo}7
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