11-29-2018, 04:39 AM
or just calculating any enclosed space as a single entity to pressurize, rather than every single tile being pressurized and having to then spill air a tiny bit at a time to nearby tiles. Essentially the FTL method of doing things. Provided a room is sealed, it'll pressurize evenly.
Whenever a turf/wall is created/deleted (and possibly just at random for random checks), the game checks the surrounding area for any enclosed space. If it's enclosed, the game registers the enclosed space as a single atmos entity and any gas added will evenly add to all tiles in the space. If a breach occurs, it'll depressurize the whole thing evenly. While this last bit isn't preferable, it's a side-effect of this method (without any tweaking, such as dividing large enough spaces into smaller spaces to prevent a hole causing depressurization miles away). Also, naturally, a hole into space should probably not instantly depressurize, but it should absolutely make it hard-to-impossible to breathe within a minute or so.
Whenever a turf/wall is created/deleted (and possibly just at random for random checks), the game checks the surrounding area for any enclosed space. If it's enclosed, the game registers the enclosed space as a single atmos entity and any gas added will evenly add to all tiles in the space. If a breach occurs, it'll depressurize the whole thing evenly. While this last bit isn't preferable, it's a side-effect of this method (without any tweaking, such as dividing large enough spaces into smaller spaces to prevent a hole causing depressurization miles away). Also, naturally, a hole into space should probably not instantly depressurize, but it should absolutely make it hard-to-impossible to breathe within a minute or so.