mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
[MIRROR] Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#2957)
* Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#55645) Refactors the holodeck to use map templates instead of copy_contents_to, which every maintainer seems to have complaints about. Fixes #41485 because the matches become part of the spawned list created by ssatoms Fixes #54789 because the holodeck area no longer has the NO_TELEPORT flag Fixes #55676 because the map templates cant be changed midround unlike the program copies in the centcom z level Fixes #49318 because the holodeck no longer creates new areas like the original did This pr also changes initTemplateBounds to be a /datum/map_template proc instead of a parsed_map proc. This was mainly so I wouldn't have to duplicate vars between map_template and parsed_map. It's also nice because there's no longer a parsed_map proc inside the map_template file, especially when it didn't need to be a parsed_map proc. The holodeck sims wont take up space in the centcom z level any more (which allows for more possible programs in the future), and map templates are more heavily tested. This is also a chance to future proof the holodeck against bugs. Holodeck also seems more responsive. This should allow for a second custom holodeck in some future ruin as well, although that of course will not be in play for the near future because of the offstation content ban. Also I documented the fuck out of the holodeck * Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
This commit is contained in:
@@ -126,7 +126,8 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
|
||||
playsound(src, 'sound/effects/roll.ogg', 5, TRUE)
|
||||
var/turf/T = get_step(src, dir)
|
||||
connected.setDir(dir)
|
||||
if (connected)
|
||||
connected.setDir(dir)
|
||||
for(var/atom/movable/AM in src)
|
||||
AM.forceMove(T)
|
||||
update_icon()
|
||||
|
||||
Reference in New Issue
Block a user