[I7] Listing non-descript items question

Hey. You know the nice list you get when you do something like this –

“Say a list of people who are marked for listing”

– and where you can toggle a bunch of options on or off, like “tersely, prefacing with is/are”?

What I want to do is list people this way, but in a particular order. Each person in the game has a number called personid. I want to list people in the nice list format and also in personid order.

At first I thought I’d achieved the effect I wanted by replacing the usual ‘before listing nondescript items’ rule with my own code which first sorted people into a temporary list called ‘phalanx’ in personid order. Then I just did: ‘say phalanx’ (is or are here). But I realised this didn’t pay attention to all the niceties of articles, capitalisation, etc.

So to use an example from 3.18 of the docs: there, it defines a woman always called ‘the sexton’s wife’ by saying “A woman called the sexton’s wife is in the Belfry.” As a result, the regular listing activity always says ‘The sexton’s wife is here.’ But my code just says ‘Sexton’s wife is here’.

My question is - can I somehow rope all the nice listing activity machinery to fulfil my desire to list people in the order of their personid? Or do I need to basically write my own fully hacked version of the activity to do this?

  • Wade

You may want to take a look at The Complex Listing by Emily Short Extension, which is built into Inform. It’s designed to do just that and is a very powerful extension.

Hope this helps.

Thanks for the reminder. I already had the extension but I think I’d mentally filed it out of sight as I had a memory of it breaking stuff that already worked. But I think the memory was false. This game has already very customised presentation but Complex Listing fit in there nicely. I had to hack it a little to get the first item of a list to be capitalised but it let me do what I was trying to do.

  • Wade