mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-06 15:32:52 +00:00
= Giant Spiders = - Nurses spin webs which impede progress, bundle items and mobs up in cocoons, lay eggs to create spiderlings - Nurses are slow and weak, but their bite has a chance to paralyse the victim - Spiderlings skitter about and eventually grow into giant spiders. - Spiderlings will ventcrawl, so they can spread over the station pretty fast. - Hunters are fast, have decent health and the most effective poison - Guards are medium speed but the health and direct damage - The poison of hunters and guards can cause hallucinations if they bite you = Farm animals = - Cows can be milked or butchered for a large supply of meat. Sadists can also tip them over (with intent_help). - Goats can also be milked, but have a nasty temperament. - Chicks grow up to be chickens, who lay eggs and continue the cycle. But where did it start? (they're very noisy). - All three are orderable via QM. My changes: - Added a spider infestation event. - Optimized code with spiders and simple_animals. - Made a /hostile/retaliate type which will only fight back when hurt. Based on Cael's code. - Added some farm animals on the map. - Changed events, added a setup() proc which can let you setup variables or the event. Made the event only kill itself when it has called, announce(), start() and end(). - Brainrot will only need alkysine as a cure. - Communication blackout will always be silent. - Changed some admin buttons to use the new event system. - Added a forceEvent proc which you can use when you enable debug verbs. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5525 316c924e-a436-60f5-8080-3fe189b3f50e
58 lines
1.8 KiB
Plaintext
58 lines
1.8 KiB
Plaintext
/datum/event/prison_break
|
|
announceWhen = 50
|
|
oneShot = 1
|
|
|
|
var/releaseWhen = 25
|
|
var/list/area/prisonAreas = list()
|
|
|
|
|
|
/datum/event/prison_break/setup()
|
|
announceWhen = rand(50, 60)
|
|
releaseWhen = rand(20, 30)
|
|
|
|
|
|
/datum/event/prison_break/announce()
|
|
if(prisonAreas && prisonAreas.len > 0)
|
|
command_alert("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
|
|
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 world)
|
|
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/announce()
|
|
if(prisonAreas && prisonAreas.len > 0)
|
|
command_alert("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
|
|
else
|
|
world.log << "ERROR: Could not initate grey-tide. Unable find prison or brig area."
|
|
|
|
|
|
/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.releasetime = 1 |