Space ruin: The sieged lab, a submap extravaganza. (#28393)

* Space ruin: The sieged lab, a submap extravaganza.

* fix airlock access

* fix skiff, make whole lab teleproof for now

* indestructible rivet command room

* add strategically placed helpful items/spawners

* fix gun rack placement

* no butchering on harbinger murder

* small adjustments

* esword drop as a treat, m90 seems excessive

* make boss door obvious

* Lots of map/boss fixes

* Update everything for razor wire, try and unfuck some weird AI behavior

* stupid mines

* sort and fix comments for different ruin categories

* always place ruin for TM

* first batch of fixes

* reinforce hard rock walls

* tweaks

* improve hard rock design

* tiny cleanups

* singleton out med and sci rooms

* kitchen rework updatepath

* run updatepaths

* update maplint exceptions
This commit is contained in:
warriorstar-orion
2025-04-08 18:16:28 +00:00
committed by GitHub
parent 476c526c69
commit e5b7eb9559
24 changed files with 10987 additions and 42 deletions
@@ -198,6 +198,11 @@
name = "Abandoned NT Engineering Satellite"
apc_starts_off = TRUE
/area/ruin/space/sieged_lab
name = "Laboratory X-18"
apc_starts_off = TRUE
tele_proof = TRUE
/area/ruin/space/moonbase19
name = "Moon Base 19"
apc_starts_off = TRUE
@@ -5,7 +5,7 @@ GLOBAL_LIST_EMPTY(all_airlock_access_buttons)
icon_state = "access_button_standby"
name = "airlock access button"
desc = "Controls an airlock controller, requesting the doors open on this side."
layer = ABOVE_WINDOW_LAYER
layer = ON_EDGED_TURF_LAYER
anchored = TRUE
power_channel = PW_CHANNEL_ENVIRONMENT
power_state = IDLE_POWER_USE
@@ -1,6 +1,6 @@
//base type for controllers of two-door systems
/obj/machinery/airlock_controller
layer = ABOVE_WINDOW_LAYER
layer = ON_EDGED_TURF_LAYER
name = "airlock controller"
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_control_standby"
+11 -7
View File
@@ -86,6 +86,10 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
var/airlock_material //material of inner filling; if its an airlock with glass, this should be set to "glass"
var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi' //Used for papers and photos pinned to the airlock
var/closed_icon_state = "closed"
var/open_icon_state = "open"
var/opening_icon_state = "opening"
var/closing_icon_state = "closing"
var/normal_integrity = AIRLOCK_INTEGRITY_N
var/prying_so_hard = FALSE
var/paintable = TRUE // If the airlock type can be painted with an airlock painter
@@ -385,7 +389,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(operating && !override)
return
icon_state = density ? "closed" : "open"
icon_state = density ? closed_icon_state : open_icon_state
switch(state)
if(0)
if(density)
@@ -419,7 +423,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
var/mutable_appearance/sparks_underlay
switch(state)
if(AIRLOCK_CLOSED)
frame_overlay = get_airlock_overlay("closed", icon)
frame_overlay = get_airlock_overlay(closed_icon_state, icon)
buttons_underlay = get_airlock_emissive_underlay("closed_lightmask", overlays_file)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_closed", overlays_file)
@@ -453,7 +457,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(AIRLOCK_DENY)
if(!arePowerSystemsOn())
return
frame_overlay = get_airlock_overlay("closed", icon)
frame_overlay = get_airlock_overlay(closed_icon_state, icon)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_closed", overlays_file)
else
@@ -478,7 +482,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
note_overlay = get_airlock_overlay(notetype, note_overlay_file)
if(AIRLOCK_EMAG)
frame_overlay = get_airlock_overlay("closed", icon)
frame_overlay = get_airlock_overlay(closed_icon_state, icon)
buttons_underlay = get_airlock_emissive_underlay("closed_lightmask", overlays_file)
sparks_overlay = get_airlock_overlay("sparks", overlays_file)
sparks_underlay = get_airlock_emissive_underlay("sparks_lightmask", overlays_file)
@@ -504,7 +508,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
note_overlay = get_airlock_overlay(notetype, note_overlay_file)
if(AIRLOCK_CLOSING)
frame_overlay = get_airlock_overlay("closing", icon)
frame_overlay = get_airlock_overlay(closing_icon_state, icon)
buttons_underlay = get_airlock_emissive_underlay("closing_lightmask", overlays_file)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_closing", overlays_file)
@@ -523,7 +527,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
note_overlay = get_airlock_overlay("[notetype]_closing", note_overlay_file)
if(AIRLOCK_OPEN)
frame_overlay = get_airlock_overlay("open", icon)
frame_overlay = get_airlock_overlay(open_icon_state, icon)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_open", overlays_file)
else
@@ -540,7 +544,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
note_overlay = get_airlock_overlay("[notetype]_open", note_overlay_file)
if(AIRLOCK_OPENING)
frame_overlay = get_airlock_overlay("opening", icon)
frame_overlay = get_airlock_overlay(opening_icon_state, icon)
buttons_underlay = get_airlock_emissive_underlay("opening_lightmask", overlays_file)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_opening", overlays_file)
+2 -2
View File
@@ -89,8 +89,8 @@
// Wise words. - Bxil
/obj/machinery/door/poddoor/multi_tile
name = "large pod door"
layer = CLOSED_DOOR_LAYER
closingLayer = CLOSED_DOOR_LAYER
layer = CLOSED_BLASTDOOR_LAYER
closingLayer = CLOSED_BLASTDOOR_LAYER
/obj/machinery/door/poddoor/multi_tile/four_tile_ver
icon = 'icons/obj/doors/1x4blast_vert.dmi'
+6
View File
@@ -167,3 +167,9 @@
/obj/machinery/floodlight/anchored
anchored = TRUE
/obj/machinery/floodlight/anchored/darker_on
brightness_on = 4
light_power = 5
light_range = 5
on = TRUE
@@ -10,6 +10,7 @@
name = "mapmanip marker, extract submap"
icon = 'icons/effects/map_effects_96x96.dmi'
icon_state = "mapmanip_extract"
color = "#ff00cc"
pixel_x = -32
pixel_y = -32
@@ -19,6 +20,7 @@
name = "mapmanip marker, insert submap"
icon = 'icons/effects/map_effects_96x96.dmi'
icon_state = "mapmanip_insert"
color = "#ff00cc"
pixel_x = -32
pixel_y = -32
@@ -34,6 +36,7 @@
name = "mapmanip marker helper, submap edge"
icon = 'icons/effects/mapping_helpers.dmi'
icon_state = "mapmanip_submap_edge"
color = "#ff00cc"
// Farragus mapmanips
/obj/effect/map_effect/marker/mapmanip/submap/extract/station/cerestation/engineering_science
@@ -11,6 +11,19 @@
/turf/simulated/wall,
)
/obj/effect/spawner/random/barrier/temporary
name = "random temporary barrier spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "barrier"
loot = list(
/obj/structure/barricade/wooden,
/obj/structure/grille,
/obj/structure/grille/broken,
/obj/structure/girder,
/obj/structure/barricade/security,
/obj/structure/barricade/sandbags,
)
/obj/effect/spawner/random/barrier/wall_probably
name = "probably a wall"
icon_state = "wall"
@@ -131,4 +131,16 @@ GLOBAL_LIST_EMPTY(flame_effects)
mob_to_burn.adjust_fire_stacks(application_stacks)
mob_to_burn.IgniteMob()
/obj/effect/fire/mapping
/obj/effect/fire/mapping/Initialize(mapload)
. = ..(mapload, T0C + 300, 4 HOURS, 1)
set_light(3, 3, LIGHT_COLOR_LAVA)
/obj/effect/fire/water_act(volume, temperature, source, method)
. = ..()
duration -= 30 MINUTES
if(duration <= 0)
fizzle()
#undef MAX_FIRE_EXIST_TIME