Deep sea. Tuna, shark, wahoo and other big game fish. Shark I enjoy the most. Bass fishing is nice but when you live on the Gulf of Mexico the ocean calls to you.
Printable View
Now what really started bugging me is not the AAD and AR issues, but the fact that jet turbine applications are designed using approximated thrust performance data, and we all know data entry jobs are given to interns that might not be terribly excited about the task at hand, so will I be ever again able to travel by plane? :eek:
But don't mind me, I am sure you tested your break point formula extensively against the original formula (after all, shouldn't take more than an hour) :)
Actually it was tested against performance data collected from the jet turbine stratpped to a fixed testing platform. We are withing .1% deviation against the actual jet turbine. In areas where the data was off by more than that we used the actualy data to proof our calculations. Of course the use of long doubles (80 bit floating point math) is not something you have to use often it helped.
Bump for uber post.
Why the hell isn't this sticky yet.
No idea, but it should be
because it will expose the evil plan FC has in the works.
Bit of necromancy, but I'm noticing the links to the calculators are broken. Was going to use this in a discussion but had to go dig up the post first.
Any chance someone happens to know where the links have moved to? Or has Ebag managed to get himself 'disappeared' over this calculator?
Well, I haven't been disappeared just yet.
Good news and bad news.
Bad news, SG lost the database. So hundreds of thousands of pieces of data are gone. :(
Good news, he had the files, which contained the formulas! If it looks like javascript...that's 'cause it is! :p
Anyway, to make your own calculator, follow these easy steps.
- Create a new text file.
- Rename text file to name of your choice, but change extension from .txt to .hta (I suggest NanoLandCalculator.hta or similar).
- Edit .hta file in Notepad.
- Copy and paste the text below into Notepad (only one of the code blocks below per .HTA).
- Save file.
- Launch HTA by double clicking on it.
- Calculate! (Be sure to read and follow the instructions!)
- ???
- Profit!
Nano Calculator
Code:<HTML>
<HEAD>
<TITLE>AR Calculator</TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkForZero(field)
{
if (field.value == 0 || field.value.length == 0) {
alert ("This field can't be 0!");
field.focus(); }
}
function cmdCalc_Click(form)
{
calculatePayment(form);
}
function calculatePayment(form)
{
ar = form.attskill1.value*(form.attskillcheck1.value/100)+form.attskill2.value*(form.attskillcheck2.value/100)+form.attskill3.value*(form.attskillcheck3.value/100);
def = form.defskill1.value*(form.defskillcheck1.value/100)+form.defskill2.value*(form.defskillcheck2.value/100)+form.defskill3.value*(form.defskillcheck3.value/100);
diff_ar = ar/(ar+def);
aggdefuno = 4+(1*form.defbar.value/100);
aggdefdos = -(1*Math.pow(10,-5))*Math.pow(form.defbar.value,2)-0.002*form.defbar.value+2.3;
land_rate = aggdefuno*Math.pow(diff_ar,aggdefdos);
form.diffar.value = Math.round(diff_ar*10000)/100 + "%";
form.landrate.value = Math.round(land_rate*10000)/100 + "%";
form.missrate.value = Math.round((1-land_rate)*10000)/100 + "%";
}
//-->
</SCRIPT>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10504701-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
<BODY>
<TABLE>
<TR>
<TD VALIGN=TOP>
<FORM NAME="NanoARCalculator">
<TABLE WIDTH=350 BORDER=5 BGCOLOR=SILVER CELLPADDING=2>
<TR>
<TD COLSPAN=2 ALIGN=CENTER>
<B><FONT SIZE=+2 COLOR=BLUE>Nano AR Calculator</FONT></B>
</TD>
</TR>
<TR>
<TD COLSPAN=2 WIDTH=50%>
<TABLE BORDER=0 CELLPADDING=2>
<TR>
<TD COLSPAN=4><B>Attacker Data:</B></TD>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill1
VALUE="1000"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck1
VALUE="100"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill2
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck2
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill3
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck3
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD COLSPAN=4><B>Defender Data:</B></TD>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill1
VALUE="1000"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck1
VALUE="100"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill2
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck2
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill3
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck3
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT colspan=1>Agg/Def Bar:</TD>
<TD colspan=2>
<INPUT
TYPE=TEXT
NAME=defbar
VALUE=0
SIZE=7>
</TD>
</TR>
</TABLE>
</TD></TR>
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=2>
<TR>
<TD COLSPAN=2><B>Results:</B></TD>
<TR>
<TD ALIGN=RIGHT>Diff AR %:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=diffar
SIZE=7>
</TD>
</tr>
<tr>
<TD ALIGN=RIGHT>Land Rate:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=landrate
SIZE=7>
</TD>
<TD ALIGN=RIGHT>Miss Rate:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=missrate
SIZE=7>
</TD>
</TR>
<TR>
<TD ALIGN=CENTER COLSPAN=2>
<INPUT
TYPE=BUTTON
NAME="cmdCalc"
VALUE="Calculate"
onClick=cmdCalc_Click(this.form)>
</TD>
</TR>
</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
</FORM></TD>
<td width=50>
 
</td>
<TD VALIGN=TOP>
<H3>Nano AR Calculator</H3>
This page uses a form to calculate the land rate for nanos.
<P>
Here's how you use this form:
<OL>
<LI>Enter the attackers skills (typical nano skills).
<LI>Enter the attack skill check amounts (always enter the percentage amount, so a 100% check nano is entered as 100, not 1).
<LI>Enter the defenders skills (typically Nano Resist).
<LI>Enter the defense skill check amounts (always enter the percentage amount, so a 100% check nano is entered as 100, not 1).
<LI>Enter the defenders Agg/Def bar setting. Note that this runs from -100 (full defense) to 100 (full aggro), with neutral (50/50) being 0.
<LI>Click Calculate.
</OL>
<BR><BR>
This calculator should be accurate +-5% for any calculations at full def (-100). Anything else has been tested less (or not at all) and may or may not be accurate.
<BR><BR>
Just in case you were curious, skill = AAO, and evades = AAD.
<BR><BR>
Also, diff_ar = ar/(ar+def). This is used to always give me a number that is between 0 and 1 (0% and 100% when converted to a percentage).
</TD>
</TABLE>
</BODY>
</HTML>
Weapon Calculator
Code:<HTML>
<HEAD>
<TITLE>AR Calculator</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkForZero(field)
{
if (field.value == 0 || field.value.length == 0)
{
alert ("This field can't be 0!");
field.focus();
}
}
function cmdCalc_Click(form)
{
calculatePayment(form);
}
function calculatePayment(form)
{
ar = form.attskill1.value*(form.attskillcheck1.value/100);
ar = ar+form.attskill2.value*(form.attskillcheck2.value/100);
ar = ar+form.attskill3.value*(form.attskillcheck3.value/100);
def = form.defskill1.value*(form.defskillcheck1.value/100)+form.defskill2.value*(form.defskillcheck2.value/100)+form.defskill3.value*(form.defskillcheck3.value/100);
diff_ar = ar/(ar+def);
aggdefuno = 3.75+(0.0075*form.defbar.value);
aggdefdos = 2.25;
land_rate = aggdefuno*Math.pow(diff_ar,aggdefdos);
form.diffar.value = Math.round(diff_ar*10000)/100 + "%";
form.landrate.value = Math.round(land_rate*10000)/100 + "%";
form.missrate.value = Math.round((1-land_rate)*10000)/100 + "%";
}
//-->
</SCRIPT>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10504701-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD VALIGN=TOP>
<FORM NAME="WeaponARCalculator">
<TABLE WIDTH=350 BORDER=5 BGCOLOR=SILVER CELLPADDING=2>
<TR>
<TD COLSPAN=2 ALIGN=CENTER>
<B><FONT SIZE=+2 COLOR=BLUE>Weapon AR Calculator</FONT></B>
</TD>
</TR>
<TR>
<TD COLSPAN=2 WIDTH=50%>
<TABLE BORDER=0 CELLPADDING=2>
<TR>
<TD COLSPAN=4><B>Attacker Data:</B></TD>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill1
VALUE="1000"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck1
VALUE="100"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill2
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck2
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>AAO:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskill3
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=attskillcheck3
VALUE="100"
SIZE=7
</TD>
</TR>
<TR>
<TD COLSPAN=4><B>Defender Data:</B></TD>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill1
VALUE="1000"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck1
VALUE="100"
SIZE=7
onBlur=checkForZero(this)
onChange=checkForZero(this)>
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>Skill:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill2
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck2
VALUE="0"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>AAD:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskill3
VALUE="0"
SIZE=7
</TD>
<TD ALIGN=RIGHT>Check:</TD>
<TD>
<TD>
<INPUT
TYPE=TEXT
NAME=defskillcheck3
VALUE="100"
SIZE=7
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT colspan=1>Agg/Def Bar:</TD>
<TD colspan=2>
<INPUT
TYPE=TEXT
NAME=defbar
VALUE=0
SIZE=7>
</TD>
</TR>
</TABLE>
</TD></TR>
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=2>
<TR>
<TD COLSPAN=2><B>Results:</B></TD>
<TR>
<TD ALIGN=RIGHT>Diff AR %:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=diffar
SIZE=7>
</TD>
</tr>
<tr>
<TD ALIGN=RIGHT>Land Rate:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=landrate
SIZE=7>
</TD>
<TD ALIGN=RIGHT>Miss Rate:</TD>
<TD>
<INPUT
TYPE=TEXT
NAME=missrate
SIZE=7>
</TD>
</TR>
<TR>
<TD ALIGN=CENTER COLSPAN=2>
<INPUT
TYPE=BUTTON
NAME="cmdCalc"
VALUE="Calculate"
onClick=cmdCalc_Click(this.form)>
</TD>
</TR>
</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
</FORM></TD>
<td width=50>
 
</td>
<TD VALIGN=TOP>
<H3>Weapon AR Calculator</H3>
This page uses a form to calculate the land rate for Weapons.
<P>
Here's how you use this form:
<OL>
<LI>Enter the attackers skills (typical Weapon skills).
<LI>Enter the attack skill check amounts (always enter the percentage amount, so a 100% check Weapon is entered as 100, not 1).
<LI>Enter the defenders skills (typically Evade/Dodge/Duck).
<LI>Enter the defense skill check amounts (always enter the percentage amount, so a 100% check Weapon is entered as 100, not 1).
<LI>Enter the defenders Agg/Def bar setting. Note that this runs from -100 (full defense) to 100 (full aggro), with neutral (50/50) being 0.
<LI>Click Calculate.
</OL>
<BR><BR>
This calculator should be accurate +-5% for any calculations at full def (-100). Anything else has been tested less (or not at all) and may or may not be accurate.
<BR><BR>
Just in case you were curious, skill = AAO, and evades = AAD.
<BR><BR>
Also, diff_ar = ar/(ar+def). This is used to always give me a number that is between 0 and 1 (0% and 100% when converted to a percentage).
</TD>
</TABLE>
</BODY>
</HTML>
All right, thanks a ton, Ebag!