ID:142661
 
proc/CheckSick()
var/L[]
for(var/area/demoarea/outside/A in world)
L+=A
while(1)
for(var/mob/M = locate() in L)
if(weather=="Storming")
var/r=rand(1,3)
if(r==3)
M.Cold=7
M<<"You catch a cold!"
if(weather=="Snowing")
var/r2=rand(1,8)
if(r2==8)
M.Cold=5
M<<"You catch a cold!"
spawn M.Sick()
sleep(rand(10,30))


Problem description: Mob.dm:350:M :warning: variable defined but not used
Havn't ran the program to test if it works yet. Cause there is a compile warning, and I know it wont.

nvm
        for(var/mob/M = locate() in L)


That's improper syntax. You need to move the for(area) loop inside the while(), if there is in fact multiple instances of the area. Then, you need to use for(var/mob/M in A)
In response to Garthor
I used a different method, sorry, but forever who needed to know that now does ^^.