## Actual Game Formulas - Time to get to work

### Actual Game Formulas - Time to get to work

NOTE: I'm working on this post in sections, give me a bit to completely finish posting before replying.

It's going to be my mission over the next few days/weeks to iron out an actual damage/stat formulas in regards to REAL game mechanics and not linear equations. The early damage formulas are not based on internal game mechanics (ie valk etc). Just to go over some notes:

For all formulas, I can't imagine that they are being complicated to the point of linear equations to level defined addition. I have a weird feeling that they are in fact scales completely on base stats, then modified; More testing will need to be done to verify.

Out of all the early theorycrafting, possibly the most useful formula uncovered is:
Base Statistic = rounddown{0.083625x[Level]2 + 1.5x[Level] + 55.4}
I'm not saying that this is how they are truely defined, but in terms of game-accuracy it is valid.

This is something we call a "factual" formula.

Valks damage formulas are what we call a "theoretical formula"; Ie. Just a theory and if proven false, then false (which has been done over and over and over and over; so i'm not sure why people still accept it as gospel)

The factual formula above compared to the table below extrapolates the secondary stat formula. While this might not be perfect; Its still a solid formula that fits current game data perfectly. (to which we can see)

Crit:
Crit is assumed 5% base at the moment (ie. 341 is 5% crit rate). Theres enough testing to verify this, but its still merely an assumption. If it works like the skill/spell speed formula, it might be starting at a negative delta to equal the 5% crit. The assumption is if crit is 5% base is that each point = "0.0146627565982405" or [5/341]. This is what I see people using, and its just doesn't seem like the case.

Early crit formulas are similar to: //critchance = (0.087959 * crit) + (17 * (lvl / 50)) - 42. (this is a variation from DoctorMogs formula that is modified by my internal testing of level 50). This is still a semi-linear equation (y = mx + b); defining the flat scaling through a plot. I am heavily doubting that is how it works in game and I'm interested in spending time to figure this out.

Acc:
This is probably the most heavily disputed stat right now, as we dont have a semi-accurate formula regarding this. I'm doing some testing when I can; but I dont have enough data to prove values. There is talk that Twintania has a different ACC cap, but from personal experience and my own raids values, this isn't true (afaik).

If you'd like to help, send me FFXIV app logs along with your ACC value when you noticed misses. FYI: Theres some mechanics for classes like summoner that can skew ACC so more in depth analysis needs to be done- see further in my post for details;

Some key things to test might be if specific mobs have a base acc;
Since object oriented programming was probably SE's key success to create mobs under the new battle system; I'm currently assuming that they define mobs in a class, then inherit for any specific changes (likely only raid bosses). This could account for acc difference in tuning.

Here is an example:
Code: Select all
`class Mob {int str = something;int vit = something;int accrequiremnt = basestat @ mob/player level;etc}class Primal : public Mob{int str = something; //override for each mob}class HMifrit : public Primal {int spellaccreq = 341;int physicalaccreq = 363;}`

This is most likely how they coded it, so the mobs are overwritten when they want to adjust things. This is just a look at how they do things. Object oriented programming speeds up the process by reusing code quite a bit.
For their stats, it could be scaled similarly to players by formula. (or even using the same secondary formula). Theres a lot of ways they can go about this; and theres alot of things we can potentially dig out. (def scaling etc to determine monster potency)

SMN: on the dummies (which exhibit the same acc requirements as the hardmode primal bosses from testing) scholars themselves absolutely do not miss even while naked; so we can determine that while physicial hitcap for these fights is 363 (tested for bards extensively), the SMN hitcap for these fights is 341 OR LESS. There was alot of testing and bug reports of SMN's never missing during beta, so let me go further into detail on this and what can cause determining ACC changes for SMN a little different.

1. Dots without up-front damage (Bio/BioII/Aero) DO NOT MISS.
And on that record, neither do dot ticks for any type of dot.
Ground AOE's dont miss and are on their own tick timer (based on player buff). Not sure why all dots can't be handled like this but they seperated it and it is what it is. I do need to test to see if things like Flaming arrow/Shadowflame (or whatever) tick faster with skill speed. This is an easy test and i'll add it to my things to do.

Anyways, from this testing this it is apparent the the acc calculation is done on initial damage of an ability. To prove this, I took a level 20 Arcanist to whitebrim for testing.
Here is a video: http://www.twitch.tv/eein/b/469295045
Mainly what i'm showing here is the difference between Miasma and Bio; One has an upfront damage portion and CAN miss. Bio never misses ever.
Eiko (who was with me in the video) did some testing naked (341 acc) and never missed any application or spell.
2. Pets have varying base ACC.
341 - Garuda, while the SMN is naked never misses. Ifrit misses heavily.
363 (physical cap for bards) - Garuda still no misses. Ifrit misses semi-heavily.
462 - Obviously no misses for Garuda. Ifrit doesn't miss.
This is enough to go ahead and say that ifrit doesn't have the same ACC requirements as players (for merely physical). Theres two things this can mean: 1. Each pet has their own base ACC, and get additional ACC based on player ACC. 2. Abilities for pets (and maybe players) have a hardcoded miss rate. I dont believe this is likely, but its still something to consider.

In object oriented programming (the standard these days) you might see something like this for pets:
Code: Select all
`class SMNpet {int str = player->intel // Where it points to the players composite intellectint intel = player->intelint acc = player->accetc etc}then an inheritence from the base classclass Ifrit : public SMNpet {int acc = 241; // This could be an effective override on how they deal with balance.}`

This is merely showing you how it may be done on SE's part.

More on this type of thing later after more testing.

SKSPD/SPSPD

I did some initial skill/spell speed testing with Vierkin on reddit.
These values are 99.9999% accurate with a couple outliers in the 8s cast (which i think are unreachable)
Because of how we situated this formula (and since we brute forced the values) I really think theres likely some simple divisible way they handle this. Similarly, the way we handled it might be how they handle quite a few formulas. I.e. 2.5s cast/GCD is actually base 2.825. That kind of thought.

DEF/mDEF/Resistances
I haven't gone into this territory but its probably about time considering there's probably a base defense in the works for all mobs. This can be very different in regards to the following: (just a theory)

Monsters (may) have a base DEF/mDEF/Pierce-Slash-Blunt Resist that is calcuated when damage is applied. (also base elemental resistance)
This is likely the reason for not being able to attach a direct formula for high and low weapon damage because the direct return from a damaging attack might be scaled harder with lower weapon damage. This type of thought can remove the additive estimations of a linear equation, but we'll have to figure out some things first.

Another thing to keep in mind is which abilities have which traits. For example it could be possible that some bard abilities exhibit spell calculation traits. Thats something to keep in mind when we're tearing our hair out when something doesn't add up.

Damage...
So just to start; This has been an absolute nightmare; We've been recalculating Valks linear formula for sooooo long trying to pin down actual numbers, but only ending up with numbers that work for our specific gear level.
So from here lets just say that linear equations are garbage and we shouldn't use them for this specific reason (and some reasons stated above)

Autoattack has a different valk-damage formula than abilities. Valk-AApotency doesn't match up with bard damage; so this is also something to think about.

It looks like AA damage is directly scaled towards Autoattack damage on the weapon rather than Weapon damage. This is a theory for now, but I dont think there is an Autoattack potency even though the numbers you get from Wep/AA look really nice.

Dot damage may follow a similar damage formula for both casters and physical dps. Heavy theory for now; Theres some test cases I can mock up later regarding this as I already have Ideas to test these mechanics.

XIVDB datamined physical damage on weapons for casters. This might be the damage used to calculate Ifrit/carbuncle/titan melee damage and why topaz carby, ifrit, and titan damage scales so well at lower levels.

Conclusion:
Theres so much crap floating around..
What I'm proposing is that we compile a team of open-minded theorycrafters to try and iron out this information rather than having work spread out all over the place; Also to get rid of this self-righteous attitude theorycrafters have been displaying on reddit as of late. The whole credit > progress attitude.
We all have our own reasons for getting the data, but not working together on it really defeats the purpose as the majority of testing/data/results is redundant work that someone has already done.

What I'm suggesting is setting up a repository of game mechanics in a wiki or agile style format that can be tried and peer tested for validity.

This allows people to test against your data, while supplementing the actual cause; crediting those (for who require it) as we move along.

There is too much noise and opinion on reddit so we'd likely have to move this in a dedicated working environment. My suggestion is using a code/information documentation system like http://sphinx-doc.org/
or something similar.

Also looking for people to port simulationcraft to FFXIV once we have enough conslusive data; So feel free to let me know if you're interested.
"I was about to get serious, but then came the fist."
-Yoshi P

Eein Black