Spell info reading from DBC menu

User Tag List

Results 1 to 5 of 5
  1. #1
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Spell info reading from DBC

    Instead of configuring each spell manually, I want to read there informations directly in BDC.

    I'm doing it like this :
    - get spellId in my spellBar
    - Read Spells.dbc and find my spell (according to its id)
    - According to SpellCooldownsId (in Spell.dbc) I read SpellCooldown.dbc


    I've a problem with unholly DK spell "Death Grip".
    In my bar I've spellId = 49576 ( Death Grip - Spell - World of Warcraft )
    and DBC reader give me following info :

    Code:
    [2]ID: 49576
    [2]Name: Death Grip
    [2]Desc: Harness the unholy energy that surrounds and binds all matter, drawing the target toward the death knight and forcing the enemy to attack the death knight for $49560d.
    [2]Minrange: 0
    [2]Maxrange: 30
    [2]CD: 0
    [2]GCD: 0
    [2]CastTime: 0
    [2]CastTimePerLevel: 0
    As you can see cooldowns are not corrects.


    "Death Grip" appears many time in Spell.dbc and some of theses occurrences are corrects but do not correspond to my spellID. Ex :

    Code:
    [4]ID: 53276
    [4]Name: Death Grip
    [4]Desc: Harness the unholy energy that surrounds and binds all matter, drawing the target toward the Death Knight and forcing the enemy to attack the Death Knight for $49560d.
    [4]Minrange: 0
    [4]Maxrange: 30
    [4]CD: 35000
    [4]GCD: 0
    [4]CastTime: 0
    [4]CastTimePerLevel: 0
    [4]SpellLevel: 55

    I'm pretty sure my DBCreader is correct.

    Does anyone else have same problem than me?
    If you know the solution can you show me right direction plz, but I'm pretty lost.

    Spell info reading from DBC
  2. #2
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Spell 49576 has m_SpellCooldownsId = 3481 (SpellCooldowns.dbc), which corresponds to 35000 ms cooldown.


    Code:
    struct SpellRec
    {
        uint32    Id;                                           // 0        m_ID
        uint32    Attributes;                                   // 1        m_attribute
        uint32    AttributesEx;                                 // 2        m_attributesEx
        uint32    AttributesEx2;                                // 3        m_attributesExB
        uint32    AttributesEx3;                                // 4        m_attributesExC
        uint32    AttributesEx4;                                // 5        m_attributesExD
        uint32    AttributesEx5;                                // 6        m_attributesExE
        uint32    AttributesEx6;                                // 7        m_attributesExF
        uint32    AttributesEx7;                                // 8        m_attributesExG
        uint32    AttributesEx8;                                // 9        m_attributesExH
        uint32    unk_400_1;                                    // 10       4.0.0
        uint32    CastingTimeIndex;                             // 11       m_castingTimeIndex
        uint32    DurationIndex;                                // 12       m_durationIndex
        uint32    powerType;                                    // 13       m_powerType
        uint32    rangeIndex;                                   // 14       m_rangeIndex
        float     speed;                                        // 15       m_speed
        uint32    SpellVisual[2];                               // 16-17    m_spellVisualID
        uint32    SpellIconID;                                  // 18       m_spellIconID
        uint32    activeIconID;                                 // 19       m_activeIconID
        char      *SpellName;                                    // 20       m_name
        char      *Rank;                                         // 21       m_nameSubtext
        char      *Description;                                // 22       m_description
        char      *ToolTip;                                    // 23       m_auraDescription
        uint32    SchoolMask;                                   // 24       m_schoolMask
        uint32    runeCostID;                                   // 25       m_runeCostID
        uint32    spellMissileID;                             // 26       m_spellMissileID
        uint32    spellDescriptionVariableID;                   // 27       m_spellDescriptionVariableID
        uint32    SpellDifficultyId;                              // 28       m_spellDifficultyID
        float     unk_f1;                                         // 29
        uint32    SpellScalingId;                                  // 30       SpellScaling.dbc
        uint32    SpellAuraOptionsId;                              // 31       SpellAuraOptions.dbc
        uint32    SpellAuraRestrictionsId;                         // 32       SpellAuraRestrictions.dbc
        uint32    SpellCastingRequirementsId;                      // 33       SpellCastingRequirements.dbc
        uint32    SpellCategoriesId;                               // 34       SpellCategories.dbc
        uint32    SpellClassOptionsId;                             // 35       SpellClassOptions.dbc
        uint32    SpellCooldownsId;                                // 36       SpellCooldowns.dbc
        uint32    unkIndex7;                                     // 37       all zeros...
        uint32    SpellEquippedItemsId;                            // 38       SpellEquippedItems.dbc
        uint32    SpellInterruptsId;                               // 39       SpellInterrupts.dbc
        uint32    SpellLevelsId;                                   // 40       SpellLevels.dbc
        uint32    SpellPowerId;                                    // 41       SpellPower.dbc
        uint32    SpellReagentsId;                                 // 42       SpellReagents.dbc
        uint32    SpellShapeshiftId;                               // 43       SpellShapeshift.dbc
        uint32    SpellTargetRestrictionsId;                       // 44       SpellTargetRestrictions.dbc
        uint32    SpellTotemsId;                                   // 45       SpellTotems.dbc
        uint32    ResearchProject;                               // 46       ResearchProject.dbc
    }
    Code:
    struct SpellCooldownsRec
    {
       int m_ID;
       int m_categoryRecoveryTime;
       int m_recoveryTime;
       int m_startRecoveryTime;
    }
    Last edited by TOM_RUS; 06-01-2011 at 03:23 PM.

  3. #3
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thx TOM_RUS.

    I miss :
    uint32 unk_410_1; // 11 4.1.0
    Last edited by guizmows; 06-01-2011 at 03:32 PM.

  4. #4
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by guizmows View Post
    thx TOM_RUS.

    I miss :
    uint32 unk_410_1; // 11 4.1.0
    No, you don't. Sorry, it was only added in 4.2

  5. #5
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    indead, I'm able to read name and description correction so my error was not there.

    here is SPellCooldown I used
    Code:
        [StructLayout(LayoutKind.Sequential)]
        struct SpellCooldownsRec
        {
            public int id;
            public uint CoolDown;
            public uint m_recoveryTime;
            public uint GlobalCoolDown;
        };
    
    in fact Cooldonw value is  m_recoveryTime

Similar Threads

  1. read from .txt
    By Spot_1337 in forum Programming
    Replies: 8
    Last Post: 02-02-2009, 01:58 AM
  2. [Help] vb6 Reading from a random file
    By Murdok in forum Programming
    Replies: 3
    Last Post: 10-20-2008, 12:39 PM
  3. [guide] Editing certain spell values in the DBC's
    By kreegoth in forum WoW EMU Guides & Tutorials
    Replies: 8
    Last Post: 09-17-2008, 11:38 AM
  4. scam a gm to give you a spell u want from other specs
    By Syplex23 in forum WoW EMU Exploits & Bugs
    Replies: 17
    Last Post: 02-20-2008, 03:50 PM
All times are GMT -5. The time now is 04:05 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search