


Equipment Evaluator
Version 1.0.4
Written by Lerkur (lerkur AT hotmail DOT com)




1. Basics
This is a World of Warcraft addon intended to help a player evaluate equipment and assist in selecting gear.

Install this addon by placing the "EquipEval" folder in of your "\World of Warcraft\Interface\AddOns\" directory.

You can access the Equipment Evaluator options menu by typing "/ee" or "/equipeval" in the in game chat.



2. What it does.
This addon will append values to the bottom of item tooltips to help you determine the worth of that item to your character.  If an item does not have an effect on your character's DPS, Healing, or Time To Live; EquipEval will not append anything.

These values are calculated based on the item's bonuses, your character's current stats, your character's current talents, and the options selected.  All models used for these calculations are written by Lerkur.  All models are calculated at steady state.

In order to correctly calculate an item's worth, you should unequip the slot which you want that item to occupy.  You should also apply any buffs that you intend to have on during combat.



3. What it doesn't do.
This addon does not account for any DPS added by pets nor does it account for melee DPS for hunters or ranged DPS for warriors and Rogues.

There are currently no options to assume that your target is debuffed in a specific way. (i.e. Misery, Shadow Weaving, Curse of Elements)

There are many spells, abilities, and talents not yet modeled.  Some of these may be added in future releases.
Below is a partial list:

Hunter:
	Aspect of the Viper
	Kill Command
	Monster Slaying
	Humanoid Slaying
	Traps

Rogue:
	Ghostly Strike
	Riposte
	Shiv
	Envenom
	Gouge
	Cold Blood
	Deadly Throw
	Shadow Step
	Openers

Shaman:
	Totem of Wrath
	Magma Totem
	Fire Nova Totem
	Fire Elemental Totem
	Earth Elemental Totem
	Mana Spring Totem
	Frost Shock

Druid:
	Maim
	Swipe
	Force of Nature
	Cat Form Openers
	Tranquility
	Swiftmend

Paladin:
	Seal of Vengeance

Warrior:
	Shield Slam

Mage:
	Combustion
	Arcane Power
	Water Elemental

Priest:
	Holy Nova (Offensively)
	Power Infusion

Warlock:
	Nightfall
	Seed of Corruption
	Rain of Fire
	Hellfire
	shadowfury

General:
	Abilities that activate when the player is hit/crit by an enemy



4. Known Issues
Agility -> Dodge rates are only correct at level 70.

Many set bonuses and Idol/Relic/Totem bonuses are not being evaluated.

For Rogue DPS, Deadly Poison is assumed to be applied on the main hand weapon and Instant Poison is assumed to be applied on the off hand weapon.

Druid bearform DPS is actually calculating estimated TPS in an unlimited rage condition.

Weapon skill is assumed to be capped for your level.

All mitigation calculations are done for strictly physical damage.

An item will not be properly evaluated if it was not encountered prior to the UI being loaded.  If an item is not being evaluated, try reloading the UI.

Armor from cloak enchants is being erroneously multiplied by armor modifiers such as bear form.

The synergy between Unleashed Rage and Mental Quickness for a shaman's shocks is not calculated.

The formula for flametongue weapon damage is not very accurate.

When evaluating a weapon, if your current weapon is enchanted with a +weapon damage enchant, the loss of this enchant's effects will not be displayed as green text.



5. Options Panels

DPS Display Options:

Off:
Selecting this option will cause no calculation to be performed or displayed regarding DPS.

Longevity:
Selecting this option will display DPS as a percentage change from your current DPS.  Total DPS  for this mode is calculated by taking damage per second and multiplying it by the length of time that it can be sustained before running out of mana.  For example, if you are currently capable of doing 100 damage per second for 30 seconds, and equipping an item will allow you to do 100 damage per second for 45 seconds, the value displayed in this mode will be +50%

Percentage:
Selecting this option will display DPS as a percentage change from your current DPS.  This means that if you are currently able to do 100 DPS, and equipping an item will allow you to do 110 DPS, then the displayed value will be +10%.

Difference:
Selecting this option will display the actual change in DPS as a number.  This number represents the change in damage per second.  So if you are currently able to do 95 DPS, and equipping an item will allow you to do 103 DPS, then the value displayed will be 8.

Total:
Selecting this option will display total DPS as a number.  This number represents the average damage per second done by your character.

Show Attacks:
Checking this box will display the attacks used in DPS calculation.  Moving the "Spell Selection Criteria" slider can have an effect on what attacks are chosen.


