Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
// getThingThisIsTiedToPlayerBy.js
(function () {
  /*global adventurejs A*/
  var p = adventurejs.Tangible.prototype;
  /**
   * Assuming this asset is tied to the player asset by means of a third
   * thing, get that third thing.
   * Returns an asset object.
   * @memberOf adventurejs.Tangible
   * @method adventurejs.Tangible#getThingThisIsTiedToPlayerBy
   * @return {Object}
   */
  p.getThingThisIsTiedToPlayerBy =
    function Tangible_getThingThisIsTiedToPlayerBy() {
      var player = this.game.getPlayer();
      var ropeTiedToPlayer;
      let count = this.getVerbConnectionCount("tie", "to_dov");
      for (var i = 0; i < count; i++) {
        var rope = this.game.getAsset(this.is.connected_by.tie.to_dov[i]);
        // is rope carried by player or tied to player?
        if (
          rope.isWithin(player) ||
          rope.isConnectedToAsset("tie", player, "to_iov")
        ) {
          ropeTiedToPlayer = rope;
        }
      }
      return ropeTiedToPlayer;
    };
})();