   armor stats in wow?
  hi guys another question on the big wow game.  when they assign attributes to certain pieces of armor how do they make it so that it correlates to the game?my guess is that they use prototypes and arrays to store the item equipment but this seems like a very labor intensive job to have to type up all the individual pieces of equipment. how would you do it? :Dthanks in advance :D   
  Maybe a database would be more secure, but id do it in xml, and just parse the information into an Item object, or perhaps an Armor subclass of that.   ;  They probably would store each piece of equipment in a file; possibly even a text file. This file would then be loaded by the WoW servers, and the servers would control the actual armor ingame, and just send the info to the clients to show how much defense a piece of equipment would have.For an example, if I was making a game and didn't want to hard-code every item, I'd go like this:An example helmet:HelmOfTheMonkey.txtHELMET //Armor type.24 //The amount of defense.basicHelmetModel.mlk //The model to use to display the helmet.Warrior, Thief, Paladin //The classes that can use the helmet.Human, Elf, Dwarf //The races that can use the helmet.An example sword:SwordOfTheSmiter.txt SHORT_SWORD //Weapon type.10 //The amount of attack.0.5 //The attack delay.basicSwordModel.mlk //The model to use to display the sword.Warrior, Paladin //The classes that can use the sword.Human, Elf //The races that can use the sword.The server, when started, would load the files into the program, so you wouldn't have to recompile the program each time you changed a item, or each time you added a new one.[Edit:] Ofcourse they'd use a database to store their info. *slaps forehead* I wasn't thinking. But, emforce, you should just store your info in a file either as plain text or in XML (or something similar).Don't worry what the big commercial companies do, because you are not a big commercial company. Worry about what other small time independents or hobbiests do, since it is directly achievable by you.   ;  Most of the stats are randomized and only the more special pieces do have carefully selected stats afaik.I would probably also randomize a big portion of the greens and some blues and use xml or similar to build the rest of the armor pieces.   ;  Actually, the information is all stored in a SQL database, and then accessed via a one to many relationship.  For instance, the tier 7 head piece for warriors would be something along the lines of an item access number 410072 and an item such as a greater planar essence might be 45003.  Your character information is also stored in a SQL database, so if you want to look at the big picture, when it looks for your helm, it will query item number 410072 and add the following information to your characters attributes.  So if that item was to say add +72 strength, it would be something along the lines of character number -> str += item number -> 72.  Does that make any sense?  From my understanding, accessing these kind of databases are the fastest as well as easiest ways to manage that much data while being easy to manage, maintain, and secure.  It also allows them to easily correspond the information in a web based format.   ;Quote:Original post by JoshuadActually, the information is all stored in a SQL database, and then accessed via a one to many relationship.  For instance, the tier 7 head piece for warriors would be something along the lines of an item access number 410072 and an item such as a greater planar essence might be 45003.  Your character information is also stored in a SQL database, so if you want to look at the big picture, when it looks for your helm, it will query item number 410072 and add the following information to your characters attributes.  So if that item was to say add +72 strength, it would be something along the lines of character number -> str += item number -> 72.  Does that make any sense?  From my understanding, accessing these kind of databases are the fastest as well as easiest ways to manage that much data while being easy to manage, maintain, and secure.  It also allows them to easily correspond the information in a web based format.If you don't mind me going on a slight tangent, would that then be the cause of the occasional bugs where pieces of equipment don't actually add the correct values, because their item number is listed incorrectly and its actually adding some other items values?   ;  so if i wanted to create an rpg with armor sets what scripting languages would you recommend? and is this going to be easy to implement into the game?   ;  like Joshuad said its stored in a SQL database since that is by far the best method. But just one other thing about wow:you do have a great amount of truly unique items BUTmost items gets created by combining a base "entity" with a modifier "entity"for example.ranger helm of the eagle would be a 93 armor leather head piece that gives 10 stamina and 11 intelectranger helm of the boar would also be a 93 armor leather head piece but it gives stamina and strength instead of stamina and intelectcrusaders helm of the eagle would be a 234 armor mail head piece that gives 14 stamina and 15 intelectcrusaders helm of the boar would also be a 234 armor mail head piece but it gives stamina and strength instead of stamina and intelectthe crusaders helm base item has a higher internal item level and this gets applied to the modifier to increase its effectso you might (for example) have a table to store base entitys and a table to store modifier entitys and then a table that references both those tables and your charecter table so this table wil store all the base items for your character with their respective modifiers. you could maybe make the foreighn key to the modiefier table nullable wich would imply that the base item is unique so no modifier should be applied.   ;  Those particular green items are quite another thing to think about entirely.  Most Mangos databases have a different item for each possibility I'm pretty sure, but perhaps the actual WoW database has it set up differently.  Perhaps they have something like the following:ID - XXXXXItem Name - Ranger HelmItem Mat - LeatherItem Qua - UncommonItem Ref - XXXX-XXXX (Using a random modifier)Then:ID - XXXXXItem Ref - XXXXItem Suffix - Of the BoarItem Level - 6-80STA - +10-+80STR - +10-+80Or something along those lines.As I said though, if you ever went through a Mangos database, which is what they use to emulate a WoW server, last I checked they have one for everything, even the random greens like above.  Perhaps the actual WoW servers use an array like that to achieve actual randomness in their drops.  You won't know unless you speak to an actual developer from Blizzard who doesn't mind passing along their design information.As for scripting languages used by them, I'm not 100% positive, but I know that they were hiring a short time ago for LUA developers for their communications scripts.  That might be a hint.   