mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-19 19:15:11 +01:00
60202429a7
* starting work * most generic * more alerts * remaining alerts * many fixes * fix * properly set * virgo doesn't use those lines? * actually they are used * smallfixes * oops * silence of the bots * docs
31 lines
1.2 KiB
Plaintext
31 lines
1.2 KiB
Plaintext
GLOBAL_VAR_INIT(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
|
|
GLOB.sent_spiders_to_station = 0
|
|
|
|
/datum/event/spider_infestation/announce()
|
|
GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS)
|
|
|
|
|
|
/datum/event/spider_infestation/start()
|
|
var/list/vents = list()
|
|
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in GLOB.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)
|
|
var/area/A = get_area(temp_vent)
|
|
if(!(A.flag_check(AREA_FORBID_EVENTS)))
|
|
vents += temp_vent
|
|
|
|
while((spawncount >= 1) && vents.len)
|
|
var/obj/vent = pick(vents)
|
|
new /obj/effect/spider/spiderling/virgo(vent.loc) //VOREStation Edit - No nurses
|
|
vents -= vent
|
|
spawncount--
|