Is Jahara's reroll calculator accurate?

Old MUME discussions.

Moderator: Builders

Forum rules
The posts in this forum should be related to MUME.
Posts: 12
Joined: Mon May 11, 2009 6:56 pm

Is Jahara's reroll calculator accurate?

Post by Numi »

I've been playing with Jahara's reroll calculator and getting some wierd results. Just want to make sure it is accurate before I decide to retire my char or not!

For example, I try a Noldo elf with base 19 INT, then reroll its INT lower and get the following results:

Rerolled INT Distance
------------ ----------
18 (-1) ....... 14
17 (-2) ....... 42
16 (-3) ....... 28
15 (-4) ....... 71
14 (-3) ....... 57
13 (-2) ....... 99

This seems like a strange concept of distance. It is not just based on the value of the delta, odd numbered deltas create less difference than even ones. I see similar results for all other stats.

Can someone confirm if this is correct or not?
Posts: 231
Joined: Sat Feb 23, 2008 11:47 pm
Location: Olomouc, Czech Republic

Re: Is Jahara's reroll calculator accurate?

Post by Elestir »

I can confirm it's incorrect. :-)
Posts: 228
Joined: Sat Feb 23, 2008 9:55 pm
Location: Indiana, USA

Re: Is Jahara's reroll calculator accurate?

Post by Jahara »

I didn't write the code for the reroll calculator (it is a multi-player effort). Elestir is right, the code isn't perfect, but its close to working :-)
Posts: 70
Joined: Wed Aug 13, 2008 7:00 pm

Re: Is Jahara's reroll calculator accurate?

Post by science »

Why would you want a non-max int though anyways?
Posts: 1
Joined: Thu Sep 05, 2013 11:19 pm

Re: Is Jahara's reroll calculator accurate?

Post by deedmbot »

It was starting to bug me that the reroll calculator was incorrect. I improved the javascript function used to calculate the difference, so that its a little more accurate. Not sure if Jahara is still maintaining the page to update....

I couldn't get the exact decimal numbers used, but my numbers appear to be correct +/- 1 point. If someone has better numbers, feel free to update.

Code: Select all

function computeDiff() {
    var diff = 0;	
    for (var i = 0; i < oldTmpStats.length; i++) {
		t1 =  Math.abs(oldTmpStats[i] - newTmpStats[i]);
		var distance = 0;
		switch (t1) {
		  case 0:distance = 0;break;
		  case 1:distance = 1433;break;
		  case 2:distance = 3395;break;
		  case 3:distance = 5640;break;
		  case 4:distance = 8080;break;
		  case 5:distance = 10680;break;
		  case 6:distance = 13415;break;
		  case 7:distance = 16260;break;
		  case 8:distance = 19220;break;
		  case 9:distance = 22270;break;
		  case 10:distance = 25400;break;
		  default:distance = 25400;break;
		diff += distance;
    return Math.floor(diff/100);