bristle = {
'level': 1,
'bristleback':0
};
riki = {
'level': 1,
'backstab': 0,
'agility': 0,
'damage': 0
};
function compute(agi, dmg, bbhl, bbl, rhl, rbl){
agi = 31.2 + (rhl * 2.9) + agi;
arm = 1 + (15.2 + (bbhl * 1.8)) * 0.14;
dmgbs = (16 + agi + (rbl > 0 ? (.25 + (.25 * rbl)) * agi : 0)) + dmg;
dmg += 16 + agi;
backdmg = Math.floor(((1 - (bbl > 0 ? .08 + (.08 * bbl) : 0)) * dmgbs) * (50 / ((3 * arm) + 50)));
frontdmg = Math.floor(dmg * (50 / ((3 * arm) + 50)));
return backdmg > frontdmg ? "back." : "front.";
}
print("Best to attack from the " + compute(riki.agility, riki.damage, bristle.level, bristle.bristleback, riki.level, riki.backstab));
YnJpc3RsZSA9IHsKCQknbGV2ZWwnOiAxLAoJCSdicmlzdGxlYmFjayc6MAoJCX07CglyaWtpID0gewoJCSdsZXZlbCc6IDEsCgkJJ2JhY2tzdGFiJzogMCwKCQknYWdpbGl0eSc6IDAsCgkJJ2RhbWFnZSc6IDAKCQl9OwoJCmZ1bmN0aW9uIGNvbXB1dGUoYWdpLCBkbWcsIGJiaGwsIGJibCwgcmhsLCByYmwpewoJCWFnaSA9IDMxLjIgKyAocmhsICogMi45KSArIGFnaTsKCQlhcm0gPSAxICsgKDE1LjIgKyAoYmJobCAqIDEuOCkpICogMC4xNDsKCQlkbWdicyA9ICgxNiArIGFnaSArIChyYmwgPiAwID8gKC4yNSArICguMjUgKiByYmwpKSAqIGFnaSA6IDApKSArIGRtZzsKCQlkbWcgKz0gMTYgKyBhZ2k7CgkJYmFja2RtZyA9IE1hdGguZmxvb3IoKCgxIC0gKGJibCA+IDAgPyAuMDggKyAoLjA4ICogYmJsKSA6IDApKSAqIGRtZ2JzKSAqICg1MCAvICgoMyAqIGFybSkgICsgNTApKSk7CgkJZnJvbnRkbWcgPSBNYXRoLmZsb29yKGRtZyAqICg1MCAvICgoMyAqIGFybSkgICsgNTApKSk7CgkJcmV0dXJuIGJhY2tkbWcgPiBmcm9udGRtZyA/ICJiYWNrLiIgOiAiZnJvbnQuIjsKCQkKfQoJcHJpbnQoIkJlc3QgdG8gYXR0YWNrIGZyb20gdGhlICIgKyBjb21wdXRlKHJpa2kuYWdpbGl0eSwgcmlraS5kYW1hZ2UsIGJyaXN0bGUubGV2ZWwsIGJyaXN0bGUuYnJpc3RsZWJhY2ssIHJpa2kubGV2ZWwsIHJpa2kuYmFja3N0YWIpKTsKCQ==