ID:139980
 
Code:
        SkillCheck()
if (usr.rank == "Mars")
if (usr.lvl <= 2)
if(skillname in usr.skills)
return
else
usr.skills+=new/battle/battleskill/blast
usr<<output("<b>You Learn Blast!</b>","comwindow")
if (usr.rank == "Venus")
if (usr.lvl >=2)
if(skillname in usr.skills)
return
else
usr.skills+=new/battle/battleskill/cure
usr<<output("<b>You Learn Cure!</b>","comwindow")
if (usr.lvl >= 2)
if(skillname in usr.skills)
return
usr.skills+=new/battle/battleskill/quake
usr<<output("<b>You Learn Quake!</b>","comwindow")


Problem description: This proc gives skills when someone is either the level required or over.. But if you already have the skill it gives it again x.x

What the heck is the variable skillname set to?
To find an instance of an object in a list, you need to use locate(), like so:

var/X = locate(/mob) in oview(src,1)
if(X)
src << "You are standing next to a mob."
else
src << "You are not standing next to a mob."