ID:142578
 
Code:
mob
verb
Sing()
for(var/mob/M in world)
if(usr.Jigglypuff ==1)
set category = "Battle"
M.movable=0
usr.movable=1
usr.icon = 'blasts.dmi'
usr.icon_state = "jigglypuff1"
usr << "You have started to sing!"
sleep(40)
usr.icon = 'characters.dmi'
usr.icon_state = "jigglypuff"
usr << "You have stopped singing!"
sleep(100)
M.movable=1
usr.movable=1
return
mob
player
movable = 1
mob
Move() // the movement proc
if(movable==0)
return // stops the proc also means disallows them from movement
else
..() // meaning continue the movement
mob
var
movable = 1


Problem description:

M.movable is undefined... help plz

Your indentation's off. Everything that is part of the loop must be indented under the for(...) line.

In response to Nickr5
so its
for
if
blah blah blah
In response to SadoSoldier
Yes, but make sure the return line isn't part of the loop, or the attack will only affect one mob.

Edit:
Also, note that the singer will sing itself to sleep...

You also have a few other errors in your code, but I don't have time to point them all out right now.