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

  var p = AdventureJS.Game.prototype;

  /**
   *
   * @method AdventureJS.Game#renderIfPlayerHas
   * @memberOf AdventureJS.Game
   * @param {String} token
   */
  p.renderIfPlayerHas = function Game_renderIfPlayerHas(token) {
    let rendered = "";
    let [, condition, substitution] = token.match(/^\[(.*?)\]\s*(.*)$/);
    let preposition, asset;
    const player = this.game.getPlayer();

    // condition
    // strip out "if player is"
    condition = condition.replace("if player has ", "");

    // what remains should be an asset name or id
    asset = this.game.getAsset(condition);

    // if it's not an asset,
    // we don't know how to handle this (yet)
    if (!asset) return "";

    if (player.has(asset)) {
      rendered = substitution;
    }

    return rendered;
  }; //
})();