Files
BurgerLUAandGitHub 97b6cc8c44 Moonstation Spacening + Moonstation Rivering (#4273)
# Preamble

This PR is almost done. When it is done, it should probably be
testmerged in case shit goes wrong. You should NOT testmerge this after
Moonstation is selected for a map, as it will fuck everything up.

## Screenshots


<img width="679" height="869" alt="image"
src="https://github.com/user-attachments/assets/7e4ef09f-02e9-4703-8d35-6e7bf7b01cba"
/>


<img width="1019" height="749" alt="image"
src="https://github.com/user-attachments/assets/e04a4cc8-eaa6-4448-8781-610286dfbda8"
/>


## About The Pull Request

Updates Moonstation based on feedback. The following has been changed:

### Major Features
- Adds Loop Station, a new station in space that's a part of Moon
Station that allows you to go space exploring. It can be accessed via
gateway, teleporter, or public shuttle at the station's arrivals.
- There are 4 levels of space ruins you can explore. This is 2 lower
than the default 6.
- Adds underground and above ground rivers to Moonstation. You can fish
in these rivers.
- You can now construct shuttles on Moonstation and fly them anywhere
where there is a gigabeacon present. By default, Loop Station has one
gigabeacon.

### Minor Features
- Adds unused Skyrat ore veins to underground moonstation caves.
- Makes the area below atmos into a shuttle construction area.
- Adds a new public shuttle area at the station's arrivals that leads to
Loop Station.


### Minor additions.
- Adds some missing escape pod signs to areas leading to pods. 
- Adds missing secondary entrance to chemistry.
- Adds some additional medical items to Security Medical.

### Changes
- Expands the size of the incinerator.
- Swaps the Plasma Tank with the CO2 tank in Atmos and re-pipes the pure
loop so that atmos can mix plasma better into projects.
- Removes duplicate medal boxes that heads/captains had, as these are
always spawned in lockers.

### Fixes
- Fixes missing Moonstation openspace cliffs.
- Fixes misplaced vents in Virology.
- Fixes missing wiki/tutorial books in various departments.
- Fixes missing bluespace gas tank vendors in EVA related
departments/areas.
- Fixes missing action figures in various departments/areas.
- Fixes brig desk shutters starting closed.
- Fixes various missing informative papers in certain areas.
- Fixes Ash Storms not running in Lavaland.
- Fixes Ash Storms and Sand Storms running in the underground cave area.

## Why It's Good For The Game

Changes Good.

## Proof Of Testing

Tested extensively ™️ 

## Changelog

🆑 BurgerBB
add: Adds Loop Station, a new station in space that's a part of Moon
Station that allows you to go space exploring. It can be accessed via
gateway, teleporter, or public shuttle at the station's arrivals.
add: Adds underground and surface rivers to moonstation. You can fish in
them. You can now construct shuttles on Moonstation.
add: Changes several minor aspects of Moonstation, including moving some
of the Atmos tanks around and adding missing objects.
fix: Fixes various Moonstation bugs.
/🆑
2025-08-04 19:07:32 -04:00

29 lines
1.4 KiB
Plaintext

//This is for Moonstation.
/datum/controller/subsystem/mapping/setup_rivers()
. = ..()
// Generate mining ruins
var/list/moonstation_ruins = levels_by_trait(ZTRAIT_MOONSTATION_RUINS)
for (var/moon_z in moonstation_ruins)
spawn_rivers(moon_z, 4, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors/unexplored)
spawn_rivers(moon_z, 8, /turf/open/water/moonstation, /area/moonstation/underground/unexplored)
spawn_rivers(moon_z, 8, /turf/open/water/moonstation/surface, /area/moonstation/surface/unexplored)
/datum/controller/subsystem/mapping/setup_ruins()
. = ..()
var/list/moonstation_ruins = levels_by_trait(ZTRAIT_MOONSTATION_RUINS)
if (moonstation_ruins.len)
seedRuins(moonstation_ruins, CONFIG_GET(number/lavaland_budget), list(/area/lavaland/surface/outdoors/unexplored), themed_ruins[ZTRAIT_LAVA_RUINS], clear_below = TRUE, mineral_budget = 15, mineral_budget_update = OREGEN_PRESET_LAVALAND)
var/list/loopstation_level = levels_by_trait(ZTRAIT_LOOPSTATION)
if(loopstation_level.len) //We just need at least 1 to place it.
var/datum/space_level/empty_level = add_new_zlevel("Loop Station", ZTRAITS_SPACE, contain_turfs = FALSE)
load_map(
file("_maps/loopstation/loopstation.dmm"),
0,
0,
empty_level.z_value,
no_changeturf = TRUE,
new_z = TRUE,
place_on_top = TRUE,
no_changeturf = (SSatoms.initialized == INITIALIZATION_INSSATOMS)
)