Purpose: The purpose of this thread is to compile instruments for testing. This entails resources necessary (or useful) for creating experiments and strategies that have worked in the past (Example: Goldfish at Sea for critical hit rate). I'm currently looking at the best way to format this beyond Player Stats + Mob Stats + Old Strategies section. Unlike the Data compilation thread, it's best if we actually paste the information here for people to view (Unless it's a program like Bellsouth). We can reduce clustering through spoiler tags obviously.
Discussion should precede with contributions to the original post and formatting suggestions.
Player Stats
http://bellsouthpwp2.net/k/i/kinemat...tatCalculator/
Calculating Player Melee Accuracy:
Spoiler: showMelee Accuracy is determined by your weapon skill, DEX, type of weapon, gear, and traits. It is used to determine your Hit Rate, which has a cap of 95% and a floor of 20%.
H = 1 for onehanded weapons and 2 for two-handed weapons
Weapon Skill less than 200: Accuracy = Skill + (1+H)*DEX/4 + Gear Accuracy + Traits
Weapon Skill more than 200: Accuracy = 200 + FLOOR((Skill-200)*.9,1) + (1+H)*DEX/4 + Gear Accuracy + Traits
http://wiki.ffxiclopedia.org/wiki/Accuracy_Bonus
Calculating Player Melee Attack:
Spoiler: showMelee Attack is determined by your weapon skill, STR, type of weapon, gear, and traits. It is used to determine your cRatio, which has a cap and a floor that also depend on your weapon.
H = 1 for onehanded weapons and 2 for two-handed weapons
Attack = Skill + (1+H)*STR/4 + Gear Attack + Traits + 8
http://wiki.ffxiclopedia.org/wiki/Attack_Bonus
Calculating Player Defense:
Spoiler: showDefense is determined by your Vitality, level, gear, buffs, and traits. It is used to determine monster cRatio (when they attack you) along with monster Attack.
Defense = 8 + Level + VIT/2 + Traits + Gear + C
51 > Level, C = 0
61 > Level > 50, C = Level-50
Level > 60, C = 10
http://wiki.ffxiclopedia.org/wiki/Defense_Bonus
Calculating Critical Hit Rate:
Spoiler: showPlayer Critical Hit rate is determined by your DEX, the monster's AGI, gear, and merits.
Critical Hit rate = Merit Level + f(dDEX) + Gear% + 5%
http://wiki.ffxiclopedia.org/wiki/Ta...tical_Hit_RateCode:dDEX = Your DEX - Target AGI f(dDEX[<1]) = 0% f(dDEX[0;14]) = FLOOR(dDEX/7)% f(dDEX[15;40]) = FLOOR(dDEX/10)% + 1% f(dDEX[41;50]) = (dDEX - 35)% f(dDEX[>50]) = 15%
Calculating weapon skill stats:
Spoiler: showWeapon Skill damage is determined by a large variety of factors, outlined here:
http://wiki.ffxiclopedia.org/wiki/Ca...n_Skill_Damage
Some magical weaponskills don't actually follow the formula listed on this page, but have a more complicated form.
In order to determine the weaponskill, you need to hold all other constant. For physical weaponskills, pDIF is a randomization factor applied at the end, which complicates the analysis. Magical weaponskills can skip most of Steps 1-6 because they generate a constant number at a constant TP.
Steps for physical WS testing to remove the effects of pDIF: Skip if magical
1) Change your subjob to Thief (unless it's your main, then sub SAM or something), bring a lot of STR gear, and bring relevant gorget and/or belt. Determine the skillchain properties using Sekka, if you don't know what they are. (Maybe make this another test section?)
2) Bring an x-hit build that's convenient for getting 100TP while wearing a lot of STR and no neck/waist. If you're using a 1H weapon, it's going to be faster to use a ranged weapon to build TP. I recommend fulltiming movement speed gear if you can and not using food.
3) Go to a starter zone, record your stats, and unload spellcast. Turn on your parser.
4) Use your x-hit build to consistently get 100TP, and then SA->WS level -1 monsters (right outside the towns, the weakest of the weak).
5) There are three pDIF values that are recognizable. Your max damage (pDIF=3.15), the frequency spike (pDIF=3.00), and the min damage (depends on weapon type). Normally the max damage is the easiest one to find, although the 3.0 frequency spike is a nice control. You want to keep doing SA->WS with constant TP until you're fairly sure you've found one of those values. Using your guesses for the other two is a nice way to confirm.
6) Use the pDIF value and resulting damage value that you're confident in to factor out pDIF. This leaves you with Damage = (D+fSTR+WSC)*fTP.
Determining fTP:
7) Put on an appropriate gorget and/or belt (there should have been no gear in your neck/waist slot before) and repeat steps 3-6.
8) This gives you another (D+fSTR+WSC)*fTP, except this time you know that it's either .1 or .2 more fTP than it was before (depending on whether you used both gorget and belt or just one or the other, while (D+fSTR+WSC) are the same.
9) no-pDIF Damage from Step 6 above divided by no-pDIF Damage from Step 8 gives you ( fTP/(fTP+.1 or .2) ).
Example:
Step 6 / Step 8 = fTP/(fTP+.1) = .91
fTP = .91 fTP + .091
.09 fTP = .091
fTP = 1
Determining fTP at different TP values:
10) Repeat steps 7-9, but instead of using a gorget, instead just the amount of TP you want to test. So you'd WS at 200 TP, find max damage, remove pDIF, take a ratio, and solve for your new fTP using the fTP you determined for 100TP in Step 9.
Example:
Step 6 / Step 10 = fTP[100TP]/fTP[200TP] = .5
fTP[100TP] = 1 <-- from Step 9
1 / fTP[200TP] = .5
fTP[200TP] = 2
Determining modifiers:
11) You're going to need to be careful about which stats you're changing, but changing multiple stats (in one direction) at once or two stats (in opposite directions) is a good way to screen for modifier stats. Really be careful and keep in mind what you're doing. You will want to vary each stat you're testing by at least 12, and the more the better.
12) First, take off some of the STR gear you put on earlier (but still be sure to keep fSTR capped: aim for ~4*(FLOOR(D/9)+10) for non-ranged)
13) Check if this changes anything with steps 3-6. You can be a little more informal here, as it should be pretty obvious pretty quickly whether or not it mattered. Maybe a dozen weaponskills to be safe. This works as your test for whether or not STR is a modifier.
14) Try varying stats using the gear you picked up in step 11. Keep repeating steps 3-6 informally. You will want to vary each stat you're testing by at least 12 (minimum mod I can remember is 10%), and the more the better.
15) When you've found the stat types that you think are the modifiers, pile on as much of one of them as you can get (while holding the other constant) and write down your stats again.
16) Repeat steps 3-6 and determine your new base damage with these stats.
17) Repeat for all of your suspected modifiers.
18) Now you should know the fTP of your weaponskill at 100TP, so you can divide it out of all the numbers you're working with and be left with (D+fSTR+Modifiers). You know D (the damage of your weapon) and fSTR (FLOOR(D/9)+8), so you can figure out how much base damage modifiers are contributing to the weaponskill.
19) Do this for your base case (Step 6) and your Modifier+ cases (Step 16/17). Solve for the modifiers
Example, Pyrrhic Kleos (20% STR, 30% DEX)
Case A - 120 STR, 75 DEX from Step 6 : 38 Base damage from modifiers
Case B - 80 STR, 75 DEX from Step 13 : 31 base damage from modifiers
Case C - 80 STR, 120 DEX from Step 16/17 : 43 base damage from multipliers
+40 STR resulted in +7 base damage, so (7/45)/.85 = .206 = ~20%
+45 DEX resulted in +12 base damage, so (12/45)/.85 = .31 = ~30%
Mob Stats
Ul' Hpemde Stats (Masamune + Cymmina[INT]) [Level 68-72]:
Spoiler: show
Ul'Hpemde lvl72
- VIT=75
- AGI=67
- INT=55?
- DEF=292
- EVA=280
Ul'Hpemde lvl71
- VIT=75
- AGI=67
- INT=55
- DEF=287
- EVA=275
Ul'Hpemde lvl70
- VIT=73
- AGI=67
- INT=55
- DEF=282
- EVA=271
Ul'Hpemde Lvl69
- VIT=72
- AGI=65
- INT=54
- DEF=277
- EVA=265
Ul'Hpemde Lvl68
- VIT=71
- AGI=65
- INT=53
- DEF=271
- EVA=260
Tests for Monster Stats
Determining VIT of a monster, Method 1:
Spoiler: showIngredients:
* A 1 base damage weapon of your choice
* Lots of different types of STR gear ranging from negative gear to positive gear.
* If you are unable to make yourself crit for 0, you may need more negative VIT gear or to change to a lower STR job.
* If you are determining the VIT of something with an ambiguous check message and level range whose level you can calculate from the xp it gives, you will need to be able to kill it (obviously).
Instructions:
1) Find the monster you want to test the VIT of, start beating it with your D1 weapon, and adjust your STR until you hit for 0 on Crits.
2) Take this amount of STR and add 4 to it to find the monster's VIT.
Theory:
By using a D1 (rank 0) weapon, your minimum fSTR is -1, which means you can swing with a weapon that has an effective base damage of 0. Critical Hits give you a minimum pDIF of 1, so if you think of damage like (Base Damage + fSTR)*pDIF, then the only way to get a 0 damage crit is to have a (Base Damage + fSTR) of 0. fSTR of -1 occurs when your STR is 14 points lower than your target's VIT.
http://wiki.ffxiclopedia.org/wiki/ST...rence_Function
Determining the Evasion of a monster:
Spoiler: showIngredients:
* A large variety of Accuracy/DEX gear and potentially different weapon types
Instructions:
1) Find the monster you want to test the Evasion of and /check it while naked or wearing all your Accuracy/DEX down gear.
2) If it checks "low evasion" change weapons to one with lower skill and try again.
3) Put on Accuracy/DEX gear until you find the point where it changes from neutral to "low evasion"
4) Calculate your own Accuracy using the instructions above, and subtract 10 from it. That is the monster's Evasion before level correction.
4b) Level correction for Evasion is (Monster's level - Your level)*4
Theory:
/check gives a "Low Evasion" message when your hit rate is 80% or better. Your Hit rate is 75% when the target's Evasion is equal to your Accuracy, and 2 points of accuracy gives 1% hit rate. So finding the Accuracy you need to hit the monster exactly 80% of the time means you've found the monster's Evasion + 10. Hit rate can only take integer values.
Common Math Terms:
Spoiler: showFLOOR(x,g) = round down the value x to the significance level of g. When not defined, assume you're dropping the decimal. That's commonly how it's used.
95% Confidence Interval = STD(data)*1.96; = The odds of the population mean falling within this interval is, shocker, 95%.
STD(Data) = square_root( sum((x - average)^2) /n)