/datum/round_event_control/electrical_storm name = "Electrical Storm" typepath = /datum/round_event/electrical_storm earliest_start = 30 MINUTES //GS13 Edit: Reducing pain for normal station ongoings. min_players = 5 weight = 40 max_occurrences = 2 //GS13 Edit: Limiting this. category = EVENT_CATEGORY_ENGINEERING description = "Destroys all lights in a large area." /datum/round_event/electrical_storm var/lightsoutAmount = 1 var/lightsoutRange = 10 //GS13 Edit: 25 down to 10 announce_when = 1 /datum/round_event/electrical_storm/announce(fake) if(prob(50)) priority_announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert") else print_command_report("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm") /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()