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

  /**
   * @ajspath adventurejs.Atom.Asset.Matter.Tangible.Thing.Extrusion
   * @augments adventurejs.Thing
   * @class adventurejs.Extrusion
   * @ajsconstruct MyGame.createAsset({ "class":"Extrusion", "name":"foo", [...] })
   * @ajsconstructedby adventurejs.Game#createAsset
   * @ajsnavheading MiscAssetClasses
   * @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 Use to create things player can tie rope to and swing from.
   * @classdesc
   * <p>
   * <strong>Extrusion</strong> is a minimally specialized
   * subclass of
   * {@link adventurejs.Thing|Thing},
   * with properties that allow
   * a player to {@link lasso_with|lasso} it, or
   * {@link tie_noun1_to_noun2|tie} a {@link adventurejs.Rope|Rope}
   * to it, and {@link swing_on|swing on} the tied Rope.
   * You might use it to make a branch, or a flagpole,
   * or a broken cornice, or a protruding piece of pipe,
   * anything that a player might use to lasso and swing
   * from one spot to another.
   * </p>
   * <h3 class="examples">Example:</h3>
   * <pre class="display"><code class="language-javascript">MyGame.createAsset({
   *   class: "Extrusion",
   *   name: "broken rebar",
   *   place: { on: "underside of the bridge" },
   *   descriptions: {
   *     look: "A thick chunk of rebar extrudes from the underside of the bridge. ",
   *   },
   *   z: 2,
   * });
   * </code></pre>
   * <p>
   * To learn more about swinging, see
   * <a href="/doc/Tangibles_SwingingAndChasms.html">Swinging and Chasms</a>.
   * </p>
   **/
  class Extrusion extends adventurejs.Thing {
    constructor(name, game_name) {
      super(name, game_name);
      this.class = "Extrusion";

      this.is.listed_in_room = false;

      this.setDOVs(["lasso", "tie"]);

      this.can.support_swinging = true;
    }
  }

  adventurejs.Extrusion = Extrusion;
})();