ID:273512
 
ok, ive had this problem for quite some time and i just cant seem to figure it out... how should i go about making characters not be able to move for a set amount of time, ie: my players can begin smelting ore and then walk away while they are still smelting... as you can see this is quite a little pickle... any suggestions?
In response to Popisfizzy
Wouldn't it seem better to restrict client based movement, rather than mob based movement, given that a mob might still be pushed back, or something alike?
Not to mention that it seems to suite the design concept better.
mob/var/CanMove=1
client/Move()
if(!src.mob.CanMove) return
return ..()

Then just set their CanMove to 0 whenever you want to lock them, like when smelting.
In response to Schnitzelnagler
It was supposed to be implemented such that it affects all mobs (for example, to slow down their movement in certain terrains, or something similar). It works as reference to implement it on the client, as modifying it for that would be trivial.
In response to Popisfizzy
It makes sense to store the information on when the next movement should be allowed on the mob itself, as it is a property of the mob. However, actual restriction of movement belongs in client/Move() and whatever AI proc is being used.