Hey anyone have an idea why this script would have worked last week but not this week? var getAPL = getAPL || (function() {
'use strict';
var version = 1.1,
checkInstall = function() {
log('getAPL v'+version+' is ready! Designed for 5e AL APL Calculation');
},
isLevel = function(id) {
var isLevel = findObjs({_type: 'attribute', _characterid: id, name: 'level'});
if (_.isUndefined(isLevel[0])) {
return false;
} else {
return isLevel[0].get('current');
}
},
getSelectedCharacters = function(selected) {
return _.chain(selected)
.map(function(s){
return getObj(s._type,s._id);
})
.reject(_.isUndefined)
.map(function(c){
return getObj('character', c.get('represents'));
})
.filter(_.identity)
.value();
},
round = function(value, decimals) {
return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
},
partyStr = function(partySize, targetAPL, currAPL) {
if ((partySize > 2 && partySize < 5) && currAPL < targetAPL) {
return "Very weak"
} else if ((partySize >= 3 && partySize <= 4) && currAPL == targetAPL) {
return "Weak"
} else if ((partySize >= 3 && partySize <= 4) && currAPL > targetAPL) {
return "Average"
} else if (partySize == 5 && currAPL < targetAPL) {
return "Weak"
} else if (partySize == 5 && currAPL == targetAPL) {
return "Average"
} else if (partySize == 5 && currAPL > targetAPL) {
return "Strong"
} else if ((partySize >= 6 && partySize <= 7) && currAPL < targetAPL) {
return "Average"
} else if ((partySize >= 6 && partySize <= 7) && currAPL == targetAPL) {
return "Strong"
} else if ((partySize >= 6 && partySize <= 7) && currAPL > targetAPL) {
return "Very Strong"
}
},
handleInput = function(msg) {
var args;
var char;
var players;
try {
players = msg.selected.length
}
catch (e) {
players = 0
}
if (msg.type !== "api") {
return;
}
args = msg.content.split(/\s+/);
if(args[0].toLowerCase() == "!getapl") {
char = _.uniq(getSelectedCharacters(msg.selected));
var selTot = "0"
_.each(char, function(a) {
if (isLevel(a.id) !== "0") {
selTot = Number(selTot) + Number(isLevel(a.id))
}
});
if (players == 0) {
sendChat ("getAPL", "/w "+msg.who+" **No Tokens Selected, try again.**");
} else if (players < 3 || players > 7) {
sendChat ("getAPL", "/w "+msg.who+" **Not AL Legal** (less than 3 or more than 7) - please check your token selection and try again.")
} else if (_.range(1,21).includes(parseInt(args[1],10)||0)) {
sendChat ("getAPL", "/w "+msg.who+" **"+players+"** Players at APL: **"+round(selTot/players,0)+"** (**"+partyStr(players,args[1],round(selTot/players,0))+"**) - Target APL: **"+args[1]+"**.")
} else {
sendChat ("getAPL", "/w "+msg.who+" **"+players+"** Players at APL: **"+round(selTot/players,0)+"**.<br /><em>Try adding your target APL to the end for more information such as:</em><br />**!getAPL 3**")
}
}
},
registerEventHandlers = function() {
on('chat:message', handleInput);
};
return {
CheckInstall: checkInstall,
RegisterEventHandlers: registerEventHandlers
};
}());
on('ready',function(){
'use strict';
getAPL.CheckInstall();
getAPL.RegisterEventHandlers();
});