ID:152848
 
I dont like working with Bump() or Bumped(), not many do so I designed this to get around it opinions wanted

area
playerdensity
Enter(var/M as mob)
if(usr.paused == 0)
var/P = rand(1,2)
if(P == 1)
usr.loc=locate(x,y,z)
if(P == 2)
usr.loc=locate(x,y,z)
else
return
1 - No put usr in proc. Ungh.

2 - You're assuming m is a mob. It may be an object. Bad.

3 - What the hell is with the usr.loc thing? Just return 0.

4 - Use dm tags when posting on the forums.

5 - In summary, your code sucks. It would be much better like this:

area/DenseForMob/Enter(var/atom/movable/a)
if(ismob(a))
var/mob/m=a
if(m.paused) return 0
else return ..()

area/DenseForPlayer/Enter(var/atom/movable/a)
if(ismob(a))
var/mob/m=a
if(m.client) return 0
else return ..()
Uh... all that does is define an area that can't be walked into. Was that what you meant to do? =P

I also don't see what this has to do with Bump() or Bumped().