================================================================================
Table of Contents/version History
================================================================================
1. Introduction
2. Basics
3. Battle Damage (The part you want)
4. Calculating STR, VIT, ATK, and DEF. (The part you won’t like)
A. Z Tables
B. Legal Information
C. Contact/Donation (Gil please) information
v. 0.51 (29 SEPT 2004)
Minor corrections. Added link to my combat damage web page.
v. 0.5 (23 SEPT 2004)
I have included everything needed to determine combat damage. One will have to
come up with some values by experimentation with various mobs. I still wish to
come up with a damage curve that simulates actual accumulated data. I have a
few theories but it’s not yet complete. I am hoping that in time that I will
either be able to get enough data to extract the pattern, or that someone else
will figure it out.
I’ve been interested for some time about how stats influence the final damage
equation. I have been working on the formula for some time now and I have an
equation that accurately predicts the minimum and maximum damage using STR, VIT,
ATTACK and DEFENSE. I wanted to be able to come up with a universal damage
equation (involving DEX, AGI, ACC, and EVA as well) but that is proving to be a
challenging task.
Currently the equation is only useful for determining the minimum and maximum
values of damage. I have been working on several modifications to the equation
so that it more accurately resembles the calculated curve from the raw data. It
looks promising, but I likely need to collect more data.
I took a class called Civil and Environmental Systems Engineering recently at
the University. For part of the course we learned to use simulations to model
the behavior of a system. Using a continuous uniform distribution curves,
normal distribution curves, and/or exponential distribution curves, one can
accurately determine the behavior of a system.
It occurred to me that FFXI was utilizing various distribution curves to govern
the success and fail rates of the system. It’s a simulated world governed by
simulated laws that are determined by the laws of probability. One can see it
in synthesis, combat, and even in NM spawn times.
I will be using a normal distribution curve as part of the formula for
determining min and max values. It is the use of this function that makes
easier to understand the roles of ATTACK, STR, DEFENSE, and VIT. I have
included brief instructions how to use the normal distribution curve as well as
some Z tables at the end of this FAQ. Even if you know nothing of statistics,
just follow the instructions and you will be fine.
================================================================================
2. BASICS (You ought to know these)
================================================================================
STR – Every 2 points add +1 ATTACK and +1 DAMAGE INFLICTED
DEX – Affects Hit%, Critical Hit%
VIT – Every 2 points add +1 DEFENSE and -1 DAMAGE RECIEVED
AGI – Affects EVA, Ranged ACC, Block%, Parry%
INT – Increases magical attack, decreases magical damage recieved
MND – Increases magical healing, increases magical defense, believed to increase
divine magical attack.
================================================================================
4. Calculating enemy VIT and DEFENSE (or STR, ATTACK, and WEAPON DAMAGE)
================================================================================
STEP 1 - Obtain Damage Values – Read this - Important
Decide on a mob type to concentrate on. Record the damage values and note the
critical hits and the times you only hit for half damage and be sure to record
the misses too. Avoid using any spells or abilities that would contaminate your
data. If your opponent uses an ability that affects your one of your
attributes, make note of which values are affected which values are not. Record
the experience earned after defeating the enemy so you can determine its level.
Check out http://www.geocities.com/bside_ffxi/index.html to determine the level
of your opponent.
Since attributes increase as levels go up, and attributes vary among different
jobs, use only data for a specific job and level. Try to obtain data for at
least 30 solid hits (not counting critical hits or dodged values), but more
might make you feel more comfortable with your results. 30 is a “magic number”
in the sense that it takes 30 observations to get the shape of the curve and
obtaining more will not significantly alter its form.
If your weapon does a lot of damage, it may be useful to obtain more data.
Although you have the shape of the curve, the range of your damage values is
large. It may require more data to ensure you have found your minimum and
maximum damage value.
STEP 2 - Sort Data
Enter all the data in one column in a spreadsheet and sort it.
STEP 3 - Determine Frequency
Frequency = the number of times a value occurs in the data set.
If all you want to do is calculate the mobs VIT and DEFENSE go to step 6
STEP 4 – Determine Relative Frequency
Number of times the value occurs
Relative Frequency = ----------------------------------------
Number of observations in the data set
Relative frequency is useful when determining multiple sets of data.
STEP 5 – Create a graphical representation of your data
Create a histogram. In Excel you can choose to do a COLUMN graph and specify
the damage values as the “Category (X) axis label” or use the XY (Scatter)
graph.
-------------------------------------------------------------------
|Histogram |
|-----------------------------------------------------------------|
| | |
| | 42% |
| | XX |
|40% | XX |
| | XX |
| | XX |
| | XX |
| | XX |
|35% | XX |
| | XX |
| | XX |
| | XX |
| | XX |
|30% | XX |
| | XX |
| | XX |
| | XX |
| | XX |
|25% | XX |
| | XX |
| | XX |
| | XX |
| | XX 21% |
|20% | XX XX |
| | XX XX |
| | XX XX |
| | XX XX |
| | XX XX |
|15% | XX XX |
| | XX XX |
| | XX XX |
| | XX XX |
| | XX XX |
|10% | XX XX |
| | XX XX |
| | XX XX |
| | XX XX |
| | XX 6% 6% XX |
|5% | XX XX XX XX |
| | XX 4% XX XX XX |
| | XX XX XX XX 3% 3% XX 3% 3% 3% 3% |
| | XX XX 2% XX XX XX XX XX XX XX XX XX |
| | XX XX XX XX XX XX XX XX XX XX XX XX 1% 1% 1% |
|----+------------------------------------------------------------|
| | MISS•••14 15 16 17 18 19 20 21 22 23 24 25 26 •••33*•••46*|
-------------------------------------------------------------------
*Critical Hit
STEP 6 – Locate the “Sample Mean,” Minimum damage value.
The “Sample Mean” is the spike you see in the damage range of your data. This
is where the Z value is 0. Normally the mean value (average value) is equal to
sum of all damage values divided by the number of damage values. We do not do
this here due to other factors affecting the damage curve. This “Sample Mean”
is part of the equation that will help us solve our problem.
In our case in the Histogram in step 5, our spike shows that our mean value is
20. If your spike is at a damage value but the next damage value seems to be
part of that spike, consider it to be the average of the two values. For
instance if our spike had at 20 damage - 17% and at 21 damage - 9%) we would
consider our “Sample Mean” to be 20.5.
We’re not looking at damage values from critical hits or ones that were reduced
by some skill. If you forgot which ones were critical hits, they generally tend
to be the outliers to the right of the curve and the damage-
reduced hits would be the outliers on the left side of the curve. The range of
your curve (the
width) should not be greater than 4*SIG (rounded). It is possible to have a
critical hit in the damage curve. Usually it’s due to a mob benefiting from its
damage reducing skill when you hit it with a critical hit.
By observation, we see that our Minimum Value = 14
STEP 7 – Make calculations –
For reference, here is the equation to find minimum damage.
MINIMUM_DAMAGE = DAM + BON + SIG*(Zmin)
PART 1 – Determine VIT (or STR)
We determined our SAMPLE_MEAN to be 20, since here our Z value is 0, then we can
calculate VIT easily.
SAMPLE_MEAN = DAM + BON + SIG*(0) = WEAPON_DAMAGE + (STR-VIT)/2
Do some Algebra...
VIT = 2*(WEAPON_DAMAGE – SAMPLE_MEAN) + STR
As for our example, WEAPON_DAMAGE = 17, STR = 32, SAMPLE_MEAN = 20
VIT = 2 * (17 – 20) + 32 = 2 * (-6) + 32 = 26
In case you’re trying to determine STR
STR = VIT – 2*(WEAPON_DAMAGE – SAMPLE_MEAN)
PART 2 – Determine DEFENSE (or ATTACK)
Using the values we already know
MINIMUM_DAMAGE = DAM + BON + SIG*(Zmin)
Take this Z value and convert it into the CBR. First go to the Z table and find
the row for -2.1, and then find the column with for .01 and .02. You can
interpolate if you wish or just round to .02.
Examining the table reveals our CBR to be between 0.0183 and 0.0188
Linear interpolation
I am only including it if you really want to do it. You probably will see more
benefit from using it when your Z value is closer to 0.
x = (-2.1176 – (-2.12))*(0.0183-0.0188)/(-2.11-(-2.12))+ 0.0188
x = (.0024)*(-.0005)/0.01+0.0188 = -0.0000012/0.01 + 0.0188
= -.00012+.0188 = 0.01868
CBR = (ATTACK – DEFENSE)/ATTACK
Here is the formula for determining Defense.
DEFENSE = ATTACK*(1-CBR)
DEFENSE = 92 * (1-0.01868) = 92*.98132 = 90.28
Note: I believe that def on enemies will always be ~±0.25. The Attack and
Defense values you see in your screen are always rounded down. When you raise
STR by 1, ATTACK increases by 0.5. The same is true for VIT. If your ATTACK is
equal to the DEF of the opponent, you will get a value of 0. Getting a 0 on the
Distribution curve will be the same as –INFINITY. Since that can’t happen, it
would seem that mobs have an extra 0.25 def to ensure that doesn’t happen.
In case you are looking for the formula for determining attack.
ATTACK = DEFENSE/(1-CBR)
================================================================================
A. Calculating Z values
================================================================================
CBR is a number between 0 and 1 and each CBR value has a corresponding Z value
on a normal distribution curve.
Find Z using your CBR. (I will use 0.0505 for this example)
1. Look in the chart below to find the number that is closest to your CBR.
2. Add the number on the far left side to the number directly above in the
margin.
Add this number to the first number (-1.76).
|
----------------------------------------------------------------------------
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
----------------------------------------------------------------------------
-1.9 | 0.0287 0.0294 0.0301 0.0307 0.0314 0.0322 ^ 0.0336 0.0344 0.0351
-1.8 | 0.0359 0.0367 0.0375 0.0384 0.0392 0.0401 | 0.0418 0.0427 0.0436
-1.7 |< --First record this number –(-1.7)-------0.0505 0.0516 0.0526 0.0537
-1.6 | 0.0548 0.0559 0.0571 0.0582 0.0594 0.0606 0.0618 0.0630 0.0643 0.0655
----------------------------------------------------------------------------
3. This number is your Z[min] value, -1.76.
================================================================================
B. Z Tables
================================================================================
================================================================================
B. Legal Information
================================================================================
Copyright 2004 Jacob M. Hart.
This may be not be reproduced under any circumstances except for personal,
private use. It may not be placed on any web site or otherwise distributed
publicly without advance written permission. Use of this guide on any other
web site or as a part of any public display is strictly prohibited, and a
violation of copyright.
All trademarks and copyrights contained in this document are owned by their
respective trademark and copyright holders.
================================================================================
C. Contact Information
================================================================================
I can be contacted at res1exu4@verizon.net