MoveFloatingObjects (lines 687-715)
Back to List
Browsing verblibm.h
0687 #ENDIF;
0688
0689 ! ----------------------------------------------------------------------------
0690 ! A cunning routine (which could have been a daemon, but isn't, for the
0691 ! sake of efficiency) to move objects which could be in many rooms about
0692 ! so that the player never catches one not in place
0693 ! ----------------------------------------------------------------------------
0694
0695 [ MoveFloatingObjects i k l m address flag;
0696 objectloop (i)
0697 { address=i.&found_in;
0698 if (address~=0 && i hasnt absent)
0699 { if (ZRegion(address-->0)==2)
0700 { if (i.found_in() ~= 0) move i to location; else remove i;
0701 }
0702 else
0703 { k=i.#found_in;
0704 for (l=0: l<k/2: l++)
0705 { m=address-->l;
0706 if (m==location || m in location)
0707 { if (i notin location) move i to location;
0708 flag = true;
0709 }
0710 }
0711 if (flag == false) { if (parent(i)) remove i; }
0712 }
0713 }
0714 }
0715 ];
Last updated 27 February 2004.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.