Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
// Character_Can.js
(function () {
  /*global adventurejs A*/

  /**
   * @ajspath adventurejs.Atom.StateManager.Asset_Can.Tangible_Can.Character_Can
   * @augments adventurejs.Character_Can
   * @class adventurejs.Character_Can
   * @ajsnavheading StateClasses
   * @param {String} game_name Name of top level game instance that is scoped to window.
   * @param {String} name Instance name.
   * @summary A container for state variables.
   * @classdesc
   * <strong>Character_Can</strong> is a state management class
   * used to store a variety of booleans for
   * {@link adventurejs.Character|Character Assets}.
   **/

  class Character_Can extends adventurejs.Asset_Can {
    constructor(name = "can", game_name, parent_id) {
      // Call the constructor of the parent class
      super(name, game_name, parent_id);

      this.class = "Character_Can";

      // locomotion
      this.bounce = true;
      this.climb = true;
      this.crawl = true;
      this.drive = true;
      this.float = false;
      this.fly = false;
      this.get = true;
      this.go = true;
      this.hide = false;
      this.hop = true;
      this.hover = false;
      this.jump = true;
      this.peddle = false;
      this.ride = true;
      this.run = true;
      this.skate = true;
      this.slither = false;
      this.swim = false;
      this.walk = true;

      // travel
      this.enter = true;
      this.exit = true;
      this.scale = true;
      this.traverse = true;

      // posture
      this.cling = true;
      this.hang = true;
      this.kneel = true;
      this.lie = true;
      this.sit = true;
      this.stand = true;

      // sensory
      this.feel = true;
      this.hear = true;
      this.see = true;
      this.smell = true;
      this.talk = true;
      this.taste = true;

      return this;
    }
  }
  adventurejs.Character_Can = Character_Can;
})();