• This is a read only backup of the old Emudevs forum. If you want to have anything removed, please message me on Discord: KittyKaev

How to make Custom Glyph "System"

Mahado

Epic Member
Hello! This is something I'm using on my project which I am working on and I thought I would make it my first share here.

It is customized glyph system, I'll show you a screenshots to see what I mean:

3vTcnMI.png


To do that, you must edit these files:


http://modcraft.superparanoid.de/viewtopic.php?f=59&t=795 <-- You need this in optional part

Spell.dbc
// This is for the bonus which appears in the glyph

GlyphProperties.dbc
// This links the bonus to the Glyph Spell/Item


Optional:

GlobalStrings.lua
// This modifies messages and textlines that you see in the game regarding the Glyphs

Player.cpp
// Modifies level requirements for Glyphs (in this tutorial)

SpellEffects.cpp
// Modifies level requirements for Glyphs (in this tutorial)

ItemClass.dbc
// This changes "Glyph" classification into something else



Step - 1 Selecting Glyph to Modify/Make

We'll make this easier by replacing current Glyph instead of creating new ones which is possible as well. Lets take "Glyph of Growl" for example, entryID: 40899 and its spellid: 54856. This information can be found from item_template in database. You can rename it to something else, like Glyph of Elephant. NOTE: Don't use word "glyph" if you don't plan on using it, else you will have to rename it later on. Ex. Enchantment of Elephant


qiFr8c7.png


Step - 2 Renaming the Glyph Spell and Description

Open up Spell.dbc with your preferred dbc editor, like MyDbcEditor 1.2.2 for example. Once it is open, you make search for the spelllid of growl, which was: 54856. Then we will column 137, put your item name there and then description at column 171. Do not close your Spell.dbc yet.

DKxHErr.png


Step - 3 Changing spell for the Glyph​

Keep Spell.dbc open still and go to column 111 <-- This points to GlyphProperties.dbc. Open up your GlyphProperties.dbc and go to the ID of which the column 111 in spell dbc pointed to. Now, find any passive/talent or any spellid that you would prefer to use and place it in column 2. Use 14477 for example, which is +30 Stamina. Save GlyphProperties.dbc and close it.


ZTh5qc5.png
8SpXGVg.png


Step - 4 Modifying the +30 Stamina Spell or whatever you chose​

In Spell.dbc you can now go to modify the "+30 Stamina" spell or whatever you chose, search for the id of the spell and go to column 81 <-- this is the value for many passive spells, like the stamina. If I change it to 49, it would give me 50 stamina in-game. (NOTE: Changing values for every spell doesn't always go the sameway)Change it or keep it, then go to column 137 and place your item name there again and description at column 171. Save spell.dbc and close it.

Your glyph is ready for testing if you want. Place your .dbc files in your dbc folder and also pack them into patch-x.mpq with program like Ladik's MPQ editor for example. Add the patch-x.mpq to data folder in WoW directory. Refer to other tutorials how to do this step if you don't know how to pack mpqs. I may add it later.

Optional Part:

This part is for those who wish to remove glyph level requirements and rename glyph from the game "totally".


ItemClass.dbc​

If we are going to do custom system of our own, we may want to classify it with something else than "Glyph". Of course, if you do this I recommend to rename your items in item_template and spell.dbc.

Open your ItemClass.dbc, go to ID 16 which is glyph and rename column 4 to your liking.

Removing Glyph level requirements​

Open up Player.cpp in core and search for line: void Player::InitGlyphsForLevel() , below that you will see these lines:

Code:
    // 0x3F = 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 for 80 level
    if (level >= 15)
        value |= (0x01 | 0x02);
    if (level >= 30)
        value |= 0x08;
    if (level >= 50)
        value |= 0x04;
    if (level >= 70)
        value |= 0x10;
    if (level >= 80)
        value |= 0x20;

Change those values to your liking. In my version they are all at 5 Level, because I want them all to be available at that level.

Next, open up your SpellEffects.cpp and search for line: void Spell::EffectApplyGlyph(SpellEffIndex effIndex) , below that you will see these lines:

Code:
    // glyph sockets level requirement
    uint8 minLevel = 0;
    switch (m_glyphIndex)
    {
        case 0:
        case 1: minLevel = 15; break;
        case 2: minLevel = 50; break;
        case 3: minLevel = 30; break;
        case 4: minLevel = 70; break;
        case 5: minLevel = 80; break;
}

Change thos values to your liking as well.

Then you just recompile your source.


Renaming messages/texts in-game​

Open up Ladik's MPQ Editor, "Open Mpq" in filemenu and then go to enUS folder in your directory and open locale-enus.mpq. Go to -> interface -> FrameXML and extract GlobalString.lua.

Open up GlobalString.lua with notepad and search for "glyph", replace every string that contains word glyph with the classification you chose in ItemClass.dbc for example.

T0L84Bi.png


Save it.

Final Touches​

Make sure you have placed your dbc files in your server's dbc folder and that your patch-x.mpq looks like this:

4xynBzY.png


Then place it in your WoW\Data\

Next you just,

1. Start up your server
2. Delete cache folder (If you renamed anything in database)
3. Go in-game and enjoy.


Hopefully this tutorial was useful for some of you. Glyphs can be used in many creative ways, you just gotta think about it. :) Ex. if your character was android, you could imagine planting "Data Chips" into his "Database" which gives him new powers, haha.


Ps. I don't know if this is in wrong section, but this is mainly for Trinity Core.

- Mahado
 
Last edited:
Top