Swtor Formula List

Copied from mmo-mechanics.com

Updated: 8-15-2012

The purpose of this formula list to to assist the SW:ToR community in theorycrafting and making guides. Special thanks to LagunaD, Takira and the theorycrafting community at mmo-mechanics.com - Freehugs

Note: Bonuses from Buffs and Skills are additive to whatever stat they apply. For example a 5% crit buff adds 5% to your total crit, there's no fancy math there. Multiplicative modifiers are summed then applied, e.g. +33% damage and +25% damage to an attack = +58% damage total.

About the tooltip bug for Skill trees

The tooltips of damage and healing abilities in the skill trees do not scale properly with level, but the abilities themselves do. So the formula's for damage and healing abilities below will give you high values than you will see on these tooltips until this bug is fixed.

Ability Damage Min = ( AmountModifierPercent + 1 ) * MainHandMin + ( AmountModifierPercent + 1 ) * OffHandMin * 0.3 + Coefficient * DamageBonus + StandardHealthPercentMin * StandardHealth

Ability Damage Max = ( AmountModifierPercent + 1 ) * MainHandMax + ( AmountModifierPercent + 1 ) * OffHandMax * 0.3 + Coefficient * DamageBonus + StandardHealthPercentMax * StandardHealth

AmountModifierPercent is the weapon damage modifier for min and max values and all ranks of the ability

Coefficient is the force/tech/melee/ranged damage bonus modifier for min and max values and all ranks of the ability

StandardHealthPercent is the base damage modifier, which can vary for the min and max values of the ability

StandardHealth is a damage number from the StandardHealth Lookup Table table near the bottom of this thread

DamageBonus is on your character screen (e.g. Melee Damage Bonus for a melee attack)

You can find all these values on your character screen or at TORHead if you expand the effect details on an ability page. Ability damage is always calculated per tick of a DoT or Flurry attack.

Force and Tech attacks don't use main-hand or off-hand damage.

OffHand is 0 is you have no off-hand to attack with or if the attack doesn't use the off-hand. Off-Hand damage is rolled as a separate attack to the main hand, so one hit will be x*MainHand + y*Bonus + z and the other x*OffHand*0.3. As a result the off-hand hit is much smaller than the main-hand hit.

Attack and Damage Types (thanks Kor)

There are four damage types: Kinetic, Energy, Internal, Elemental. The first two are mitigated by armor, the latter two are not.

There are also four attack types: Melee, Ranged, Force, Tech. Attack type and damage type have no correlation, you can have any combination of the two sets (though not all combination exist in game). The first two are subject to defense (avoidance) and shield (partial mitigation), the latter two are subject to resistance. Resistances (which are just avoidance for Force and Tech attacks) are present as a mechanic, but very very few effects in the game grant them, so they can essentially be ignored.

Thus you can very easily have an attack that bypasses armor yet can be dodged or shielded (an internal melee attack, for example), or an attack that bypasses defense and shield yet is armor mitigated (an energy force attack, for example).

The Two-Roll System

SW:ToR uses a two-roll system to determine attacks. The first roll determines hit or miss (or dodge/parry/resist, which are effectively just different names for miss).

The second roll determines of a successful attack crit, was shielded, or was a normal hit. In the event that crit % + shield % is greater than 100%, crit chance overrides shield chance.

Ability Healing Min = Coefficient * HealingBonus + StandardHealthPercentMin * StandardHealth

Ability Healing Max = Coefficient * HealingBonus + StandardHealthPercentMax * StandardHealth

Coefficient is the force/tech/melee/ranged healing bonus modifier for min and max values and all ranks of the ability

StandardHealthPercent is the base healing modifier, which can vary for the min and max values of the ability

StandardHealth is a healing number from the StandardHealth Lookup Table table near the bottom of this thread

HealingBonus is on your character screen (e.g. Force Healing Bonus for a Sith Sorcerer)

You can find all these values on your character screen or at TORHead if you expand the effect details on an ability page. Ability healing is always calculated per tick of a HoT.

Strength/Willpower/Aim/Cunning Damage Bonus = (Strength or Willpower or Aim or Cunning) * 0.2

Force/Tech Power Damage Bonus = (Force or Tech Power) * 0.23

Power Damage Bonus = Power * 0.23

Willpower/Aim/Cunning Healing Bonus = (Willpower or Aim or Cunning) * 0.14

Force/Tech Power Healing Bonus = (Force or Tech Power) * 0.17

Power Healing Bonus = Power * 0.17

Crit Chance = 5% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( PrimaryStat / max(Level,20) ) / 2.5 ) ) + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( CritRating / max(Level,20) ) / 0.45 ) )

Crit chance can also include a bonus from a secondary stat. Have a look at your damage or healing bonus on the character screen, if it includes a bonus from a secondary stat it will also have a small crit bonus from that stat calculated as + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( SecondaryStat / max(Level,20) ) / 2.5 ) )

Crit Size = 50% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( SurgeRating / max(Level,20) ) / 0.11 ) )

Basic Accuracy = 90% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( AccuracyRating / max(Level,20) ) / 0.55 ) )

