Code
if reacting to arrives then setintro; if reacting to wish then setintro; ##tickloc: runsub whattodo; if reacting to say then chkoksay; if reacting to ask then chkoksay; if reacting to shout then chkokshout; if reacting to think then chkokthink; if reacting to ponder then chkokthink; if reacting to create then okcreate; if reacting to examines then okexamines; if reacting to paint then okpaint; if reacting to put then okput; if reacting to pose then okpose; if reacting to get then okget; ##setintro: print "[$actor] says 'Hello, and welcome to COW! '"; set $actor's current to $actor's intro; runsub startup; rem start the tickloc to say current msg; ##saycurrent: load $actor's current; var $list_counter to $actor's counter; runsub getnextline; runsub getnextline; runsub getnextline; set $actor's counter to $list_counter; if $list_counter > $list_count then reset else end; ##getnextline: load increment; rem step on to next list item; if $listitem eq "" then noprint else printit; ##printit: print "[$actor] says '$listitem'"; ##reset: code $actor switch off; print "[$actor] pauses for you to do something now."; ##startup: set $actor's counter to 0; rem lins said sofar; code $actor switch on; ##whattodo: runsub saycurrent; ##passtime:runsub fidgit/3; ##fidgit: var $how to (fidgets,cleans itself,looks at you,waits patiently,ponders the universe,coughs politely,taps its robotic foot,blinks); print "[$actor] $how"; ##chkoksay: if $init_obj's loc eq $loc then oksay else end; ##oksay: print "[$actor] says 'Well done! I could hear you quite well.'"; set $actor's current to $actor's shoutintro; runsub startup; ##chkokshout: if $init_obj's loc eq $loc then okshout else end; ##okshout: print "[$actor] says 'My my.. that was very loud, everyone heard you!'"; set $actor's current to $actor's thinkintro; runsub startup; ##chkokthink: if $init_obj's loc eq $loc then okthink else end; ##okthink: print "[$actor] says 'Hmmm.. what a pleasant thought..'"; set $actor's current to $actor's createintro; runsub startup; ##okcreate: print "[$actor] says 'Oh look! That is beautiful!'"; set $actor's current to $actor's paintintro; runsub startup; ##okpaint: print "[$actor] says 'What a wonderful colour!'"; set $actor's current to $actor's putintro; runsub startup; ##okput: print "[$actor] says 'They look good together!'"; set $actor's current to $actor's poseintro; runsub startup; ##okpose: print "[$actor] says 'Very good!'"; set $actor's current to $actor's getintro; runsub startup; ##okget: print "[$actor] says 'Well done! You have picked it up now.'"; set $actor's current to $actor's gointro; runsub startup; ##okeamines: say 'msg',"[$actor] points to the list of commands you can click on below the description of the object."; say 'msg',"[$actor] says 'You can click on any of those. I find 'look around' most useful to seeing what is in the room again.";