Explaining ItemData in Seraphs...
This is not a "how-to-do" type of tutorial. This tutorial assumes you have (or you think you have) a good knowledge of how the server works and that you can set up a source with ease. This is also ONLY for Seraphs Dominion source.
What is ItemData?
ItemData is a new system of item metadata storage in the Seraphs Dominion source. It allows specific items in the database to have unique traits without having to create a new item. It's easy to use, and extremely versatile.
Let me explain this further.

Take a look at this. It's your regular, run-of-the-mill T1 firebrand staff. It's perfectly what it should be: 2 shots, 10-30 damage per shot, and 8.6 range. This staff has NO ItemData; there are no unique traits about it that set it apart from what the XML defines.

Anything "strange" about this? (bad puns ye)
This is a firebrand staff. It's still T1, and it has the same number of shots, damage, and range. There's more to it, however. You can see there are two differences: the name, and the "Kills" attribute.
The name went from "Firebrand Staff" to "Strange Firebrand Staff". There's a new number labeled "Kills" below "Projectile Range".
This staff has ItemData. To be more specific, the itemdata on this particular item has a name prefix of "Strange" and an enabled killcount of 0. This is a unique staff via database! There is no XML in dat20.xml or item.xml that has a t1 staff with a killcounter!

What's a "Warp Destruction Staff"? No, this is not a custom item in the XML's. Upon observation of its stats you can see that this weapon is a renamed Staff of Extreme Prejudice. Like our strange Firebrand staff, this is also a "strange" weapon with a killcounter. As you can see, this very very unique item has been saved to have 25003 kills during its time as a strange weapon.

Now let's get really funky.
This isn't just a Staff of the Cosmic Whole with an "Admin" name prefix. Its damage is multiplied by 1000%, its rate of fire is multiplied by 250%, and its range is added to by 5 tiles. It's also soulbound! (Please note: the Rate of Fire and Range itemDatas DO NOT work yet in the public Seraphs release)
All these special additions can be done with ItemData. Remember that these are all normal items that have been modified by the database, NOT by the XML's.
How do I use ItemData?
ItemData is a feature that requires both clientside and serverside editing.
In the server:
Look for db/ItemDatas.cs and study the code. This is the part of the code where the server reads and writes editions to the database's itemData storage. Each variable in the itemdata is listed there.
Note that ItemData stores data in SLOTS. If you were to edit itemData via phpMyAdmin or HeidiSQL, you would see a bunch of json followed up by a bunch of null values. ItemData is saved as JSON, and instead of (-1), the lack of ItemData is displayed as null for that specific slot. You can see this in characters and vaults.
wServer is also a project critical to the functionality of ItemData. The possibilities are really endless, so I'll just list a few locations that you may want to see...
wServer/realm/entities/player/Player.UseItem.cs
For consumables and abilities in ItemData.
wServer\realm\entities\player\Player.Projectiles.c s
wServer\networking\handlers\PlayerShootPacketHandl er.cs
For studying the DmgPercentage code and for other weapon-related itemDatas.
wServer\realm\commands\AdminCommands.cs
For checking out the /strangify and the /adminBuff commands that change itemDatas of a specific inventory slot.
db/ItemDatas.cs
You can also check out the unusual skin effects if you scroll down a bit.
db/Descriptors.cs
While this is an XML-related file, it's always helpful to make changes the good 'ol hardcode style.
wServer/Inventory.cs
Sort of a desert for information for people who want to study ItemData, but this should provide the base for anyone who wants to go deeper into the actual networking involved in ItemData.
In the client:
This can be the much more challenging end of ItemData. Your best key to understanding and studying this code?
The Method
CTRL-F, CTRL-SHIFT-F, Google, stackoverflow, as3 knowledge bases, common sense
_05H_._09A_.as
This is the part of the code where you can find the item comparison code (green stat color or red stat color; better or worse) that associates with ItemData in the tooltips of items.
_E_7.EquipmentToolTip.as
This is another part of the code that involves tooltips. This is the tooltip code for all items, or equipment that isn't currently compared to anything.
com.company.assembleegameclient.objects.Projectile .as
com.company.assembleegameclient.objects.Player.as
Two functionally important files when it comes to editing things like weapons for ItemData.
There are quite a lot of other files that could involve ItemData, but these are good for starting off using this functionality.
@Travoos @Kithio @nilly @C453
Resources and development of the Seraphs Dominion Source
@Travoos
ItemData feature
(how2mention pls)