Now when I try to compile I get errors.
datum
proc
Trash(object)
if(object.loc == object.norm_loc)
object.loc = usr.loc
object.icon_state = "trashed"
usr.score += 1
usr.cash += 2
else
usr << "Object is already trashed."
return 0
main.dm:49:error:object.loc:bad var
main.dm:49:error:object.norm_loc:bad var
main.dm:50:error:object.loc:bad var
main.dm:51:error:object.icon_state:bad var
If you'd prefer to be able to call it as O.Trash() instead of Trash(O), I'd put it under atom/movable instead of datum. You can call O.Trash(O) now of course, but unless you're using src for anything, there's no point making Trash() a datum proc instead of global. If you put it under atom/movable and change all object references to src, it'll probably be closer to what you're looking for.
Lummox JR