* Compound icon generator proc
Why didn't this exist before? Am I missing something? I need manipulatable icons of existing atoms including their overlays. Is there some easier way to get them than this...?
* Polaris Portion of AI Upgrade
* Merge two not-really conflicts
Thanks git, that whitespace conflict was super important?
* DME merge
* Added defines for mobs used by simple animals.
* Lost a slime along the way
* Disable debug settings
* HONK!!!
* Remove redundant hostile decls
* Replace loc= with forceMove in old SA code
I guess I should think of the children.
Only really works if you pick the option to put them in the mob, because the proc that spawns custom items is based on that, and I don't really want to rework the custom items system for such a small fix.
Added four extra hacking wires to the jukebox for Play, Stop, Next, and Prev. The main purpose is to allow attaching of singallers for remote controlling the jukebox.
* Any nulls present in the mob_list would cause a runtime when checked if they are gcDestroyed. Add a null check.
* Noticed that the object controller has the same bug, might as well fix now too.
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!
* 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.