Pre-release
Adventure.js Docs Downloads
Score: 0 Moves: 0
// Sky.js
(function () {
  /*global adventurejs A*/
  "use strict";

  /**
   * @ajspath adventurejs.Atom.Asset.Matter.Tangible.Scenery.Sky
   * @augments adventurejs.Scenery
   * @class adventurejs.Sky
   * @ajsconstruct MyGame.createAsset({ "class":"Sky", "name":"foo", [...] })
   * @ajsconstructedby adventurejs.Game#createAsset
   * @ajsnavheading SceneryClasses
   * @param {String} game_name The name of the top level game object.
   * @param {String} name A name for the object, to be serialized and used as ID.
   * @summary A scenery Asset.
   * @classdesc
   * <p>
   * <strong>Sky</strong> is a subclass of
   * {@link adventurejs.Scenery|Scenery}.
   * It's a simple object that only exists to be examined.
   * Sky is arguably redundant, as there
   * is a {@link global_sky}
   * {@link adventurejs.Asset|Asset} that can be configured by
   * {@link adventurejs.Room|Room} or by
   * {@link adventurejs.Zone|Zone} or globally. See
   * <a href="/doc/NextSteps_GlobalScenery.html">Global Scenery</a>.
   * to learn more about configuring global Scenery.
   * </p>
   * <h3 class="examples">Example:</h3>
   * <pre class="display"><code class="language-javascript">MyGame.createAsset({
   *   class: "Sky",
   *   name: "oppressive sky",
   *   description: "The oppressive sky hangs low and heavy. ",
   *   is: { known: true },
   *   place: { in: "Barren Landscape" },
   * });
   * </code></pre>
   **/
  class Sky extends adventurejs.Scenery {
    constructor(name, game_name) {
      super(name, game_name);
      this.class = "Sky";

      this.is.distant = true;

      this.synonyms = ["sky"];
    }
  }

  adventurejs.Sky = Sky;
})();