Inform - Support - Source

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing verblibm.h

InsertSub (lines 1188-1225)

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 web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.