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