// getExtendedExitName.js
(function () {
/* global AdventureJS A */
var p = AdventureJS.Game.prototype;
/**
*
* @method AdventureJS.Game#getExtendedExitName
* @memberOf AdventureJS.Game
* @param {Object} exit
* @param {Object} destination
* @returns {String}
*/
p.getExtendedExitName = function Game_getExtendedExitName(exit, destination) {
// add the direction
var output = `<span class="ajs-exit-direction">${exit.direction}</span>`;
var player = this.game.getPlayer();
var preposition = " to ";
var definite_article = destination.definite_article;
var destName = destination.name; //destination.name;
var addDest = true;
var input = this.game.getInput();
var subject = input.getSubject();
var room = subject.getRoom();
var settings = this.settings;
// test conditions that may prevent printing destination
if (
false === settings.print_room_names_in_exits ||
false === room.print_room_names_in_exits
) {
addDest = false;
}
if (
!player.knowsAbout(destination) &&
(settings.print_room_names_in_exits_if_known ||
room.print_room_names_in_exits_if_known)
) {
addDest = false;
}
if (
!exit.is.used &&
(settings.print_room_names_in_exits_if_used ||
room.print_room_names_in_exits_if_used)
) {
addDest = false;
}
if (addDest) {
output += `${preposition} ${definite_article ? definite_article + " " : ""}
<span class="ajs-exit-destination">${destName}</span>`;
}
return output;
};
})();