Refactors the code for Microwaves, Ovens, Grills, and Candy Makers to
utilize a shared parent which holds the common procs.
- This means any new additions or fixes will only need to be implemented
in one place, rather than 4, to affect them all.
- Also reduces file sizes on the individual machines' files by removing
a lot of the duplicate code
Updated the code for the kitchen machines to be more modular and fixed
some issues.
- Replaced color macros with span classes
- Replaced hardcoded names with src references
- Each machine has a cook_verbs list which is used to create the in use
message (Microwaving in progress)
- Each machine has variables to define the icon states for the different
states of the machine (on, off, broken, dirty, open).
- Changed a few formerly global variables to not be global, as this
would cause issues with the shared code (microwave with candy maker
recipes for example)
Fixed a bug where the microwave would be considered "full" before having
all of the ingredients for a recipe
- Created a new proc to count the number of items and fruits in a recipe
to determine the max_n_items value
Map Edits to Cyberiad and associated Z-levels for pathing changes
(map-merged)
- MetaStation will need to be updated as well, I'll do this in another
PR unless someone else beats me to it.
Load order changes mean globals used in the initialization of intercoms
aren't created before the global_announcer intercom is created, which
causes its creation to runtime.
I have picked an effective but probably incredibly sloppy way to fix
this runtime, because I'm not actually sure where this initialization
code belongs
This commit overhauls the global.dm file, global_lists.dm file, and
defines.dm file into a tree system based on -tg-.
All defines have been split and distributed in code/__DEFINES/
Everything from global.dm and global_lists.dm has been split and
distributed in code/_globalvars
The _compile_options.dm file contains anything that absolutely, 100%, must
be initialized before world.dm.
Name definitions have been moved to code/_globalvars/lists/names.dm.
Other things to note
- All instances of something.z == 2/1/3/5 have been replaced with easily
configurable defines, labeled ZLEVEL_. The map include file can
override these by defining custom ones in it's file, as it is at the
top of the tree.
This commit adds the spacecube system from -tg-. The spacecube system
allows for predicatably random space layouts- it is randomized every
round, but the transitions stay consistant for that round, therefore
making it possible to 'map' space, or explore in teams.
This commit updates the map system to -tg- standards. All stations are
defined under _maps/, and all .dmm files go under _maps/map_files/.
Currently, only the NCS Cyberiad is setup under the system.
Misc changes:
- World Status contains the map name
- dm.sh script will allow automatic map changing between restarts.
- _globalvars folder starting to take shape, not everything is migrated
there yet.