Files
vgstation13/code/modules/events/prison_break.dm
Kurfursten dac596cda9 Law Planning Frame (#26435)
* progress

* Law Planning Frame

* cleanup

* Tweaks

* Done

* cleaning up from rebase

* Thank you for squashing
2020-05-27 19:11:35 -03:00

53 lines
1.5 KiB
Plaintext

/datum/event/prison_break
announceWhen = 30
oneShot = 1
var/releaseWhen = 25
var/list/area/prisonAreas = list()
/datum/event/prison_break/can_start()
return 25
/datum/event/prison_break/setup()
announceWhen = rand(50, 60)
releaseWhen = rand(20, 30)
src.startWhen = src.releaseWhen-1
src.endWhen = src.releaseWhen+1
/datum/event/prison_break/announce()
if(prisonAreas && prisonAreas.len > 0)
command_alert(/datum/command_alert/graytide)
else
world.log << "ERROR: Could not initate grey-tide. Unable find prison or brig area."
kill()
/datum/event/prison_break/start()
for(var/area/A in areas)
if(istype(A, /area/security/prison) || istype(A, /area/security/brig))
prisonAreas += A
if(prisonAreas && prisonAreas.len > 0)
for(var/area/A in prisonAreas)
for(var/obj/machinery/light/L in A)
L.flicker(10)
/datum/event/prison_break/tick()
if(activeFor == releaseWhen)
if(prisonAreas && prisonAreas.len > 0)
for(var/area/A in prisonAreas)
for(var/obj/machinery/power/apc/temp_apc in A)
temp_apc.overload_lighting()
for(var/obj/structure/closet/secure_closet/brig/temp_closet in A)
temp_closet.locked = 0
temp_closet.icon_state = temp_closet.icon_closed
for(var/obj/machinery/door/airlock/security/temp_airlock in A)
temp_airlock.prison_open()
for(var/obj/machinery/door/airlock/glass_security/temp_glassairlock in A)
temp_glassairlock.prison_open()
for(var/obj/machinery/door_timer/temp_timer in A)
temp_timer.timeleft = 0