Talk:Augmenter Tweaking

From Starsonata Wiki
Jump to: navigation, search

\bigg(1+\mbox{posaug1}*\left(1+.04*\mbox{AT}\right)+\mbox{posaug2}*\left(1+.04*\mbox{AT}\right)\bigg)*\cfrac{1}{1 + \left( \cfrac{1}{1 +\mbox{negaug1} } -1 \right)*\left(1+.04*\mbox{AT}\right)+ \left( \cfrac{1}{1 +\mbox{negaug2} } -1 \right)*\left(1+.04*\mbox{AT}\right)}


above formula is incorrect.

if the aug says +40% then posaug1 is .4
if the aug says -40% then negaug1 is -.4


from HAL's:

Ok I'll explain it the best I can.

Let us say we have our stats start out at 0. Now if you have a +100% (x2) bonus, you will get +1. If you have a +200% (x3) bonus it is +2.

The direct opposite of a +100% bonus would be a -50%, which is -1. Therefore it stands to reason that the direct opposite of a +200% bonus would be -2, which works out to -66% when you invert it back (which if you multiply out by x3 evens out exactly).

Here is the code we get when initially applying the bonuses to find a number relative to zero. The bonus is a number relative to 1, so for example -50% would be 0.5, +30% would be 1.3, etc.


 if (bonus > 1.0)
   factor += bonus - 1.0;
 else
   factor += (-1 / bonus) + 1;


Here is the formula for reverting back to a number relative to 1 so that it can be easily multiplied out by the rest of your ship stats.


   if (factor < 0.0)
     factor = (-1 / (factor - 1));
   else
     factor += 1.0;


Simon's Explanation:

okay full augmenter calculation formula.

starting with a postive aug +25% = .25 and a negative aug -33% = -.33

we will convert these to based around 1 numbers by simply adding 1, so .25 becomes 1.25 and -.33 becomes .67. But first we need to use the AT formula

AT on positive aug is 1+(posaug*(1+.04*ATlevel+.02*ITlevel))
which becomes 1+(.25*(1+1+.02))

so that only the augmenter portion gets tweaked, not the 100% base stat which is the 1 in the equation. this gets us 1.505 with AT25 and IT1 or +50.5%.

AT on a negative aug is (1+negaug)/(1-(negaug*(.04*AT+.02*IT)))
which becomes (1-.33)/(1-(-.33*(1+.02)))

which is basically reducing the factor of .67 by the tweaking factor to give us 0.501271884 with AT25 and IT1 or -49.87%.

now to combine augmenters we have to convert to a system centered around 0 instead of the one centered around 1 that we have been using.

starting with our tweaked values of 1.505 and .501 we are going to treat positive and negative augs differerently. For positive augs, or augs with a
factor greater than 1, we simply subtract 1. For negative augs, or augs with a factor less than 1, we have to use the following formula.

negative0basenumber = (-1/negative1basenumber) +1
or in our case (-1/.501) +1

which gives us -0.994925373

and as a reminder the positive formula is simply:
positive0basenumber = positive1basenumber - 1
or in our case 1.505-1=.505

now we add up all of our base 0 numbers, in our case giving -0.994925373) + .505 = -0.489925373

and convert back to base 1 numbers again using different rules for positive and negative sums.

for positive sums you just add the 1 back on. In our case we have a negative sum so we need to use the negative formula:

negative1basenumber = -1/(negative0basenumber -1)

which gives in our case:
negative1basenumber = -1/(-0.489925373 -1)
negative1basenumber = 0.671174556

which, by subtracting 1, equates to aprox. a -33% stat.