mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-05-30 11:07:24 +01:00
5b4ac8bb0d
The Electrical Storm event now just picks a random spot on the station (using find_safe_turf()), and then overloads APCS near it. Less work for mappers, more randomness in the selection of lightbulb destruction.
34 lines
924 B
Plaintext
34 lines
924 B
Plaintext
/datum/round_event_control/electrical_storm
|
|
name = "Electrical Storm"
|
|
typepath = /datum/round_event/electrical_storm
|
|
earliest_start = 6000
|
|
min_players = 5
|
|
weight = 40
|
|
alertadmins = 0
|
|
|
|
/datum/round_event/electrical_storm
|
|
var/lightsoutAmount = 1
|
|
var/lightsoutRange = 25
|
|
announceWhen = 1
|
|
|
|
/datum/round_event/electrical_storm/announce(fake)
|
|
priority_announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert")
|
|
|
|
|
|
/datum/round_event/electrical_storm/start()
|
|
var/list/epicentreList = list()
|
|
|
|
for(var/i=1, i <= lightsoutAmount, i++)
|
|
var/turf/T = find_safe_turf()
|
|
if(istype(T))
|
|
epicentreList += T
|
|
|
|
if(!epicentreList.len)
|
|
return
|
|
|
|
for(var/centre in epicentreList)
|
|
for(var/a in GLOB.apcs_list)
|
|
var/obj/machinery/power/apc/A = a
|
|
if(get_dist(centre, A) <= lightsoutRange)
|
|
A.overload_lighting()
|