mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 17:52:36 +00:00
104 lines
3.2 KiB
Plaintext
104 lines
3.2 KiB
Plaintext
//Landmarks and other helpers which speed up the mapping process and reduce the number of unique instances/subtypes of items/turf/ect
|
|
|
|
|
|
|
|
/obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed.
|
|
name = "baseturf editor"
|
|
icon = 'icons/obj/items_and_weapons.dmi'
|
|
icon_state = "syndballoon"
|
|
var/baseturf = null
|
|
layer = POINT_LAYER
|
|
|
|
/obj/effect/baseturf_helper/Initialize()
|
|
. = ..()
|
|
var/area/thearea = get_area(src)
|
|
for(var/turf/T in get_area_turfs(thearea, z))
|
|
replace_baseturf(T)
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
/obj/effect/baseturf_helper/proc/replace_baseturf(turf/thing)
|
|
if(thing.baseturfs != thing.type)
|
|
thing.baseturfs = baseturf
|
|
|
|
/obj/effect/baseturf_helper/space
|
|
name = "space baseturf editor"
|
|
baseturf = /turf/open/space
|
|
|
|
/obj/effect/baseturf_helper/asteroid
|
|
name = "asteroid baseturf editor"
|
|
baseturf = /turf/open/floor/plating/asteroid
|
|
|
|
/obj/effect/baseturf_helper/asteroid/airless
|
|
name = "asteroid airless baseturf editor"
|
|
baseturf = /turf/open/floor/plating/asteroid/airless
|
|
|
|
/obj/effect/baseturf_helper/asteroid/basalt
|
|
name = "asteroid basalt baseturf editor"
|
|
baseturf = /turf/open/floor/plating/asteroid/basalt
|
|
|
|
/obj/effect/baseturf_helper/asteroid/snow
|
|
name = "asteroid snow baseturf editor"
|
|
baseturf = /turf/open/floor/plating/asteroid/snow
|
|
|
|
/obj/effect/baseturf_helper/beach/sand
|
|
name = "beach sand baseturf editor"
|
|
baseturf = /turf/open/floor/plating/beach/sand
|
|
|
|
/obj/effect/baseturf_helper/beach/water
|
|
name = "water baseturf editor"
|
|
baseturf = /turf/open/floor/plating/beach/water
|
|
|
|
/obj/effect/baseturf_helper/lava
|
|
name = "lava baseturf editor"
|
|
baseturf = /turf/open/lava/smooth
|
|
|
|
/obj/effect/baseturf_helper/lava_land/surface
|
|
name = "lavaland baseturf editor"
|
|
baseturf = /turf/open/lava/smooth/lava_land_surface
|
|
|
|
// Does the same thing as baseturf_helper but only the specified kinds of turf (the kind it's placed on or varedited)
|
|
/obj/effect/baseturf_helper/picky
|
|
var/list/whitelist
|
|
// Can be mapedited as: a single type, a list of types, or a typecache-like list
|
|
// The first 2 make a typecache of the given values
|
|
// The last uses it as is
|
|
|
|
/obj/effect/baseturf_helper/picky/Initialize()
|
|
if(!whitelist)
|
|
whitelist = list(loc.type)
|
|
else if(!islist(whitelist))
|
|
whitelist = list(whitelist)
|
|
else if(whitelist[whitelist[1]]) // Checking if it's a typecache-like list
|
|
return ..()
|
|
whitelist = typecacheof(whitelist)
|
|
return ..()
|
|
|
|
/obj/effect/baseturf_helper/picky/replace_baseturf(turf/thing)
|
|
if(!whitelist[thing.type])
|
|
return
|
|
return ..()
|
|
|
|
/obj/effect/baseturf_helper/picky/lava_land/plating
|
|
name = "picky lavaland plating baseturf helper"
|
|
baseturf = /turf/open/floor/plating/lavaland_baseturf
|
|
|
|
/obj/effect/baseturf_helper/picky/lava_land/basalt
|
|
name = "picky lavaland basalt baseturf helper"
|
|
baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface
|
|
|
|
//Contains the list of planetary z-levels defined by the planet_z helper.
|
|
GLOBAL_LIST_EMPTY(z_is_planet)
|
|
|
|
/obj/effect/mapping_helpers/planet_z //adds the map it is on to the z_is_planet list
|
|
name = "planet z helper"
|
|
icon = 'icons/obj/items_and_weapons.dmi'
|
|
icon_state = "syndballoon"
|
|
layer = POINT_LAYER
|
|
|
|
/obj/effect/mapping_helpers/planet_z/Initialize()
|
|
. = ..()
|
|
var/turf/T = get_turf(src)
|
|
GLOB.z_is_planet["[T.z]"] = TRUE
|
|
return INITIALIZE_HINT_QDEL
|
|
|