Code:
ladder
icon = 'ladder.dmi'
Entered(mob/M)
if(ismob(M) && M.canclimb)
if(icon_state=="up")
M.Move(usr.z++)
else
M.Move(usr.z--)
The ladder WORKS but,
runtime error: Cannot execute null.Enter().
proc name: Move (/mob/Move)
usr: Magicsofa (/mob/player)
src: Magicsofa (/mob/player)
call stack:
Magicsofa (/mob/player): Move(1)
the ladder (157,241,1) (/turf/ladder): Entered(Magicsofa (/mob/player), the floor (157,242,1) (/turf/floor))
Magicsofa (/mob/player): Move(the ladder (157,241,1) (/turf/ladder), 2)
So essentially it doesn't matter - if you climb the ladder and a dense object is there, you still occupy the spot. Anyway, I don't know what to do with this. I could override mob/Move(), telling it not to call Enter under this condition, or something? I wonder if there is a way to pass src to the Enter proc?
thanks