DBC 6xx Create a posture or a changeform

dokuro

Veteran Member
Verified Member
31
2020
8
Location
Paris
Posture.jpg

The postures of the warrior or the monk, the changeform or form of flight of the druid like the form of bear, feline or flight use the same process. The only difference is that a changeform will change the player's skin.
In order to keep this tutorial as simple as possible, I would detail only the essential columns.

This creation breaks down into 3 very simple parts:

1) Definition proper of this posture / changeform
2) Posture / changeform activation
3) Locking spells so that they can only be used in this form

1) The definition of a posture or a changeform happens in SpellShapeshiftForm.dbc:
The number of creation is unlimited unless you wish to use a spell lock on a posture, in this case this lock will be limited to the first 64 postures.

Imgur: The magic of the Internet


ID: it must be unique
BonusActionBar: choice of the action bar which will be displayed: 0 for the default bar, otherwise 1 to 4
Name_Lang: Name of the posture, for a custom posture which will have to lock spells only use the zzReuse
CreatureDisplayID: The appearance that the player will take, for example the appearance of a bear or a feline for the druid (modelid1)
PresetSpellID: the spells that will be displayed in the action bar even if you don't know them. For no unknown fate, leave a 0


2) Posture / changeform activation this pass in SpellEffect.dbc

Imgur: The magic of the Internet

You will have to create a new spell or add an entry (index) to an existing spell, see the future tutorial on creating a spell.
In EffectAura you will have to choose 36 (SPELL_AURA_MOD_SHAPESHIFT) and transfer to EffectMiscValue_1 the corresponding line of SpellShapeshiftForm.dbc, ie 1 for feline form or 5 for bear form.

At this level you will have your changeform for example to transform yourself into a bear or another custom form but you can still use your spells, which would allow a mage transformed into a bear to always be able to cast a frostbolt, which is not not top Smile

3) Locking spells so that they can only be used in this form

For a spell to be usable only in a form or group of form it will first be necessary to create a list of authorized form in spellshapeshift.dbc ->
The value of spellshapeshift.dbc -> ShapeshiftMask_ is a bit combination (refer to the wiki -> spellshapeshiftform.dbc), for example if you want your spell to be usable only in the form of a string or a bear shape. is to say posture N ° 1 and posture N ° 5, it will be necessary to inform ShapeshiftMask_ with 1 + 16 that is to say 17


So there is a small limitation of spellshapeshift.dbc, it is that only 32bits can be activated for ShapeshiftMask_1 and 32bits for ShapeshiftMask_2, that is to say 64 postures maximum which can lock spells (the first 32 in ShapeshiftMask_1 and the last 32 in ShapeshiftMask_2).
If you want to create a form with unlocked spells you can go beyond 64, for example for a flight form, in this case you will need to add 1 entry in the core -> unit.h -> enum ShapeshiftForm, for example : FORM_maposturecustom = 65.
The logic but I have not verified it would like ShapeshiftExlude to work as for Shapeshift but to prohibit these postures.

Imgur: The magic of the Internet

Once this entry created in spellshapeshift.dbc (ID) it must be assigned to the spell, for that enter the ID of this line created in spellshapeshift.dbc in the ShapeshiftID column of spell.dbc

Imgur: The magic of the Internet

Here, I hope this tutorial will be useful and not too obscure, good game to you =)

Credit to : Stitch from Aquayoup
 
Last edited by a moderator:
Top