*Support for quest 6523

--HG--
branch : trunk
This commit is contained in:
Blaymoira
2009-01-15 20:42:41 +01:00
parent 65bd8648f0
commit e9fdfb434a
3 changed files with 124 additions and 2 deletions

View File

@@ -0,0 +1 @@
update creature_template set scriptname='npc_kaya_flathoof' where entry=11856;

View File

@@ -17,11 +17,17 @@
/* ScriptData
SDName: Stonetalon_Mountains
SD%Complete: 95
SDComment: Quest support: 6627 (Braug Dimspirits questions/'answers' might have more to it, need more info)
SDComment: Quest support: 6627, 6523
SDCategory: Stonetalon Mountains
EndScriptData */
/* ContentData
npc_braug_dimspirit
npc_kaya_flathoof
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
/*######
## npc_braug_dimspirit
@@ -64,6 +70,115 @@ bool GossipSelect_npc_braug_dimspirit(Player *player, Creature *_Creature, uint3
return true;
}
/*######
## npc_kaya_flathoof
######*/
#define SAY_START "Let's go before they find out I'm free!"
#define SAY_AMBUSH "Look out! We're under attack!"
#define SAY_END "Thank you for helping me. I know my way back from here."
#define QUEST_PK 6523
#define MOB_GB 11912
#define MOB_GR 11910
#define MOB_GS 11913
struct TRINITY_DLL_DECL npc_kaya_flathoofAI : public npc_escortAI
{
npc_kaya_flathoofAI(Creature* c) : npc_escortAI(c) {Reset();}
void WaypointReached(uint32 i)
{
Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
if(!player)
return;
switch(i)
{
case 22:
DoSay(SAY_AMBUSH, LANG_UNIVERSAL, NULL);
m_creature->SummonCreature(MOB_GB, -48.53, -503.34, -46.31, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
m_creature->SummonCreature(MOB_GR, -38.85, -503.77, -45.90, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
m_creature->SummonCreature(MOB_GS, -36.37, -496.23, -45.71, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 23: m_creature->SetInFront(player);
DoSay(SAY_END, LANG_UNIVERSAL, player, true);
if (player && player->GetTypeId() == TYPEID_PLAYER)
((Player*)player)->GroupEventHappens(QUEST_PK, m_creature);
break;
}
}
void JustSummoned(Creature* summoned)
{
summoned->AI()->AttackStart(m_creature);
}
void Reset(){}
void Aggro(Unit* who){}
void JustDied(Unit* killer)
{
if (PlayerGUID)
{
Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_PK);
}
}
void UpdateAI(const uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
};
bool QuestAccept_npc_kaya_flathoof(Player* player, Creature* creature, Quest const* quest)
{
if (quest->GetQuestId() == QUEST_PK)
{
((npc_escortAI*)(creature->AI()))->Start(true, true, false, player->GetGUID());
creature->Say(SAY_START, LANG_UNIVERSAL, NULL);
creature->setFaction(113);
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2);
}
return true;
}
CreatureAI* GetAI_npc_kaya_flathoofAI(Creature *_Creature)
{
npc_kaya_flathoofAI* thisAI = new npc_kaya_flathoofAI(_Creature);
thisAI->AddWaypoint(0, 122.37, -345.80, 3.59);
thisAI->AddWaypoint(1, 113.69, -350.01, 4.54);
thisAI->AddWaypoint(2, 107.32, -353.09, 3.33);
thisAI->AddWaypoint(3, 99.25, -342.43, 2.87);
thisAI->AddWaypoint(4, 111.19, -315.60, 3.71);
thisAI->AddWaypoint(5, 109.99, -293.92, 5.16);
thisAI->AddWaypoint(6, 104.59, -268.27, 4.78);
thisAI->AddWaypoint(7, 82.80, -247.28, 5.73);
thisAI->AddWaypoint(8, 66.44, -245.99, 5.85);
thisAI->AddWaypoint(9, 34.36, -246.01, 5.97);
thisAI->AddWaypoint(10, 13.24, -245.61, 5.25);
thisAI->AddWaypoint(11, -10.27, -248.66, 4.69);
thisAI->AddWaypoint(12, -26.07, -262.76, 0.01);
thisAI->AddWaypoint(13, -33.15, -282.03, -4.12);
thisAI->AddWaypoint(14, -28.42, -315.52, -8.56);
thisAI->AddWaypoint(15, -32.05, -339.34, -10.84);
thisAI->AddWaypoint(16, -35.22, -358.11, -16.20);
thisAI->AddWaypoint(17, -51.57, -391.63, -24.85);
thisAI->AddWaypoint(18, -58.58, -409.08, -29.97);
thisAI->AddWaypoint(19, -60.37, -441.23, -36.80);
thisAI->AddWaypoint(20, -59.03, -476.39, -44.98);
thisAI->AddWaypoint(21, -53.18, -490.31, -46.11);
thisAI->AddWaypoint(22, -43.77, -497.99, -46.13, 3000);// summon
thisAI->AddWaypoint(23, -41.77, -518.15, -46.13, 5000);//end
return (CreatureAI*)thisAI;
}
/*######
## AddSC
######*/
@@ -77,4 +192,10 @@ void AddSC_stonetalon_mountains()
newscript->pGossipHello = &GossipHello_npc_braug_dimspirit;
newscript->pGossipSelect = &GossipSelect_npc_braug_dimspirit;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_kaya_flathoof";
newscript->GetAI = &GetAI_npc_kaya_flathoofAI;
newscript->pQuestAccept = &QuestAccept_npc_kaya_flathoof;
newscript->RegisterSelf();
}

View File

@@ -17,7 +17,7 @@
/* ScriptData
SDName: Undercity
SD%Complete: 95
SDComment: Quest support: 6628(Parqual Fintallas questions/'answers' might have more to it, need more info), 9180(post-event).
SDComment: Quest support: 6628, 9180(post-event).
SDCategory: Undercity
EndScriptData */