(declare-global random-seed) (setq-default ramdom-seed (current-numeric-time)) (defun (fill-bong (beginning-of-file) (if (error-occurred (search-forward "\n======\n")) (message "Shit, man, I can't find the fucking bong ...") (if (error-occurred (search-forward "#")) (message "Aww, yer all out, dude.") (progn (delete-previous-character) (if (error-occurred (search-reverse "[ ]")) (progn (insert-string "#") (message "The bowl's full, dipshit.")) (progn (forward-character) (delete-next-character) (insert-string "#") (message "It's all ready to toke up!")))))) (beginning-of-file) (sit-for 20) (novalue)) (smoke-bong bong-base hash-base bubbles (save-excursion (beginning-of-file) (if (error-occurred (search-forward "\n======\n")) (message "Why don't you find the fucking bong?") (progn (previous-line) (previous-line) (setq bong-base (dot)) (beginning-of-file) (if (error-occurred (search-forward "[#]")) (message "There ain't nothin' to smoke!") (progn (backward-character) (backward-character) (setq hash-base (dot)) (setq bubbles 0) (while (< (++ bubbles) 7) (goto-character hash-base) (delete-next-character) (insert-string (one-of "@*+&=")) (goto-character bong-base) (sit-for 1) (bubble-bong " .:oO") (bubble-bong " .:oO") (bubble-bong "_.:oO") (bubble-bong " (){}") (bubble-bong " (){}") (bubble-bong " (){}")) (goto-character hash-base) (delete-next-character) (insert-string "%") (goto-character bong-base) (sit-for 1) (bubble-bong " ") (bubble-bong " ") (bubble-bong "_") (bubble-bong " ") (bubble-bong " ") (bubble-bong " "))))) (sit-for 10) (novalue))) (one-of (substr (arg 1) (+ (random (length (arg 1))) 1) 1)) (random (setq random-seed (bit& 32767 (+ random-seed (current-numeric-time)))) (% random-seed (arg 1))) (bubble-bong (beginning-of-line) (search-forward "|") (delete-next-character) (delete-next-character) (insert-string (one-of (arg 1))) (insert-string (one-of (arg 1))) (previous-line) (sit-for 1) (novalue)) (empty-bong (beginning-of-file) (if (discard-ashes) (while (discard-ashes)) (message "It's already empty, jerk-off.")) (novalue)) (discard-ashes (if (error-occurred (re-search-forward "\\\[[^ ]\\\]")) 0 (progn (backward-character) (delete-previous-character) (insert-string " ") (sit-for 1) 1))) (do-hit (use-transient-window "bh" "-> Bong <-" (beginning-of-file) (fill-bong) (smoke-bong) (empty-bong) (beginning-of-file) (sit-for 0)) (novalue)) )