Custom spell/another class spell trainer menu

Shout-Out

User Tag List

Results 1 to 12 of 12
  1. #1
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Custom spell/another class spell trainer

    Hello WoW professionals!

    Again I'm stuck attempting to customize my server.

    Question

    I want to add custom spells to trainer. Or use existing but from another class. So for instance Paladin class player could learn summon Imp. Ofcourse simple adding it to trainer NPC wouldn't show it in the list because it is Warlock spell. I looked through dbc files and through mangos db files but didn't figure out how to bypass this class restriction.

    So can any customizing specialist advise me how to do it. Maybe there is another way to learn spell not through trainers?

    I'm using Mangos 7808 + YTDB

    Optional question

    is there a working Mangos to Ascent db converter for 3.0.9? I really like mangos but there is alot more info on customizing for Ascent

    Anyway this question is optional I really want to know the answer for the main one.

    Thank you for your help in advance

    Custom spell/another class spell trainer
  2. #2
    Dythzer's Avatar Contributor
    Reputation
    271
    Join Date
    May 2008
    Posts
    461
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That's only bypassable if you compile your own core. If you do, open NPCHandler.cpp (located in /src/game/ folder in source code) with notepad or any text editor and find (ctrl + F) this:
    Code:
    if(!_player->IsSpellFitByClassAndRace(tSpell->learnedSpell))
          continue;
    Delete or outcomment those two lines and recompile. I don't know how the wow client will react on this but it should work fine.

    Originally Posted by RYUchan View Post
    I really like mangos but there is alot more info on customizing for Ascent
    There is not much mangos info on this site, but you should take a look at the UDB Wiki, it has all information needed for DB customising.

  3. #3
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you for the answers.

    I outcommented this lines but after recompilation nothing changed. Thats realy strange. Maybe there is another check somewhere :confused:

    I added spells to the NPC trainer but there are visible to the corresponding class only.

  4. #4
    Dythzer's Avatar Contributor
    Reputation
    271
    Join Date
    May 2008
    Posts
    461
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't think there are more checks for this, not what I saw. It is possible that it's a client limitation.

  5. #5
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I presume there are no ways to bypass client restriction? Or is it in the dbc files?

    Also I was trying to add lockpicking to other classes and found this checks in Player.cpp

    Code:
                if(_spell_idx->second->learnOnGetSkill == ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL ||
                    // lockpicking/runeforging special case, not have ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL
                    (pSkill->id==SKILL_LOCKPICKING || pSkill->id==SKILL_RUNEFORGING) && _spell_idx->second->max_value==0 )
                {
    and

    Code:
                if(_spell_idx->second->learnOnGetSkill == ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL ||
                    // lockpicking/runeforging special case, not have ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL
                    (pSkill->id==SKILL_LOCKPICKING || pSkill->id==SKILL_RUNEFORGING) && _spell_idx->second->max_value==0 )
    I outcommented the lockpicking part and again nothing changed. I mean it is learned as a spell but not as an ability. And also again you can't see it from a custom trainer if you are not a rouge. Is it because there are another checks or is it client side restriction?

    And again is it possible to bypass client side restriction?
    Last edited by RYUchan; 05-23-2009 at 01:37 AM.

  6. #6
    Dythzer's Avatar Contributor
    Reputation
    271
    Join Date
    May 2008
    Posts
    461
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    outcommenting those checks will not make it work, they are used for other things.

    If you do ".lookup skill lockpicking" after you have learned the pick lock spell you will see that the skill is learned ([known] tag), it's just not displayed in the skills window. For rogues it's added under the "Class skills" category in the skills window and skills under that category are most likely restricted to a specific class in the wow client. So basically the lockpicking skill grows server-side but not client-side.

    And no you can't bypass client restrictions :/ Ofc server-side workarounds are always possible, but you can't make it show up in the skills window.

    Lockpicking will still work though, so if you don't care about skills leveling you can set it to max for all players.

  7. #7
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yes I found out that learning lockpicking means learning spell 1804 and skill 633 but didn't really understand that it is client class restricted. So thanks for the explanation Oh well I'll give up with Lockpicking.

    Also I was thinking about walkarounds for spells...
    Is it possible to make a quest where you can give money and NPC will teach you a warlock summoning skill(for example) as a reward. If it is possible could you give some tips on it. I looked through quest_template but didn't understand how to make this idea working. The main problem is making money as an objective item.

    Some time ago I was trying to break quest log max restriction and after digging through the core find something in QuestDef.h but again after recompiling it became a little buggy. WoW is really heavy client side restricted
    Last edited by RYUchan; 05-24-2009 at 07:33 AM.

  8. #8
    Dythzer's Avatar Contributor
    Reputation
    271
    Join Date
    May 2008
    Posts
    461
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by RYUchan View Post
    I looked through quest_template but didn't understand how to make this idea working. The main problem is making money as an objective item.
    Everything is explained here: Quest template - UDB, click on a field for info about it. Also, Quice makes quest editing in mangos much easier so you should try that

    For money requirement use a negative value in the 'RewOrReqMoney' column (eg. '-5000' for a 5g requirement), and for spell learning you need to use the RewSpell column, the spell will be casted at quest completion so make sure to use a learn spell for this (they are tagged as [learn] when you do .lookup spell).

  9. #9
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yep thanks alot I figured out about money "- reward" but didn't get what was the learning spell part about. So thank you Dythzer I'll try this out.

  10. #10
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Solved everything, just hacked into spell.dbc and create my own learning spells.
    Again big thanks to Dythzer

  11. #11
    Shadowrun56's Avatar Member
    Reputation
    1
    Join Date
    Feb 2009
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by RYUchan View Post
    Solved everything, just hacked into spell.dbc and create my own learning spells.
    Again big thanks to Dythzer
    Sorry to bother, but what exactly did you change to allow the other classes to use the spells?

  12. #12
    RYUchan's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @Shadowrun56
    I didn't change anything in Trainers. Just made a walkaround - instead of trainers you got quests where you need to pay money to learn skill of you choice. The problem is that it is only possibble if a spell is a learning spell as Dythzer stated above, so you need to create your own learning spells.

Similar Threads

  1. [Guide] Add missing or custom spells to trainer
    By bulletzaredeadly in forum WoW EMU Guides & Tutorials
    Replies: 8
    Last Post: 09-22-2008, 02:08 PM
  2. Custom Spells! (for a Custom Class!)
    By Cholo71796 in forum World of Warcraft Emulator Servers
    Replies: 8
    Last Post: 05-10-2008, 04:25 PM
  3. Custom Spells and Classes
    By TechMonkie in forum World of Warcraft Emulator Servers
    Replies: 1
    Last Post: 04-09-2008, 02:04 PM
  4. Custom Spells ?
    By nether drake in forum World of Warcraft Emulator Servers
    Replies: 10
    Last Post: 11-06-2007, 12:30 AM
  5. How do you make custom spells?
    By Aircon in forum World of Warcraft Emulator Servers
    Replies: 7
    Last Post: 09-22-2007, 10:28 PM
All times are GMT -5. The time now is 05:25 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