Hey all, I'm Zari01 (the wiki didn't like Zari for some reason >_>) and my biggest love is Statistics / Numbers. I have owned and played both Golden Sun games since they came out (I was 9 then). I got started here on this Wiki after seeing this page, and have since added Level RNG to the list. Note that I'm not done with it yet, as I have TLA testing and up to lv99 to work on. My main hobbies include games (mostly GS recently) and Music (I play two instruments, French Horn and Trumpet).
Current Work Stuff:
Golden Sun Level RNG Guide is in progress. left to do: Altin Peak, Lamakan Desert and Altmiller Cave
GS1 level work: 73 / 80 ( / 99 >_>) then I can start on TLA
Character class addition ( Class by character / class by element)
Damage Calculation work (1st game, could be same for second game)!!! It's fine time someone put up an article on this, (though its still horribly incomplete <_<;) partial work is gonna be here, in my Sandbox at the bottom (under CC stuff)
FORMULA FOR NORMAL ATTACK
(a) damage dealt= ( (Your Attack ) - ( Enemy Defense ) + 3 ) * .5
Math style: same as above (keep the decimals)
if 'your attack' is an odd number, the '*.5' will result in a number with a '.5' at the end. this is ok. if 'enemy defense' is an even number it will also result in a number with a .5 at the end (because of the '- 3').
the answer you get after you subtract the two numbers will either have a decimal place of .5 or no decimal. The number you get here is the average value of all of the possible damages you can get when you use a normal attack; if it has a decimal, there are four values: two integer places on either side of the decimal. If there is no decimal, there are also four places, one integer value above the given value and the two below.
this method is exact ^_^;
FORMULA FOR CRITICAL HITS
(c) damage dealt = ( a ) * .5 + Math.round( ( a * .5 ) * .25 )
This formula is also exact, but I need to work out which instances of integers it is for every number
FORMULA FOR UNLEASH BOOST
Note: whoo exact (or really REALLY close)
(ub) damage dealt = Math.floor( m / 2 )
m = Math.round( ( ( a + u ) * ( ( p - r ) / 100 ) - 12 / 1000 ) / 2 )
a = the normal attack value (found above)
u = the # you add with the weapon (ie Ninja Blade would add 38 damage points, etc.)
p = the power of the character attacking
r = the resistance of the enemy attacked
It's not as complicated as it looks.
Math.floor() is just rounding down always, whenever there is a decimal point. Math.round() is exactly that--rounding to the nearest whole number.
It turns out that Pure Element Weapons have a different calculation mechanic than unleash boosts, so I still have to find that too. (Yay for the trusty Gaia Blade)
FORMULA FOR PURE ELEMENT WEAPON DAMAGE
(pa) damage dealt = Math.round( ( A / 4) * ( ( P / 100 ) - 1 / 100 ) )
P = ( p - r )
A = Math.ceil( a )
Similar, but different. This final formula is the most uncertain (due to the rarity of PE weapons in GS1), but it should work.
The applet is coming along!
Note: I think I've passed 1000 resets on this testing business.
Zari01 02:08, January 15, 2010 (UTC)