All, I am looking for an assist on this. I am almost there but cannot seem to get past working with arrays of varying lengths and thus get a match undefined property error. on("chat:message", function (msg) {
//This allows players to enter !sr <number> to roll a number of d6 dice with a target of 4.
if (msg.type == "api" && msg.content.indexOf("!test ") !== -1) {
var rawDamage = msg.content.replace("!test ", "");
rawDamage = rawDamage.toLowerCase();
//Process rawDamage split into arrays.
// 3d+1 cut = [3d+1,cut]
var arrDamage = rawDamage.split(" ");
var s = rawDamage.split(" ").length;
arrDamage.length = s;
var damageRoll = arrDamage[0];
var damageType = arrDamage[1];
var damageMod1 = arrDamage[2];
var damageMod2 = arrDamage[3];
if (damageType == null && damageType == '') {
damageType = "";
} else {
damageType = damageType.toString();
}
if (s >= 3 && damageMod1.match("d") == "d") {
damageMod1 = damageMod1.replace("[", "");
damageMod1 = damageMod1.replace("]", "");
damageMod1 = damageMod1.replace("d", "d6");
damageMod1 = "[[" + damageMod1 + "]] Frag damage";
damageMod1 = damageMod1.toString();
} else {
damageMod1 = damageMod1.toString();
}
if (s = 4 && damageMod2.match("d") == "d") {
damageMod2 = damageMod2.replace("[", "");
damageMod2 = damageMod2.replace("]", "");
damageMod2 = damageMod2.replace("d", "d6");
damageMod2 = "[[" + damageMod2 + "]] Frag damage";
damageMod2 = damageMod2.toString();
} else {
damageMod2 = damageMod2.toString();
}
// Function to check for "d6" if else replace "d" with "d6" & replace "x" with "*"
if (damageRoll.includes("d6")) {
damageRoll = "[[" + damageRoll + "]]";
} else {
damageRoll = damageRoll.replace("d", "d6");
damageRoll = "[[" + damageRoll + "]]";
}
if (damageRoll.includes("x")) {
damageRoll = damageRoll.replace("x", "*");
damageRoll = "[[" + damageRoll + "]]";
}
if (damageRoll.includes("¥")) {
damageRoll = damageRoll.replace("¥", "*");
damageRoll = "[[" + damageRoll + "]]";
}
damageRoll = damageRoll.toString();
sendChat(msg.who, damageRoll + " " + damageType + " " + damageMod1 + " " + damageMod2);
}
}); Any advice or straight up fixing it is much appreciated. Thanks in advance.