mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user