So I’m messing with a game idea, and I think I like how it feels, but central to the conceit is that, a lot of the time, the player is going to know about objects for reasons other than “seeing” them. So basically: I don’t want the text “you also see here:” or anything like it. Is there a reasonably clean way to just make that go away in general? Am I stuck with copying the library into my project and editing it, or is there some standard hook I should be looking at that would alter these messages? (And yes, it’s a small enough game that I’m considering just giving everything concealed)
These are LibraryMessages #Look 5 and #Look 6. See DM4 appendix §A4 for the list of these messages, and §25 for how to customize them.
Thanks! I was in the ballpark but not close enough to find the thing I wanted in DM4. Thanks!
so a followup to this: I sort of want to say something like “There is also … here”, or “There are also … here”, but while I can do the write-list thing and get a count of how many items it printed, it’s not obvious to me how to determine in advance whether they’re plural or not?
The WriteListFrom() routine takes an ISARE_BIT flag which prints “is” or “are” before the list.
You want “is also” / “are also”, which are not directly supported. You could do some surgery on the library code to work in the “also”.
It’s not very well-documented, but you can customize the library message with a LibraryExtensions object, e.g.:
Object "(AltYouCanAlsoSee)" LibraryExtensions
with ext_messages [ obj n ;
Look:
switch(lm_n) {
5,6:
objectloop(obj && obj has workflag) n++;
new_line;
print "There ";
if (n > 1) print "are ";
else print "is ";
if (lm_n == 5) print "also ";
WriteListFrom(child(lm_o), ENGLISH_BIT+RECURSE_BIT+PARTINV_BIT+TERSE_BIT+CONCEAL_BIT+WORKFLAG_BIT);
" here.";
}
];
thanks much for the illustration – I had the code to replace the library messages, but couldn’t figure out how to check the plurality. “workflag” is what I was missing.