Files
CHOMPStation2/code/datums/diseases/alien_embryo.dm
noisomehollow@lycos.com 1dfe1cda8e #Fixed Chaplain hoodie sprite.
#Respawn_character() now properly respawns aliens and monkeys if specified to do so.
#Added more options in admin quick panel (for players) to get, send, check if traitor, narrate, and subtle message mob.
#Admins can now click an X by admin name, in asay, to jump to that admin. Makes things easier.
#Moved admin transform verbs into fun tab.
#Removed boom boom shake the room since not even hosts are allowed to use it.
#Pierrot's throat now has a 35% chance of being cured by eating bananas. Up from 5.
#Fixed AI cards.
#ed209 and Beepsky now properly figure in deafness when speaking. Doesn't affect voice files.
#Fixed Syndicate PDA not triggering door.
#Aliens can no longer magically crawl to the prison station and back.
#Aliens can now quickly (5 seconds) break out of cuffs by resisting. No change to buckled.
#Facehuggers will now properly set the alien_egg_flag if the target was infected or not. Curing the alien egg should also reset the flag. I think it will be best to get rid of the flag entirely in the future.
#Added isalienadult(mob) proc to check for humanoid aliens.
#Probably fixed death squad spawning. They pick by key now, instead of mob name.
#Spawning xenos now uses the client match method so you can specify who you want to respawn if wanted.

#Ninjas now tell admins what their set mission is. If given objectives by admin, it should report them at round end for certain rounds.
#Spawning ninjas now uses the same method as respawn character (typing in key/ckey).
#Added a ninjify admnin verb. Possible to right click.
#Can now resize spiderOS window.
#Misc fixes and adjustments. Minor map change to CentCom holding facility.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1685 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-12 18:10:53 +00:00

94 lines
2.6 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
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 Mucous 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 Mucous 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.toxloss += 1
affected_mob.updatehealth()
if(5)
affected_mob << "\red You feel something tearing its way out of your stomach..."
affected_mob.toxloss += 10
affected_mob.updatehealth()
if(prob(40))
ASSERT(gibbed == 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) //hopefully will make adminaliums possible --Urist
if(G.corpse.stat==2)
candidates.Add(G)
if(!G.corpse) //hopefully will make adminaliums possible --Urist
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