mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-04 06:22:38 +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
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
/datum/event/disease_outbreak
|
|
announceWhen = 15
|
|
oneShot = 1
|
|
|
|
|
|
/datum/event/disease_outbreak/announce()
|
|
command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
|
world << sound('sound/AI/outbreak7.ogg')
|
|
|
|
/datum/event/disease_outbreak/setup()
|
|
announceWhen = rand(15, 30)
|
|
|
|
/datum/event/disease_outbreak/start()
|
|
var/virus_type = pick(/datum/disease/dnaspread, /datum/disease/advance/flu, /datum/disease/advance/cold, /datum/disease/brainrot, /datum/disease/magnitis)
|
|
|
|
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
|
|
var/foundAlready = 0 // don't infect someone that already has the virus
|
|
var/turf/T = get_turf(H)
|
|
if(!T)
|
|
continue
|
|
if(T.z != 1)
|
|
continue
|
|
for(var/datum/disease/D in H.viruses)
|
|
foundAlready = 1
|
|
if(H.stat == 2 || foundAlready)
|
|
continue
|
|
|
|
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
|
|
if((!H.dna) || (H.sdisabilities & BLIND)) //A blindness disease would be the worst.
|
|
continue
|
|
var/datum/disease/dnaspread/D = new
|
|
D.strain_data["name"] = H.real_name
|
|
D.strain_data["UI"] = H.dna.uni_identity
|
|
D.strain_data["SE"] = H.dna.struc_enzymes
|
|
D.carrier = 1
|
|
D.holder = H
|
|
D.affected_mob = H
|
|
H.viruses += D
|
|
break
|
|
else
|
|
var/datum/disease/D = new virus_type
|
|
D.carrier = 1
|
|
D.holder = H
|
|
D.affected_mob = H
|
|
H.viruses += D
|
|
break |