* Adjusted to scale better with difficulty and be not quite so extreme. Most categories will now be:
* Mundane: 1-2 items
* Moderate: 2-4 items
* Major: 3-6 items
* Clarified that not everything has to go in crates.
* Vary flavor text for different severities.
* Supply demand was firing waaay too often. Changed it to be a one shot event at each level, so it will at most happen three times per shift.
* Added atmos leak and canister leak events to rotation.
This happens because edges cease processing when the delta between their zones is small enough. This is normally a fine optimization, but when it results in a room at 4kPa with a window open to space, it breaks imurshuns.
Two main changes to solve this problem without too much cpu cost:
1) Stop edges from sleeping if one side is a hard vacuum. This ensures that a zone doesn't freeze at a low-but-non-zero pressure when touching hard vacuum.
2) Prevent #1 from causing the edge to stay alive for ages while pressures asymptotically approach zero as they are repeatedly equalized but only half is dumped to space. (Would happen if ZoneA---ZoneB---Space arrangement exists) by detecting when the total amount of air left is small enough that it would normally sleep anyway, and just setting it to zero.
The end outcome is that behavior is mostly the same as before, except when zones have an open path to unsimulated space, they will reach equilibrium at zero instead of semi-random lowish values.
Fixes rooms showing wrong pressure after reaching equilibrium.
* If we do not do this, zones are left with the wrong total_moles (and therefore the wrong **pressure readout**) after equalizing.
* Equalizing happens when two connected zones get close enough to suspend processing. Thus the effect of this bug would be wrong pressure readings on rooms that are no longer being updated, thus locking in the wrong value!
* In addition to showing a list of air alarms, the atmos computer now shows them as pins on the nanomap.
* Since the atmos computer shows all z-levels, the nanomap will be mutli-z. Limited to station levels of course.
* Changes navbeacons to no longer use radios (Doing so was slower and didn't really help anything) Note: var/freq remains for mapping compatibility until all maps are updated.
* Fixes navbeacons to actually hide under flooring if you put plating over them.
* Changed how navbeacons are mapped in. Don't use the picky "code_txt" variable, instead use appropriate subtype.
* Made useful reusable subtypes so you don't have to code in a type for every. single. one.
* Updated mulebot to use new navbeacon codes.
* Re-activate patrolling! With the new navbeacons, bots with will_patrol can follow the patrol navbeacons.
* Note: various "should_patrol" variables on each bot type unified under /mob/living/bot/var/will_patrol
* Securitrons (beepsky) got an overhaul to the new patrol routing.
* Note: BayStation replaced the snowflake handcuffs code with acutal handcuffs. Polaris handcuffs requiere a grab to work, so are more complicated. Kept our existing attack code.
* Behavior procs reorganized to use better movement detection and just be more flexible.
* Floorbot fixes & removal of bridgemode
* Floorbot will now remove & replace broken floor tiles.
* Floorbot will no longer decide its okay to pave over all of SPACE.
* For the moment patching hull breaches is disabled, it is too laggy.
* Sundry bugfixes to all bots
* Use forceMove() instead of setting loc
* Use "\The [X]" message strings.
* Pass target to do_after() when doing something to a target.
* Fixed events that were supposed to emag bots to now do so again.
LOOK NOBODY'S PERFECT OKAY
I added /food/ to the path of all the food recipes but these 7 have a completely silly means of actually creating the food items, and it results in that proc never being called because I didn't change THOSE to have /food/ in the path as well.
It's not like dough is important, okay.
And this mechanism of doing this is dumb.
And huff.
~~pleasedonthurtme~~
LOOK NOBODY'S PERFECT OKAY
I added /food/ to the path of all the food recipes but these 7 have a completely silly means of actually creating the food items, and it results in that proc never being called because I didn't change THOSE to have /food/ in the path as well.
It's not like dough is important, okay.
And this mechanism of doing this is dumb.
And huff.
~~pleasedonthurtme~~
* In addition to showing APCs on a sensor'd powernet, the same APCs can be shown on the nano-ui map!
* Hover tooltip shows basic information on the APCs.
* Makes it easier to spacially understand where APCs are when you send people out to work on them.
I had to subtype all the recipes though. This should probably have been done a while ago anyway, medicine and drinks should probably have some sort of path separation like this.
The idea of updating the wiki list of recipes is daunting, especially getting all the icons and resizing them to look nice on a webpage, so fuuuuuuuuck that.
I made a verb that does it. It dumps upsized (64x64) images of every food icon and a recipes.html file into your cache with a table that contains all the recipes, nicely formatted, in alphabetical order (the -burger and -kebab at the top are because those are [whatever-meat]-burger and [whatever-meat]-kebab).
Then you can just throw them on a website. It will include a recipes.css file if it's in the same dir.
Here's the result on our server:
https://vore-station.net/infodump/recipes.html