Aura Dispel Type anyone? menu

User Tag List

Results 1 to 6 of 6
  1. #1
    Hyru's Avatar Active Member
    Reputation
    39
    Join Date
    Jun 2008
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Aura Dispel Type anyone?

    I spent the last two nights searching the forums for Aura Dispel Type (Magic, Disease, Poison, Curse, or none) and reversing API UnitAura - WoWWiki - Your guide to the World of Warcraft and never ended up finding it :confused:. There's a bunch of code that stands out in Lua_UnitAura for the return values like duration, isStealable, and I even spotted some of the flags that Apoc found awhile back.

    Any suggestions for Aura Dispel Type?

    Aura Dispel Type anyone?
  2. #2
    pred.is.god's Avatar Member
    Reputation
    1
    Join Date
    Jun 2007
    Posts
    86
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    could you make a table with aura id's and just referance the table to decide how to dispell/clense etc?

  3. #3
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Do it like WoW does it.

    I haven't gotten around to rewriting my DBC manager to account for the 4.0 changes, so have some gay, unmaintainable, filler code:

    (Pretty much straight from IDA/HexRays, variable naming is not to be taken as facts, addresses are from base 0x00401000)


    Code:
                UInt32 WowSpellDatabase = *(UInt32*)Core.Addresses.ConformPointer(0x00B99294);
                UInt32 WowSpellDatabaseMin = *(UInt32*)Core.Addresses.ConformPointer(0x00B99288);
                if (spellId != 0)
                {
                    UInt32 pSpellRecord = *(UInt32*)(WowSpellDatabase + 4 * (spellId - WowSpellDatabaseMin));
                    if (pSpellRecord != 0)
                    {
                        Int32 rowIndex1 = *(Int32*)(pSpellRecord + 136);
                        if (rowIndex1 != 0)
                        {
                            UInt32 pRow1 = dlgGetRow(Core.Addresses.ConformPointer(0x00B98F6C), rowIndex1);
                            if (pRow1 != 0)
                            {
                                Int32 rowIndex2 = *(Int32*)(pRow1 + 12);
                                if (rowIndex2 != 0)
                                {
                                    UInt32 pRow2 = dlgGetRow(Core.Addresses.ConformPointer(0x00B99030), rowIndex2);
                                    if (pRow2 != 0)
                                    {
                                        SpellType = Memory.Read<String>(pRow2 + 16, 0);
                                    }
                                }
                            }
                        }
                    }
                }
    Last edited by Robske; 10-21-2010 at 08:04 PM.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  4. #4
    caytchen's Avatar Contributor
    Reputation
    138
    Join Date
    Apr 2007
    Posts
    162
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It looks it up from the DBCs..
    1) get spell id and matching row from SpellDB
    2) from that row get field at index 34 (mov eax, [edi+88h])
    3) use that value as the id for SpellCategoriesDB and get the row
    4) get field at index 3 (mov eax, [eax+0Ch])
    5) use that to pull the name from SpellDispelTypeDB

  5. #5
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by caytchen View Post
    It looks it up from the DBCs..
    1) get spell id and matching row from SpellDB
    2) from that row get field at index 34 (mov eax, [edi+88h])
    3) use that value as the id for SpellCategoriesDB and get the row
    4) get field at index 3 (mov eax, [eax+0Ch])
    5) use that to pull the name from SpellDispelTypeDB
    That's way too much work!

    I prefer Aura.DispelType myself.

  6. #6
    caytchen's Avatar Contributor
    Reputation
    138
    Join Date
    Apr 2007
    Posts
    162
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Apoc View Post


    That's way too much work!

    I prefer Aura.DispelType myself.
    Thats in aura? I mean the lua function gets the Aura from the unit anyway; why'd they go the long way?

Similar Threads

  1. [GUIDE][Obj-C] Types of auras
    By Tanaris4 in forum WoW Memory Editing
    Replies: 4
    Last Post: 04-23-2012, 11:41 AM
  2. [4.0.6a] Spell.dbc -> Dispel type? School of spell?
    By Tanaris4 in forum WoW Memory Editing
    Replies: 7
    Last Post: 02-15-2011, 03:44 PM
  3. Raid Griefing Exploit (kick anyone from any group)
    By Matt in forum World of Warcraft Exploits
    Replies: 5
    Last Post: 04-28-2006, 09:26 AM
  4. Anyone got MSN? IRC?
    By janzi9 in forum Community Chat
    Replies: 3
    Last Post: 04-02-2006, 10:07 AM
  5. has anyone tested this in 1.10
    By azerty1981 in forum World of Warcraft General
    Replies: 2
    Last Post: 04-01-2006, 06:09 PM
All times are GMT -5. The time now is 06:21 AM. 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