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 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.