Pre-release
AdventureJS Docs Downloads Bundler Devlog Score: 0 Moves: 0
// updateRoom.js

(function () {
  /* global AdventureJS A */

  var p = AdventureJS.Display.prototype;

  /**
   * Concatenate room name + player situation to status bar.
   * @method AdventureJS.Display#updateRoom
   * @returns {Object} Returns the instance the method is called on (useful for chaining calls.)
   * @chainable
   */
  p.updateRoom = function Display_updateRoom() {
    const player = this.game.getPlayer();
    const nest_asset = player.getNestAsset();
    const room = this.game.getAsset(this.game.world._room);
    let situation = "";

    if (nest_asset) {
      situation = ` (`;
      if (player.posture !== "stand") {
        situation += `${player.getPostureGerund()} `;
      }
      // situation = ` (${player.getPostureGerund()}
      situation += `${player.getNestPreposition()} 
      ${nest_asset.article_name})`;
    } else if (player.isOnFloor()) {
      situation = ` (${player.getPostureGerund()} on the floor)`;
    }
    if (room.isDark() && this.game.settings.use_dark_room_situation) {
      if (situation) situation = situation + ", ";
      situation = situation + room.darksituation;
    }
    // @FUTURE floating in water or zero-G
    situation = situation ? `<span class='situation'>${situation}</span>` : "";

    let name =
      (room.isDark() && this.game.settings.use_dark_room_name
        ? A.FX.capitalize(room.darkname)
        : A.FX.capitalize(room.name)) + (situation && situation);

    this.roomEl.innerHTML = name;
    return this;
  };
})();