mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-28 19:11:37 +00:00
unusable. If it gets stuck from using this method, just close the window and click on the computer again. Fixes issue 316 . - Vaccine bottles from the panD.E.M.I.C. now auto-name. There was a bug where you could very quickly create a ton of bottles which could cause clients to crash. Fixes issue 326 . - Changed various ASSERT()'s to sanity ifs. ASSERT should really only be used during debugging, not in release. Runtime prevention. Revision: r3368 Author: johnsonmt88
95 lines
2.5 KiB
Plaintext
95 lines
2.5 KiB
Plaintext
//affected_mob.contract_disease(new /datum/disease/alien_embryo)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/datum/disease/alien_embryo
|
|
name = "Unidentified Foreign Body"
|
|
max_stages = 5
|
|
spread = "None"
|
|
spread_type = SPECIAL
|
|
stage_prob = 2
|
|
cure = "Unknown"
|
|
cure_id = list("lexorin","toxin","gargleblaster")
|
|
cure_chance = 20
|
|
affected_species = list("Human", "Monkey")
|
|
permeability_mod = 3//likely to infect
|
|
var/gibbed = 0
|
|
|
|
/datum/disease/alien_embryo/stage_act()
|
|
..()
|
|
switch(stage)
|
|
if(2)
|
|
if(prob(1))
|
|
affected_mob.emote("sneeze")
|
|
if(prob(1))
|
|
affected_mob.emote("cough")
|
|
if(prob(1))
|
|
affected_mob << "\red Your throat feels sore."
|
|
if(prob(1))
|
|
affected_mob << "\red Mucus runs down the back of your throat."
|
|
if(3)
|
|
if(prob(1))
|
|
affected_mob.emote("sneeze")
|
|
if(prob(1))
|
|
affected_mob.emote("cough")
|
|
if(prob(1))
|
|
affected_mob << "\red Your throat feels sore."
|
|
if(prob(1))
|
|
affected_mob << "\red Mucus runs down the back of your throat."
|
|
if(4)
|
|
if(prob(1))
|
|
affected_mob.emote("sneeze")
|
|
if(prob(1))
|
|
affected_mob.emote("cough")
|
|
if(prob(2))
|
|
affected_mob << "\red Your muscles ache."
|
|
if(prob(20))
|
|
affected_mob.take_organ_damage(1)
|
|
if(prob(2))
|
|
affected_mob << "\red Your stomach hurts."
|
|
if(prob(20))
|
|
affected_mob.adjustToxLoss(1)
|
|
affected_mob.updatehealth()
|
|
if(5)
|
|
affected_mob << "\red You feel something tearing its way out of your stomach..."
|
|
affected_mob.adjustToxLoss(10)
|
|
affected_mob.updatehealth()
|
|
if(prob(40))
|
|
if(gibbed != 0) return 0
|
|
var/list/candidates = list() // Picks a random ghost in the world to shove in the larva -- TLE
|
|
for(var/mob/dead/observer/G in world)
|
|
if(G.client)
|
|
if(G.client.be_alien)
|
|
if(((G.client.inactivity/10)/60) <= 5)
|
|
if(G.corpse)
|
|
if(G.corpse.stat==2)
|
|
candidates.Add(G)
|
|
if(!G.corpse)
|
|
candidates.Add(G)
|
|
if(candidates.len)
|
|
var/mob/dead/observer/G = pick(candidates)
|
|
var/mob/living/carbon/alien/larva/new_xeno = new(affected_mob.loc)
|
|
new_xeno.mind_initialize(G,"Larva")
|
|
new_xeno.key = G.key
|
|
del(G)
|
|
else
|
|
if(affected_mob.client)
|
|
affected_mob.client.mob = new/mob/living/carbon/alien/larva(affected_mob.loc)
|
|
affected_mob.gib()
|
|
src.cure(0)
|
|
gibbed = 1
|
|
|
|
/*
|
|
if(affected_mob.client)
|
|
affected_mob.client.mob = new/mob/living/carbon/alien/larva(affected_mob.loc)
|
|
else
|
|
new/mob/living/carbon/alien/larva(affected_mob.loc)
|
|
affected_mob:gib()
|
|
*/
|
|
return
|
|
|