Healing Display Options:

Off:
Selecting this option will cause no calculation to be performed or displayed regarding healing.

Longevity:
Selecting this option will display healing as a percentage change from your current healing.  Total healing for this mode is calculated by taking healing per second and multiplying it by the length of time that it can be sustained before running out of mana.  For example, if you are currently capable of doing 100 healing per second for 30 seconds, and equipping an item will allow you to do 100 healing per second for 45 seconds, the value displayed in this mode will be +50%

Percentage:
Selecting this option will display healing per second as a percentage change from your current healing per second.  This means that if you are currently able to do 100 HPS, and equipping an item will allow you to do 110 HPS, then the displayed value will be +10%.

Difference:
Selecting this option will display the actual change in healing per second as a number.  So if you are currently able to do 95 HPS, and equipping an item will allow you to do 103 HPS, then the value displayed will be 8.

Total:
Selecting this option will display total healing per second as a number.

Show Heals:
Checking this box will display the spells used in healing calculation in an item's tooltip.  Moving the "Spell Selection Criteria" slider can have an effect on what spells are chosen.

Show Duration:
Checking this box will cause the amount of time that you are able to sustain healing to be displayed in an item's tooltip.



Mitigation Display Options:

Off:
Selecting this option will cause no calculation to be performed or displayed regarding mitigation.

Time to Live:
Selecting this option will display an item's effect on your lifetime as a percentage.  This means that if your character could currently live 20 seconds under constant physical DPS, and equipping an would allow you survive for 30 seconds under the same DPS, then the value displayed will be +50%.  This is the only option for mitigation display that will include stamina in the calculation.

Relative:
Selecting this option will display an item's effect on your melee damage mitigation as a percentage of your current mitigation.  This means that if your character can currently mitigate/avoid 50% of all melee attacks made against him, and equipping an item would bring this value up to 55% of all attacks, then the value displayed will be +10%.

Absolute:
Selecting this option will display an item's effect on your melee damage mitigation.  This number represents the percentage of melee attacks that equipping an item will allow you to mitigate/avoid.  This means that if your character currently takes 50% of melee damage, and equipping an item will bring this value to 40%, then the value displayed will be 10%.

Total:
Selecting this option will display your character's total reduction of incoming melee damage.  This means that if a mob could do 100 DPS against an unarmored target with no block, parry, or dodge, and the value displayed for your total mitigation is 60%, then you will take, on average, 40 DPS.


Target Options: These options set the assumed values that relate to your target.

Parry %: This is your enemies parry percentage.
Dodge %: This is your enemies dodge percentage.
Armor %: This is your enemys percent reduction to physical damage.
Base Crit %: This is your enemys base percent chance to deal a critical strike.
Resilience: This is your target's resilience value.
Resistance: This is your target's resistance value. (assumed to be for all schools of magic)
Bleed Immune: Check this box if your target is immune to bleed effects.
Poison Immune: Check this box if your target is immune to poison.
Root Immune: Check this box if your target is immune to root effects. (mainly for frost mages)
Always Mangled: Check this box to assume that your target will always have the feral druid debuff "Mangle" on them, increasing damage from bleed effects by 30%.
# of Additional Targets: This slider sets the number of extra targets that will be affected by your AoE heals or damage.


Self Options: These options set the assumed conditions of the player's character.  You do not need to input your character's stats.  These options are primarily intended to account for raid buffs that are not on your character at the time when you are evaluating items.

+HP: Bonus hit points.
+Stats %: Bonus percent boost to all stats. (Blessing of Kings would be a value of 10)
+Hit  %: Bonus chance to hit with physical attacks.
+Crit %: Bonus chance to crit with physical attacks.
+AP: Bonus attack power.
+AP %: Bonus percent boost to attack power. (useful for accounting for Unleashed Rage)
+Spell Crit %: Bonus chance to crit with spells.
+Spell Hit %: Bonus chance to hit with spells.
+Mana: Bonus mana.
+MP5: Bonus mana per 5 seconds.
+Spell Damage: Bonus spell damage.
Include Strikes: Check this box to include calculation of damage from strikes, shots, judgements, shocks, and damage totems.
Windfury Totem: Check this box to assume that a Windfury Totem buff is always active on your character.  This will change poison assumptions for Rogues.  This does not have any effect for shaman.


Miscellaneous Options:

