## About The Pull Request
Just improves the new material unit test, making it more copy-paste
friendly when dealing with large amounts of things to change.
It now also calculates the appropriate sheet material value for you too
so you quite literally just have to copy paste the line and you're done,
no more having to do math yourself.
<img width="2104" height="155" alt="image"
src="https://github.com/user-attachments/assets/b605e423-0418-46b7-b40c-c65fac920af9"
/>
## Why It's Good For The Game
Developer qol.
## Changelog
Nothing player-facing
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.
## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.
Currently a WIP as I slowly deal with the unit test reports.
## Changelog
🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
I've been coding a PR these couple days, and I've noticed a few
oversights, all related to food, while working on it.
This PR removes an unused, 12 years old datum, and some redundant text
macros in a text string, for processable items, that already uses the
bold spans. It also makes it so food made with a drying rack gets the
chef made trait, similarly to other methods (though not as foolproof).
The wording of microwable/grillable/processable outputs now takes into
accounts plurals.
For example, the examine text for an onion slice is now: "The onion
slices can be baked into _some_ onion rings", rather than "an onion
rings".
- Examining microwavable things now uses "can be", rather than "could
be"; the same verb as bakeable and griddlable.
- Processing atoms now uses `plural_s()` rather than just a flat `/s`,
which is unreliable.
- The use of `<b>` tags has been changed to `span_bold()`.
## About The Pull Request
The first and biggest thing that is in this pull request is changing the
old pizza crate code from something that is hard to parse and full of
blahblach = C stuff into things that I believe are more in line with
modern standards, which adds the potential for expansion or additions to
pizza crates with more ease if, for example, someone wanted to make a
flatbread crate or something.
I've also changed all of the lizard flatbreads from just /food/pizza/
into being /food/pizza/flatbread so that I could fax them, along with
sliced bread.
Then I went in on pizzabox code adding various screentips and balloon
alerts so that holding stacks of pizza and manipulating them doesnt fill
your chat with stuff and finally to pizza code to add screentips.



EDIT: I've changed the code so that instead of using the tool context
screentips add element, it adds screentips via the processable add
element which means all processable food now has a default screentip of
"process" as a result of this PR
## Why It's Good For The Game
Old pizza crate code was unclear and now is clear so it should be easier
to know what to mess with if someone wants to change them further or add
or expand them.
We all like screentips!
Old pizzaboxes had way too many unnecessary messages getting printed to
chat.
You can fax root flatbread but not flatbread with toppings on them and
while that can make a kind of sense you can fax pizza slices with
toppings on them! Bread slices just also makes sense to add while I'm at
it.
## Changelog
🆑
add: you can fax flatbreads and slices of bread now, changed all
flatbreads into children of pizza/flatbread to allow for this
qol: adds screentips to various pizzabox action (stacking, when you can
take pizzas out, pizza box bomb stuff)
qol: adds a way to add screentips directly into processable food via the
add element processable proc
refactor: pizza crates work the same but more clearly and more variable
/🆑
Co-authored-by: san7890 <the@san7890.com>
Makes the code compatible with 515.1594+
Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword
And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.
@tgstation/commit-access Since the .proc/stuff is pretty big change.
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE
* microwaved, too
* HOOH
* LINT, review
* review but this time im not lying :trollface:
* maybe i should just like test or something
* reviews i missed
* 🐑