* Add tests for ghost spawn position
* Make ghosts spawn immediately
* Format mind system
* Move ghost spawning to GhostSystem
* Spawn ghost on grid or map
This fixes the ghosts being attached the parent entity instead of the grid.
* Move logging out of the ghost system
* Make round start observer spawn using GhostSystem
* Move GameTicker ghost spawning to GhostSystem
Moved the more robust character name selection code over.
Moved the TimeOfDeath code over.
Added canReturn logic.
* Add overrides and default for ghost spawn coordinates
* Add warning log to ghost spawn fail
* Clean up test
* Dont spawn ghost on map delete
* Minor changes to the role test
* Fix role test failing to spawn ghost
It was failing the map check due to using Nullspace
* Fix ghost tests when running in parallel
Not sure what happened, but it seems to be because they were running simultaneously and overwriting values.
* Clean up ghost tests
* Test that map deletion does not spawn ghosts
* Spawn ghost on the next available map
* Disallow spawning on deleted maps
* Fix map deletion ghost test
* Cleanup
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A
* Raise `StationPostInitEvent` broadcast
* Basic variation pass handling
* standardize names + rule entities
* why does it work like that?
* add to defaults
* light break variation pass
* ent spawn entry
* move some stationevent utility functions to gamerule + add one for finding random tile on specified station
* forgot how statistics works
* powered light variation pass is good now
* station tile count function
* public method to ensure all solutions (for procedural use before mapinit)
* move gamerulesystem utility funcs to partial
* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit
* trash & puddle variation passes!
* oh yeah
* ehh lets live a little
* std
* utility for game rule check based on comp
* entprotoid the trash spawner oops
* generalize trash variation
* use added instead of started for secret rule
* random cleanup
* generic replacement variation system
* Wall rusting variation rule
* account for modifying while enumerating
* use localaabb
* fix test
* minor tweaks
* reinforced wall replacer + puddletweaker
* Allow game presets to require certain maps
* make preset maps ignore the game map pool
* make it use a map pool prototype
* Typo
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* add ability to prevent ghosting to MindComponent.cs
* make minds preserve properties in certain transfer scenarios
* Revert "make minds preserve properties in certain transfer scenarios"
This reverts commit 333cae0db0faf4ef81767b93332271d944c90a0e.
* move PreventGhosting to the actual mind
* GameTicker turned into an EntitySystem
* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events
* Change event names to be more consistent with the rest.
* YAML linter uses the dummy gameticker CVar override.
* Fix game ticker initialization order
* Dummy ticker won't spawn players.
* Fix character creation test