i7: locale priority and default descriptions

In the following code, I want to have Ed at the very end. But because I commented out the non-default descriptions for Dave, he appears at the end, instead.

[code]“abcde” by Andrew Schultz

room 1 is a room.

Abe is a person in room 1. “Abe is just, like, here.”
Bob is a person in room 1. “Bob is just, like, here.”
Chuck is a person in room 1. “Dude! It’s Chuck!”
Dave is a person in room 1. [“Dude! It’s Dave!”]
Ed is a person in room 1. “Finally, Ed is here.”

Rule for choosing notable locale objects for room 1:
set the locale priority of Ed to 9;
set the locale priority of Dave to 2;
set the locale priority of Chuck to 2;
set the locale priority of Bob to 2;
set the locale priority of Abe to 2;[/code]

While I can and should have a better default description of Dave, what would I need to do in the rules to kick a nondescript Dave in front of Ed? And why?

Thanks!

The “printing a locale paragraph about a thing” rule in the standard rules handles printing things in the rooms before the list of nondescript things (“You can also see Dave here”).

Even though you assign a priority to Dave, the standard rules will only print a locale paragraph for a thing if that thing has a non-empty initial appearance:

For printing a locale paragraph about a thing (called the item)
    (this is the use initial appearance in room descriptions rule):
    if the item is not mentioned:
        if the item provides the property initial appearance and the item is not handled and the initial appearance of the item is not "":

See §25

So it looks like you might need to muck around with that rule if you want things without appearances to show up before the list of nondescript things.

great, thanks! Stuff makes sense now. Still, I think I’ll just go describe things, instead, since that is always a good thing.