Adds the alien cache ruin and a PTL terminal (#30367)

* Make the cache room

* adds alien cache machine

* adds the cache properly

* adds multitile component

* adds terminal building and reward selection procs

* adds laser receptacle file

* Refactors ptl targetting code

* more work on the ptl terminal

* change file name to laser_terminal

* changes area to powered makes laser terminal work properly

* makes a new pickweight function because the old one is bad

* Update alien_cache.dm

* Update canister.dm

* Update alien_cache.dm

* adds a template of the ruin

* adds some spawners to the reward pool

* adjusts agent b amount

* adjustments to loot table and changes to spawner comments

* new placeholder sprite for the cache

* randomizes reward spawn location and makes a PTL terminal sprite

* updates alien cache sprite and examine proc

* Adds overlays to the cache to indicate the current progress

* fixes mob capsule spawner and laser terminal

* Adds animations to PTL terminal

* new box part of the sprite for the PTL terminal. Adds glow

* fixes untargetting the PTL terminal and adds a little light overlay to the receiving dish

* changes PTL terminal id generation slightly

* adds simon says. incomplete

* Update paradise.dme

* simon says works now

* adds more rhythms

* Adds success and failure sounds

* Makes the ptl terminal board printable

* Update secure_alien_airlock.dm

* undo changes to preferences.dm

* undefs things

* removes identical to parent vars

* Update alien_cache_random_spawners.dm

* replaces animation end loop flag so open dream CI doesn't give errors

* changes centre platform colour and adds a fan to the entrance

* more pads more sounds

* better sprites

* remove old sprite

* adds the cache to example config

* makes it not always spawn

* Update simon_says_32x32.dmi

* adds some flavor to the ruin

* Update alien_cache_site.dmm

* adds a signal to the ruin
This commit is contained in:
Migratingcocofruit
2025-10-01 12:54:10 +00:00
committed by GitHub
parent 57c797a791
commit ad98a804cb
28 changed files with 2050 additions and 25 deletions
@@ -193,6 +193,36 @@
difficulty_ore_modifier -= 4
enraged = FALSE
// MARK: PTL Interaction
/mob/living/simple_animal/hostile/megafauna/on_ptl_target(obj/machinery/power/transmission_laser/ptl)
ptl.RegisterSignal(src, COMSIG_MOB_DEATH, TYPE_PROC_REF(/obj/machinery/power/transmission_laser, untarget), ptl)
if(ptl?.firing)
on_ptl_fire(ptl)
return
/mob/living/simple_animal/hostile/megafauna/on_ptl_tick(obj/machinery/power/transmission_laser/ptl, output_level)
loot = list() // disable loot drops form the target to prevent cheese
if(10 * output_level * damage_coeff[BURN] / (1 MW) > health) // If we would kill the target dust it.
health = 0 // We need this so can_die() won't prevent dusting
visible_message("<span class='danger'>\The [src] is reduced to dust by the beam!</span>")
dust()
else
adjustFireLoss(10 * output_level / (1 MW))
/mob/living/simple_animal/hostile/megafauna/on_ptl_untarget(obj/machinery/power/transmission_laser/ptl)
on_ptl_stop(ptl)
if(ptl)
ptl.UnregisterSignal(src, COMSIG_MOB_DEATH)
/mob/living/simple_animal/hostile/megafauna/on_ptl_fire(obj/machinery/power/transmission_laser/ptl)
var/orbital_strike = image(icon, src, "orbital_strike", FLY_LAYER, SOUTH)
add_overlay(orbital_strike)
/mob/living/simple_animal/hostile/megafauna/on_ptl_stop(obj/machinery/power/transmission_laser/ptl)
for(var/image/overlay in overlays)
if(overlay.name == "orbital_strike")
cut_overlay(overlay)
/mob/living/simple_animal/hostile/megafauna/DestroySurroundings()
. = ..()
for(var/turf/simulated/floor/chasm/C in circlerangeturfs(src, 1))