Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
// hasIndirectObjects.js
(function () {
  /*global adventurejs A*/
  var p = adventurejs.Asset.prototype;
  /**
   * <strong>hasIndirectObjects</strong> is a method to check
   * whether this asset has any particular indirect objects specified
   * by the author for use with the specified verb.
   * @memberOf adventurejs.Asset
   * @method adventurejs.Asset#hasIndirectObjects
   * @param {String} verb
   * @returns {Boolean}
   */

  p.hasIndirectObjects = function Asset_hasIndirectObjects(verb) {
    if (!this.isDOV(verb)) return false;

    // is this.dov[verb].with_assets !empty?
    if (this.dov[verb]?.with_anything) {
      return true;
    }

    // is this.dov[verb].with_assets !empty?
    if (this.dov[verb]?.with_assets.length) {
      return true;
    }

    // is this.dov[verb].with_classes !empty?
    if (this.dov[verb]?.with_classes.length) {
      return true;
    }

    return false;
  };
})();