PutOnSub (lines 1151-1186)
Back to List
Browsing verblibm.h
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.