Thread Tools Display Modes
06-04-11, 02:36 PM   #1
Vlad
A Molten Giant
 
Vlad's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2005
Posts: 793
Spell.dbc -mounts

Hey guys, I am trying to figure this out... there is some information about this at wow.dev but I can't seem to be able to and make good filters to extract mounts, more specifically I want to extracts mounts and group them in flying160, flying280, flying310, flyingskilldep, ground60, ground100, groundskilldep, aquatic, fun, and so forth.

In any case if you got experience, especially if you have worked on sites like wowhead or similar do please give me some tips. Thanks!

*Edit*

Here is the solution:
You can use Spell.dbc to gather all the IDs, then parse SpellEffect.dbc and the 25th field will be a pointer to a spellID.
You use this spellID to cross reference Spell.dbc and SpellEffect.dbc (natural link).
(Note that it is possible for a spell to have several effects!)
Each SpellEffect has at the 14th field a value called MiscValueB/EffectMiscValueB that points to a index in MountType.dbc and MountCapability.dbc (both use same indexes).
This index in MountX.dbc in short means:
225 = GroundOnly100
229 = Flying
230 = Ground
231 = Aquatic (Turtle)
232 = Abyssal Seahorse
238 = Alchemist mount (transformation one)
241 = AQ40 mounts (not black one)
247 = ProfessionCraftedMount (flying only -tailor carpet and engineer helicopter)
248 = Ground+Flying (headless horseman is one example)

Looking up MountCapability.dbc returns a row with 8 fields:
id = the index we used to look this one up so not a big mystery
int1 = has something to do with the mount type, swimming, flying, epic flying, e.g.
int2 = skill required to learn/use (0/75/150/225/300/375/...)
hex1 = unknown
unk1 = unknown
int3 = required spell to use in specified restricted zone (54197 and 90267 for WotLK flying and Cata flying)
int4 = speed spell (points to a spell that provides the appropriate speed modifiers, for example 86460)
int5 = mapid to where this mount is restricted to

This way I can now properly organize all mount spellID into proper categories that will help many addons, for example mount addons. You no longer have to parse Wowhead for information and are not locale dependent, you only need to compare what the player knows to this database and extract the appropriate information.

Last edited by Vlad : 06-05-11 at 06:48 AM.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Spell.dbc -mounts


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off