bd37d45334
* ports all the tg junk for icemoon, not yet changed to make it all compile * fixes * fixes * fixes * fixes * fixes * new stuff * whew * fixes * it compiles, now to fix the maps * fixes the maps * fixes solars + removes the space tiles in the toxins burn chamber * nukes the SpawnTerrain proc used for tg geysers * linter fix * fix * fixes the non matching turf atmos (hopefully) * more mapping fixes * dmm2tgm * unfucks changeturf for the more_caves * fixes the volanic subtypes of the other thing * fixes the stupid fucking tile placing list * some map fixes, fixes the station_ruin loader shitting out errors this commit took 2 hours of my fucking life * fixes a bunch of mismatch atmos in ruins * fixes wendigo cave having no air * backwards couch backwards couch * fixes the SM up * wendigos can't runtime when butchering if you can't butcher them 😎 * makes the wendigo fight have the same atmos as the surrounding icemoon * Tweaks atmos mixture from o2=22;n2=82;TEMP=180 to o2=18;n2=63;TEMP=180, making lavaland weapons actually work * makes the wendigo screech shake not completely aids * fixes snowlegion portals dropping proper legions instead of skeles * brings the engioutpost ruin over as well * whoopps * empty commit to reroll bots * Fixes pirates, ops, the mining base, and gives pirates and ops drills * fixes lone ops and ninjas * fixes the snowed plating getting fucked when tiles are placed on it * removes some OP junk from the wabbajack pool (aka removes non-antag headslugs again) * more bug fixes * empty commit to reroll bots * hopefully finally kills the active turfs on the library ruin Co-authored-by: kevinz000 <2003111+kevinz000@users.noreply.github.com>
101 lines
3.3 KiB
Plaintext
101 lines
3.3 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/gps = null
|
|
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)
|
|
|
|
/obj/structure/spawner/lavaland/icewatcher
|
|
mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing)
|
|
|
|
GLOBAL_LIST_INIT(tendrils, list())
|
|
/obj/structure/spawner/lavaland/Initialize()
|
|
. = ..()
|
|
emitted_light = new(loc)
|
|
for(var/F in RANGE_TURFS(1, src))
|
|
if(ismineralturf(F))
|
|
var/turf/closed/mineral/M = F
|
|
M.ScrapeAway(null, CHANGETURF_IGNORE_AIR)
|
|
gps = new /obj/item/gps/internal(src)
|
|
GLOB.tendrils += src
|
|
|
|
/obj/structure/spawner/lavaland/deconstruct(disassembled)
|
|
new /obj/effect/collapse(loc)
|
|
new /obj/structure/closet/crate/necropolis/tendril(loc)
|
|
return ..()
|
|
|
|
|
|
/obj/structure/spawner/lavaland/Destroy()
|
|
var/last_tendril = TRUE
|
|
if(GLOB.tendrils.len>1)
|
|
last_tendril = FALSE
|
|
|
|
if(last_tendril && !(flags_1 & ADMIN_SPAWNED_1))
|
|
if(SSmedals.hub_enabled)
|
|
for(var/mob/living/L in view(7,src))
|
|
if(L.stat || !L.client)
|
|
continue
|
|
SSmedals.UnlockMedal("[BOSS_MEDAL_TENDRIL] [ALL_KILL_MEDAL]", L.client)
|
|
SSmedals.SetScore(TENDRIL_CLEAR_SCORE, L.client, 1)
|
|
GLOB.tendrils -= src
|
|
QDEL_NULL(emitted_light)
|
|
QDEL_NULL(gps)
|
|
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()
|
|
. = ..()
|
|
emitted_light = new(loc)
|
|
visible_message("<span class='boldannounce'>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, 0, 50, 1, 1)
|
|
addtimer(CALLBACK(src, .proc/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, 1)
|
|
visible_message("<span class='boldannounce'>The tendril falls inward, the ground around it widening into a yawning chasm!</span>")
|
|
for(var/turf/T in range(2,src))
|
|
if(!T.density)
|
|
T.TerraformTurf(/turf/open/chasm/lavaland, /turf/open/chasm/lavaland, flags = CHANGETURF_INHERIT_AIR)
|
|
qdel(src)
|