@prog ferry.muf 1 9999 d 1 i : ferry prog "_ferry" getpropstr atoi dbref ; : ferry_notify ferry #-1 rot notify_except ; : dock_notify ferry "_dock" getpropstr atoi dbref #-1 rot notify_except ; : dock-at-# ferry "_dock" over over 5 rotate intostr strcat getpropstr 0 addprop ; : dosleep (old-time delta min -- new-time) prog "_debug" prop-exists? if systime 4 "dosleep" pstack pop then rot rot + swap over systime - over over < if swap then pop sleep ; : main 0 sleep 1 dock-at-# 1 systime 900 / 900 * do ( dock-# time ) 180 90 dosleep "A whistle blows as the ferry gets ready to sail." dup dock_notify ferry_notify 15 15 dosleep "The ferry pulls out of the harbor onto the open sea." ferry_notify "You watch as the ferry pulls out of harbor and sets sail." dock_notify ferry "_dock" "open_water" 0 addprop 1 begin "_msg" over intostr strcat ferry swap getpropstr dup while rot 30 20 dosleep swap ferry_notify swap 1 + loop pop pop 30 20 dosleep swap 1 + ferry "_dock" 3 pick intostr strcat prop-exists? not if pop 1 then swap over dock-at-# "The ferry pulls slowly into port and comes to rest." ferry_notify "You watch the ferry pull slowly into port and come to rest." dock_notify 5 5 dosleep "The ferry whistle blows announcing its arrival." dock_notify "The ferry whistle blows announcing its arrival at " ferry "_dock" getpropstr atoi dbref name "." strcat strcat ferry_notify loop ; . c q