Forum > Serverside Modding

[QUESTION] Usage of EffectSpellClassMask in Spell.dbc?

(1/1)

Recycle:
Hey folks of Modcraft!

To start with I've attempted to search enough about the usage of EffectSpellClassMask throughout a lot of forums, google and even attempted to figure it myself but to no avail and pxr.dk doesn't tell much about its usage.

I'm a fairly new-to-modifying the DBC but I'm pretty confident in getting the basics about it. Anyways, here's my real question:

In attempt to modify spells of classes such as cooldown or cast-time reducing talents I've figured that EffectSpellClassMask A throughout C are the right ones to do it. My concern is that I've created a custom class with a set of customs spells, but wish to "enhance" these said abilities with talents.

I know how to reduce cast speed, modify it's damage but what I really don't know is the usage of the masking to apply it for said spells. For instance, Improved Fireball has a EffectSpellClassMaskA 1, but that definitely is not the spell id. Elusiveness which reduces cooldown of 3 abilities has EffectSpellClassMaskA set to 16779264 and B to 65536. But where exactly are these numbers from? How am I to determine my own custom spells ID's? Do I have to modify this in the core? If so, I would much appreciate a pointer to the right direction. I'm sure I can go from there.

After 3 days of attempting to figure this out by myself, I've come to seek help from the community I've learned so much from the past few weeks. Thank you in advance.

PS. If the topic isn't in the right section, I apologize, I had problems figuring out which part of the forums I should be posting and would request the thread to be moved to the appropriate place. Thank you!

Kobiesan:
This is something I can't find on any forum. I'd also like to know where these values come from.

mrxxx:
Hey. You were right, the values are not spell ids, you need to define them. The values are stored in fields 209-211, 209 representing spell class mask 1, 210 - 2 and so on. Look at this example:
Improved Faerie Fire (id 33600) has SpellClassMaskA1 as 0x400 because Faerie Fire (id 770) has 0x400 in spell family flags field (209). If Faerie Fire had a value in 210th field, then we would need to write it in SpellClassMaskA2 of the affecting spell.
It's actually quite simple when you learn it.
Also, you must relate your spell class mask fields with the correct effect your spell has. For example, if i were to make a spell which increases damage of fireball as effect one, and reduces cooldown of evasion as effect two, i would put the hex value of Fireball's spell family flag in SpellClassMaskA, and Evasion's to SpellClassMaskB.

Steff:
Could you please add this informatios to the wowdev.wiki?

mrxxx:
Done

Navigation

[0] Message Index

Go to full version