This is a spreadsheet that has been created to model the damage dealt part of the combat calculation in Istaria. I have mainly focused on looking at Melee combat so far.
The overall way to describe the damage dealt part of combat is that it is based on the following
- Currently equipped weapon (Damage Threshold and Delay)
- Weapon Skill (IE One Hand Slash)
- Target Armor
- Target Resistances
- Anything else that modifies weapon delay
- Anything else that adds a delay adjusted damage bonus.
Every weapon, spell and ability that is offensive (IE does damage) has a damage value and a delay value.
As each weapon takes a different amount of time to ‘swing’, the calculation for working out the damage done needs to be worked out based on how much damage per second (dps) the weapon generates.
This is then scaled upwards by either Strength or Power and the Weapon Skill.
Then it is reduced by the amount of Armor and Resistances that a target may have.
Finally it gets passed through a randomiser (called a Gaussian) to spread out the damage. If this part didn’t take place then you would do the same damage every hit.
A weapon may say a certain range of damage (IE 1 to 10), but actually appears to do more damage than its description
per ‘swing’ when you actually attack a mob because of the delay adjustment..
Is it 100% accurate? probably not. Is it close? I think so.
Warning: It is a bit complicated
There are lots of tabs on the spreadsheet. These currently are
- Damage Dealt – Blank Template
- DamageDealt – Example for 2 Hand Slash (2HS)
- DamageDealt – Example for 1 Hand Slash (1HS)
- DamageDealt – Chasing attacking Chased with sample data
- Damage Dealt – Chased attacking Chasing with sample data
- Armor Reduction Table
- Weapon DPS – Delay adjusted base damage
- Strength vs Skill – Scaling table
I haven’t modelled the Gaussian correctly (I’ve cheated and used % modifers to show the up and down ranges). I don’t know the constants that go into the Gaussian so I can’t accurately model it. Also if the end damage is a negative then it would be output as a hit for 0.
However what I have noticed is the higher the pre-gaussian damage figure, the closer to the +/- 10% deviation. The lower the pre-gaussian damage figure, the greater the % deviation (more noise maybe?).
1. Gaussian Constants – already mentioned
2. Weighting of delay modifiers – which gets evaluated 1st? Alacrity or Energize? Alacrity or Gummy Maggot? etc..
Exceptions (so far)
1. VDGWC (Veteran Dark Garnet Weapon Crystal) – This crystal adds 1-1 damage delay adjusted, but it actually delay adjusts and adds to the upper damage value on the weapon its put into. Therefore it looks like it adds more damage than you would expect. Delay adjusted damage is normally added after the main calc is done. In this case its before so its scaling more.
2. Claw Mastery (and probably Unarmed Mastery) – These passive abilities are misleading as they refer to damage if you don’t have a weapon (claw) equipped. Once a weapon is equipped then the mastery values are replaced by the weapon values. I haven’t compared damage with/without a weapon yet as I don’t know what the starting ‘unarmed’ values are (the skalkaar and garnet claws don’t match claw mastery I).
Reinforces things that we generally already knew.
Armor & Resistances are more effective if you are being attacked with a slower weapon (note this will balance as with a slower weapon damage dealt will be higher). Therefore taking the average weapon delay across all player weapons (38 delay) it reduces damage by 0.8 per 10 armor (delay adjusted).
Two Handed Weapons output much higher damage when compared to One Handed Weapons of same damage type and skill and level. The trade off here is that with the one handed weapons you can equip a shield. (Note. I havent checked shortbow vs longbow yet).
Delay is the key value.
Maybe more that I haven’t noticed yet
Pre Gaussian Damage = (((Attacker Base Weapon Damage + ((Attacker Strength/50) * Attacker Modified Attack Delay) + ((Attacker Weapon Skill/75) * Attacker Modified Attack Delay)) + Attacker Delay Adjusted Damage Bonus) –
((Target Armor + Target Resistance)/45) * Attacker Modified Attack Delay
Attacker Base Weapon Damage = Avg Damage + ((230/50) * Modified Attack Delay) + ((180/75)* Modified Attack Delay) – ((212/45)* Modified Attack Delay)
Avg Damage = Min Weapon Damage + ((Max Weapon Damage – Min Weapon Damage)/2)
Modified Attack Delay = (Attack Delay * (1 – Delay Modifier1) * (1 – Delay Modifier2) ….)/10
Note 1 – Magic Damage
If you want to calculate magical damage then you swap Strength for Power, Weapon values for Spell/Ability values (including delay).
To calculate DPS you do the following
Delay adjusted DPS =
Attacker Base Spell Damage or Attacker Base Weapon Damage / (Attack Delay / 10)
Note 3 – Ethereal Damage
If damage is converted to Ethereal
(any damage type could potentially be converted to Ethereal) then swap the Targets Armor figure for Targets Ethereal Armor. Resistances still apply.
Note 4 – Direct Damage
Direct damage I need to further work on, but from what I can tell so far it isn’t delay adjusted when used so seems to bypass most of the above calculations.
By going over all information posted by developers (not players) from beta times up to current across multiple websites and web archives.
Also with a bit of abstract thinking as to where to apply certain parts of the calculation.
Since making the tool I have thought of some more things to do with it when I get the time
- Add separate templates for Magical Combat
- Create a DPS page for Spells
- Investigate Direct damage
- Compare scalings on different weapons see which weapons scale better than others (note to self – Str and Skill % modifiers on each weapon)
- Update Weapon DPS tab with a new extract from the Database (once broken weapons are in)
- Alter Gaussian Dummy values for a more accurate representation . Also fix problem with negative values (note to self – abs).
Feel free to take apart and point out flaws.