Lemurian Sea (#22686)

changes:
  - refactor: "Refactors Gravity Generator UI from HTML to TGUI."
- rscadd: "Adds sector-based modifier var 'overmap_hazards_multiplier'
for generating total overmap hazard count."
  - soundadd: "Adds new Lemurian Sea 'welcome' announcements."
- rscadd: "Added Lemurian Sea gravitic anomalies as overmap hazards and
random events."
  - rscadd: "Adds ADPI/The Voices."
- rscadd: "Adds ADPI Panel for modmins to send ADPI messages to a single
character or all characters from their respective pools, or custom
messages."
- balance: "Vaurca Hivenet communication, the Hivenet Manifest, and
Hivenet Echoes are now disabled while the ship is in Lemurian Sea
sectors."
This commit is contained in:
Batrachophreno
2026-06-13 16:25:49 +00:00
committed by GitHub
parent a11c25bef6
commit 0c7ab8baa7
53 changed files with 1818 additions and 417 deletions
@@ -16,12 +16,12 @@
/obj/effect/plastic_explosive/Initialize(var/atom/owner_pos, var/atom/target, var/obj/item/plastique/c4)
. = ..()
parent = c4
parent.effect_overlay = src
parent.forceMove(src)
name = parent.name
desc = parent.desc
set_position(get_dir(src, target))
if(parent)
parent = c4
parent.forceMove(src)
name = parent.name
desc = parent.desc
set_position(get_dir(src, target))
/obj/effect/plastic_explosive/Destroy()
QDEL_NULL(parent)
@@ -4,7 +4,7 @@
icon = 'icons/obj/lighting.dmi'
anchored = TRUE
light_system = MOVABLE_LIGHT
light_range = 3
light_range = 1.6 // LEMURIAN SEA, AFTER ARC RESTORE TO 3
/obj/item/hullbeacon/Initialize()
. = ..()
@@ -15,7 +15,6 @@
var/timer = 300
var/atom/target = null
var/open_panel = 0
var/obj/effect/plastic_explosive/effect_overlay
/// Type of plastic explosive effect created on the obj we attack.
var/plastic_explosive_type = /obj/effect/plastic_explosive
@@ -49,6 +48,8 @@
/obj/item/plastique/Destroy()
qdel(wires)
wires = null
qdel(target)
target = null
return ..()
/obj/item/plastique/attackby(obj/item/attacking_item, mob/user)
@@ -120,7 +121,6 @@
target = get_atom_on_turf(src)
if(!target)
target = src
QDEL_NULL(effect_overlay)
if(location)
explosion(location, devastation_range, heavy_impact_range, light_impact_range, 3, spreading = 0)
+8 -7
View File
@@ -218,15 +218,16 @@
if(in_use)
var/is_in_use = 0
var/list/nearby = viewers(1, src)
var/datum/tgui/ui
for(var/mob/M in nearby)
if ((M.client && M.machine == src))
is_in_use = 1
src.attack_hand(M)
if (istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot))
if (!(usr in nearby))
if (usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
if(M.client)
if(SStgui.try_update_ui(M, src, ui))
is_in_use = 1
src.attack_ai(usr)
if(istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot))
if(!(usr in nearby))
if(usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
is_in_use = 1
ui = SStgui.try_update_ui(usr, src, ui)
in_use = is_in_use
/obj/proc/updateDialog()