diff --git a/examine_en.h b/examine_en.h index cb52e68..32add4d 100644 --- a/examine_en.h +++ b/examine_en.h @@ -1,15 +1,22 @@ Global thing_to_examine; -[ExamineScope thing; - if (thing ofclass Object && WordInProperty(thing_to_examine, thing, name)) { - ; - rtrue; - } - rfalse; +[ IdObj name_o o n i; + objectloop (o in location && o provides name) { + n = o.#name / WORDSIZE; + for(i = 0 : i < n : i++) + if (o.&name-->i == name_o) return o; + } + rfalse; ]; [ UnknownVerb word; - thing_to_examine = word; - LoopOverScope(ExamineScope); - rfalse; + thing_to_examine = IdObj(word); + if (thing_to_examine) return 'unknown'; + rfalse; ]; + +[ ExamineObjectSub; + << Examine (thing_to_examine) >>; +]; + +verb 'unknown' * -> ExamineObject; diff --git a/source.inf b/source.inf index 1d482b3..1f36ea9 100644 --- a/source.inf +++ b/source.inf @@ -19,7 +19,7 @@ Object gallery "Выставочный зал" has light; Object photo "маленьк/ое фото/" gallery - with name 'маленьк' 'фото', + with name 'маленьк/ое' 'фото/' 'фотограф/ия', describe [; "Перед вами стоит маленькое фото."; @@ -32,7 +32,7 @@ Object photo "маленьк/ое фото/" gallery has static neuter; Object teapot "глинян/ый чайник/" gallery - with name 'глин' 'чай', + with name 'глинян/ый' 'чай' 'чайник/', describe [; "Слева от фото выставлен невысокий глиняный чайник.";