[MIRROR] Admin "Reload Station" Map Generator - Reloads specified block to roundstart. also buildmode area mapgens have names instead of paths on a list. (#2172)
* Admin "Reload Station" Map Generator - Reloads specified block to roundstart. also buildmode area mapgens have names instead of paths on a list. * clean up + manual sync
This commit is contained in:
committed by
Poojawa
parent
4b3d878e1d
commit
f62fc85f0d
@@ -29,17 +29,21 @@
|
||||
/datum/mapGenerator/asteroid/hollow
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
|
||||
/datum/mapGeneratorModule/border/asteroidWalls)
|
||||
buildmode_name = "Pattern: Asteroid Room \[AIRLESS!\]"
|
||||
|
||||
/datum/mapGenerator/asteroid/hollow/random
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
|
||||
/datum/mapGeneratorModule/border/asteroidWalls, \
|
||||
/datum/mapGeneratorModule/splatterLayer/asteroidWalls)
|
||||
buildmode_name = "Pattern: Asteroid Room: Splatter Walls \[AIRLESS!\]"
|
||||
|
||||
/datum/mapGenerator/asteroid/hollow/random/monsters
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
|
||||
/datum/mapGeneratorModule/border/asteroidWalls, \
|
||||
/datum/mapGeneratorModule/splatterLayer/asteroidWalls, \
|
||||
/datum/mapGeneratorModule/splatterLayer/asteroidMonsters)
|
||||
buildmode_name = "Pattern: Asteroid Room: Splatter Walls + Monsters \[AIRLESS!\]"
|
||||
|
||||
/datum/mapGenerator/asteroid/filled
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidWalls)
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidWalls)
|
||||
buildmode_name = "Block: Asteroid Walls"
|
||||
@@ -4,28 +4,30 @@
|
||||
/datum/mapGeneratorModule/border/cultWalls
|
||||
spawnableTurfs = list(/turf/closed/wall/mineral/cult = 100)
|
||||
|
||||
|
||||
/datum/mapGeneratorModule/bottomLayer/clockFloor
|
||||
spawnableTurfs = list(/turf/open/floor/clockwork = 100)
|
||||
|
||||
/datum/mapGeneratorModule/border/clockWalls
|
||||
spawnableTurfs = list(/turf/closed/wall/clockwork = 100)
|
||||
|
||||
|
||||
/datum/mapGenerator/cult //walls and floor only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/cultFloor, \
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/cultFloor, \
|
||||
/datum/mapGeneratorModule/border/cultWalls, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Cult Room"
|
||||
|
||||
/datum/mapGenerator/clock //walls and floor only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/clockFloor, \
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/clockFloor, \
|
||||
/datum/mapGeneratorModule/border/clockWalls, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Clockwork Room"
|
||||
|
||||
/datum/mapGenerator/cult/floor //floors only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/cultFloor, \
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/cultFloor, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Block: Cult Floor"
|
||||
|
||||
/datum/mapGenerator/clock/floor //floor only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/clockFloor, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/clockFloor, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Block: Clockwork Floor"
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
var/max_x = 0
|
||||
var/max_y = 0
|
||||
modules = list(/datum/mapGeneratorModule/river)
|
||||
buildmode_name = "Pattern: Lava Rivers"
|
||||
|
||||
/datum/mapGenerator/lavaland/defineRegion(turf/Start, turf/End, replace = 0)
|
||||
start_z = Start.z
|
||||
|
||||
@@ -22,9 +22,12 @@
|
||||
|
||||
/datum/mapGenerator/lavaland/ground_only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_default)
|
||||
buildmode_name = "Block: Lavaland Floor"
|
||||
|
||||
/datum/mapGenerator/lavaland/dense_ores
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_mineral/dense)
|
||||
buildmode_name = "Block: Lavaland Ores: Dense"
|
||||
|
||||
/datum/mapGenerator/lavaland/normal_ores
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/lavaland_mineral)
|
||||
buildmode_name = "Block: Lavaland Ores"
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
/datum/mapGeneratorModule/randBushes, \
|
||||
/datum/mapGeneratorModule/randRocks, \
|
||||
/datum/mapGeneratorModule/denseLayer/grassTufts)
|
||||
|
||||
buildmode_name = "Pattern: Nature"
|
||||
|
||||
@@ -16,16 +16,92 @@
|
||||
spawnableTurfs = list(/turf/closed/wall = 100)
|
||||
allowAtomsOnSpace = TRUE
|
||||
|
||||
/datum/mapGeneratorModule/reload_station_map/generate()
|
||||
if(!istype(mother, /datum/mapGenerator/repair/reload_station_map))
|
||||
return
|
||||
var/datum/mapGenerator/repair/reload_station_map/mother1 = mother
|
||||
if(mother1.z != ZLEVEL_STATION)
|
||||
return //This is only for reloading station blocks!
|
||||
GLOB.reloading_map = TRUE
|
||||
var/static/dmm_suite/reloader = new
|
||||
var/list/bounds = reloader.load_map(file(SSmapping.config.GetFullMapPath()),measureOnly = FALSE, no_changeturf = FALSE,x_offset = 0, y_offset = 0, z_offset = ZLEVEL_STATION, cropMap=TRUE, lower_crop_x = mother1.x_low, lower_crop_y = mother1.y_low, upper_crop_x = mother1.x_high, upper_crop_y = mother1.y_high)
|
||||
|
||||
var/list/obj/machinery/atmospherics/atmos_machines = list()
|
||||
var/list/obj/structure/cable/cables = list()
|
||||
var/list/atom/atoms = list()
|
||||
|
||||
repopulate_sorted_areas()
|
||||
|
||||
for(var/L in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
|
||||
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])))
|
||||
set waitfor = FALSE
|
||||
var/turf/B = L
|
||||
atoms += B
|
||||
for(var/A in B)
|
||||
atoms += A
|
||||
if(istype(A,/obj/structure/cable))
|
||||
cables += A
|
||||
continue
|
||||
if(istype(A,/obj/machinery/atmospherics))
|
||||
atmos_machines += A
|
||||
|
||||
SSatoms.InitializeAtoms(atoms)
|
||||
SSmachines.setup_template_powernets(cables)
|
||||
SSair.setup_template_machinery(atmos_machines)
|
||||
GLOB.reloading_map = FALSE
|
||||
|
||||
/datum/mapGenerator/repair
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel,
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Repair: Floor"
|
||||
|
||||
/datum/mapGenerator/repair/delete_walls
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/flatten,
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Repair: Floor: Flatten Walls"
|
||||
|
||||
/datum/mapGenerator/repair/enclose_room
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/repairFloorPlasteel/flatten,
|
||||
/datum/mapGeneratorModule/border/normalWalls,
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Repair: Generate Aired Room"
|
||||
|
||||
/datum/mapGenerator/repair/reload_station_map
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/massdelete/no_delete_mobs)
|
||||
var/x_low = 0
|
||||
var/x_high = 0
|
||||
var/y_low = 0
|
||||
var/y_high = 0
|
||||
var/z = 0
|
||||
var/cleanload = FALSE
|
||||
var/datum/mapGeneratorModule/reload_station_map/loader
|
||||
buildmode_name = "Repair: Reload Block \[DO NOT USE\]"
|
||||
|
||||
/datum/mapGenerator/repair/reload_station_map/clean
|
||||
buildmode_name = "Repair: Reload Block - Mass Delete"
|
||||
cleanload = TRUE
|
||||
|
||||
/datum/mapGenerator/repair/reload_station_map/clean/in_place
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/massdelete/regeneration_delete)
|
||||
buildmode_name = "Repair: Reload Block - Mass Delete - In Place"
|
||||
|
||||
/datum/mapGenerator/repair/reload_station_map/defineRegion(turf/start, turf/end)
|
||||
. = ..()
|
||||
if(start.z != ZLEVEL_STATION || end.z != ZLEVEL_STATION)
|
||||
return
|
||||
x_low = min(start.x, end.x)
|
||||
y_low = min(start.y, end.y)
|
||||
x_high = max(start.x, end.x)
|
||||
y_high = max(start.y, end.y)
|
||||
z = ZLEVEL_STATION
|
||||
|
||||
GLOBAL_VAR_INIT(reloading_map, FALSE)
|
||||
|
||||
/datum/mapGenerator/repair/reload_station_map/generate(clean = cleanload)
|
||||
if(!loader)
|
||||
loader = new
|
||||
if(cleanload)
|
||||
..() //Trigger mass deletion.
|
||||
modules |= loader
|
||||
syncModules()
|
||||
loader.generate()
|
||||
|
||||
@@ -7,9 +7,11 @@
|
||||
// Generators
|
||||
|
||||
/datum/mapGenerator/shuttle/full
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/shuttleFloor, \
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/shuttleFloor, \
|
||||
/datum/mapGeneratorModule/border/shuttleWalls,\
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Shuttle Room"
|
||||
|
||||
/datum/mapGenerator/shuttle/floor
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/shuttleFloor)
|
||||
buildmode_name = "Block: Shuttle Floor"
|
||||
|
||||
@@ -1,52 +1,56 @@
|
||||
// Modules
|
||||
|
||||
/turf/open/floor/plasteel/shuttle/red/syndicate
|
||||
name = "floor" //Not Brig Floor
|
||||
|
||||
/datum/mapGeneratorModule/bottomLayer/syndieFloor
|
||||
spawnableTurfs = list(/turf/open/floor/plasteel/shuttle/red/syndicate = 100)
|
||||
|
||||
/datum/mapGeneratorModule/border/syndieWalls
|
||||
spawnableAtoms = list()
|
||||
spawnableTurfs = list(/turf/closed/wall/r_wall = 100)
|
||||
|
||||
|
||||
/datum/mapGeneratorModule/syndieFurniture
|
||||
clusterCheckFlags = CLUSTER_CHECK_ALL
|
||||
spawnableTurfs = list()
|
||||
spawnableAtoms = list(/obj/structure/table = 20, /obj/structure/chair = 15, /obj/structure/chair/stool = 10,
|
||||
/obj/structure/frame/computer = 15, /obj/item/weapon/storage/toolbox/syndicate = 15,
|
||||
/obj/structure/closet/syndicate = 25, /obj/machinery/suit_storage_unit/syndicate = 15)
|
||||
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs
|
||||
spawnableAtoms = list(/mob/living/simple_animal/hostile/syndicate = 30, \
|
||||
/mob/living/simple_animal/hostile/syndicate/melee = 20, \
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged = 20, \
|
||||
/mob/living/simple_animal/hostile/viscerator = 30)
|
||||
spawnableTurfs = list()
|
||||
|
||||
// Generators
|
||||
|
||||
/datum/mapGenerator/syndicate/empty //walls and floor only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
|
||||
/datum/mapGenerator/syndicate/mobsonly
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
|
||||
/datum/mapGenerator/syndicate/furniture
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/syndieFurniture, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
|
||||
/datum/mapGenerator/syndicate/full
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/syndieFurniture, \
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
// Modules
|
||||
|
||||
/turf/open/floor/plasteel/shuttle/red/syndicate
|
||||
name = "floor" //Not Brig Floor
|
||||
|
||||
/datum/mapGeneratorModule/bottomLayer/syndieFloor
|
||||
spawnableTurfs = list(/turf/open/floor/plasteel/shuttle/red/syndicate = 100)
|
||||
|
||||
/datum/mapGeneratorModule/border/syndieWalls
|
||||
spawnableAtoms = list()
|
||||
spawnableTurfs = list(/turf/closed/wall/r_wall = 100)
|
||||
|
||||
|
||||
/datum/mapGeneratorModule/syndieFurniture
|
||||
clusterCheckFlags = CLUSTER_CHECK_ALL
|
||||
spawnableTurfs = list()
|
||||
spawnableAtoms = list(/obj/structure/table = 20,/obj/structure/chair = 15,/obj/structure/chair/stool = 10, \
|
||||
/obj/structure/frame/computer = 15, /obj/item/weapon/storage/toolbox/syndicate = 15 ,\
|
||||
/obj/structure/closet/syndicate = 25, /obj/machinery/suit_storage_unit/syndicate = 15)
|
||||
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs
|
||||
spawnableAtoms = list(/mob/living/simple_animal/hostile/syndicate = 30, \
|
||||
/mob/living/simple_animal/hostile/syndicate/melee = 20, \
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged = 20, \
|
||||
/mob/living/simple_animal/hostile/viscerator = 30)
|
||||
spawnableTurfs = list()
|
||||
|
||||
// Generators
|
||||
|
||||
/datum/mapGenerator/syndicate/empty //walls and floor only
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Shuttle Room: Syndicate"
|
||||
|
||||
/datum/mapGenerator/syndicate/mobsonly
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Shuttle Room: Syndicate: Mobs"
|
||||
|
||||
/datum/mapGenerator/syndicate/furniture
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/syndieFurniture, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Shuttle Room: Syndicate: Furniture"
|
||||
|
||||
/datum/mapGenerator/syndicate/full
|
||||
modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
|
||||
/datum/mapGeneratorModule/border/syndieWalls,\
|
||||
/datum/mapGeneratorModule/syndieFurniture, \
|
||||
/datum/mapGeneratorModule/splatterLayer/syndieMobs, \
|
||||
/datum/mapGeneratorModule/bottomLayer/repressurize)
|
||||
buildmode_name = "Pattern: Shuttle Room: Syndicate: All"
|
||||
Reference in New Issue
Block a user