* Axes unused 'paused' variable from projectile code
* Remove TGUI in scrubber init
Moves it to only happen when a user interacts with it.
* Ghostpod tgui input from init -> LateInit
Ghost query REQUIRES a tgui input. It can't be fixed on that level.
Ghost pods however created a ghost query when spawned if they are NOT mapspawn. This means it can only be moved to lateinit, as far as I can see
* Moves borer ghost query from init to lateinit
* Better mob chasing. Gets rid of sleep in mob chasing
Moves Noodle's and Ian's snack tracking var to base /simple_mob
Moves Noodle's and Ian's tracking process from a individual proc of each to /simple_mob
Moves the sleeps out from the tracking proc and makes it a repeating timer.
Noodle now gets nutrition when you feed him.
* Moves blob query to lateinit
Once again, blob HAS to do a ghost query when it's created.
Ghost query will ALWAYS make a tgui window.
* No sleep in cyborg code
Moves pick_module() from /init on robot_module to /LateInit on /robot
photo showing it popped up the module select when I spawned in as a borg: https://i.imgur.com/5rGbqIR.png
* Moves AI controlled human's 'death' proc to LateInitialize
* Moves Corpse's processing from Init to LateInit
death() has a LOT that happens inside of it.
* Let's actually make it lateload on the human itself
* In case we don't want to auto kill ai controlled mobs
* Fixes death() some more
- Protean blobs will ALWAYS have a humanform, so that segment of code was unused.
- Makes the bulk of the exit VR section in a new perform_exit() proc
- Gets rid of the WIP proof of concept hack in there.
* whoops duplicate
* We will ALWAYS have a humanform. ALWAYS.
The server will CRASH if we do not.
* get rid of this...
* Makes corpsespawn work better
* more VR stuff
* No suspending the whole machines subsystem
* avatar
* as anything
* u2
* nolist
* forgot this one
* fix
* VR fix
Fixes an oversight with VR sleepers
* player initiated
* OVERSIGHT
* Update borer.dm
OF course WE DON'T have a mind, we're a GHOST.
Fixes borer spawning
* this was unused
no
* Refactor hardcoded lateloaded map define zs to use a GLOB list instead
* Refactor groundbase wilds loading
* new to init docking codes
* fix space whales excessive deleting
* update comment
* Forgot some aliases
* How is this now a missing turf
Remove duplicate turf
* Add bapi-dmm, a rust maploader that goes BRRRRRRR
* A few more maps switched away from file paths
* Update to include 48f4879d8704cb057a (better path error handling)
* next set of spans
* some more
* next
* next
* next
* .
* text...
* next... rest soon
* .
* .
* ok last set for the night
* .
* .
* .
* .
* some more
* next
* next
* all for now
* .
* some more easy ones
* some more easy ones
* .
* .
* some more bolds
* oups auto complete moment
* add the remaining spans
* this as well
* this as well
* .
* .,
* resync them properly
Largely ported from the work done at Baystation in https://github.com/Baystation12/Baystation12/pull/17460 and later commits.
- Shuttles no longer require a separate area for each location they jump to.
Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
This means that more than one shuttle could use the same docking port (not at the same time of course).
- Enhanced shuttle control computers to use nanoui if they didn't.
- Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
- Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
- Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests
This all required a bit of infrastructure improvements.
- ChangeArea proc, for changing the area of a turf.
- Fixed lighting overlays actually being able to be destroyed.
- Added a few utility macros and procs.
- Added "turf translation" procs which are like move_contents_to but more flexible.
Adds ability to have many different 'versions' of a PoI, yet only having one show up per round.
An example on how to do this is provided with Radio Free Sif (aka DJOutpost).
Just make sure all the different versions have the same 'template_group' value.
* 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.
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
Fixes loading of map templates, now loads it acutally in the center instead of to the upper-left of center.
Warns you if you try to load a submap which is larger than the current world size.
* 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.
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
* to_chat() replacement.
* Revert calling target.init_dir() before connecting.
* This change was added in https://github.com/PolarisSS13/Polaris/pull/3775 to counteract `dir` not being set prior to New() for dynamically loaded maps. The root cause was /atom/New() not calling _preloader.load(). Undoing the change now that /atom/New() is fixed.
* The addition of the init_dir() proc itself however, is useful, because there ARE other times some atmos machinery will want to re-initialize its dir, specifically whenever it is rotated.
* init_dir() must be called in the constructor of all atmospherics machines capable of connecting to another. Since it has to happen for ALL machines, lets move that call to /obj/machinery/atmospherics/New()
* Rename /obj/machinery/atmospherics initialize() to atmos_init()
* These days `initialize()` is used to handle general object initialization that is moved outside of New(). The node connection discovery of atmos machinery needs to happen after all that, and so needs to be in a separate proc.
* Make sure to actually call atmos_init during system startup.
Mostly ports /tg/'s method of seeding submaps into specific z-levels.
Due to the low number of submaps present, all of the PoIs are guaranteed to spawn. As more are added, this should fix itself.
Also fixes various bugs with surface tiles, hopefully.
Adds some documentation to the map file system.
Adds a new 'plane' map, ideal for testing PoIs by loading them manually.
Makes space heaters glow orange.
Adds a new grille type for fancy surface windows.
Adds self planting hydro trays/dirts if a seed is on top of them when the map is loaded.