Enemy Level Difference: This slider sets the assumed level of your enemy.  If you are level 70 and your enemy is level 67, set this value to -3.  For raid bosses, use a value of 3.

Burst Factor: This slider sets a value that crit rates and proc chances are multiplied by.  A value of 1 will indicate the use of actual crit and proc chances.  This is primarily useful for PvP or tanking.  To see your character's potential burst damage with a lucky string of crits and procs, set this slider toward the right end.  To see how your character would fare against a string of crushes and crits from an enemy, set this slider toward the right end.

Five Sec. Rule %: This slider sets the assumed amount of time spent inside the 5 second rule.  That is: the percentage of time regenerating mana at the "casting" mana regeneration rate instead of the "not casting" mana regeneration rate.  This slider only applies to healing since DPS calculations assume constant casting.

Healing Idle %: This slider sets the percentage of time in a fight that you are not casting.  This only applies to healing calculations.  Any time spent casting a non channeled spell that is not cast completely should be considered to be time spent idle.  Lowering this value will typically increase your total calculated healing over the course of the fight because it means less mana spent per second.

Mana Volatility: This slider scales the effect that maximum mana has on healing calculations.  Setting the slider to the right side will weight maximum mana as being more important than mana regeneration, setting it to the left side will weight mana regeneration as being more important than maximum mana.  The longer a fight lasts, the more toward the left side this slider should be.  This was implemented because intellect gain was scaling fight length greatly when mana regeneration rates approached mana expenditure rates.

Mana Potion Use: This slider sets the frequency of the use of mana potions.  Setting it all the way to the right side will assume that the maximum possible rank of mana potion is consumed every time the potion cooldown is available.  Setting it all the way to the left will assume that no mana potions are consumed.

Spell Selection Criteria: This slider sets the criteria used to select spells/strikes/shots for use in DPS and Healing calculations.  Setting this slider all the way to the left will cause spells to be chosen entirely based on damage/healing per mana.  Setting this slider all the way to the right will cause spells to be chosen entirely based on damage/healing per second spent casting.  (casting times of instants are assumed to be equal to the global cooldown plus the "CastTimePadding" variable)  Setting this slider in the middle will choose spells with a balance of good healing/damage per second and good healing/damage per mana.


Gem Options: These settings determine how empty sockets are treated in the items you are evaluating.

Make Gem Assumptions: Check this box if you want to be able to assume that empty sockets in items are being filled with the designated gems.

Red Socket: The item that is assumed to be placed into empty red sockets.

Yellow Socket: The item that is assumed to be placed into empty yellow sockets.

Blue Socket: The item that is assumed to be placed into empty blue sockets.

Meta Socket: The item that is assumed to be placed into empty meta sockets.



6. Advanced / Nitty Gritty
Not all variables are in the options panel.  To get a full list of variables, use the command "/ee variables"  To set a value, use "/ee set [Variable Name] [Value]"  This is case sensitive.

Debugging mode can be toggled by using the command "/ee debug"  This is very spammy but can tell you a lot about assumptions made in calculations.


Some variables that can be set are:

ItemRecalculationDelay
This takes a numeric value with a unit of seconds.  This is the amount of time that must pass before calculations are repeated on an item.

CastTimePadding
This takes a numeric value with a unit of seconds.  This is a variable included to estimate the effects of latency and reaction time.  Spell cast times are equal to their base cast time plus this value.

ScanCurrentGearBonuses
This is a boolean value.  When set to false, EquipEval will not scan through your gear to find your current bonuses for things such as set bonuses, meta gems, or idol/relic/totem effects.  If evaluating items is slowing down your game, try setting this to "false" or increasing the ItemRecalculationDelay variable.

CalculateOnUseEffects
This is a boolean value.  Set this to true to calculate the average bonus from effects that activate on use.  This is mainly for evaluating trinkets.  This will assume use every time the cooldown is finished.

AllowSearingPain
This is a boolean value.  Set this to "true" to include Searing Pain in the possible list of spells to be cast for a Warlock.  This is mainly useful for PvP.

CalculateSpiritTapEffect
This is a boolean value.  If this value is set to "true" then priest DPS calculations will estimate the amount of time that Spirit Tap is active.  The conditions assumed are those that would be commonly found in solo grinding.

ImprovedWindfuryTotemRank
This is a numeric value.  Set this value equal to the number of points the shaman has invested in the "Improved Weapon Totems" talent.

