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: Attack animations
* POLARIS: Overlay flick system
You can't do this in Byond, unfortunately, so here's some code from /tg/
* Make attack anims a preference
* POLARIS: Do this lazily
* POLARIS: Speed up visible_message and audible_message
* POLARIS: Destroy this list rather than cutting it, for future safety
A null entry somehow got into ```player_list```, which caused an important proc called ```get_mobs_and_objs_in_view_fast()``` to fail. The cause appeared to be a brain mob failing to qdel, then failing to ```logout()```, leaving a null entry in ```player_list```.
```get_mobs_and_objs_in_view_fast()``` now makes sure every entry it iterates over exists, and this should fix the qdel issue as well.
Somewhere on the station, a gas canister is faulty and ruptures, releasing its contents (no explosion).
* Added as an event_manger event. This version is nice on low severity and picks a canister with nobody nearby.
* Also added as a gamemaster event.
* Added helper method to check area occupancy.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
``/mob/dead/observer`` -> ``/mob/observer/dead``
``/mob/eye`` -> ``/mob/observer/eye``
Reason being that they are similar in that they both don't interact with
the world in any way. Some procs were shared, some checks as well, and
it overall makes more sense this way. Plus, there were no ``/mob/dead``
mobs.