SPriest PseudoPower

SPPP Better

Overview:

SPriest PseudoPower (aka. "SPPP" and "S P Cubed (S P3 )")
Written By: Richard Speir (Barotgus, Malfurion US - Horde)
Inspired By: shadowpriest[dot]com
Special Thanks To: DancingLion, deojj, and fatkut

Orginally started off as just a personal addon for myself. But the more I talked to fellow shadow priests, the more I noticed alot of them also use shadowpriest[dot]com for information on gear.

How ShadowPriest[dot]com Does It:

Shadowpriest[dot]com uses a mathematical method to compare different gear. The 6 useful shadow priest stats (int, spirit, spellpower, crit, haste, and hit) are given a certain value known as PP (pseudopower, or as I like to call them, priest points). For instance, 1 Spirit is 0.21 PP. Converting all the stats on a piece of gear will yield that item's total PP. You can then use these totals to compare 2 pieces of gear to determine which would be better for a shadow priest. If one item has a total of 77.2 PP, and another has the total of 84.36 PP, the second item would be considered more useful.

I always liked this way of comparing gear, because it gave me a more "concrete" way of telling which item is better. Yeah, some items you can tell just by looking at them, but others you can sit for 15-30 mintues, maybe longer, racking your brain about it. I started with a simple spreadsheet. I just had to punch in the values and out pops the PP value. But, alt-tabbing in the middle of Naxx everytime gear dropped, got old real quick. "Why can't this be in-game?", I thought. After looking at the WoW API and scanning the code of some other addons such as RatingBuster, I realized it could. After a few weeks of coding and debuging, here's what I came up with.

Current Scaling Factors:

  • 1 Spellpower = 1 PP
  • 1 Intellect = 0.23 PP
  • 1 Spirit = 0.34 PP
  • 1 Spell Crit = 0.76 PP
  • 1 Spell Haste = 0.65 PP
  • 1 Spell Hit = 1.58 PP

Slash Commands:

  • /sppp - Prints the addon version, brief description of the addon, and all available slash commands.
  • /sppp help - Does the same as /sppp.
  • /sppp total - Prints the total PP of all the users gear added together. Works well for finding out which set of gear is the post powerful, when trying to maintain the hit cap. (All values these commands print are currently hard-coded in English. If anyone would like to assist in translation, please PM me here on curse.)

