Inform - Support - Source

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing verblibm.h

PutOnSub (lines 1151-1186)

1151  [ PutOnSub ancestor;
1152    receive_action=##PutOn; 
1153    if (second == d_obj || player in second) <<Drop noun>>;
1154    if (parent(noun)~=player) return L__M(##PutOn,1,noun);
1155   
1156    ancestor = CommonAncestor(noun, second);
1157    if (ancestor == noun) return L__M(##PutOn,2,noun);
1158    if (ObjectIsUntouchable(second)) return;
1159   
1160    if (second ~= ancestor)
1161    {   action=##Receive;
1162        if (RunRoutines(second,before)~=0) { action=##PutOn; return; }
1163        action=##PutOn;
1164    }
1165    if (second hasnt supporter) return L__M(##PutOn,3,second);
1166    if (ancestor == player) return L__M(##PutOn,4);
1167    if (noun has worn)
1168    {   L__M(##PutOn,5,noun); <Disrobe noun>; if (noun has worn) return;
1169    }
1170   
1171    if (children(second)>=ValueOrRun(second,capacity))
1172        return L__M(##PutOn,6,second);
1173   
1174    move noun to second;
1175   
1176    if (AfterRoutines()==1) return;
1177   
1178    if (second ~= ancestor)
1179    {   action=##Receive;
1180        if (RunRoutines(second,after)~=0) { action=##PutOn; return; }
1181        action=##PutOn;
1182    }
1183    if (keep_silent==1) return;
1184    if (multiflag==1) return L__M(##PutOn,7);
1185    L__M(##PutOn,8,noun);
1186  ];


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.