Forums WoW Modding Tutorials Miscellaneous [Archive] DBC 6xx Creation or Modification of spell

[Archive] DBC 6xx Creation or Modification of spell

[Archive] DBC 6xx Creation or Modification of spell

rektbyfaith
Administrator
0
11-04-2025, 05:04 PM
#1
Archived author: dokuro • Posted: 2025-11-04T18:04:41.863900
Original source

Creating a tutorial on the creation of spell is a little utopian since the combinations are very numerous, so I can only take over the wiki and centralize them on one page.

1) To create a spell with DBx I recommend following these few rules:

Never delete a line or modify an index number of an original spell

Always keep backups before modification

As in smartAI pay attention to the time delay for some Aura: some aura for example can last 10s but launch a regen every 2s, this time is given in thousand seconds, forgetting to fill in the right box is equivalent to defining it as launching a regen every 0s. I do not make you a drawing especially if several mobs cast this spell.

Even for a creation I recommend you not to start from scratch but to duplicate a similar spell and to modify this copy, it is the best way not to forget a secondary variable / column (all the spells do not use the same variables / column)

In order not to make an overly complicated tutorial that would be 25 pages, I will not go into details. Refer to the wiki for more information on dbc.

2) For information, the DBx contain 2 types of variables:

A value or a text, for example an amount of damage or the name of a spell

A pointer to another DBx, in this case you will find in this column the ID of this pointed DBx (indicated by the name of the column)

3) The DBx essential to be recognized by the server and the client: these are the essential DBx or it is mandatory to have an entry

spell.dbc: this is the main dbc which serves as a summary

spellmisc.dbc: this dbc is an extension of spell.dbc, I suppose that blizzard separated this dbc from spell.dbc in order to confuse the tracks

spelleffect.dbc: this dbc defines what this spell, damage, regen, morph, etc. will do

spell.dbc:

ID: must be unique

Name_lang: The name of the spell as it appears in the game

Description_Lang: what is displayed when you pass the exit on its icon

AuraOption (optional): this column points to SpellAuraOptions.dbc and is used for example for a spell that remains active to define the number of times it can be active.

Cooldowns (optional): this column points to SpellCooldowns.dbc and defines the cooldown of the spell

EquippedItemID (optional): this column indicates the equipment necessary to use this spell (weapon with one hand, two hands, dagger, etc.)

ShapeshiftID (optional): this column points to SpellShapeshift.dbc and defines that this spell needs the pointed changeform of SpellShapeshift.dbc to be usable.

MiscID (essential): this column points to Spellmisc.dbc and must be created or exist, for personal convenience I use the same ID for a custom spell as for the ID of Spellmisc.dbc

spellmisc.dbc:

ID: must be unique

Attribute_x (optional): Defines flags for a spell like for example, must be from the front, deactivate a changeform, must be camouflaged, etc.

CastingTimeIndex (optional): points to SpellCastTimes.db2 and defines the time to cast a spell

DurationIndex (optional): points to SpellDuration.db2 and defines the lifetime of the spell

Range (optional): points to SpellRange.db2 and defines the action distance of the spell

Speed (optional): Can play / bug the animation of the spell

SpellIconID (optional): Point to spellicon.dbc, I recommend extracting the client with CascExplorer to easily find an icon and therefore its name is present in spellicon.dbc. a personal icon can be placed in the client \ Interface \ Icons

ActiveIconID (optional): An alternative icon for example when an aura is active

ShoolMask (optional): type of magic: Physical = 1, Sacred = 2, Fire = 4, Nature = 8, Frost = 16, Shadow = 32, Arcane = 64

spelleffect.dbc: the main dbc which is used to define what does the spell

The 3 main columns:

Effect: defines the type of action as 2 = spell damage, 17 = weapon damage, 6 = aura (important option which indicates that the spell acts over time, in this case Effect aura, EffectAudaPeriod must be entered), 32 = launch a spell in parallel, ...

SpellID: the ID of the spell

EffectIndex: each spell can have several effects, each effect has its own EffectIndex

Secondary columns:

EffectAura: Complementary to Effect 6 defines the type of action for an aura ie a spell that lasts a certain time

EffectAuraPeriode: in mili second, indicates that EffectAura will run every x mili second

EffectBasePoint: a value for the effect, for example a healing spell with an EffectBasePoint = 100 will heal 100 pv or 100% depending on the effect, independent of lvl

EffectChaintargets: the number of target

EffectMechanic: for some spell indicates that this spell causes fear, stun, etc.

EffectMiscValue: set for certain spell

EffectRadius_1: indicates a range of action of the spell (dependent on the implicit_target column)

EffectRadius_2: generally used for the size of a selection circle

EffectRealPointsPerLevel: similar to EffectBasePoint but depending on the level. I advise to also fill in EffectBasePoint so as not to have spells that type 1 at lvl 1

EffectTriggerSpell: spell launched in parallel

ImplicitTarget_1: indicates the target friend, enemy, pet, zone, etc. Some spells may require ImplicitTaget_1 & ImplicitTaget_2 for example a certain radius on the turn of an enemy

4) Secondary DBx: necessary to enter, for example, a duration or a consumption

SpellAuraOptions.dbc: number of times an aura type can be applied

SpellPower.db2: consumption of mana, rage, combo, etc

SpellXSpellVisual.db2: animation and visual of a spell

SpellIcon.dbc: spell icon

SpellCooldowns.dbc: cooldown

SpellLevels.dbc: plays on the effects of a spell according to a level by defining a basic level, mini / maxi which will overplay the player's lvl

SpellDuration.db2: lifetime of the spell

SpellRange.dbc: scope of the spell

