If you got the money just move out and save yourself the trouble. Let him keep getting stoned with his friends that are just using him and you'll be happy you did it.... it sucks but its the best and easiest solution.
Defiantly better then the alternative of being there when the cops come the time YOU don't call them you getting busted for just being there.... and putting up with his bullshit until that happens... sorry to sound like your mom but bad roommates suck and will just get you caught up in their bullshit if you stick around with it long enough. I know all to well from experience.
