obj
Spar_Partner // Gotta love em.
icon='turf.dmi'
icon_state="spar"
density = 1
name = "Sparring Partner" // I wanted to call him George.
verb
Train()
set category = "Temp" // Temporary verbs panel
set src in oview (1) // Anything within 1 tile of George.
var/mob/players/M = usr
for(M in get_step(src,src.dir)) // Gotta make sure that the person is facing him.
if(M.level<=5) // For right now, for testing sake, anyone below or at level 5 can use the bag.
M << "You begin to spar." // Tell em they begin to spar. No icon yet.
M.nomotion = 1 // Don't move! Of course, to spar, you have to move, so..
sleep(50)
M << "Finished." // U R DUN olololol
M.exp += 1 // Give 'em a little bit. I'll add in a calculation later.
M.nomotion = 0 // You can move now.
M.CheckLevel() // Check to see if they need to be leveled.
I'd like to know how to have it so that if someone activates the Train verb, they can't reactivate it until the procedure is through. Also, I'd like the player and the sparring parter to move around the area and return to their original positions during the time the player is paralyzed. What I was thinking for this was using usr.loc = locate and just lay down specially-named turfs for the things to move to, but I wouldn't know how to have the obj do that. I could, however, change the Sparring Parter into a mob. If I did that, could I use the same procedure for movement, using src.loc = locate?
As for movement, you need to be very specific in how you want them moved. Look up all the step() procs though.