SpellRadius.db2: radius of the spell

SpellCastTimes.db2: time to cast a spell

Credit to : Stitch from Aquayoup
rektbyfaith
11-04-2025, 05:04 PM #1

Archived author: dokuro • Posted: 2025-11-04T18:04:41.863900
Original source

Creating a tutorial on the creation of spell is a little utopian since the combinations are very numerous, so I can only take over the wiki and centralize them on one page.

1) To create a spell with DBx I recommend following these few rules:

Never delete a line or modify an index number of an original spell

Always keep backups before modification

As in smartAI pay attention to the time delay for some Aura: some aura for example can last 10s but launch a regen every 2s, this time is given in thousand seconds, forgetting to fill in the right box is equivalent to defining it as launching a regen every 0s. I do not make you a drawing especially if several mobs cast this spell.

Even for a creation I recommend you not to start from scratch but to duplicate a similar spell and to modify this copy, it is the best way not to forget a secondary variable / column (all the spells do not use the same variables / column)

In order not to make an overly complicated tutorial that would be 25 pages, I will not go into details. Refer to the wiki for more information on dbc.

2) For information, the DBx contain 2 types of variables:

A value or a text, for example an amount of damage or the name of a spell

A pointer to another DBx, in this case you will find in this column the ID of this pointed DBx (indicated by the name of the column)

3) The DBx essential to be recognized by the server and the client: these are the essential DBx or it is mandatory to have an entry

spell.dbc: this is the main dbc which serves as a summary

spellmisc.dbc: this dbc is an extension of spell.dbc, I suppose that blizzard separated this dbc from spell.dbc in order to confuse the tracks

spelleffect.dbc: this dbc defines what this spell, damage, regen, morph, etc. will do

spell.dbc:

ID: must be unique

Name_lang: The name of the spell as it appears in the game

Description_Lang: what is displayed when you pass the exit on its icon

AuraOption (optional): this column points to SpellAuraOptions.dbc and is used for example for a spell that remains active to define the number of times it can be active.

Cooldowns (optional): this column points to SpellCooldowns.dbc and defines the cooldown of the spell

EquippedItemID (optional): this column indicates the equipment necessary to use this spell (weapon with one hand, two hands, dagger, etc.)

ShapeshiftID (optional): this column points to SpellShapeshift.dbc and defines that this spell needs the pointed changeform of SpellShapeshift.dbc to be usable.

MiscID (essential): this column points to Spellmisc.dbc and must be created or exist, for personal convenience I use the same ID for a custom spell as for the ID of Spellmisc.dbc

spellmisc.dbc:

ID: must be unique

Attribute_x (optional): Defines flags for a spell like for example, must be from the front, deactivate a changeform, must be camouflaged, etc.

CastingTimeIndex (optional): points to SpellCastTimes.db2 and defines the time to cast a spell

DurationIndex (optional): points to SpellDuration.db2 and defines the lifetime of the spell

Range (optional): points to SpellRange.db2 and defines the action distance of the spell

Speed (optional): Can play / bug the animation of the spell

SpellIconID (optional): Point to spellicon.dbc, I recommend extracting the client with CascExplorer to easily find an icon and therefore its name is present in spellicon.dbc. a personal icon can be placed in the client \ Interface \ Icons

ActiveIconID (optional): An alternative icon for example when an aura is active

ShoolMask (optional): type of magic: Physical = 1, Sacred = 2, Fire = 4, Nature = 8, Frost = 16, Shadow = 32, Arcane = 64

spelleffect.dbc: the main dbc which is used to define what does the spell

The 3 main columns:

Effect: defines the type of action as 2 = spell damage, 17 = weapon damage, 6 = aura (important option which indicates that the spell acts over time, in this case Effect aura, EffectAudaPeriod must be entered), 32 = launch a spell in parallel, ...

SpellID: the ID of the spell

EffectIndex: each spell can have several effects, each effect has its own EffectIndex

Secondary columns:

EffectAura: Complementary to Effect 6 defines the type of action for an aura ie a spell that lasts a certain time

EffectAuraPeriode: in mili second, indicates that EffectAura will run every x mili second

EffectBasePoint: a value for the effect, for example a healing spell with an EffectBasePoint = 100 will heal 100 pv or 100% depending on the effect, independent of lvl

EffectChaintargets: the number of target

EffectMechanic: for some spell indicates that this spell causes fear, stun, etc.

EffectMiscValue: set for certain spell

EffectRadius_1: indicates a range of action of the spell (dependent on the implicit_target column)

EffectRadius_2: generally used for the size of a selection circle

EffectRealPointsPerLevel: similar to EffectBasePoint but depending on the level. I advise to also fill in EffectBasePoint so as not to have spells that type 1 at lvl 1

EffectTriggerSpell: spell launched in parallel

ImplicitTarget_1: indicates the target friend, enemy, pet, zone, etc. Some spells may require ImplicitTaget_1 & ImplicitTaget_2 for example a certain radius on the turn of an enemy

4) Secondary DBx: necessary to enter, for example, a duration or a consumption

SpellAuraOptions.dbc: number of times an aura type can be applied

SpellPower.db2: consumption of mana, rage, combo, etc

SpellXSpellVisual.db2: animation and visual of a spell

SpellIcon.dbc: spell icon

SpellCooldowns.dbc: cooldown

SpellLevels.dbc: plays on the effects of a spell according to a level by defining a basic level, mini / maxi which will overplay the player's lvl

SpellDuration.db2: lifetime of the spell

SpellRange.dbc: scope of the spell

SpellRadius.db2: radius of the spell

SpellCastTimes.db2: time to cast a spell

Credit to : Stitch from Aquayoup

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)