Adds support for Rulesets having intrinsic template requirements (#72339)

Title

## About The Pull Request

Ensures that we load templates for a ruleset before we attempt to place
or cache characters for that ruleset
Also makes wizard and abductor async load their template to improve
(apparent) loading times for them
## Why It's Good For The Game

This is the only thing left that I can think of that would cause antags
like nukies and abductors to spawn in wrong
## Changelog
This should not be player facing

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This commit is contained in:
Zephyr
2022-12-29 22:02:29 -08:00
committed by GitHub
co-authored by Mothblocks
parent 581828c421
commit 8a8b4a37c4
14 changed files with 65 additions and 17 deletions
+5 -2
View File
@@ -181,8 +181,9 @@
/obj/machinery/computer/emergency_shuttle/proc/increase_hijack_stage()
var/obj/docking_port/mobile/emergency/shuttle = SSshuttle.emergency
// Begin loading this early, otherwise we get an awkward 30 second delay on the
SSmapping.lazy_load_template(LAZY_TEMPLATE_KEY_NUKIEBASE)
// Begin loading this early, prevents a delay when the shuttle goes to land
INVOKE_ASYNC(SSmapping, TYPE_PROC_REF(/datum/controller/subsystem/mapping, lazy_load_template), LAZY_TEMPLATE_KEY_NUKIEBASE)
shuttle.hijack_status++
if(hijack_announce)
announce_hijack_stage()
@@ -547,6 +548,8 @@
// unless the shuttle is "hijacked"
var/destination_dock = "emergency_away"
if(is_hijacked() || elimination_hijack())
// just double check
SSmapping.lazy_load_template(LAZY_TEMPLATE_KEY_NUKIEBASE)
destination_dock = "emergency_syndicate"
minor_announce("Corruption detected in \
shuttle navigation protocols. Please contact your \