So you do put rarity above musical quality? Or are you saying that Jeannie is a better record than the Keggs?
It's a bit more complicated than that. Here is the actual formula
function autosuggest()
{
var sa=document.getElementById("g45sa").value;
var sb=document.getElementById("g45sb").value;
var r=document.getElementById("g45r").value;
var l=document.getElementById("g45l").value;
var m=document.getElementById("g45m").value;
var a=document.getElementById("g45a").value;
var d1=document.getElementById("def1");
d1=d1.options[d1.selectedIndex].value;
var dl1=document.getElementById("deflev1");
dl1=dl1.options[dl1.selectedIndex].value;
var d2=document.getElementById("def2");
d2=d2.options[d2.selectedIndex].value;
var dl2=document.getElementById("deflev2");
dl2=dl2.options[dl2.selectedIndex].value;
sa=parseInt(sa);
sb=parseInt(sb);
r=parseFloat(r);
l=parseFloat(l);
m=parseInt(m);
a=parseInt(a);
d1=parseInt(d1);
dl1=parseInt(dl1);
d2=parseInt(d2);
dl2=parseInt(dl2);
var genreheat=1.00;
var inflation=1.00;
if (sa !==0 && sb !==0 && r !==0 && l!==0)
{
// inferior-side value = 12.5%
if (sa>sb)
{sa=sa*7;
var s=(sa+sb)/8;}
if (sb>sa)
{sb=sb*7;
var s=(sa+sb)/8;}
if (sa==sb)
{var s=sa;}
// calculate sr, song rating x rarity
var sr=0;
switch (r)
{
case 0.5:
sr=s*.2;
break;
case 1:
sr=s*.35;
break;
case 1.5:
sr=s*.8;
break;
case 2:
sr=s*1.5;
break;
case 2.5:
sr=s*2.5;
break;
case 3:
sr=s*4;
break;
case 3.5:
sr=s*6;
break;
case 4:
sr=s*8;
break;
case 4.5:
sr=s*13;
break;
case 5:
sr=s*18;
break;
case 5.5:
sr=s*24;
break;
case 6:
sr=s*30;
break;
case 6.5:
sr=s*36;
break;
case 7:
sr=s*45;
break;
case 7.5:
sr=s*54;
break;
case 8:
sr=s*68;
break;
case 8.5:
sr=s*85;
break;
case 9:
sr=s*120;
break;
case 9.5:
sr=s*175;
break;
case 10:
sr=s*250;
break;
case 11:
sr=s*350;
break;
}
switch (l)
{
case 1:
sr=sr*.3;
break;
case 1.5:
sr=sr*.4;
break;
case 2:
sr=sr*.5;
break;
case 2.5:
sr=sr*.65;
break;
case 3:
sr=sr*.8;
break;
case 3.5:
sr=sr*.95;
break;
case 4:
sr=sr*1.1;
break;
case 4.5:
sr=sr*1.2;
break;
case 5:
sr=sr*1.3;
break;
case 5.5:
sr=sr*1.4;
break;
case 6:
sr=sr*1.5;
break;
case 6.5:
sr=sr*1.62;
break;
case 7:
sr=sr*1.75;
break;
case 7.5:
sr=sr*1.89;
break;
case 8:
sr=sr*2.04;
break;
case 8.5:
sr=sr*2.2;
break;
case 9:
sr=sr*2.4;
break;
case 9.5:
sr=sr*2.8;
break;
case 10:
sr=sr*3.5;
break;
case 11:
sr=sr*5;
break;
}
var gfac=1;
// add factors
var totfacs = sr+m+a;
xval=((totfacs*gfac)/100)*dfac*genreheat*inflation;
//display result
xval=Math.floor(xval);
document.getElementById("valm").value=xval;
autoval();
}
}