[I6] Changing from not proper to proper

Dear all,

how can I switch an NPC from non-proper to proper? Like, unless you found out something about an NPC, he’s “a guy”, and then he’s “John”. I have a variable “known_john” that I use for the initial[] routine, that covers some of it. But I need to use (The)npc for a lot of things, and that’s where I get into trouble. Any recommendations?

Thanks and kind regards,
Grues

You can write

give obj proper;
give obj ~proper;

Almost perfect. Only problem: The name is

Object npc “John” location

Means when he’s ~proper he will be doing things as “The John”. Any ideas?

How about (not tested)

Object npc
  with found_in location,
      short_name [; if (self has proper) { return "John"; } else { return "guy"; } ],
     ...

Works! Thanks a lot!!