mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 12:01:47 +00:00
Essentially SSmapping had a list for each theme of ruin (space, lava, ice, ice underground). These were all filled with an if statement checking the ruin templates type. Now, i've given ruins a ruin_type var, which is then used to dynamically add to a single list of ruins, which separates lists of ruins by ruin type. Good for downstreams who may have more ruin types Changelog cl refactor: Dehardcoded SSmapping ruin types. /cl
29 lines
1.3 KiB
Plaintext
29 lines
1.3 KiB
Plaintext
/datum/map_template/ruin
|
|
//name = "A Chest of Doubloons"
|
|
name = null
|
|
var/id = null // For blacklisting purposes, all ruins need an id
|
|
var/description = "In the middle of a clearing in the rockface, there's a chest filled with gold coins with Spanish engravings. \
|
|
How is there a wooden container filled with 18th century coinage in the middle of a lavawracked hellscape? \
|
|
It is clearly a mystery."
|
|
|
|
var/unpickable = FALSE //If TRUE these won't be placed automatically (can still be forced or loaded with another ruin)
|
|
var/always_place = FALSE //Will skip the whole weighting process and just plop this down, ideally you want the ruins of this kind to have no cost.
|
|
var/placement_weight = 1 //How often should this ruin appear
|
|
var/cost = 0 //Cost in ruin budget placement system
|
|
var/allow_duplicates = TRUE
|
|
var/list/always_spawn_with = null //These ruin types will be spawned along with it (where dependent on the flag) eg list(/datum/map_template/ruin/space/teleporter_space = SPACERUIN_Z)
|
|
var/list/never_spawn_with = null //If this ruin is spawned these will not eg list(/datum/map_template/ruin/base_alternate)
|
|
|
|
var/prefix = null
|
|
var/suffix = null
|
|
|
|
var/ruin_type = null
|
|
|
|
/datum/map_template/ruin/New()
|
|
if(!name && id)
|
|
name = id
|
|
|
|
mappath = prefix + suffix
|
|
..(path = mappath)
|
|
|