Files
Paradise/code/modules/lavaland/lavaland_theme.dm

57 lines
1.7 KiB
Plaintext

/datum/lavaland_theme
/// Name of lavaland theme
var/name = "Not Specified"
/// Typepath of turf the `/turf/simulated/floor/lava/mapping_lava` will be changed to on Late Initialization
var/turf/simulated/floor/primary_turf_type
/// Icon state of planet present on background of station Z-level
var/planet_icon_state
/datum/lavaland_theme/New()
if(!primary_turf_type)
stack_trace("Turf type is `null` in `[type]` lavaland theme")
else if(!ispath(primary_turf_type))
stack_trace("Wrong turf type `[primary_turf_type.type]` in `[type]` lavaland theme")
/**
* This proc should do all theme specific thing.
* Now it only generates rivers, but it can do all stuff you desire.
*/
/datum/lavaland_theme/proc/setup()
return
/datum/lavaland_theme/lava
name = "lava"
primary_turf_type = /turf/simulated/floor/lava/lava_land_surface
planet_icon_state = "planet_lava"
/datum/lavaland_theme/lava/setup()
spawn_rivers(level_name_to_num(MINING))
/datum/lavaland_theme/plasma
name = "plasma"
primary_turf_type = /turf/simulated/floor/lava/lava_land_surface/plasma
planet_icon_state = "planet_plasma"
/datum/lavaland_theme/plasma/setup()
spawn_rivers(level_name_to_num(MINING), nodes = 2)
spawn_rivers(level_name_to_num(MINING), nodes = 2)
/datum/lavaland_theme/chasm
name = "chasm"
primary_turf_type = /turf/simulated/floor/chasm/straight_down/lava_land_surface
planet_icon_state = "planet_chasm"
/datum/lavaland_theme/chasm/setup()
spawn_rivers(
level_name_to_num(MINING),
nodes = 6,
turf_type = /turf/simulated/floor/lava/mapping_lava,
whitelist_area = /area/lavaland/surface/outdoors,
min_x = 50,
min_y = 7,
max_x = 250,
max_y = 225,
prob = 10,
prob_loss = 5
)