Files
Bubberstation/code/datums/components
SkyratBot ed2487f201 [MIRROR] [READY] Kitchen Rework part 1: I just want to griddle! (#2173)
* [READY] Kitchen Rework part 1: I just want to griddle! (#55319)

This PR essentialy moves away from the extremely microwave dependent cooking we have for meat right now, and making it a bit more sensical by making you use a grill to grill meat. The grill takes a different time (with variation) for different grilled things. Once finished it will turn that food into something else.

Yes, this does mean creating burgers takes longer, but in return you can make more patties at once, and you are not required to stay at the grill while its going. This lets you cook as much as you want at once, just make sure your meat doesn't burn!

In the future, I hope to move more things like this to machines similar to this (Pasta boiling, putting eggs on the griddle, soup making, etcetera) to create for a more interesting cooking experience.

* [READY] Kitchen Rework part 1: I just want to griddle!

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-14 02:01:55 +01:00
..
2020-10-30 17:30:11 +00:00
2020-08-19 04:48:14 +02:00
2020-09-07 03:52:59 +02: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.

See this thread for an introduction to the system as a whole.

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