Accuracy over 100% reduces the Defense of the target. Only your free level 1 attack is Basic.

Basic Off-Hand Accuracy = 57% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( AccuracyRating / max(Level,20) ) / 0.55 ) )

Off-hand attacks are rolled separately to main hand attacks

Special/Force/Tech Attack Accuracy = 100% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( AccuracyRating / max(Level,20) ) / 0.55 ) )

Accuracy over 100% reduces the Defense of the targe

Special/Force/Tech Off-Hand Accuracy = 67% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( AccuracyRating / max(Level,20) ) / 0.55 ) )

Off-hand attacks are rolled separately to main hand attacks

Activation Speed = CastingTime * ( 1 - ( %AlacrityFromSkillsAndBuffs / 100 ) - 0.3 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( AlacrityRating / max(Level,20) ) / 0.55 ) ) )

Alacrity does not affect instant cast spells or the rate at which DoT's and HoT's tick, but does improve all cast time spells and channeled spells.

Armor Damage Reduction % = ArmorRating / ( ArmorRating + 200 * Level + 800 ) * 100

Caps at 75%, although this is not achievable with current gear and buffs

Defense Chance = Base% + Buff% + 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( DefenseRating / max(Level,20) ) / 0.55 ) )

Base% = 10% for Assassins, Sages, Shadows, and Sorcerers, and 5% for all other ACs

Buff% = The summed total of all Defense% from skills, stances, passive buffs, and abilities.

Shield Chance = Buff% + 50% * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( ShieldRating / max(Level,20) ) / 0.32 ) )

Buff% = The summed total of all Shield % from skills, stances, passive buffs, shield generator and abilities.

Shield Absorption = Buff% + 50% * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( AbsorbtionRating / max(Level,20) ) / 0.18 ) )

Buff% = The summed total of all Absorb % from skills, stances, passive buffs, shield generator and abilities.

PvP Damage Boost = 50% * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( ( Expertise ) / max(Level,20) ) / 0.8 ) )

PvP Damage Reduction = 1 - 1 / ( 1 + PvPDamageBoost )

PvP Healing Boost = 30% * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( Expertise / max(Level,20) ) / 1.5 ) )

Max Health = BaseHealth + Endurance * 10

Heath Regen = ? + Endurance * 0.03

Bonus Companion Health = Presence * 5

Bonus Companion Damage = Presence * 0.2

Bonus Companion Healing = Presence * 0.14

Code: StandardHealth Lookup Table Level in this table is the level the ability is trainable, not the level of the player level damage healing 1 180 375 2 210 430 3 240 505 4 270 585 5 305 675 6 340 770 7 380 880 8 420 1000 9 465 1140 10 500 1290 11 540 1405 12 580 1535 13 620 1665 14 655 1790 15 690 1915 16 720 2060 17 725 2150 18 750 2285 19 780 2435 20 790 2560 21 830 2680 22 870 2795 23 910 2915 24 945 3040 25 960 3105 26 975 3205 27 1005 3300 28 1050 3425 29 1085 3535 30 1130 3670 31 1175 3915 32 1215 4165 33 1220 4355 34 1255 4590 35 1280 4830 36 1305 5055 37 1320 5265 38 1335 5530 39 1350 5715 40 1380 5945 41 1400 6080 42 1430 6225 43 1440 6320 44 1480 6485 45 1490 6565 46 1540 6735 47 1545 6785 48 1560 6920 49 1575 6970 50 1610 7085

A Note on the formula used for Ratings, which was worked out by LagunaD

You'll notice that the formula's for ratings are all basically the same. Their values are not arbitrary but have specific meaning. Lets look at this example:

PvP Damage Boost = 50 * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( Expertise / max(Level,20) ) / 0.8 ) )

This first underlined section is the % cap for this rating and the second underlined section is the % cap divided by 100. In this case the cap is 50%. Remember this is the cap for the rating, not the stat, so you can't get more than 50% PvP Damage Bonus from stacking Expertise but you may be able to get more from a skill or buff (if any exist). Since these formula's give diminishing returns, you will never actually achieve a 50% PvP Damage Boost from Expertise.

The third underlined section is 1/50th of the amount of rating needed to get 1% of the stat at level 50. So in this case 50 * 0.8 = 40 Expertise Rating to get 1% PvP Damage Bonus at level 50.

For calculation purposes, here's the base stats at Level 50

Code: Class Level Strength Aim Endurance Cunning Willpower Presence BaseHealth Smuggler/Imperial Agent 50 50 100 225 250 50 225 2500 Trooper/Bounty Hunter 50 50 250 225 100 50 225 2500 Jedi Knight/Sith Warrior 50 250 50 225 50 100 225 2500 Jedi Consular/Sith Inquisitor 50 100 50 225 50 250 225 2500

To calculate the stats at lower levels you can use these formula's, and round the results DOWN to the nearest whole number:

Primary Stat = 50 + Level * 4 i.e. Cunning for the Smuggler

Secondary Stat = 20 + Level * 1.6 i.e. Willpower for the Sith Warrior

Tertiary Stat = 10 + Level * 0.8 i.e. Strength for the Trooper

Endurance = 45 + Level * 3.6