mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Mining Outpost Overhaul: Island Living Edition (#67796)
Replaced the old mining outpost with a new base consisting of separate buildings on islands in the middle of lava. Added a few new areas and decorations to fill out the outpost. Changed the underfloor accessibility of lava so cables and pipes don't mysteriously disappear as they cross catwalks over lava. The current mining station is fairly boring and dated. In addition, the general layout of the outpost was bland and uninspired, about as exciting as any other hallway. This replacement offers a new and unique take with an interesting layout and new dangers to be aware of. The bridges between buildings are exposed to the weather, meaning you could find yourself forced to choose between waiting out a storm in an isolated building with a potentially unfriendly roommate, or running through the storm to get back to a shuttle. Power and communications are also more vulnerable in the new base, placed in a building on the mainland where ne'er-do-wells could gain access unnoticed and sabotage them, making the mining outpost less of a safe space with little risk of anything going seriously wrong. You don't get access to these just for having mining access, better call the relevant portion of engineering to help you. Gulag prisoners also get a few new options to keep security on their toes, with a few different options for escape routes that encourage the warden to keep an eye on their charges instead of ignoring the gulag while waiting for the prisoners to do their sentences or kill themselves.
This commit is contained in:
+19225
-15392
File diff suppressed because it is too large
Load Diff
@@ -389,3 +389,20 @@ Turf and target are separate in case you want to teleport some distance from a t
|
||||
if(rail.dir == test_dir || is_fulltile)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* Checks whether or not a particular typepath or subtype of it is present on a turf
|
||||
*
|
||||
* Returns TRUE if an instance of the desired type or a subtype of it is found
|
||||
* Returns FALSE if the type is not found, or if no turf is supplied
|
||||
*
|
||||
* Arguments:
|
||||
* * location - The turf to be checked for the desired type
|
||||
* * type_to_find - The typepath whose presence you are checking for
|
||||
*/
|
||||
/proc/is_type_on_turf(turf/location, type_to_find)
|
||||
if(!location)
|
||||
return FALSE
|
||||
if(locate(type_to_find) in location)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -44,7 +44,11 @@
|
||||
icon_state = "mining_lobby"
|
||||
|
||||
/area/mine/storage
|
||||
name = "Mining Station Storage"
|
||||
name = "Mining Station Production Storage"
|
||||
icon_state = "mining_storage"
|
||||
|
||||
/area/mine/storage/public
|
||||
name = "Mining Station Public Storage"
|
||||
icon_state = "mining_storage"
|
||||
|
||||
/area/mine/production
|
||||
@@ -67,32 +71,86 @@
|
||||
icon_state = "mining_eva"
|
||||
|
||||
/area/mine/maintenance
|
||||
name = "Mining Station Maintenance"
|
||||
|
||||
/area/mine/maintenance/production
|
||||
name = "Mining Station Production Maintenance"
|
||||
|
||||
/area/mine/maintenance/living
|
||||
name = "Mining Station Living Quarters Maintenance"
|
||||
|
||||
/area/mine/maintenance/living/north
|
||||
name = "Mining Station Living Quarters North Maintenance"
|
||||
|
||||
/area/mine/maintenance/living/south
|
||||
name = "Mining Station Living Quarters South Maintenance"
|
||||
|
||||
/area/mine/maintenance/public
|
||||
name = "Mining Station Public Maintenance"
|
||||
|
||||
/area/mine/maintenance/public/north
|
||||
name = "Mining Station Public North Maintenance"
|
||||
|
||||
/area/mine/maintenance/public/south
|
||||
name = "Mining Station Public South Maintenance"
|
||||
|
||||
/area/mine/maintenance/service
|
||||
name = "Mining Station Service Maintenance"
|
||||
|
||||
/area/mine/maintenance/service/disposals
|
||||
name = "Mining Station Disposals"
|
||||
|
||||
/area/mine/maintenance/service/comms
|
||||
name = "Mining Station Communications"
|
||||
|
||||
/area/mine/maintenance/labor
|
||||
name = "Labor Camp Maintenance"
|
||||
|
||||
/area/mine/cafeteria
|
||||
name = "Mining Station Cafeteria"
|
||||
icon_state = "mining_cafe"
|
||||
|
||||
/area/mine/cafeteria/labor
|
||||
name = "Labor Camp Cafeteria"
|
||||
icon_state = "mining_labor_cafe"
|
||||
|
||||
/area/mine/hydroponics
|
||||
name = "Mining Station Hydroponics"
|
||||
icon_state = "mining_labor_hydro"
|
||||
icon_state = "mining_hydro"
|
||||
|
||||
/area/mine/sleeper
|
||||
name = "Mining Station Emergency Sleeper"
|
||||
/area/mine/medical
|
||||
name = "Mining Station Emergency Medbay"
|
||||
|
||||
/area/mine/mechbay
|
||||
name = "Mining Station Mech Bay"
|
||||
icon_state = "mechbay"
|
||||
|
||||
/area/mine/lounge
|
||||
name = "Mining Station Public Lounge"
|
||||
icon_state = "mining_lounge"
|
||||
|
||||
/area/mine/laborcamp
|
||||
name = "Labor Camp"
|
||||
icon_state = "mining_labor"
|
||||
|
||||
/area/mine/laborcamp/quarters
|
||||
name = "Labor Camp Quarters"
|
||||
icon_state = "mining_labor_quarters"
|
||||
|
||||
/area/mine/laborcamp/production
|
||||
name = "Labor Camp Production"
|
||||
icon_state = "mining_labor_production"
|
||||
|
||||
/area/mine/laborcamp/security
|
||||
name = "Labor Camp Security"
|
||||
icon_state = "labor_camp_security"
|
||||
ambience_index = AMBIENCE_DANGER
|
||||
|
||||
/area/mine/laborcamp/security/maintenance
|
||||
name = "Labor Camp Security Maintenance"
|
||||
icon_state = "labor_camp_security"
|
||||
ambience_index = AMBIENCE_DANGER
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
name = "sandy floor"
|
||||
icon_state = "sandyfloor"
|
||||
|
||||
/obj/effect/turf_decal/sand/volcanic
|
||||
name = "ashy floor"
|
||||
icon_state = "ashyfloor"
|
||||
|
||||
/obj/effect/turf_decal/sand/plating
|
||||
name = "sandy plating"
|
||||
icon_state = "sandyplating"
|
||||
|
||||
/obj/effect/turf_decal/sand/plating/volcanic
|
||||
name = "ashy plating"
|
||||
icon_state = "ashyplating"
|
||||
|
||||
@@ -96,6 +96,14 @@
|
||||
C.deconstruct()
|
||||
..()
|
||||
|
||||
/obj/structure/lattice/catwalk/mining
|
||||
name = "reinforced catwalk"
|
||||
desc = "A heavily reinforced catwalk used to build bridges in hostile environments. It doesn't look like anything could make this budge."
|
||||
resistance_flags = INDESTRUCTIBLE
|
||||
|
||||
/obj/structure/lattice/catwalk/mining/deconstruction_hints(mob/user)
|
||||
return
|
||||
|
||||
/obj/structure/lattice/lava
|
||||
name = "heatproof support lattice"
|
||||
desc = "A specialized support beam for building across lava. Watch your step."
|
||||
|
||||
@@ -73,3 +73,24 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/vault, 32)
|
||||
icon_state = "direction_upload"
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/upload, 32)
|
||||
|
||||
/obj/structure/sign/directions/dorms
|
||||
name = "dormitories sign"
|
||||
desc = "A direction sign, pointing out which way the dormitories are."
|
||||
icon_state = "direction_dorms"
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/dorms, 32)
|
||||
|
||||
/obj/structure/sign/directions/lavaland
|
||||
name = "lava sign"
|
||||
desc = "A direction sign, pointing out which way the hot stuff is."
|
||||
icon_state = "direction_lavaland"
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/lavaland, 32)
|
||||
|
||||
/obj/structure/sign/directions/arrival
|
||||
name = "arrivals sign"
|
||||
desc = "A direction sign, pointing out which way the arrivals shuttle dock is."
|
||||
icon_state = "direction_arrival"
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/arrival, 32)
|
||||
|
||||
@@ -251,6 +251,7 @@
|
||||
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
|
||||
smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_LAVA)
|
||||
canSmoothWith = list(SMOOTH_GROUP_FLOOR_LAVA)
|
||||
underfloor_accessibility = 2 //This avoids strangeness when routing pipes / wires along catwalks over lava
|
||||
|
||||
/turf/open/lava/smooth/lava_land_surface
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
add_movespeed_modifier((m_intent == MOVE_INTENT_WALK)? /datum/movespeed_modifier/config_walk_run/walk : /datum/movespeed_modifier/config_walk_run/run)
|
||||
|
||||
/mob/living/proc/update_turf_movespeed(turf/open/T)
|
||||
if(isopenturf(T))
|
||||
if(isopenturf(T) && !is_type_on_turf(T, /obj/structure/lattice/catwalk))
|
||||
if(T.slowdown != current_turf_slowdown)
|
||||
add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/turf_slowdown, multiplicative_slowdown = T.slowdown)
|
||||
current_turf_slowdown = T.slowdown
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Reference in New Issue
Block a user