mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 16:42:13 +00:00
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.
50 lines
1.2 KiB
Plaintext
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() |