LateInitializeName allows storage items to set their name flexibly
after normal initialization is completed, allowing it to be based on
holder, contents, location, etc.
Also hoisted storage/internal/Destroy to its rightful place.
Also adds item/proc/BlockInteraction. Carries out common or configurable
checks for whether a given interaction should be allowed to continue;
reduces boilerplate somewhat.
Also refactors stamps to make this possible. Stamps are now configured
with authority_name and authority_suffix rather than setting the stamp
name directly. This is so that envelope seals can be sealed by a `Sol
Government seal` rather than `Sol Government logo stamp seal`, or a
`clown seal` rather than a `clown's rubber stamp seal`. You get the idea.
Also partially refactors folders. Their attackby behavior was a sin.
* Allow foods to be renamed.
Reagent-only foods produced in things like the oven are colored properly.
* Fix Naming on Reagent-Only food.
* Death to Alt, long live Verb
* Update code/modules/food/food.dm
Co-authored-by: Spookerton <spkrtn@pm.me>
Co-authored-by: Spookerton <spkrtn@pm.me>
I was originally going to do a suggestion but ended up writing an
alternative since it would've been a very big suggestion.
atom/Topic and atom/CreateAtomTopic are provided as a pair with basic
source verification built in. *This verification is not currently
applied for subtypes of atom because their own topic links do not pass
the appropriate reference.*
adds the AtomTopicExamine behavior & related code in atom examine.
Examined atoms that do not display all of their available information
in the chat box will indicate that they have more information available
and provide a link to switch to the examine tab of the stat panel. This
is applied for both preferences where the examine tab is not opened
automatically.
fixes a couple of display issues with examine behavior, including a
blank line showing when usage information should be included but none
was available.
closes#8808