From e7411b60058baf2179af7ea27de11f2cedc3d6cb Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:09:21 +0200 Subject: [PATCH] Adds some Pulse demon failsaves (#26278) * Pulse demon failsaves * We can have 1000 power, as a treat --- .../miniantags/pulsedemon/pulsedemon_event.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_event.dm b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_event.dm index 876c223d9c3..2fb91852d07 100644 --- a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_event.dm +++ b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_event.dm @@ -1,3 +1,6 @@ +/// A pulse demon requires 1000 watts to regenerate +#define DEMON_REQUIRED_POWER 1000 + /datum/event/spawn_pulsedemon var/key_of_pulsedemon @@ -11,7 +14,7 @@ var/mob/C = pick(candidates) key_of_pulsedemon = C.key dust_if_respawnable(C) - + if(!key_of_pulsedemon) kill() return @@ -29,14 +32,14 @@ var/list/spawn_centers = list() for(var/datum/regional_powernet/P in SSmachines.powernets) for(var/obj/structure/cable/C in P.cables) - if(!is_station_level(C.z) || P.available_power <= 0) + if(!is_station_level(C.z) || P.available_power < DEMON_REQUIRED_POWER) break // skip iterating over this entire powernet, it's not on station or it has zero available power (so it's not suitable) var/turf/simulated/floor/F = get_turf(C) // is a floor, not tiled, on station, in maintenance and cable has power? if(istype(F) && (!F.intact && !F.transparent_floor) && istype(get_area(C), /area/station/maintenance)) spawn_centers += F - if(!spawn_centers) + if(!length(spawn_centers)) message_admins("no suitable spawn locations were found for the pulse demon event.") log_debug("no suitable spawn locations were found for the pulse demon event.") kill() @@ -45,3 +48,5 @@ /datum/event/spawn_pulsedemon/start() INVOKE_ASYNC(src, PROC_REF(get_pulsedemon)) + +#undef DEMON_REQUIRED_POWER