mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-19 22:51:40 +00:00
Removes a very large amount of world loops. Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically. Cleans up some commented out code.
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
/var/global/sent_spiders_to_station = 0
|
|
|
|
/datum/event/spider_infestation
|
|
announceWhen = 90
|
|
var/spawncount = 1
|
|
|
|
|
|
/datum/event/spider_infestation/setup()
|
|
announceWhen = rand(announceWhen, announceWhen + 60)
|
|
spawncount = rand(4 * severity, 6 * severity) //spiderlings only have a 50% chance to grow big and strong
|
|
sent_spiders_to_station = 0
|
|
|
|
/datum/event/spider_infestation/announce()
|
|
command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
|
|
|
|
|
|
/datum/event/spider_infestation/start()
|
|
var/list/vents = list()
|
|
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in machines)
|
|
if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels)
|
|
if(temp_vent.network.normal_members.len > 50)
|
|
vents += temp_vent
|
|
|
|
while((spawncount >= 1) && vents.len)
|
|
var/obj/vent = pick(vents)
|
|
new /obj/effect/spider/spiderling(vent.loc)
|
|
vents -= vent
|
|
spawncount--
|