[MANUAL FIXED MIRROR] 22129 and 22154 (#22379)

* Makes hoods into a component (#75977)

## About The Pull Request

Refactors the behaviour of "one clothing item deploying another clothing
item" from `/obj/item/clothing/suit/hooded` and makes it into a
component.
This allows you to make hooded items which are not part of that
typepath. It also means you could make (for instance) a hat which can
deploy a pair of sunglasses into the eye slot or a jumpsuit with
deployable clown shoes or something.

I need to pass in an assload of callbacks because we have a bunch of
special hoodies that want to do things when you raise and lower the
hood, but for a normal item you would not need these.

## Why It's Good For The Game

Frees people from the tyrrany of typepaths, mostly.
Plausibly you could use it to do something fun we don't currently do.

## Changelog

Not player facing, hopefully. As long as I did this all right.

* Makes hoods into a component

* [no gbp] Fixes item action buttons

* Update items.dm

* Fix mirror 22129

* Some last minute updates -- comment and small optimization

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
This commit is contained in:
Bloop
2023-07-11 19:57:19 -04:00
committed by GitHub
co-authored by Jacquerel SkyratBot lessthanthree
parent 765bcfb355
commit df074b9966
16 changed files with 340 additions and 180 deletions
+1
View File
@@ -445,6 +445,7 @@
set_wearer(user)
/obj/item/mod/control/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot)
. = ..()
quick_activation()
/obj/item/mod/control/doStrip(mob/stripper, mob/owner)