Files
Paradise/code/modules/awaymissions/map_rng.dm
2022-07-20 22:56:34 +02:00

52 lines
1.2 KiB
Plaintext

/obj/effect/landmark/map_loader
name = "map loader"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
invisibility = 101
anchored = TRUE
density = FALSE
opacity = FALSE
var/template_name = null
var/datum/map_template/template = null
var/centered = 1
var/loaded = 0
/obj/effect/landmark/map_loader/New(turf/loc, tname)
..()
if(tname)
template_name = tname
if(template_name)
template = GLOB.map_templates[template_name]
/obj/effect/landmark/map_loader/Initialize()
. = ..()
if(template)
load(template)
/obj/effect/landmark/map_loader/set_tag()
return
/obj/effect/landmark/map_loader/proc/load(datum/map_template/t)
if(!t)
return
if(loaded) // I wanna be super sure this loads only once
return
loaded = 1
var/turf/pos = get_turf(src)
// Hop to nullspace so we don't get re-initialized by the map we're loading
loc = null
t.load(pos, centered = centered)
t.loaded++
qdel(src)
/obj/effect/landmark/map_loader/random
var/template_list = ""
/obj/effect/landmark/map_loader/random/Initialize()
..()
if(template_list)
template_name = safepick(splittext(template_list, ";"))
template = GLOB.map_templates[template_name]
load(template)