This object displays its 'initial' message even though it has a 'moved' attribute;
this is because of the presence of the 'describe' property, even though it returns false. The Locale( ) routine should be revised:
About Patches
Issue L61122 [previous patch]
Conflict between 'describe' and 'initial' properties
Submitted by: Mark Tilford
Appeared in: Library 6/11 or before
Fixed in: -
Problem
Object -> thing "The Thing"
with describe [; rfalse; ],
initial "This shouldn't be displayed.",
has moved;
Solution (by Roger Firth)
[ Locale descin text_without_ALSO text_with_ALSO
o p num_objs must_print_ALSO;
objectloop (o in descin) give o ~workflag;
num_objs = 0;
objectloop (o in descin)
if (o hasnt concealed && NotSupportingThePlayer(o)) {
#Ifndef MANUAL_PRONOUNS;
PronounNotice(o);
#Endif;
if (o has scenery) {
if (o has supporter && child(o)) SayWhatsOn(o);
}
else {
give o workflag; num_objs++;
p = initial;
if ((o has door or container) && o has open && o provides when_open) {
p = when_open; jump Prop_Chosen;
}
if ((o has door or container) && o hasnt open && o provides when_closed) {
p = when_closed; jump Prop_Chosen;
}
if (o has switchable && o has on && o provides when_on) {
p = when_on; jump Prop_Chosen;
}
if (o has switchable && o hasnt on && o provides when_off) {
p = when_off;
}
.Prop_Chosen;
if (o.&describe && RunRoutines(o, describe)) {
must_print_ALSO = true;
give o ~workflag; num_objs--;
continue;
}
if (o.p && (o hasnt moved || p ~= initial)) {
new_line;
PrintOrRun(o, p);
must_print_ALSO = true;
give o ~workflag; num_objs--;
if (o has supporter && child(o)) SayWhatsOn(o);
}
}
}
if (num_objs == 0) return 0;
if (actor ~= player) give actor concealed;
if (text_without_ALSO) {
new_line;
if (must_print_ALSO) print (string) text_with_ALSO, " ";
else print (string) text_without_ALSO, " ";
WriteListFrom(child(descin),
ENGLISH_BIT+RECURSE_BIT+PARTINV_BIT+TERSE_BIT+CONCEAL_BIT+WORKFLAG_BIT);
}
else {
if (must_print_ALSO) L__M(##Look, 5, descin);
else L__M(##Look, 6, descin);
}
if (actor ~= player) give actor ~concealed;
return num_objs;
];
Last updated 17 April 2013.
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 Roger Firth.