: say me @ swap notify ; : maxstring " " ; : wall (dup say) online begin dup while swap over 2 + pick notify 1 - loop pop ; : main pop "Which would you like to buy?" say "#) Lines Style Chars Cost" say "----------------------------------------------" say "1) 2 Heart 120 200" say "2) 1 Bordered banner 60 250" say "3) 1 Single fireball 60 300" say "4) 3 Box-ended banner 180 450" say "5) 3 Bordered banner 180 500" say "6) 3 Double fireball 180 650" say "7) 4 Single American flag 240 700" say "8) 4 Double American flag 240 800" say "9) 5 Stimpy says... 300 900" say "0) - QUIT - -" say " " say "Your selection?" say read atoi dup dup 1 < swap 9 > or if pop "Ending." say exit then dup intostr ".cost" swap strcat trigger @ location swap getpropstr atoi dup me @ pennies > if swap pop "Sorry, that item costs $" swap intostr strcat "." strcat say exit then 0 swap - me @ swap addpennies dup intostr ".option" swap strcat trigger @ location swap getpropstr swap "Please enter your message below." say "A line may be up to 60 characters in length." say "Enter one line at a time, follwed by a return." say "If you have a blank line, enter a space." say "All lines must be entered, blank or not." say dup intostr ".lines" swap strcat trigger @ location swap getpropstr atoi 1 swap 1 for ">" say read dup strlen 60 >= if 60 strcut pop else maxstring over strlen 2 / strcut swap pop maxstring 3 pick strlen 2 % not if 3 pick strlen 2 / strcut swap pop rot swap strcat strcat else 3 pick strlen 2 / 1 + strcut swap pop rot swap strcat strcat then then me @ ".firetemp" 4 rotate intostr strcat rot 0 addprop loop "Loading image and preparing display..." say 15 sleep pop 1 begin over over intostr strcat trigger @ location swap prop-exists? while trigger @ location 3 pick 3 pick intostr strcat getpropstr me @ ".firetemp1" getpropstr "%m1" subst me @ ".firetemp2" getpropstr "%m2" subst me @ ".firetemp3" getpropstr "%m3" subst me @ ".firetemp4" getpropstr "%m4" subst me @ ".firetemp5" getpropstr "%m5" subst wall pop 1 + loop pop pop "Thanks for using the fireworks vendor." say 1 5 1 for me @ ".firetemp" rot intostr strcat remove_prop loop ;