Files
Paradise/code/game/objects/structures/lavaland/necropolis_tendril.dm
T
d2c761821a Lavaland weather types: Dying is Fun edition (#28600)
* ddsadsa

ddsadsa

* beginning

* more progress

* oops saved

* radar workin now

* bugfixing and tweaks

* working on volcano

* tweaking

* ill figure this out later

* testing still

* MORE testing

* gunna cry

* PROGRESS!!!

* volcano DONE

* starting the acid rain

* acid rain code complete

* starting windstorm

* more bugfixing...

* its finished! need to bugtest

* bugfixing

* bugfixing

* forgot prob values

* spacing fix for linter

* linter fix

* undefining things

* Update code/datums/weather/weather_types/lavaland_weather.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/datums/weather/weather_types/lavaland_weather.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/datums/weather/weather_types/lavaland_weather.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* misc fixes/changes

* updated the doppler tower

* small tweaks

* still trying to get pods to work

* better support for sound transition to newly placed shelters

* minor fixes

* this didnt take oops

* nudged the probabilities

* deconflicting

* Update code/datums/weather/weather_types/lavaland_weather.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/machinery/radar.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* applied requested fixes

* master update

* updates

* this should be here

* Apply suggestions from code review

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* requested fixes

* sound tweaks

* remove debug message

* turned down ash storm sound

* fix gulag weather and attempt to fix sound overlap

* blackbox weather and title-case ash storms

* change up probabilities and bump acid rain melt chance

* another title case

* starting on issues

* revert some changes

* tiny tweak

* reworked acid rain a bit

* small tweaks to sleepers

* moderate again

* revert

* ups the rocks

* bug fixes

---------

Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
2025-04-18 20:18:38 +00:00

97 lines
3.2 KiB
Plaintext

//Necropolis Tendrils, which spawn lavaland monsters and break into a chasm when killed
/obj/structure/spawner/lavaland
name = "necropolis tendril"
desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it."
icon = 'icons/mob/nest.dmi'
icon_state = "tendril"
faction = list("mining")
max_mobs = 3
max_integrity = 250
mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril)
move_resist = INFINITY // just killing it tears a massive hole in the ground, let's not move it
anchored = TRUE
resistance_flags = FIRE_PROOF | LAVA_PROOF
var/obj/effect/light_emitter/tendril/emitted_light
/obj/structure/spawner/lavaland/goliath
mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril)
/obj/structure/spawner/lavaland/legion
mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril)
GLOBAL_LIST_EMPTY(tendrils)
/obj/structure/spawner/lavaland/Initialize(mapload)
. = ..()
emitted_light = new(loc)
GLOB.tendrils += src
return INITIALIZE_HINT_LATELOAD
/obj/structure/spawner/lavaland/LateInitialize()
for(var/F in RANGE_TURFS(1, src))
if(ismineralturf(F))
var/turf/simulated/mineral/M = F
M.ChangeTurf(M.turf_type, FALSE, FALSE, TRUE)
var/turf/no_lava = F
no_lava.flags |= NO_LAVA_GEN
/obj/structure/spawner/lavaland/deconstruct(disassembled)
new /obj/effect/collapse(loc)
new /obj/structure/closet/crate/necropolis/tendril(loc)
return ..()
/obj/structure/spawner/lavaland/attacked_by__legacy__attackchain(obj/item/I, mob/living/user)
. = ..()
SEND_SIGNAL(src, COMSIG_SPAWNER_SET_TARGET, user)
/obj/structure/spawner/lavaland/bullet_act(obj/item/projectile/P)
. = ..()
if(P.firer)
SEND_SIGNAL(src, COMSIG_SPAWNER_SET_TARGET, P.firer)
/obj/structure/spawner/lavaland/Destroy()
GLOB.tendrils -= src
QDEL_NULL(emitted_light)
return ..()
/obj/effect/light_emitter/tendril
set_luminosity = 4
set_cap = 2.5
light_color = LIGHT_COLOR_LAVA
/obj/effect/collapse
name = "collapsing necropolis tendril"
desc = "Get clear!"
layer = TABLE_LAYER
icon = 'icons/mob/nest.dmi'
icon_state = "tendril"
anchored = TRUE
density = TRUE
var/obj/effect/light_emitter/tendril/emitted_light
/obj/effect/collapse/Initialize(mapload)
. = ..()
emitted_light = new(loc)
visible_message("<span class='boldannounceic'>The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!</span>")
visible_message("<span class='warning'>Something falls free of the tendril!</span>")
playsound(loc, 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE)
addtimer(CALLBACK(src, PROC_REF(collapse)), 50)
/obj/effect/collapse/Destroy()
QDEL_NULL(emitted_light)
return ..()
/obj/effect/collapse/proc/collapse()
for(var/mob/M in range(7, src))
shake_camera(M, 15, 1)
playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE)
visible_message("<span class='boldannounceic'>The tendril falls inward, the ground around it widening into a yawning chasm!</span>")
for(var/turf/T in range(LAVALAND_TENDRIL_COLLAPSE_RANGE, src))
if(!T.density)
T.TerraformTurf(/turf/simulated/floor/chasm/straight_down/lava_land_surface)
qdel(src)