diff --git a/code/modules/procedural_mapping/mapGenerators/lavaland.dm b/code/modules/procedural_mapping/mapGenerators/lavaland.dm new file mode 100644 index 0000000000..9c160ee848 --- /dev/null +++ b/code/modules/procedural_mapping/mapGenerators/lavaland.dm @@ -0,0 +1,30 @@ + +/datum/mapGeneratorModule/bottomLayer/lavaland_default + spawnableTurfs = list(/turf/open/floor/plating/asteroid/basalt/lava_land_surface = 100) + +/datum/mapGeneratorModule/bottomLayer/lavaland_mineral + spawnableTurfs = list(/turf/closed/mineral/random/volcanic = 100) + +/datum/mapGeneratorModule/bottomLayer/lavaland_mineral/dense + spawnableTurfs = list(/turf/closed/mineral/random/high_chance/volcanic = 100) + +/datum/mapGeneratorModule/splatterLayer/lavalandMonsters + spawnableTurfs = list() + spawnableAtoms = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast = 10, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion = 10, + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher = 10) + +/datum/mapGeneratorModule/splatterLayer/lavalandTendrils + spawnableTurfs = list() + spawnableAtoms = list(/mob/living/simple_animal/hostile/spawner/lavaland = 5, + /mob/living/simple_animal/hostile/spawner/lavaland/legion = 5, + /mob/living/simple_animal/hostile/spawner/lavaland/goliath = 5) + +/datum/mapGenerator/lavaland/ground_only + modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_default) + +/datum/mapGenerator/lavaland/dense_ores + modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_mineral/dense) + +/datum/mapGenerator/lavaland/normal_ores + modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_mineral) diff --git a/code/modules/procedural_mapping/mapGenerators/repair.dm b/code/modules/procedural_mapping/mapGenerators/repair.dm new file mode 100644 index 0000000000..e2f658648c --- /dev/null +++ b/code/modules/procedural_mapping/mapGenerators/repair.dm @@ -0,0 +1,29 @@ +/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel + spawnableTurfs = list(/turf/open/floor/plasteel = 100) + var/ignore_wall = FALSE + +/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/place(turf/T) + if(isclosedturf(T)) + return FALSE + return TRUE + +/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/flatten + ignore_wall = TRUE + +/datum/mapGeneratorModule/border/normalWalls + spawnableAtoms = list() + spawnableTurfs = list(/turf/closed/wall = 100) + +/datum/mapGenerator/repair + modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel, + /datum/mapGeneratorModule/bottomLayer/repressurize) + +/datum/mapGenerator/repair/delete_walls + modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/flatten, + /datum/mapGeneratorModule/bottomLayer/repressurize) + +/datum/mapGenerator/repair/enclose_room + modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/flatten, + /datum/mapGeneratorModule/border/normalWalls, + /datum/mapGeneratorModule/bottomLayer/repressurize) + diff --git a/tgstation.dme b/tgstation.dme index cfc637f503..a5d9cc06b9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1913,7 +1913,9 @@ #include "code\modules\procedural_mapping\mapGenerators\cellular.dm" #include "code\modules\procedural_mapping\mapGenerators\cult.dm" #include "code\modules\procedural_mapping\mapGenerators\lava_river.dm" +#include "code\modules\procedural_mapping\mapGenerators\lavaland.dm" #include "code\modules\procedural_mapping\mapGenerators\nature.dm" +#include "code\modules\procedural_mapping\mapGenerators\repair.dm" #include "code\modules\procedural_mapping\mapGenerators\shuttle.dm" #include "code\modules\procedural_mapping\mapGenerators\syndicate.dm" #include "code\modules\projectiles\ammunition.dm"