Lemurian Sea Hotfixes (#22694)

Tunes overmap spawns, hazard weighting, away site and offship exceptions
for the 8th time, admin logging, grav anom safeties for shuttles, etc.

<img width="425" height="245" alt="image"
src="https://github.com/user-attachments/assets/405a9887-9daf-4781-a9c3-2b837db09fbb"
/>

^ LOOKING AT YOU, TRAMP FREIGHTER
This commit is contained in:
Batrachophreno
2026-06-13 18:18:36 -04:00
committed by GitHub
parent 062f8c46ae
commit 62d3ee304b
21 changed files with 58 additions and 24 deletions
+2 -1
View File
@@ -34,6 +34,7 @@
#define SECTOR_LIGHTS_EDGE "Light's Edge" // For the area of Light's Edge that is somewhat inhabited. NOTE- this also lives in ALL_COALITION_SECTORS, per lore.
#define SECTOR_LEMURIAN_SEA "Lemurian Sea (Outer)" // For the fringes of the Lemurian Sea.
#define SECTOR_LEMURIAN_SEA_FAR "Lemurian Sea (Inner)" // For the actual Lemurian Sea. Adminbus town.
#define LEMURIAN_SEA_SECTORS list(SECTOR_LEMURIAN_SEA, SECTOR_LEMURIAN_SEA_FAR) // Sanity
#define ALL_VOID_SECTORS list(SECTOR_LIGHTS_EDGE, SECTOR_LEMURIAN_SEA, SECTOR_LEMURIAN_SEA_FAR)
//Crescent Expanse & Beyond
@@ -51,7 +52,7 @@
#define ALL_CORPORATE_SECTORS list(ALL_TAU_CETI_SECTORS, SECTOR_SRANDMARR, SECTOR_UUEOAESA, ALL_COALITION_SECTORS, ALL_GENERIC_SECTORS, SECTOR_NRRAHRAHUL, SECTOR_BADLANDS)//Currently excludes Elyran sectors and Light's Edge
/// For remote/uncharted regions distant from the civilised Spur. Some surveyors/independents only.
#define ALL_UNCHARTED_SECTORS list(SECTOR_CRESCENT_EXPANSE_FAR, SECTOR_LEMURIAN_SEA_FAR)
#define ALL_UNCHARTED_SECTORS list(SECTOR_CRESCENT_EXPANSE_FAR, SECTOR_LEMURIAN_SEA, SECTOR_LEMURIAN_SEA_FAR)
//For highly dangerous sectors with high piracy. Civilian and leisure ships should be less common or not found here.
#define ALL_DANGEROUS_SECTORS list(SECTOR_BADLANDS, ALL_VOID_SECTORS, ALL_CRESCENT_EXPANSE_SECTORS, ALL_UNCHARTED_SECTORS)
@@ -176,7 +176,7 @@ SUBSYSTEM_DEF(hallucinations)
/datum/controller/subsystem/hallucinations/proc/is_adpi_excluded(var/mob/living/target)
if(!target)
return TRUE
if(isvaurca(target) || isipc(target) || issilicon(target))
if(isvaurca(target) || isipc(target) || issilicon(target) || target.is_diona())
return TRUE
return FALSE
@@ -403,7 +403,7 @@ SUBSYSTEM_DEF(hallucinations)
message = pick("The water is dripping dripping dripping all around you.","Water flowing over stone, but there is no stone.","The waterfall roars o'er the cliff's edge.","Water, water, water. You are drowning.","Water, water, water. You will be awake for it.","Drums, drums, drums, unrelenting.","The drumbeat draws e'er closer.","Tap, ta-tap, ta-tap, tap, ta-tap, ta-tap.","Tap, tap tap, ta-tap, tap-tap, ta-tap.","Ta-ta-tap, tap, ta-tap, tap, tap ta-tap.")
target.play_screen_text("[message]", /atom/movable/screen/text/screen_text/adpi_message, COLOR_PURPLE)
to_chat(target, SPAN_CULT(FONT_LARGE("[message]")))
log_admin("ADPI message sent to [target]: [message]")
if(prob(33))
sound_to(target, pick(adpi_sounds))
@@ -43,7 +43,7 @@
starlight_color = "#000000"
starlight_power = 0
starlight_range = 0
overmap_hazards_multiplier = 2.0
overmap_hazards_multiplier = 1.3
cargo_price_coef = list(
"nanotrasen" = 6.0,
"orion" = 6.0,
@@ -68,6 +68,9 @@
)
sector_welcome_message = 'sound/AI/welcome_lemurian_sea_outer.ogg'
sector_lobby_art = list('icons/misc/titlescreens/sccv_horizon/sccv_horizon_dark.dmi')
sector_lobby_transitions = 0
sector_hud_menu = 'icons/misc/hudmenu/lemurian_hud.dmi'
hivenet_echoes = FALSE
ghostroles_enabled = FALSE
away_sites_enabled = FALSE
+1 -1
View File
@@ -385,7 +385,7 @@ GLOBAL_LIST_INIT(severity_to_string, alist(EVENT_LEVEL_MUNDANE = "Mundane", EVEN
20, list(ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_JANITOR = 20)),
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Dark Matter Influx", /datum/event/gravity_anomaly,
5, list(ASSIGNMENT_ENGINEER = 20), is_one_shot = TRUE,
35, list(ASSIGNMENT_ENGINEER = 20), is_one_shot = TRUE,
pop_needed = 12),
)
+15 -10
View File
@@ -137,6 +137,11 @@
// Is there gravity where they are? IE. is the grav generator on/off OR are they on the holodeck w/ zero gravity, OR are they EVA? Skip if no artificial gravity for whatever reason.
if(!potential_victim.has_gravity())
return FALSE
// Are they in one of the shuttles? Bandaid case, whatever.
var/turf/potential_victim_turf = potential_victim.loc
var/area/potential_victim_area = potential_victim_turf?.loc
if(istype(potential_victim_area, /area/horizon/shuttle))
return FALSE
return TRUE
/datum/event/gravity_anomaly/proc/apply_effect(var/mob/living/carbon/human/victim, var/current_effect)
@@ -161,14 +166,14 @@
shake_camera(victim, rand(3 SECONDS, 10 SECONDS), 0.1, TRUE)
/datum/event/gravity_anomaly/proc/apply_nausea_minor(var/mob/living/carbon/human/victim)
victim.dizziness += rand(2, 4)
victim.confused += 1
victim.dizziness += rand(4, 8)
victim.confused += 10
if(prob(10))
to_chat(victim, SPAN_WARNING(pick(nausea_minor)))
/datum/event/gravity_anomaly/proc/apply_nausea_mild(var/mob/living/carbon/human/victim)
victim.dizziness += rand(3, 6)
victim.confused += rand(0, 1)
victim.dizziness += rand(5, 8)
victim.confused += rand(10, 15)
if(isipc(victim))
if(prob(20))
to_chat(victim, SPAN_MACHINE_WARNING(pick(nausea_mild_ipc)))
@@ -180,7 +185,7 @@
/datum/event/gravity_anomaly/proc/apply_nausea_strong(var/mob/living/carbon/human/victim)
victim.dizziness += rand(8, 15)
victim.confused += rand(1, 3)
victim.confused += rand(15, 20)
if(prob(50))
if(isipc(victim))
to_chat(victim, SPAN_MACHINE_WARNING(pick(nausea_strong_ipc)))
@@ -189,8 +194,8 @@
victim.vomit()
/datum/event/gravity_anomaly/proc/apply_surge_default(var/mob/living/carbon/human/victim)
victim.dizziness += rand(4, 10)
victim.confused += rand(1, 5)
victim.dizziness += rand(10, 20)
victim.confused += rand(20, 25)
if(prob(50))
if(isipc(victim))
to_chat(victim, SPAN_MACHINE_WARNING(pick(nausea_strong_ipc)))
@@ -214,13 +219,13 @@
victim.Weaken(3)
/datum/event/gravity_anomaly/proc/apply_surge_hilarious(var/mob/living/carbon/human/victim)
victim.dizziness += rand(8, 15)
victim.confused += rand(1, 10)
victim.dizziness += rand(20, 80)
victim.confused += rand(20, 80)
if(isipc(victim))
to_chat(victim, SPAN_MACHINE_WARNING(pick(nausea_strong_ipc)))
else
to_chat(victim, SPAN_WARNING(pick(nausea_strong_organic)))
if(prob(33))
if(prob(80))
victim.vomit()
if(prob(60))
if(victim.buckled_to)
+7 -7
View File
@@ -357,7 +357,7 @@
/datum/overmap_event/meteor
name = "asteroid field"
count = 15
count = 10
radius = 4
opacity = 1
continuous = FALSE
@@ -365,26 +365,26 @@
/datum/overmap_event/electric
name = "electrical storm"
count = 6
count = 4
radius = 2
hazards = /obj/effect/overmap/event/electric
/datum/overmap_event/dust
name = "dust cloud"
count = 13
count = 9
radius = 3
opacity = 1
hazards = /obj/effect/overmap/event/dust
/datum/overmap_event/ion
name = "ion cloud"
count = 5
count = 4
radius = 2
hazards = /obj/effect/overmap/event/ion
/datum/overmap_event/carp
name = "carp shoal"
count = 8
count = 6
radius = 2
continuous = FALSE
hazards = /obj/effect/overmap/event/carp
@@ -398,7 +398,7 @@
/datum/overmap_event/gravity
name = "dark matter influx"
count = 15
radius = 8
count = 19
radius = 12
hazards = /obj/effect/overmap/event/gravity_anomaly
sectors = list(SECTOR_LEMURIAN_SEA, SECTOR_LEMURIAN_SEA_FAR)