InsertSub (lines 1188-1225)
Back to List
Browsing verblibm.h
1188 [ InsertSub ancestor;
1189 receive_action = ##Insert;
1190 if (second==d_obj || player in second) <<Drop noun>>;
1191 if (parent(noun)~=player) return L__M(##Insert,1,noun);
1192
1193 ancestor = CommonAncestor(noun, second);
1194 if (ancestor == noun) return L__M(##Insert, 5, noun);
1195 if (ObjectIsUntouchable(second)) return;
1196
1197 if (second ~= ancestor)
1198 { action=##Receive;
1199 if (RunRoutines(second,before)~=0) { action=##Insert; rtrue; }
1200 action=##Insert;
1201 if (second has container && second hasnt open)
1202 return L__M(##Insert,3,second);
1203 }
1204 if (second hasnt container) return L__M(##Insert,2,second);
1205
1206 if (noun has worn)
1207 { L__M(##Insert,6,noun); <Disrobe noun>; if (noun has worn) return;
1208 }
1209
1210 if (children(second) >= ValueOrRun(second,capacity))
1211 return L__M(##Insert,7,second);
1212
1213 move noun to second;
1214
1215 if (AfterRoutines()==1) rtrue;
1216
1217 if (second ~= ancestor)
1218 { action=##Receive;
1219 if (RunRoutines(second,after)~=0) { action=##Insert; rtrue; }
1220 action=##Insert;
1221 }
1222 if (keep_silent==1) rtrue;
1223 if (multiflag==1) return L__M(##Insert,8,noun);
1224 L__M(##Insert,9,noun);
1225 ];
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.