Elemental DPS Calculator
http://www.esoteric9.com/stuff/elemental.zip
You need python 2.4 or later installed (it probably works with earlier
versions though). To run the program, go to the elemental directory and
enter "path/to/python ui.py". The UI is entirely text based.
At this point, it is only used to calculate DPS - it does not calculate
mana efficiency. You enter your spell damage, crit, haste, and hit as
they appear on your character sheet. You can then toggle on/off some
"unique" items. What I mean by unique here is items that do something
special, instead of just giving you spell damage or crit or whatever.
In most cases it is an "on use" effect or a proc. I have about 12-13
unique items calculated at this point. Some examples are the Chaotic
Skyfire Diamond, Lightning Capacitor, Quagmirran's Eye, etc.
You can also select your relic (totem).
You cannot select buffs at this time. It assumes you have no buffs
except for Totem of Wrath and Wrath of Air, and that you are a draenei
(1% hit).
Haste and Spell damage procs are normalized over time. This might not
be completely accurate, but it's the only practical way I know of to
deal with this.
Some items have procs that do direct damage instead of increasing
player spell damage - for instance Lightning Capacitor or the Scryer
version of the Shattered Sun Pendant of Acumen. These are of course
handled differently.
The Future
Future plans include being able to select gear and talents
individually, and eventually a GUI implementation - a web application
would be nice.