Phaser un Joueur par Spell
Ce tutoriel a été rédigé par Stitch.
Introduction
Ce guide explique comment utiliser des spells pour changer la phase d'un joueur. Parfait pour crĂ©er du contenu de quĂȘte progressif sans toucher au code C++. Tout se fait via la table spell_area.
1. Principe de Base
Qu'est-ce que le phasing par spell ?
Au lieu de changer manuellement la phase d'un joueur, un spell automatique le fait selon des conditions (quĂȘte active, zone, etc.).
Exemple concret : QuĂȘte "Dans le royaume des ombres" (ID 12687) - Zone de dĂ©part DK
- Le joueur prend la quĂȘte â Spell 52693 l'envoie en Phase 174
- Il voit des NPCs et objets différents
- Il rend la quĂȘte â Retour Ă la phase normale
2. Configuration Automatique
Ătape 1 : Trouver la zone
.gps en jeu â Notez l'ID de zone (ex: 4298)
Ătape 2 : Configurer spell_area
Ouvrez la table spell_area dans votre base de données.
Colonnes importantes :
| Colonne | Description | Exemple |
spell | ID du spell qui phase | 52693 |
area | ID de la zone | 4298 |
quest_start | QuĂȘte de dĂ©part | 12687 |
quest_end | QuĂȘte de fin | 12687 |
quest_start_status | Ătat requis pour dĂ©but | 74 |
quest_end_status | Ătat requis pour fin | 74 |
autocast | Activation auto (1=oui) | 1 |
Exemple d'entrée :
INSERT INTO spell_area (spell, area, quest_start, quest_end, quest_start_status, quest_end_status, autocast)
VALUES (52693, 4298, 12687, 12687, 74, 74, 1);
Ătape 3 : Comprendre les statuts de quĂȘte
Les colonnes quest_start_status et quest_end_status utilisent des flags (additionnables) :
| Flag | Valeur | Ătat |
| NONE | 1 | Pas encore prise |
| COMPLETE | 2 | Objectifs remplis, pas rendue |
| INCOMPLETE | 8 | En cours |
| FAILED | 32 | ĂchouĂ©e |
| REWARDED | 64 | Rendue (récompensée) |
Exemples de combinaisons :
74 = 64 + 8 + 2 (Rendue OU En cours OU Complétée)
10 = 8 + 2 (En cours OU Complétée)
Filtres additionnels
Race :
0 ou 44042239 = Toutes
18875469 = Alliance
33555378 = Horde
Sexe :
0 = Homme
1 = Femme
2 = Les deux
3. Déclenchement Manuel (via SmartAI)
Phaser un joueur
ScĂ©nario : Un NPC phase le joueur quand il accepte une quĂȘte
-- Event : Quand le joueur accepte la quĂȘte
event_type = 19 -- SMART_EVENT_ACCEPTED_QUEST
event_param1 = 12687 -- ID de la quĂȘte
-- Action : Lancer le spell de phase
action_type = 86 -- SMART_ACTION_CROSS_CAST
action_param1 = 52693 -- ID du spell de phase
action_param2 = 7 -- Target type: CASTER
-- Target : Le joueur
target_type = 7 -- SMART_TARGET_ACTION_INVOKER
Retirer la phase
ScĂ©nario : Un NPC retire la phase quand le joueur rend la quĂȘte
-- Event : Quand le joueur rend la quĂȘte
event_type = 20 -- SMART_EVENT_REWARDED_QUEST
event_param1 = 12687
-- Action : Retirer l'aura de phase
action_type = 28 -- SMART_ACTION_REMOVEAURASFROMSPELL
action_param1 = 52693 -- ID du spell de phase
-- Target : Le joueur
target_type = 7 -- SMART_TARGET_ACTION_INVOKER
4. Exemples Pratiques
ScĂ©nario 1 : QuĂȘte simple
Phase le joueur quand il prend la quĂȘte, dĂ©phasĂ© quand il la rend.
INSERT INTO spell_area
VALUES (52693, 4298, 12687, 12687, 8, 64, 0, 0, 2, 1);
-- Status 8 = En cours
-- Status 64 = Rendue
ScĂ©nario 2 : Suite de quĂȘtes
Phase du dĂ©but de la premiĂšre quĂȘte jusqu'Ă la fin de la derniĂšre.
INSERT INTO spell_area
VALUES (55123, 4200, 10001, 10005, 8, 64, 0, 0, 2, 1);
-- Phases de la quĂȘte 10001 Ă 10005
Scénario 3 : Zone spéciale Alliance
INSERT INTO spell_area
VALUES (60000, 5000, 0, 0, 1, 1, 18875469, 2, 2, 1);
-- racemask = 18875469 (Alliance)
-- Pas de condition de quĂȘte (quest = 0)
5. Liste de Spells de Phase Courants
Voici des spells utilisés dans WoW pour phaser :
| Spell ID | Phase |
| 52693 | 174 |
| 59074 | 171 |
| 67789 | 179 |
| 68480 | 180 |
| 68481 | 181 |
| 68482 | 182 |
| 68483 | 183 |
| 69077 | 184 |
| 69078 | 185 |
| 69484 | 186 |
| 69486 | 188 |
| 70695 | 189 |
| 70696 | 190 |
| 74093 | 191 |
| 74094 | 192 |
| 74095 | 193 |
| 74096 | 194 |
| 74097 | 195 |
6. Trouver un Spell de Phase
MĂ©thode 1 : Via une quĂȘte existante
- Trouvez une quĂȘte Blizzlike qui utilise des phases
- Cherchez son ID sur Wowhead
- Filtrez
spell_area par quest_start ou quest_end
- Récupérez le
spell ID
Méthode 2 : Via la zone
- Allez dans la zone en jeu
- Utilisez
.gps pour l'ID de zone
- Filtrez
spell_area par area
- Regardez les spells utilisés
Méthode 3 : Créer votre propre spell
Vous pouvez créer un spell custom dans spell_dbc avec l'effet SPELL_AURA_PHASE (261).
7. Commandes Utiles
Joueur
.character phase [phaseMask] -- Changer la phase d'un joueur
.gps -- Obtenir l'ID de zone
GameObject
.gob set phase [GUID] [phase] -- Changer la phase d'un objet
8. Ressources
Documentation officielle
Outils
- Wowhead : Trouver les IDs de quĂȘtes et spells
- Keira3 / WoWDatabaseEditor : Ăditeur visuel pour SmartAI
- HeidiSQL/Navicat/SQLyog : Client MySQL recommandé