Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
* POLARIS: No string compare for assistants
* POLARIS: Move these planes to more useful places
* POLARIS: Only spam ghosts with chat messages from things with real clients
* Fix small forgotten lines of text accidentally left out of VS syncs.
* Fix typo'd plane in lighting.dm and remove redundant definitions.
Also fix a few things to be on the correct plane. Basically the under-floor stuff is supposed to be on PLATING_PLANE.
Portable atmospherics go on object layer so they are above stationary machinery, given that they move around.
Fixed wires to be on top of pipes like they used to be, otherwise they'd be obscured too often.
* Makes slightly smaller objects capable of bashing open busted APCs
Because I've realized that engineers have enough --- to deal with without having to hunt down a fire extinguisher to bash open an APC
* Grammaring the best
Grounding rods that are anchored can be struck two turfs farther away than unanchored. This makes it possible to leapfrog towards a tesla because an unanchored one can be protected in the "shadow" of the anchored one.
Drone subtype added that is slower than the regular type, so that fleeing is an option now.
All drones on surface POIs have been replaced by this subtype.
Fixes power issues in several POIs.
Makes POI SMESes more robust and start full.
APCs in POIs will no longer send an alert to the station.
Fixes missing area in bonfire POI.
Tweaks name and desc of big stompy drone mechas.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
* expanding rupture procs
adds hydromagnetic traps for power production.
* Minor tweaks.
* Adds modular guns using research components.
* Updates materials to have a radiation_resistance variable, used in calculating radiation. Adds Lead as a material.
* Un-zeros stock material radiation resistance.
* Adds, and enables four 'end-events' for the RUST in place of the old Rupture() proc.
* Map muckery?
* absolute pathing i guess?
* getting angry, travis.
* TRAVIS
STAHP
* I...
Comments? Lists? Who the hell knows.
* Fixes#4632.
* 1:27 am coding best coding
* fixes a warning
* Removes the last of the gender macros. Gender is dead.
* gender II: the travis-ing
* linebreaks are dead too.
* oops i accidentally the gender, also ambiguous gender is now taken into account for get_visible_gender
The cross of invisible particle accelerator/gyrotron targets where the
field goes was set as impassible to everything but mobs. Including
air. Now it's impassible to beams and particles only.
One place was capping the 0-1 percent_instability float to 100 instead
of 1, easy fix.
* Adds "typecache" utility functions. A fast way to filter lists by type.
Ported from TG
* Ports the "orbit" feature and subsystem from TG
* Adds a feature that allows mobs and objs to "orbit" around some atom. They literally are moved around in circles. See the `orbit` proc in orbit.dm.
* Adds a subsystem that processes the actual movement of orbiting items.
* Adds utility methods for common machinery behavior.
* Adds default_unfasten_wrench which handles the standard anchor/unanchor behavior of wrenches being used on machines. Together with the other default_x_tool machinery procs we can eliminate having that code duplicated in dozens of places!
* Adds is_wire_tool proc to easily detect when a machine is hit with a tool that should open its wires UI (if it has one).
Based on ideas from Paradise, with improvements for us.
* Implements the Tesla Engine
Ported from a mixture of TG and Paradise code and assets: Edison's Bane
Includes the tesla energy ball itself, the generator that makes it, tesla coils, grounding rods, the circuits and frames to build them.
* Switch dusting to zapping on impact and spin better
Ported /tg SpinAnimation which supports more than triangles.
* Make Singulo Stable Again
* Prevents emitter beam effects from being pulled by singulo. Now watch them hit the field gens.
* Prevent singulo from consuming the PA particle effects. It already gets fed by impact, don't try to eat them.
* Improve the Setup Singularity debug verb to do more better setup (including PA)
* Fix the energy dissipation values so that singularity does not just keep on growing even when setup properly.
* Enhance singularity proc/eat()
* Use `var/simulated` as a more generic way to ignore lighting overlays etc
* Remove redundant code in the rest of the proc body.
* Slight optimization: avoiding typecheck in loop over return from orange()
* This is PHASE 1 of a multi-phase conversion. In this first phase we implement the subsystem, but leave it processing the existing global list variables. In the next phase we will switch to use datum variables in the subsystem. The main reason for splitting into two phases is ease of code review; change the meaningful code without the hundreds of machines -> SSmachines.machinery substitutions.
* We did declare macros for adding/removing things to the processing lists, and convert everywhere to use the macros.
* Added var/is_processing to /datum to keep track of whether an instance is already in a processing list (prevents it being in the list twice!) and also debugging, making sure its not in two lists etc.
* NOTE: The global machines list is **no longer sorted** for performance reasons. As far as I know, the only module that actually ever cared was cameras. Our camera system already handles its own sorting in the cameranets anyway, so it should no longer be needed.