(See the best response by Gtgoku55.)
for(mob/M in Enemy)
M.damage = Src.Str-M.Def + rand[1,5]
src.step_x = 2

Problem description:
Just a quick code i typed up to represent my actual code (assume all vars are defined), but basically i wanted to make my mob take a step forward everytime it attacked rather than standing still, but instead what i have happen is that my mob will take 2 steps forward during the attack like i want it to, but right after the flick is over, the mob moves 2 spaces back to its starting point :/. Is step not the proc i should be using for this? or am i just calling it wrong?
Best response
I regret to inform you I don't know why that's happening to you. However, Move() could work in place of it.

For example.

src.Move(loc, dir, step_x +2, step_y) // This makes you stay in the same direction, then moves you to pixels to the right. 
This definitely is an alternate solution that works for me! thank you!
You'll actually want to use the step proc.


You'll probably want to move it outside of that for loop, though.