Wrong pronouns with first-person Actor

I’m trying to make the narrator an actual NPC that can be interacted with. So far I’ve managed to get the NPC to refer to themselves in the first person, but the pronouns are often in the wrong case. For example, ‘You are carrying I’ and ‘What do you want to throw myself at?’

Why is this happening and is there a way to fix it? I tried looking in the manuals, but couldn’t find a way to alter pronouns. (If I missed it, I apologise.)

Also, what would be the correct way to keep certain actions from being performed on the NPC? The player needs to be able to pick them up, so making them a Person instead is probably not an option. I’m currently using the verify method, but that seems wrong somehow.

I can’t help you with the pronouns. But for preventing certain actions being performed on the NPC, try creating npc.beforeAction() and check for the actions you don’t want to occur. --Bob

There’s a page on Message Parameter Substitutions in the Technical Manual, but I didn’t see any indication there of how to create new ones or customize the results. You’ll probably need to analyze exactly when and how the Library is making these substitutions in order to grok how to change them. You may need to create your own to-be-substituted symbols and then override a lot of the Library’s default message strings.

That looks more appropriate, thank you.

Thanks, I’ll look into that. Still, ow. I didn’t think it’d be quite this convoluted when I started working.

You may want to look into using the adv3Lite library instead of adv3. adv3Lite generates all of its messages using a system that is, I’m pretty sure, more readily user-configurable.

There are some syntax differences between adv3 and adv3Lite, so if you’ve already written a lot of code, you might need to spend an hour or two editing what you’ve written. The good news is, adv3Lite gives you some neat features not found in adv3, and on the whole it’s a bit easier to use.

I’m not sure it would solve your immediate problem without a bit of fiddling. You might want to create a test game before you start editing your adv3 code, to see how the DMsg and BMsg system works.

I had a quick look at adv3Lite - according to the author’s description, it lacks real-time support and there isn’t an extension for adding it, unlike room parts and some other missing things. There isn’t a lot of code yet, so editing it wouldn’t be a problem, but I really do need that feature. Thank you for the suggestion, though.