View Full Version : How to make Custom Glyph "System"

12-18-2013, 07:18 AM
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:


To do that, you must edit these files:

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

// This is for the bonus which appears in the glyph
// This links the bonus to the Glyph Spell/Item


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

// Modifies level requirements for Glyphs (in this tutorial)
// Modifies level requirements for Glyphs (in this tutorial)
// 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


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.


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.


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".


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:

// 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:

// 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.


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:


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

12-18-2013, 01:58 PM
Very nice tutorial.

12-19-2013, 04:46 AM
Very nice tutorial.

Thanks :) Glad you like it.