Prevented evaluate crashing when given duff abilityMod strings
This commit is contained in:
@@ -9,23 +9,27 @@ evaluate = function(charId, string){
|
|||||||
}
|
}
|
||||||
//ability modifiers
|
//ability modifiers
|
||||||
var abilityMods = [
|
var abilityMods = [
|
||||||
"STRENGTHMOD",
|
"strengthMod",
|
||||||
"DEXTERITYMOD",
|
"dexterityMod",
|
||||||
"CONSTITUTIONMOD",
|
"constitutionMod",
|
||||||
"INTELLIGENCEMOD",
|
"intelligenceMod",
|
||||||
"WISDOMMOD",
|
"wisdomMod",
|
||||||
"CHARISMAMOD",
|
"charismaMod",
|
||||||
];
|
];
|
||||||
if (_.contains(abilityMods, sub.toUpperCase())){
|
if (_.contains(abilityMods, sub)){
|
||||||
var slice = sub.slice(0, -3);
|
var slice = sub.slice(0, -3);
|
||||||
return char.abilityMod(slice);
|
try {
|
||||||
|
return char.abilityMod(slice);
|
||||||
|
} catch (e){
|
||||||
|
return sub;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//class levels
|
//class levels
|
||||||
if (/\w+levels?\b/gi.test(sub)){
|
if (/\w+levels?\b/gi.test(sub)){
|
||||||
//strip out "level"
|
//strip out "level"
|
||||||
var className = sub.replace(/levels?\b/gi, "");
|
var className = sub.replace(/levels?\b/gi, "");
|
||||||
var cls = Classes.findOne({charId: charId, name: className});
|
var cls = Classes.findOne({charId: charId, name: className});
|
||||||
return cls && cls.level;
|
return cls && cls.level || sub;
|
||||||
}
|
}
|
||||||
//character level
|
//character level
|
||||||
if (sub.toUpperCase() === "LEVEL"){
|
if (sub.toUpperCase() === "LEVEL"){
|
||||||
|
|||||||
Reference in New Issue
Block a user