Thursday, 18 December 2008

The return of the Realm balance reports...

My spider software is still hurtling through lists of guilds and whatnot looking specifically for level 80 characters. Currently there are 260,389 level 80 characters used to generate the reports but this is ticking up by the second. I still have 50,464 guilds in the 'pending' queue waiting to be checked. Eventually the 71-79 characters will be refreshed as I expect a large number will have levelled by the time I return to them.

In other news, I have released a lot more information on the reports page. Each realm now has a separate 'Realm Balance' report showing the balance of classes for both Alliance and Horde on that realm. There is also a complete list of Guilds known on that realm. Don't panic if your realm report is a little on the empty side, your realm and its guilds are likely still somewhere in the 50,000+ TODO queue.

Lastly, I have released some sample data from 3,000 level 80 characters in both CSV and XML formats on the Developers page for you to play with. Limits on the size of files in Google App Engine has made it tricky to release larger data-sets but I have something planned.

Refreshed automagically every 6 hours:

Thursday, 4 December 2008

Armory XML: permanentenchant attribute decoded

Something that really bothered me with the previous reports was the mysterious "permanentenchant" attribute on each 'slot' element in the Armory's XML. It didn't correlate to anything useful on the usual fan sites, as far as I could tell it wasn't an 'item', 'spell' or 'object' ID as far as WowHead was concerned.

This morning I wrote a really simple script that does the following:
  • Collate a list of all the permanentenchant attribute values from my database.

  • For each permanentenchant ID:

    - Locate a character (realm & name) with that enchant in the correct slot in my database

    - Fetch the item tooltip for that character's enchanted slot and parse the 'enchant' element

Now I had a list mapping the permanentenchant ID to the text displayed in the tooltip '2669' -> '+40 Spell Power'. Pretty neat start, but not quite what I wanted - I needed to figure out that '+40 Spell Power' on a Weapon actually means 'Enchant Weapon - Major Spellpower'.

  • Next, I try a pretty dumb lookup on WowHead '+40 Spell Power' didn't work but others like 'Unholy Weapon' were correctly identified.

  • For anything that's left, I compare the '+40 Spell Power' to the huge enchantment list on WoWWiki and then return to WowHead with the name of the enchant as seen on WowWiki.

One clever thing I did add is the distinction between enchantments that are spells (by Enchanters) and enchantments that are items (Spellthread).

Thirty seconds later the script has finished and my list now maps:
permanentenchant:'2669' -> tooltip:'+40 Spell Power' -> spell:'27975'

The result of all this is I now publish an XML file from my database with all the permanentenchant ID's mapped either to a 'spell' or 'item' ID suitable for WowHead. There are a few in the list where both 'spell' and 'item' are 0 - these haven't been figured out and will require manual attention to update.

This XML File is published under a Creative Commons Attribution 3.0 License, you are free to copy, distribute and adapt the data provided credit is given to the source of the data (i.e. a link to my site).

New Dataz!

Monday, 1 December 2008

New Website, New Data, Daily Updates

I'm pleased to announce the launch of my new Armory Musings... project website. Information is updated (at least) daily direct from my spider database. The format of the reports will be improved over the next few days but all the data is under a Creative Commons license meaning you can copy, distribute and adapt the data in my reports as long as you link back to the original source (my site).

Thursday, 27 November 2008

Armory updates, and how to get at the new data

On the 25th of November a major Armory update added a whole host of new information with the introduction of the Statistics tab. Unlike the other tabs on the Armory where all the information is present in the XML this new Statistics tab fetches more data asynchronously.

Firstly if you have a look at the character-statistics.xml you will see something like this:
<statistic name="Total gold acquired" quantityCopper="43" quantityGold="828" quantitySilver="89"/>
<statistic name="Gold looted" quantityCopper="94" quantityGold="61" quantitySilver="3"/>
<statistic name="Total kills that grant experience or honor" quantity="932"/>
<statistic name="Total Killing Blows" quantity="997"/>
<statistic name="Creatures killed" quantity="1907"/>
<category id="130" name="Character">
<category name="Wealth"/>
<category name="Consumables"/>
<category name="Reputation"/>
<category name="Gear"/>
<category id="141" name="Combat"/>
<category id="128" name="Kills">
<category name="Creatures"/>
<category name="Honorable Kills"/>
<category name="Killing Blows"/>
<category id="122" name="Deaths">
<category name="Arenas"/>
<category name="Battlegrounds"/>
<category name="Dungeons"/>
<category name="World"/>
<category name="Resurrection"/>
<category id="133" name="Quests"/>
<category id="14807" name="Dungeons & Raids">
<category name="Classic"/>
<category name="The Burning Crusade"/>
<category name="Wrath of the Lich King"/>
<category id="132" name="Skills">
<category name="Secondary Skills"/>
<category name="Professions"/>
<category id="134" name="Travel"/>
<category id="131" name="Social"/>
<category id="21" name="Player vs. Player">
<category name="Arenas"/>
<category name="Battlegrounds"/>
<category name="World"/>

