#include "precompiled.h"
#include "escort_ai.h"
enum
{
//Quete
QUEST_FAITES_MOI_SORTIR = 6132,
//Donneur de quete
NPC_MELIZZA_BRIMBUZZLE = 12277,
//Mob
NPC_MOB_1 = 4659, //Mob Maraudeur
NPC_MOB_2 = 4655, //Mob Wrangler
NPC_MOB_3 = 4660, //Mob ChienChien
//Objet
Objet_1 = 30188 // Cage de Melizza / Doit s'ouvrir au debut de l'escort
};
struct MANGOS_DLL_DECL npc_melizza_brimbuzzleAI : public npc_escortAI
{
npc_melizza_brimbuzzleAI(Creature* pCreature) : npc_escortAI(pCreature) { Reset(); }
void WaypointReached(uint32 WP)
{
switch (WP)
{
case 10:
m_creature->SummonCreature(NPC_MOB_1, -1281.74f, 2669.29f, 111.55f, 6.13f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_1, -1274.81f, 2657.07f, 111.61f, 1.49f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_1, -1260.38f, 2662.90f, 111.87f, 2.74f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_1, -1264.36f, 2678.72f, 111.63f, 4.16f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
break;
case 19:
m_creature->SummonCreature(NPC_MOB_3, -1377.03f, 2496.34f, 90.37f, 1.82f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_3, -1380.83f, 2496.86f, 90.16f, 1.45f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_3, -1385.38f, 2497.92f, 90.38f, 1.14f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_2, -1384.53f, 2491.17f, 89.20f, 1.21f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
m_creature->SummonCreature(NPC_MOB_2, -1378.99f, 2490.38f, 89.41f, 1.51f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
break;
case 20:
if (Player* pPlayer = GetPlayerForEscort())
pPlayer->GroupEventHappens(QUEST_FAITES_MOI_SORTIR, m_creature);
break;
}
}
void Reset()
{
}
void Aggro(Unit* who)
{
}
void JustSummoned(Creature* summoned)
{
summoned->AI()->AttackStart(m_creature);
}
};
CreatureAI* GetAI_npc_melizza_brimbuzzle(Creature* pCreature)
{
return new npc_melizza_brimbuzzleAI(pCreature);
}
bool QuestAccept_npc_melizza_brimbuzzle(Player* pPlayer, Creature* pCreature, const Quest* pQuest)
{
if (pQuest->GetQuestId() == QUEST_FAITES_MOI_SORTIR)
{
pCreature->SetStandState(UNIT_STAND_STATE_STAND);
if (pPlayer->GetTeam() == ALLIANCE)
pCreature->setFaction(FACTION_ESCORT_A_PASSIVE);
if (pPlayer->GetTeam() == HORDE)
pCreature->setFaction(FACTION_ESCORT_H_PASSIVE);
if (npc_melizza_brimbuzzleAI* pEscortAI = dynamic_cast<npc_melizza_brimbuzzleAI*>(pCreature->AI()))
pEscortAI->Start(false, pPlayer, pQuest);
}
return true;
}
void AddSC_npc_melizza_brimbuzzle()
{
Script* pNewScript;
pNewScript = new Script;
pNewScript->Name = "npc_melizza_brimbuzzle";
pNewScript->GetAI = &GetAI_npc_melizza_brimbuzzle;
pNewScript->pQuestAcceptNPC = &QuestAccept_npc_melizza_brimbuzzle;
pNewScript->RegisterSelf();
}
//////////////////////
//////////////////////
//////////////////////
//////////////////////
INSERT INTO `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`)
VALUES
('29197','0','-1152.34','2707.53','111','0',''),
('29197','1','-1154.7','2709.02','111','0','Ouverture porte'),
('29197','2','-1163.82','2714','111','0',''),
('29197','3','-1173.41','2716.8','112','0',''),
('29197','4','-1187.24','2713.8','111','0',''),
('29197','5','-1199.4','2707.65','111','0',''),
('29197','6','-1214.77','2699.27','111','0',''),
('29197','7','-1233.21','2689.24','111','0',''),
('29197','8','-1251.66','2679.21','111','0',''),
('29197','9','-1271.41','2668.08','111','0',''),
('29197','10','-1285.41','2653.19','111','0','Attaque 1'),
('29197','11','-1298.29','2636.6','111','0',''),
('29197','12','-1311.85','2618.39','111','0',''),
('29197','13','-1326.23','2602.43','111','0',''),
('29197','14','-1347.03','2584.68','111','0',''),
('29197','15','-1357.15','2569.41','111','0',''),
('29197','16','-1368.22','2556.44','109','0',''),
('29197','17','-1372.17','2538.13','103','0',''),
('29197','18','-1375.69','2519.64','97','0',''),
('29197','19','-1379.79','2506.89','92','0','Attaque 2'),
('29197','20','-1381.12','2489.3','89','0','Valide quete'),
('29197','21','-1384.06','2469.5','88','0','');