Lemurian Sea hotfixes (#22731)

changes:
- rscadd: "Adds some additional grates to the Horizon's D2 Medical for
traction in zero-g."
  - rscdel: "Removes ADPI sound effects."
  - bugfix: "Fixes inflated Gravity Anomaly timing values."
  - bugfix: "Fixes ADPI line retrieval."
  - qol: "Reduces screenshake strength globally by 33%."
This commit is contained in:
Batrachophreno
2026-06-19 12:51:12 +00:00
committed by GitHub
parent 7a99813dd0
commit f1ac588b71
7 changed files with 135 additions and 46 deletions
+14 -15
View File
@@ -45,20 +45,20 @@
starlight_range = 0
overmap_hazards_multiplier = 1.3
cargo_price_coef = list(
"nanotrasen" = 6.0,
"orion" = 6.0,
"hephaestus" = 6.0,
"zeng_hu" = 6.0,
"eckharts" = 6.0,
"getmore" = 6.0,
"arizi" = 6.0,
"blam" = 6.0,
"iac" = 6.0,
"zharkov" = 6.0,
"virgo" = 6.0,
"bishop" = 6.0,
"xion" = 6.0,
"zavodskoi" = 6.0,
"nanotrasen" = 2.5,
"orion" = 2.5,
"hephaestus" = 2.5,
"zeng_hu" = 2.5,
"eckharts" = 2.5,
"getmore" = 2.5,
"arizi" = 2.5,
"blam" = 2.5,
"iac" = 2.5,
"zharkov" = 2.5,
"virgo" = 2.5,
"bishop" = 2.5,
"xion" = 2.5,
"zavodskoi" = 2.5,
)
lobby_tracks = list(
@@ -72,7 +72,6 @@
sector_lobby_transitions = 0
sector_hud_menu = 'icons/misc/hudmenu/lemurian_hud.dmi'
hivenet_echoes = FALSE
ghostroles_enabled = FALSE
away_sites_enabled = FALSE
ccia_link = FALSE
+8 -7
View File
@@ -1,7 +1,7 @@
/datum/event/gravity_anomaly
announceWhen = 0
startWhen = 90 SECONDS
endWhen = 60 SECONDS // Actually gets set in setup()
startWhen = 30
endWhen = 60 // Actually gets set in setup()
ic_name = "a gravitational anomaly"
var/list/valid_victims
has_skybox_image = TRUE
@@ -35,7 +35,7 @@
)
/datum/event/gravity_anomaly/setup()
endWhen = rand(5 MINUTES, 25 MINUTES)
endWhen = rand(240, 720)
/datum/event/gravity_anomaly/announce()
command_announcement.Announce(
@@ -102,7 +102,7 @@
return FALSE
/datum/event/gravity_anomaly/proc/pick_victim_disturbance()
if(activeFor >= next_gravity_surge && prob(50))
if(activeFor >= next_gravity_surge && prob(67))
schedule_next_gravity_surge()
if(prob(10))
return "surge_hilarious"
@@ -119,7 +119,7 @@
return null
/datum/event/gravity_anomaly/proc/schedule_next_gravity_surge()
next_gravity_surge = activeFor + rand(20, 60)
next_gravity_surge = activeFor + rand(2, 90)
/datum/event/gravity_anomaly/proc/get_current_victims()
var/list/current_victims = list()
@@ -180,7 +180,7 @@
else
if(prob(20))
to_chat(victim, SPAN_WARNING(pick(nausea_mild_organic)))
if(prob(10))
if(prob(5))
victim.vomit()
/datum/event/gravity_anomaly/proc/apply_nausea_strong(var/mob/living/carbon/human/victim)
@@ -191,7 +191,8 @@
to_chat(victim, SPAN_MACHINE_WARNING(pick(nausea_strong_ipc)))
else
to_chat(victim, SPAN_WARNING(pick(nausea_strong_organic)))
victim.vomit()
if(prob(25))
victim.vomit()
/datum/event/gravity_anomaly/proc/apply_surge_default(var/mob/living/carbon/human/victim)
victim.dizziness += rand(10, 20)
@@ -88,6 +88,26 @@
style_open = "<span class='langchat' style=font-size:20pt;text-align:center valign='top'>"
style_close = "</span>"
/atom/movable/screen/text/screen_text/adpi_message/psiren_spam
screen_loc = "LEFT,TOP-7"
play_delay = 0.1
letters_per_update = 1
fade_out_delay = 1 SECONDS
style_open = "<span class='langchat' style=font-size:20pt;text-align:center valign='top'>"
style_close = "</span>"
/atom/movable/screen/text/screen_text/adpi_message/psiren_spam/Initialize()
var/random_shift = rand(1,4)
if(prob(50))
random_shift *= -1
// Christ on sale. I'm sorry, but this DOES work...
screen_loc = "LEFT[random_shift > 0 ? "+" : ""][random_shift]:[random_shift * 2],TOP-[7 + random_shift]:[random_shift * 2]"
..()
return INITIALIZE_HINT_NORMAL
///proc for actually playing this screen_text on a mob.
/atom/movable/screen/text/screen_text/proc/play_to_client()
player?.add_to_screen(src)
+6 -4
View File
@@ -487,14 +487,16 @@ GLOBAL_LIST_INIT(organ_rel_size, list(
/proc/shake_camera(mob/M, duration, strength=1, drift = FALSE)
if(!M || !M.client || duration < 1)
return
// This variable exists simply to reduce total strength of screenshake; in the future, it should be hooked to a client preference setting (standard/reduced screenshake for motion-sickness)
var/reduction_modifier = 2/3
var/drift_mode = (drift == TRUE)
var/client/C = M.client
var/oldx = C.pixel_x
var/oldy = C.pixel_y
var/max_x = strength*ICON_SIZE_X
var/max_y = strength*ICON_SIZE_Y
var/min_x = -(strength*ICON_SIZE_X)
var/min_y = -(strength*ICON_SIZE_Y)
var/max_x = strength*ICON_SIZE_X*(reduction_modifier)
var/max_y = strength*ICON_SIZE_Y*(reduction_modifier)
var/min_x = -(strength*ICON_SIZE_X)*(reduction_modifier)
var/min_y = -(strength*ICON_SIZE_Y)*(reduction_modifier)
//How much time to allot for each pixel moved
var/time_scalar = (1 / ICON_SIZE_ALL) * TILES_PER_SECOND