The <summary> section will be different for everyone but the category id's appear to be fixed. When you click the Character category (id 130 as you can see above) an XML call fires off. Low and behold an XML document comes back looking like this:
<category name="Character" requestUrl="/character-statistics.xml">
<statistic name="Talent tree respecs" quantity="--"/>
<statistic name="Badges of Justice acquired" quantity="--"/>
<statistic name="Emblems of Heroism acquired" quantity="--"/>
<statistic name="Emblems of Valor acquired" quantity="--"/>
<category name="Wealth">
<statistic name="Total gold acquired" quantityCopper="43" quantityGold="828" quantitySilver="89"/>
<statistic name="Average gold earned per day" quantityCopper="96" quantityGold="46" quantitySilver="4"/>
<statistic name="Gold looted" quantityCopper="94" quantityGold="61" quantitySilver="3"/>
<statistic name="Gold from quest rewards" quantityGold="473" quantitySilver="54"/>
<statistic name="Gold earned from auctions" quantity="--"/>
<statistic name="Auctions posted" quantity="--"/>
<statistic name="Auction purchases" quantity="5"/>
<statistic name="Most expensive bid on auction" quantityGold="110"/>
<statistic name="Most expensive auction sold" quantity="--"/>
<statistic name="Gold from vendors" quantityCopper="49" quantityGold="294" quantitySilver="31"/>
<statistic name="Gold spent on travel" quantityCopper="90" quantityGold="7" quantitySilver="87"/>
<statistic name="Gold spent at barber shops" quantityCopper="50" quantityGold="7" quantitySilver="29"/>
<statistic name="Gold spent on postage" quantityCopper="30" quantitySilver="27"/>
<statistic name="Gold spent on talent tree respecs" quantity="--"/>
<statistic name="Most gold ever owned" quantityCopper="14" quantityGold="601" quantitySilver="99"/>
<statistic name="Items pickpocketed" quantity="108"/>
<category name="Consumables">
<statistic name="Bandages used" quantity="--"/>
<statistic name="Bandage used most" quantity="--"/>
<statistic name="Different bandage types used" quantity="--"/>
<statistic name="Health potions consumed" quantity="1"/>
<statistic highest="Super Healing Potion" name="Health potion used most" quantity="1"/>
<statistic name="Different health potions used" quantity="1"/>
<statistic name="Mana potions consumed" quantity="22"/>
<statistic highest="Super Mana Potion" name="Mana potion used most" quantity="22"/>
<statistic name="Different mana potions used" quantity="1"/>
<statistic name="Elixirs consumed" quantity="--"/>
<statistic name="Elixir consumed most" quantity="--"/>
<statistic name="Different elixirs used" quantity="--"/>
<statistic name="Flasks consumed" quantity="--"/>
<statistic name="Flask consumed most" quantity="--"/>
<statistic name="Different flasks consumed" quantity="--"/>
<statistic name="Beverages consumed" quantity="126"/>
<statistic highest="Pungent Seal Whey" name="Beverage consumed most" quantity="98"/>
<statistic name="Different beverages consumed" quantity="9"/>
<statistic name="Food eaten" quantity="10"/>
<statistic name="Different foods eaten" quantity="3"/>
<statistic highest="Poached Bluefish" name="Food eaten most" quantity="8"/>
<statistic name="Healthstones used" quantity="--"/>
<category name="Reputation">
<statistic name="Most factions at Exalted" quantity="4"/>
<statistic name="Most factions at Revered or higher" quantity="9"/>
<statistic name="Most factions at Honored or higher" quantity="18"/>
<statistic name="Most Northrend factions at Exalted" quantity="--"/>
<statistic name="Most Outland factions at Exalted" quantity="3"/>
<statistic name="Most Alliance factions at Exalted" quantity="1"/>
<statistic name="Total factions encountered" quantity="39"/>
<category name="Gear">
<statistic name="Equipped epic items in item slots" quantity="2"/>
<statistic name="Epic items acquired" quantity="1"/>
<statistic name="Epic items looted" quantity="--"/>
<statistic name="Legendary items acquired" quantity="--"/>
<statistic name="Mounts owned" quantity="3"/>
<statistic name="Vanity pets owned" quantity="3"/>
<statistic name="Extra bank slots purchased" quantity="7"/>
<statistic name="Greed rolls made on loot" quantity="1"/>
<statistic name="Need rolls made on loot" quantity="--"/>

You can retrieve any of the Statistic sub-pages independently of the rest of the character information. I haven't spent a lot of time looking into it but the category id's appear to be fixed and everyone seems to have the same set of categories on display (for the moment).

Monday, 24 November 2008

Blessing of Salvation

It’s been almost a year since my last post… With the recent launch of WotLK I have decided to resurrect this project and flood it with new data.

In a few days I expect to have the first batch of new data covering 100,000’s of level 70-80 characters. I am collecting data on lower level characters too, but mainly to check on them later when they have levelled up. I am concentrating the information on the level 70-80 range.

All the data will be hosted on a new website and updated daily directly from my database. The link to this new site will be posted later this week.

All data I publish from now on will be under the Creative Commons Attribution 3.0 License meaning you can copy, distribute and adapt my data provided you link back to the original source (i.e. my site).

In the mean time if you have any questions or suggestions, you can email at the usual address: okoloth (at) gmail (dot) com