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.
Some recipes were sorted using paths that resulted in empty recipe types
(for example, /datum/recipe/microwave/human/burger causing an empty
/detum/recipe/microwave/human type to exist). These would be included in
the available recipes, and since their requirements are null, would all
be satisfied by anything in the machine. Since their result is null, a
runtime would occur while trying to create nothing.
This fixes some (all? Too lazy to test them all) kitchen machines never
failing.
This commit adds the user name and ckey (where applicable) to the gibber
victim list.
victims = /list (1)
- [12:27:52] unknown () killed by The unknown (tigercat2000) = null
victims = /list (1)
- [12:26:56] Shadow Larkens (tigercat2000) killed by Autogibbing = null
This commit also fixes admin-vareditting the autogibber direction, it will
actually update it's linked turf now.
This replaces the old autogibber with a spawnable version that is actually
an automatic gibber. This also fixes a few minor issues I did not notice
before with the gibber code. Namely, overlays getting messed up.
The gibber will now spit out things inside of it 1 by 1 instead of all at
once.
Largely a port of https://github.com/Baystation12/Baystation12/pull/8038
(Credit to Zuhayr for his hard work on botany)
Breakdown of the port:
- Plant traits have been expanded drastically
- You want a bio-luminescent tomato that explodes into a cloud of acid
when thrown or stepped on? Or maybe a corn vine that entangles people
and injects them with mannitol and it's harvests that can be used as a
battery? Totally possible.
- Adds new random seeds! Replaces the egg-plant seed in the exotic seeds
crate from cargo with 2 of these.
- Literally random, they have randomly generated stats, chemicals, and
traits. Great for researching, and/or wasting cargo's supply points.
- Plant analyzers can now print off the last scan they recorded, meaning
you can distribute copies of the report to validate your claims of
having the dankest weed on station.
- Potatoes, carrots, watermelons, soybeans, and pumpkins can all be
sliced/diced/carved with ANY sharp object, such as knives, hatchets,
glass shards, and e-swords.
- This should give the chef a bit more room to make it look like he
actually is doing the work by slicing up fries by hand. The processor
still also works.
- New reagent: Wood Pulp
- Currently has no use in recipes, but any plant with this reagent in it
can be chopped into planks with a hatchet. Did someone order some
Ambrosia Deus planks?
- Also, vines with woodpulp are dense. You have been warned.
Now onto the stuff I did in addition to the stuff from Bay.
- Fixed typos where plasma was mistakenly called "phoron" in the port.
(Sorry bay)
- Replaced bay's botany mutation chances with our tiered mutation
system.
- Re-re-added tobacco, space tobacco, tea aspera, tea astra, coffee
arabica, and coffee robusta.
- Re-enabled the rolling of joints
- Made it possible to hand-roll cigarettes from tobacco / space tobacco.
(A requested / promised addition)
- Just like with joints, it will inherit any chems in the tobacco, has
the same reagent capacity as a joint, but looks and smokes like a cig
(lasts as long as the cigarettes) with a different name/description to
differentiate it from pre-made cigs.
- Corn can now be juiced in the grinder, in addition to grinding it.
Grinding corn will result in it's contained reagents (like corn starch),
while juicing corn will result in corn oil.
- Re-added the additional plant analyzer information when scanning trays
(displays age, weed level, etc)
Also cleaned up the recipes_microwave.dm file, removing the commented
out recipes that were distributed to the other machines during the
Kitchen Overhaul. Shortens the file a bit and makes it more readable.
I probably forgot stuff, so I will add things as I remember them / they
get pointed out.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
Fixes all cotton candy flavors/colors utilizing the plain version's
sprite.
Fixes fixing kitchen machines (candy maker, grill, oven, microwave) with
a wrench attempting to unfasten/refasten them to the ground. You can
only unfasten these machines if they are not broken now.
MASSIVE overhaul to the kitchen, should make the chef job more
interesting.
Additions:
- Candy Maker!
- - This machine allows the chef to create a variety of sugary treats
for the crew to enjoy.
- Candy! Lots of candy and this is only the first wave!
- - More candy planned / dreamed for the future
- Candy Moulds
- - Craftable from plastic sheets, also available in the kitchen vendor.
Use these to make different candy types
- - These are returned if you successfully make the candy. Screw up and
the mould is destroyed!
- Cardboard Tubes are now craftable from cardboard
Changes:
- Oven and Grill have been updated to work more in line with the
Microwave and Candy Maker.
- - This means that they are also buildable and upgradeable!
- - Boards for the oven, grill, and candy maker are available from the
circuit printer.
- Many recipes moved from the microwave to the oven and grill.
- - For example, bread is made in the oven, and kabobs are made on the
grill.
- Adds "byproduct" var to recipes
- - Allows for the return of an item in addition to the result,
currently used for candy moulds
Fixes
- Adds Grape Juice reagent.
- - This will fix a runtime and also allow people to actually drink from
the purple cans.
Sprite Credits
- Many thanks to FoS for their sprites for a lot of the candies which I
combined and recolored
- - Also thanks for the new sprites which were included, but not all
used (yet!)
- I also edited and created some horrible sprites for a few candy items
and machine states.
- - Hopefully they will be such an eyesore that a real spriter steps up
and provides something nice.
This overhaul should hopefully add a little variety to the chef role,
while keeping it largely unchanged in terms of difficulty.
...based on distance, similar to projectiles.
Conflicts:
code/defines/obj.dm
code/game/machinery/kitchen/smartfridge.dm
code/game/machinery/vending.dm
code/game/mecha/equipment/weapons/weapons.dm
code/modules/games/cards.dm
code/modules/mob/living/carbon/carbon.dm
code/modules/mob/living/living_defense.dm