Files
Bubberstation/code/datums/components
Thedragmeme e4082228ff Blesses the codebase with Blahaj (#81862)
## About The Pull Request

Adds the Shark and Shork Costume to the game, craftable via carp scales.
In addition, adds the ability to use a shark costume to craft a shark
plushy.


![ge1uucdAYn8xAAAAABJRU5ErkJggg](https://github.com/tgstation/tgstation/assets/81540056/52d66419-4946-4c0e-8061-8b03e6858a53)

![J2YyKAAI2pNXkXCAyMAAI0sAajuhAYE4FeBciufHkQc53Vij1rxorYmNyadxkKAQRo3lII0FBclnqOiQAChACNyZ95l4ER6FWAbFjkcSrxraha5Q7MF6guBHongADNkZcQvt5bkwIhMDACCBACNDCXpbpjItCrAI0JHO8CAQikE0CA0hliAQIQ6EgAAeoIjmwQgEA6gf8Bgzt4GlTrNLUAAAAASUVORK5CYII](https://github.com/tgstation/tgstation/assets/81540056/a2691688-b6e9-493d-99ec-ef729cf6cb06)


It is five carp scales and five leather to craft the shark costume, take
the costume and craft it with wirecutters to make a shork costume. Take
a shark costume, 10 cotton, and five cloth to craft a shark plush.

## Why It's Good For The Game

Good and funny costumes that give an additional use to pre-existing
crafting materials = good
Giving players another way to craft the shark plushie = good

Todo:
- [x] Make sure shit wont break
- [x] Add the crafting recipe for the costume
- [x] Add the crafting recipe for the shark plushie
- [x] Profit??

## Changelog

🆑 Drag
add: Adds the Shark and Shork costume. Blahaj lovers rejoice!
/🆑

---------

Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2024-03-08 19:37:25 +01:00
..
2023-10-16 16:14:31 +02:00
2023-10-11 16:58:29 -06:00
2023-12-25 13:00:50 +01:00
2024-02-11 03:17:55 +01:00
2024-02-29 04:24:10 +00:00
2023-12-04 14:42:43 -08:00
2023-11-12 09:25:59 +00:00
2023-10-21 23:36:48 +00:00
2024-01-26 02:23:24 +01:00
2023-10-08 03:04:35 +01:00
2023-12-04 14:42:43 -08:00
2023-10-05 13:20:16 -06:00
2023-10-16 16:14:31 +02:00
2023-08-14 12:39:30 -06:00
2023-12-09 13:31:50 +01:00
2024-02-25 23:14:09 +01:00

Datum Component System (DCS)

Concept

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

HackMD page for an introduction to the system as a whole.

See/Define signals and their arguments in __DEFINES\components.dm