Required profession level to herb/mine/skin object menu

User Tag List

Results 1 to 5 of 5
  1. #1
    Corthezz's Avatar Elite User Authenticator enabled
    Reputation
    386
    Join Date
    Nov 2011
    Posts
    325
    Thanks G/R
    183/98
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Required profession level to herb/mine/skin object

    Hello,

    Im on vanilla/tbc client and right now searching a way to determine if my skill level is enough to skin/herb/mine a certain object. A little example:
    • My toon has skinning with skill level 60.
    • I kill a boar which requires skill level 120 to skin it
    • Toon cant skin it


    So far I can read the characters skills (id, current level, current max level). Missing part is checking which level the unit requires.
    Will probably poke around the code which is responsible for the red text in the tooltip stating "Requires skill level ..." or look at the DBC for some info.

    I didnt started to reverse yet so just asking for some cool ideas where to start looking .... so ... any ideas?
    Last edited by Corthezz; 04-30-2017 at 02:40 PM.
    Check my blog: https://zzuks.blogspot.com

    Required profession level to herb/mine/skin object
  2. Thanks tutrakan (1 members gave Thanks to Corthezz for this useful post)
  3. #2
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    I don't believe that information is in the client. The skill level required message comes from the server. You could of course use an emu world database. Any one of them ought to have that information. For my gatherbot I just hard-coded a list.

    Edit: I removed my hard-coded list because of the more useful solution below.
    Last edited by namreeb; 05-01-2017 at 12:00 AM.

  4. Thanks Corthezz (1 members gave Thanks to namreeb for this useful post)
  5. #3
    BlackRainBow's Avatar Member
    Reputation
    28
    Join Date
    Feb 2014
    Posts
    5
    Thanks G/R
    2/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It is in client, for example (panda 5.4., in CGTooltip::AddSkinnableText we can see
    Code:
    int __cdecl GetSkinningDifficulty(int targetLevel)
    {
      int result; // eax@1
    
      result = 1;
      if ( targetLevel > 10 )
      {
        result = 10 * targetLevel - 100;
        if ( targetLevel > 19 )
        {
          result = 5 * targetLevel;
          if ( targetLevel > 73 )
          {
            result = 10 * targetLevel - 365;
            if ( targetLevel > 80 )
            {
              result = 5 * targetLevel + 35;
              if ( targetLevel > 83 )
                result = 20 * targetLevel - 1210;
            }
          }
        }
      }
      return result;
    }
    For 1.12.1 - 0x529EC0

    Code:
            v13 = *(_DWORD *)(*(_DWORD *)(v7 + 272) + 112); // targetLevel
            if ( v13 > 10 )
            {
              if ( v13 >= 20 )
                v14 = 5 * v13;
              else
                v14 = 2 * (5 * v13 - 50);
            }
            else
            {
              v14 = 1;
            }
    Herb/mine depends on LockId from gameobject cache and Lock.dbc
    From elysium core, 1.12.1

    Code:
    struct LockEntry
    {
        uint32      ID;                                         // 0        m_ID
        uint32      Type[MAX_LOCK_CASE];                        // 1-5      m_Type
        uint32      Index[MAX_LOCK_CASE];                       // 9-16     m_Index
        uint32      Skill[MAX_LOCK_CASE];                       // 17-24    m_Skill
        //uint32      Action[MAX_LOCK_CASE];                    // 25-32    m_Action
    };
    Last edited by BlackRainBow; 04-30-2017 at 05:57 PM. Reason: more info

  6. Thanks CrimeTime, namreeb, Jadd, Corthezz, culino2, tutrakan (6 members gave Thanks to BlackRainBow for this useful post)
  7. #4
    Corthezz's Avatar Elite User Authenticator enabled
    Reputation
    386
    Join Date
    Nov 2011
    Posts
    325
    Thanks G/R
    183/98
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just wanted to come back and say thank you. You saved me quite some time with the hint about Lock.dbc!
    Check my blog: https://zzuks.blogspot.com

  8. #5
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by BlackRainBow View Post
    ...
    Herb/mine depends on LockId from gameobject cache and Lock.dbc
    ...
    Can be done client side too by calling CGGameObject_C::IsLocked which is called from CGTooltip::SetObject.

  9. Thanks Corthezz (1 members gave Thanks to tutrakan for this useful post)

Similar Threads

  1. [Selling] Herbalisn, Mining + Fishing Profession Leveling Service.
    By Phatbat in forum World of Warcraft Buy Sell Trade
    Replies: 3
    Last Post: 01-04-2011, 01:11 PM
  2. [Selling] [EU] Specialist Herbalism + Mining Profession Leveling Service.
    By Phatbat in forum World of Warcraft Buy Sell Trade
    Replies: 1
    Last Post: 09-09-2010, 06:29 AM
  3. WTS [Knight-Captain] OO Level 80 Warlock Epic Flying Maxed Herb/Mining
    By JxOxSxH in forum Members Only Accounts And CD Keys Buy Sell
    Replies: 7
    Last Post: 07-22-2009, 12:02 PM
All times are GMT -5. The time now is 07:42 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search