Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
Tutorial explaining how to set proper names in AdventureJS. tutorial, grammar, proper names

Grammar:Proper Names

Any asset can have a proper name. By default, the proper_name property of the base class is empty. This can be changed for individual assets or classes by setting asset.propername = "Foo". For example, here is an NPC with a proper name.

MyGame.createAsset({
  class: "NPC",
  name: "fox",
  synonyms: [],
  description: `The fox is thin and patchy. `,
  place: { in: "Foxhole" },
  gender: "nonbinary",
  proper_name: "Reynard", // we've given the fox a proper name
});

All assets also have an article_name property which may return a proper name, or the name preceded by the definite article, or the name preceded by the indefinite article. If a proper name is found, that will be returned unless the asset has its use_proper_name property set to false. To continue with our fox example, let's say that we prefer for Reynard to be listed as "the fox".

MyGame.createAsset({
  class: "NPC",
  name: "fox",
  synonyms: [],
  description: `The fox is thin and patchy. `,
  place: { in: "Foxhole" },
  gender: "nonbinary",
  proper_name: "Reynard", // we've given the fox a proper name
  use_proper_name: false, // but we don't want to use it in messages
  use_definite_article: true, // we want parser to print "the fox"
});