* fixes contents not being removed from the spatial grid when deleted during movement between 2 grid cells (#75658) ## About The Pull Request fixes the flaky test reports for cockroaches being stuck in the spatial grid (which mothblocks seems to have closed all of) cockroaches get deleted when they die, so theres a spurious unit test failure where if a cockroach is on a tile in grid cell A and moves to a lava tile in grid cell B, they will get killed when lava.Entered() is called, then deleted, and when /atom/movable/Destroy() is called we try to take them out of grid cell B (because their loc is the lava tile) but they were never added to that cell yet because their movement never finished, so that doesnt do anything. THEN moveToNullspace() is called, that movement finishes before the first movement, and then in Moved(old_loc = lava turf) we try to remove it from grid cell B which again doesnt work, and then the first movements Moved(old_loc = original turf) is called where we can actually remove them from the correct grid cell, except we cant because in exit_cell() we subtract `old_target.important_recursive_contents[channel]` from the cells content lists, and since the target is deleted by this point it doesnt have important_recursive_contents. so the fix here is changing this so it subtracts `old_target.important_recursive_contents?[type] || old_target` instead, which works if the target is deleted. also fixes some Entered() overrides that dont call parent and improves documentation on spatial grid defines ## Why It's Good For The Game fixes it without needing the change_loc() setter * fixes contents not being removed from the spatial grid when deleted during movement between 2 grid cells --------- Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Skyrat 13 (/tg/station Downstream)
- Git / GitHub cheatsheet: https://www.notion.so/Git-GitHub-61bc81766b2e4c7d9a346db3078ce833
- Guide to Modularisation: ./modular_skyrat/readme.md
- Website: https://www.tgstation13.org
- Code: https://github.com/tgstation/tgstation
- Wiki: https://tgstation13.org/wiki/Main_Page
- Codedocs: https://skyrat-ss13.github.io/Skyrat-tg/
- Skyrat 13 Discord: https://discord.com/invite/hGpZ4Z3
- Coderbus Discord: https://discord.gg/Vh8TJp9
This is Skyrat's downstream fork of /tg/station created in byond.
Please note that this repository contains sexually explicit content and is not suitable for those under the age of 18.
Space Station 13 is a paranoia-laden round-based roleplaying game set against the backdrop of a nonsensical, metal death trap masquerading as a space station, with charming spritework designed to represent the sci-fi setting and its dangerous undertones. Have fun, and survive!
Important note - TEST YOUR PULL REQUESTS
You are responsible for the testing of your content and providing proof of such in your pull request. You should not mark a pull request ready for review until you have actually tested it. If you require a separate client for testing, you can use a guest account by logging out of BYOND and connecting to your test server. Test merges are not for bug finding, they are for stress tests where local testing simply doesn't allow for this.
DEVELOPMENT FLOWCHART
DOWNLOADING
❗ How to compile ❗
On 2021-01-04 we have changed the way to compile the codebase.
Find BUILD.bat here in the root folder of tgstation, and double click it to initiate the build. It consists of multiple steps and might take around 1-5 minutes to compile.
The long way. Find bin/build.cmd in this folder, and double click it to initiate the build. It consists of multiple steps and might take around 1-5 minutes to compile. If it closes, it means it has finished its job. You can then setup the server normally by opening tgstation.dmb in DreamDaemon.
Building tgstation in DreamMaker directly is now deprecated and might produce errors, such as 'tgui.bundle.js': cannot find file.
How to compile in VSCode and other build options.
Contributors
/tg/station HACKMD account - Design documentation here
Interested in some starting lore?
LICENSE
All code after commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU AGPL v3.
All code before commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU GPL v3. (Including tools unless their readme specifies otherwise.)
See LICENSE and GPLv3.txt for more details.
The TGS DMAPI is licensed as a subproject under the MIT license.
See the footer of code/__DEFINES/tgs.dm and code/modules/tgs/LICENSE for the MIT license.
All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.