How SPPP Does It:

  • Disables completely if you arent playing a priest.
  • Once the addon loads, it scans your currently equipped gear and saves it to a table.
  • Anytime you change gear (the UNIT_INVENTORY_CHANGED event is triggered by the player) your current gear is rescanned and the table is rewitten.
  • The orginal tooltip is saved to a variable so we can write the total PP value on the orginal tooltip so the user can see it. This also allows values to be written on AtlasLoot tooltips, which comes in handy when searching for upgrades. (I'd imagaine the above would also be true for any simular addons, though AtlasLoot was the only one I tested.)
  • The item is scanned for the 6 useful stats. The values combined with these stats are then multiplied by their PP value and added together.
  • All of our gem problems are now fixed thanks to LibStatLogic. The addon is still using the below gems for now, however, having the addon not replace gems, or having it use gems the USER wants it to, can be easily implemented. Personally I still like the addon using the below gems better, because it always uses the same gems, and gives better comaparison values, but thats just me. In the near future, the addon will take care of gems that way I orginally invisioned. My thoughts on this so far, are 3 options. 1. (default) use the gems that i've asked the addon to for ALL sockets. 2. for gear that has gems already in it, use those gems, and replace empty sockets with what we tell it to. 3. use the gems the USER wants us to. 1 and 3 would be a this or that type of option. 2 could be either on or off, no matter which of 1 and 3 is enbaled. (does that make sense? lol)
    • Red Sockets = Runed Cardinal Ruby (+23 SP)
    • Blue Sockets = Purified Dreadstone (+12 SP & +10 Spi)
    • Yellow Sockets = Potent Flawless Ametrine (+12 SP & +10 Crit)
    • Meta Sockets = Chaotic Skyflare Diamond (+21 Critical Strike Rating and 3% Increased Critical Damage)
  • Enchants are excluded in all calculations.
  • Socket bonuses are only included if they are active.
  • Only items priests can use are calculated (cloth armor, necklaces, rings, staves, 1 hand maces, daggers, wands, and non-weapon offhands).
  • If the item we are "looking" at is a 2 hand staff, the addons searchs to see if we have a main hand/off hand combo, if one is found, it adds their PP values together to compare against the two hander. (doesnt work the other way around, though I may look into searching through bags for weapons...maybe)
  • Set bonuses are ignored competely for calculations.
  • Trinkets are complicated to compute by hand. They are very, if not impossible to calculate within an addon. As of right now, the only way I see to do it, is to manually compute every trinket in the game, then save all of values to a table. This would be a ton of work, and because of this, trinkets will not be handled by this addon. Static stats (non-procing), such as "Equip: Increases Spell Power by 150", may be dealt with later. But procing stats, such as "Equip: Chance on hit to increase haste by 200" are pratically impossible.
  • Once all calculations are completed the PP value is added to the orginal tooltip, whether it be in your bags, a link from chat, AtlasLoot, or a vendor. (Again, I'd imagine this works for other loot addons besides AtlasLoot, though Atlas was the only one I tested).
  • Comparison values are also shown on tooltips and color coded. The format is as follows:
    • PP: [Item PP Value] ([Comparison Value])
    • Example 1 - PP: 123.56 (+15.3) - the item we are looking at, has 123.56 PP, and is 15.3 PP higher than our currently equipped item. (This item would be better than what we have)
    • Example 2 - PP: 156.31 (-2.45) - the item we are looking at, has 156.31 PP and is 2.45 PP lower than our currently equipped item. (This item would be worse than what we have)
    • Example 3 - PP: 56.3 (-14.4) (+5.23) - this is an example of how rings are handled. This ring has 56.3 PP. It has 14.4 PP less than our 1st ring, and 5.23 PP more than our 2nd ring.
  • Hit values are shown on a second line. This value is simply the orginal (non-hit) value, with the hit added to it. There is currently no comparison for hit values, though im working on a formula that will help aid the process of choosing a hit item over a non-hit item.

Quick Note To Users:

This addon by no means tells you what gear you should wear. The idea behind this addon is to aid someone in these decisons. Items with no hit will normally have a higher PP value than items with hit. Generally what I do, If im running something, and an item drops, and the addon shows a green comparison value, I roll on it. I may use it now, I may not. This just gives me more gear to switch in and out when trying to reach the 290 hit cap the best possible way. Using the "/sppp total" command also helps in this. If you equip all items that have the highest PP values, chances are you will not be hitcapped. You still have to use your brain when choosing what gear you wear, this addon simply aids you in the process.

Quick Note To Beta Testers:

If you are one of those people that like to compute items by hand, to check if the addon is working properly (I love you guys btw), please keep the following in mind:

  • ALWAYS use the gems I listed above. The tooltip wont show empty sockets filled, and it wont show gems replaced, however, it is still replacing/filling these gems with what I wrote above. All this is happening behind the scenes. The user wont see any of it, but the PP values do reflect it.
  • ALWAYS add the socket bonuses to your calculations. Even though the tooltip you see might not show the socket bonus enabled, all sockets are being filled/replaced with socket matching gems, so the socket bonus WILL be triggered, and WILL be added to the total PP value.
  • The chaotic skyflare diamond is adding 14.91 PP (the value of the +21 crit), not the 41.77 PP that spriest[dot]com suggests.
  • The addon DOES NOT add in belt buckles. OMG this killed me for hours. All my belts were showing the wrong values and I couldnt figure out why. Buckles are an enchant, the addon doesnt compute enchants, so make sure if youre calculating a belt, do not add the gem in the buckle.
  • Finally i just wanted to thank all of you.

Known Issues:

  • Need to add a check for INVTYPE_CHEST and INVTYPE_ROBE when comparing chests. fixed in 2.3 beta
  • Throws an error when unequipping a staff and mousing over it. fixed in 2.1 beta
  • Throws errors in patch 3.2. fixed in 2.0 beta
  • The tooltip scanner isnt ignoreing some set bonuses. fixed in 1.4 beta
  • The code that deals with gems, needs a bit more work. fixed in 1.4 beta
  • PP values are showing up on Trade Good Cloth, such as Frostweave Cloth and Netherweave Cloth fixed in 1.4 beta
  • Not working on non-US servers fixed in 1.3 beta fixed again in 1.4 beta
  • Gem values are being calcualted twice on items with gems that already have gems. fixed in 1.2 beta
  • Wands are being compared to main hands. fixed in 1.1 beta

To-Do List:

  • Add options for displaying hit values on tooltips or not.
  • Add a way for the user to tell the addon to use a certain gem instead of the ones it uses already.
  • Add some form of comparison for hit.
  • Add a way for the user to tell the addon to use a certain offhand when comparing agaisnt staves.
  • Have the addon suggest what gems would yeild the most PP. Color matching for socket bonus, or all red.
  • Add a slash command (/sppp total) that will print the users total PP for their current gear. added in 2.1 beta
  • LOCALAZTION (caps...because its important :P ) added in 1.3 beta still had problems in 1.3, should be fixed in 1.4 beta
  • Implement +hit. Add a second value to tooltips of items with hit, or when we're comparing to an item with hit. added in 1.4 beta (currently no comparsion for +hit items).
  • Only add socket bonuses if they are triggered. fixed in 1.4 beta

You must login to post a comment. Don't have an account? Register to get one!

  • 3 comments
  • Avatar of Barotgus Barotgus Fri, 29 May 2009 22:05:13

    1st BETA version is awaiting approval, sorry for the delay. Gem code still needs a bit more work. Please read the about secion for more info. Enjoy :D

    P.S. Im looking into a holy version of this, but it could be awhile.

  • Avatar of kietzer kietzer Thu, 28 May 2009 23:10:31

    how do I download it?

  • Avatar of Ackis Ackis Thu, 28 May 2009 05:56:28

    Do one for holy/disc priests pls ;)

  • 3 comments

Facts

Date created
21 May 2009
Categories
Last update
05 Oct 2009
Development stage
Beta
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
SPriest PseudoPower
Recent files

Authors