Files
vgstation13/code/modules/flufftext/Dreaming.dm
joe.heinemeyer@gmail.com 04c39436f2 BS12 port: Hallucinations and Dreaming
To take advantage of hallucinations, just have something that sets the "hallucination" var in a human mob to a positive number (The higher it is, the more crazy things are)
LSD is currently the only thing that does that, ATM.  (silicon, hydrogen, anti-toxin)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3221 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 04:30:16 +00:00

26 lines
1.1 KiB
Plaintext

mob/living/carbon/proc/dream()
dreaming = 1
var/list/dreams = list(
"an ID card","a bottle","a familiar face","a crewmember","a toolbox","a security officer","the captain",
"voices from all around","deep space","a doctor","the engine","a traitor","an ally","darkness",
"light","a scientist","a monkey","a catastrophe","a loved one","a gun","warmth","freezing","the sun",
"a hat","the Luna","a ruined station","a planet","plasma","air","the medical bay","the bridge","blinking lights",
"a blue light","an abandoned laboratory","Nanotrasen","The Syndicate","blood","healing","power","respect",
"riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying"
)
spawn(0)
for(var/i = rand(1,4),i > 0, i--)
var/dream_image = pick(dreams)
dreams -= dream_image
src << "\blue <i>... [dream_image] ...</i>"
sleep(rand(40,70))
if(paralysis <= 0)
dreaming = 0
return 0
dreaming = 0
return 1
mob/living/carbon/proc/handle_dreams()
if(prob(5) && !dreaming) dream()
mob/living/carbon/var/dreaming = 0