Files
Aurora.3/code/modules/events/false_alarm.dm
Geeves d86dcf74f8 Better Icarus Drones (#10047)
Improved Icarus combat drone code across the board, added a non-malfunctioning variant.
    The Icarus now sends combat drones to substantial space wildlife migrations.
    Added an Icarus drone target painter to some admin roles. It is an orbital drop device that will warp two Icarus drones at the targetted location.
    Added examine texts to malfunctioning combat drones that tells you what they're doing.
2020-10-06 14:23:48 +03:00

50 lines
1.2 KiB
Plaintext

//False Alarm Event
//This picks a random moderate or severe event and fakes its announcement
//without actually running the event
//After roughly 3 minutes, CC sends another announcement apologising for the false alarm
/datum/event/false_alarm
announceWhen = 0
endWhen = 90
var/datum/event_meta/EM
var/eventname
var/datum/event/E = null
/datum/event/false_alarm/end()
command_announcement.Announce("Error, It appears our previous announcement about [eventname] was a sensor glitch. There is no cause for alarm, please return to your stations.", "False Alarm", new_sound = 'sound/AI/falsealarm.ogg')
if(two_part)
E.end()
if (EM)
qdel(EM)
EM = null
/datum/event/false_alarm/announce()
var/datum/event_container/EC
if (prob(60))
EC = SSevents.event_containers[EVENT_LEVEL_MODERATE]
else
EC = SSevents.event_containers[EVENT_LEVEL_MAJOR]
//Don't pick events that are excluded from faking.
EM = pick(EC.available_events)
var/fake_allowed = 0
while (!fake_allowed)
if (E)
E.kill()
qdel(E)
E = null
EM = pick(EC.available_events)
E = new EM.event_type(EM,1)
fake_allowed = !E.no_fake
if (E.ic_name)
eventname = E.ic_name
else
eventname = EM.name
if(E.two_part)
two_part = 1
E.start()
E.kill()
E.announce()