mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-31 12:41:46 +00:00
39 lines
1.6 KiB
Plaintext
39 lines
1.6 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."
|
|
|
|
/// Prevents megafauna spawning within a certain range of ruins.
|
|
var/megafauna_safe_range = FALSE
|
|
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/allow_duplicates = TRUE
|
|
var/list/never_spawn_with = null //If this ruin is spawned these will not eg list(/datum/map_template/ruin/base_alternate)
|
|
|
|
/// If a ruin ID is in this list, this ruin will not spawn on the same level as that ruin.
|
|
var/list/never_spawn_on_the_same_level = list()
|
|
|
|
var/prefix = null
|
|
var/suffix = null
|
|
|
|
/datum/map_template/ruin/New()
|
|
if(!name && id)
|
|
name = id
|
|
|
|
mappath = prefix + suffix
|
|
..(path = mappath)
|
|
|
|
/// The cost of a ruin is the square root of the product of its dimensions.
|
|
/// This encodes the size of the ruin relative to each other without the
|
|
/// numbers getting ridiculous.
|
|
/datum/map_template/ruin/proc/get_cost()
|
|
if(!width || !height)
|
|
CRASH("cost of [name]/[suffix] requested before loaded size")
|
|
|
|
return floor(sqrt(width * height))
|