User:Rezonate/Damage Calculation

Damage Calculation
A draft to damage & critical hit calculation

Variables to consider
Base Damage -- This is the damage a weapon or spell gives in its description (e.g. 26 to 40 (neutral) for Razielle or 10 to 18 (water) for Shovel of Judgement at level 5).

Critical Hit Bonus -- On a critical hit, weapons gain a bonus(e.g. +10 for Fishing Bow or +15 for Fake Ceangal Claw), which boosts the base damage. On a critical hit, the bonus is added to the base damage, making a new base damage. Spells often do more damage on a critical hit, too, but for spells there isn't always a universal additive bonus -- sometimes a different value is added to the high end from the low end. So for spells it's usually easier to just use the listed damage range on a critical hit rather than trying to add a bonus to the regular base damage.

Weapon Skill -- Each weapon has an associated weapon skill; depending on the level it can boost from 10% to 65% -- only close combat weapons are affected by weapon skills.

Relevant Stat -- There are 5 elements that are boosted by the 4 main stats: strength boosts neutral and earth damage; intelligence boosts fire; agility boosts air; and chance boosts water. The relevant stat is the one that boosts the damage of a spell or weapon, so the relevant stat for Shovel of Judgement is chance.

Class Bonus -- All classes have a bonus (though it can be negative or zero) with each type of weapon. Note that this only applies to close combat with weapons, not spells.

%Damage -- Some items/spells say "Damage increased by x%" or "Multiply damages by x" (e.g. Daudgee or Wheel of Fortune); such effects modify this variable. "Multiply damages by 2" doesn't truly multiply damage by 2, it adds +100% damage. "Multiply damages by 3" adds +200% damage.

Damage -- Some items/spells say "+ x to damages" (e.g. Ringtree or Bravery Guide); such effects modify this variable.

Term used within Damage Calculation
Rounding -- This mathematical term refers to truncating (or cutting off at a digit) somewhere. For our purposes, we'll always round to the nearest integer (e.g. -1, 0, 1, 2, etc.). So if the rounding digit (i.e. the one after the decimal place here) is 5 or higher, the preceding digit is rounded up; if the rounding digit is below 5, the preceding digit is rounded down. E.g. 5.7 rounds to 6, 5.4 rounds to 5, and 5.5 rounds to 6.

Flooring -- This mathematical term is like rounding, except that you always round down. E.g. 5.7 floors to 5, 5.4 floors to 5, and 5.5 floors to 5. So if you see Floor(x), that just means that whatever value x has.