DBC 6xx Création ou Modification de spell
#1
[Image: Mage.jpg]

Créer un tuto sur la création de spell est un peut utopique puisque les combinaisons sont très nombreuses , je ne peux donc que reprendre le wiki et les centraliser sur une seule page .

1) Pour créer un sort grâce aux DBx je recommande de suivre ces quelques règles :
  • Ne jamais supprimer une ligne ou modifier un N° d'index d'un spell original
  • Toujours garder des sauvegardes avant modification
  • Comme dans smartAI faire attention au temporisation pour certaines Aura : certaines aura par exemple peuvent durer 10s mais lancer un regen chaque 2s , ce temps est donné en mili seconde , oublier de renseigner la bonne case équivaut a le définir comme lancer un regen chaque 0s . Je ne vous fais pas un dessin surtout si plusieurs mobs lancent ce sort .
  • Mème pour une création je vous recommande de ne pas partir de zero mais de dupliquer un spell similaire et de modifier cette copie , c'est le meilleur moyen de ne pas oublier une variable/colonne secondaire (tout les sort n'utilisent pas les mêmes variables/colonne)
  • Afin de ne pas faire un tuto trop compliqué qui ferait 25 pages , je n'entrerais pas dans les détails . Reportez vous au wiki afin d'avoir plus de renseignement sur les dbc .
2) Pour information les DBx contiennent 2 types de variables :
  • Une valeur ou un texte , par exemple un montant de dégât ou le nom d'un sort
  • Un pointeur vers une autre DBx , dans ce cas vous trouverez dans cette colonne l'ID de cette DBx pointé (indiqué par le nom de la colonne)
3) Les DBx indispensables pour être reconnu par le serveur et le client : ce sont les DBx indispensable ou il est obligatoire d'avoir une entrée
  • spell.dbc : c'est la dbc principale qui sert de sommaire
  • spellmisc.dbc : cette dbc est une extension de spell.dbc , je suppose que blizzard a séparé cette dbc de spell.dbc afin de brouiller les pistes
  • spelleffect.dbc : cette dbc défini ce que va faire ce spell , dégat , regen , morph , etc

spell.dbc :
  • ID : doit être unique
  • Name_lang : Le nom du spell comme il apparait dans le jeu
  • Description_Lang : ce qui s'affiche lorsque l'on passe la soris sur son icone
  • AuraOption (optionnel) : cette colonne pointe sur SpellAuraOptions.dbc et sert par exemple pour un sort qui reste actif a définir le nombre de fois qu'il peut être actif .
  • Cooldowns (optionnel) : cette colonne pointe sur SpellCooldowns.dbc et défini le temps de recharge du spell
  • EquippedItemID (optionnel) : cette colonne désigne un équipement nécéssaire pour utiliser ce sort (arme une main, deux mains , dague , etc)
  • ShapeshiftID (optionnel) : cette colonne pointe sur SpellShapeshift.dbc et défini que ce spell a besoin du changeform pointé de SpellShapeshift.dbc pour etre utilisable.
  • MiscID (indispensable) :cette colonne pointe sur Spellmisc.dbc et doit etre crée ou exister , par commodité perso j'utilise la meme ID pour un spell custom que pour l'ID de Spellmisc.dbc
spellmisc.dbc :
  • ID : doit être unique
  • Attribute_x (optionnel) : Défini des flag pour un spell comme par exemple , doit être de face , désactive un changeform , doit etre camouflé , etc
  • CastingTimeIndex (optionnel) : pointe sur SpellCastTimes.db2 et défini le temps pour lancer un sort
  • DurationIndex (optionnel) : pointe sur SpellDuration.db2 et défini la durée de vie du spell
  • Range (optionnel) : pointe sur SpellRange.db2 et défini la distance d'action du spell
  • Speed (optionnel) : Peux jouer/buguer l'animation du spell
  • SpellIconID (optionnel) : Pointe sur spellicon.dbc , je recommande d'extraire le client avec CascExplorer pour retrouver facilement un icon et donc son nom pressent dans spellicon.dbc . un icon perso peut etre placé dans le client  \Interface\Icons
  • ActiveIconID (optionnel) : Un icone alternatif par exemple quand une aura est actif
  • ShoolMask (optionnel) : type de magie : Physique=1 , Sacré=2 , Feu=4 , Nature=8 , Givre=16 , Ombre=32 , Arcane=64
spelleffect.dbc : la principale dbc qui sert a définir ce que fait le sort

Les 3 colonnes principales :
  • Effect : défini le type d'action comme 2=degats des sort,17=degats des arme , 6=aura (option importante qui indique que le sort agit dans le temps , dans ce cas Effect aura,EffectAudaPeriod doivent etre renseigné) , 32=lance un spell en parallele , ...
  • SpellID : l'ID du spell
  • EffectIndex : chaque sort peux avoir plusieurs effets , chaque effet a un EffectIndex propre
Les colonnes secondaires :
  • EffectAura : Complémentaire a Effect 6 défini le type d'action pour une aura c'est a dire un sort qui dure un certain temps
  • EffectAuraPeriode : en mili seconde , indique que EffectAura s'executera chaque x mili  seconde
  • EffectBasePoint : une valeur pour l'effet , par exemple un spell de soin avec un EffectBasePoint = 100 soignera 100 pv ou 100% en fonction de l'effect , indépendant du lvl
  • EffectChaintargets : le nombre de cible
  • EffectMechanic : pour certain sort indique que ce sort provoque un fear,stun,etc
  • EffectMiscValue : paramétrè pour certain spell
  • EffectRadius_1 : indique un rayon d'action du spell (tributaire de la colonne implicit_target )
  • EffectRadius_2 : sert généralement pour la taille d'un cercle de selection
  • EffectRealPointsPerLevel : similaire a EffectBasePoint mais en fonction des level . je conseille de renseigner aussi EffectBasePoint pour ne pas avoir des spell qui tape a 1 au lvl 1
  • EffectTriggerSpell : spell lancé en parallèle
  • ImplicitTarget_1 : désigne la cible ami , ennemie , pet , zone ,etc . Certains sort peuvent nécessiter ImplicitTaget_1 & ImplicitTaget_2 par exemple un certain rayon au tour d'un ennemie

4) Les DBx secondaires : nécessaire pour renseigner par exemple une durée ou une consommation
  • SpellAuraOptions.dbc : nombre de fois qu'un spell de type aura peut etre appliqué
  • SpellPower.db2 : consomation de mana , rage , combo , etc
  • SpellXSpellVisual.db2 : animation et visuel d'un spell
  • SpellIcon.dbc : icone d'un spell
  • SpellCooldowns.dbc : temps de recharge
  • SpellLevels.dbc : joue sur les effect d'un spell en fonction d'un level en définissant un level de base , mini/maxi qui surplantera le lvl du joueur
  • SpellDuration.db2 : durée de vie du spell
  • SpellRange.dbc : porté du spell
  • SpellRadius.db2 : rayon du spell
  • SpellCastTimes.db2 : temps pour lancer un spell
Répondre
#2
Hooo mon bon maistre, voila de l'info comme on en fait plus depuis tres tres longtemps et en plus sur du spell. Merci merci merci ...
Si tu avances, tu meurs ... si tu recules, tu meurs ... alors dis moi ... pourquoi tu recules?
(Proverbe mongol)
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)