*added script for quest: Escaping the Tomb (10887) original patch by: Naturamen

*fix world_script_waypoints.sql format

--HG--
branch : trunk
This commit is contained in:
Rat
2009-08-14 14:38:44 +02:00
parent 1bb93e3534
commit 759721bb5f
4 changed files with 132 additions and 10 deletions

View File

@@ -1019,14 +1019,31 @@ INSERT INTO `script_waypoint` VALUES
(3678, 23, 114.619, 235.908, -96.0495, 0, ''),
(3678, 24, 114.777, 237.155, -96.0304, 2500, 'NARALEX_EVENT_FINISHED');
/* EOF */
DELETE FROM `script_waypoint` WHERE `entry` = 22424;
INSERT INTO `script_waypoint` VALUES
('22424','0','-3605.719971','4175.580078','-0.031817','0','START_SKYWING'),
('22424','1','-3602.311279','4253.213867','0.562436','0',''),
('22424','2','-3529.151367','4263.524414','-7.871151','0',''),
('22424','3','-3448.130371','4257.990723','-11.626289','0',''),
('22424','4','-3377.783936','4209.064941','-9.476727','0',''),
('22424','5','-3378.211426','4154.628418','0.366330','0',''),
('22424','6','-3376.920166','4085.501709','14.178538','0',''),
('22424','7','-3399.274658','4055.948975','18.603474','0',''),
('22424','8','-3432.678223','4054.069824','29.588032','10000','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','0','-3605.719971','4175.580078','-0.031817','0','START_SKYWING');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','1','-3602.311279','4253.213867','0.562436','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','2','-3529.151367','4263.524414','-7.871151','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','3','-3448.130371','4257.990723','-11.626289','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','4','-3377.783936','4209.064941','-9.476727','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','5','-3378.211426','4154.628418','0.366330','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','6','-3376.920166','4085.501709','14.178538','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','7','-3399.274658','4055.948975','18.603474','0','');
insert into `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) values('22424','8','-3432.678223','4054.069824','29.588032','10000','');
DELETE FROM `script_waypoint` WHERE `entry` = 22377;
INSERT INTO `script_waypoint` VALUES
(22377, 0, -2766.31, 5429.65, -34.53, 0, ''),
(22377, 1, -2769.35, 5416.25, -34.53, 0, ''),
(22377, 2, -2780.07, 5416.06, -34.53, 1000, ''),
(22377, 3, -2812.56, 5415.20, -34.53, 1000, ''),
(22377, 4, -2816.95, 5415.02, -34.52, 0, ''),
(22377, 5, -2827.86, 5414.56, -28.29, 0, ''),
(22377, 6, -2878.32, 5414.11, -28.26, 0, ''),
(22377, 7, -2893.17, 5413.15, -18.59, 0, ''),
(22377, 8, -2896.36, 5409.65, -18.59, 0, ''),
(22377, 9, -2896.50, 5396.76, -8.77, 0, ''),
(22377, 10, -2896.67, 5366.20, -9.59, 0, ''),
(22377, 11, -2888.23, 5330.39, -11.19, 2000, '');
/* EOF */

View File

@@ -996,6 +996,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_floon' WHERE `entry`=18588;
UPDATE `creature_template` SET `ScriptName`='npc_isla_starmane' WHERE `entry`=18760;
UPDATE `creature_template` SET `ScriptName`='mob_unkor_the_ruthless' WHERE `entry`=18262;
UPDATE `creature_template` SET `ScriptName`='npc_slim' WHERE `entry`=19679;
UPDATE `creature_template` SET `ScriptName`='npc_akuno' WHERE `entry`=22377;
/* THOUSAND NEEDLES */
UPDATE `creature_template` SET `ScriptName`='npc_paoka_swiftmountain' WHERE `entry`=10427;

View File

@@ -0,0 +1,16 @@
UPDATE `creature_template` SET `ScriptName`='npc_akuno' WHERE `entry`=22377;
DELETE FROM `script_waypoint` WHERE `entry`=22377;
INSERT INTO `script_waypoint` VALUES
(22377, 0, -2766.31, 5429.65, -34.53, 0, ''),
(22377, 1, -2769.35, 5416.25, -34.53, 0, ''),
(22377, 2, -2780.07, 5416.06, -34.53, 1000, ''),
(22377, 3, -2812.56, 5415.20, -34.53, 1000, ''),
(22377, 4, -2816.95, 5415.02, -34.52, 0, ''),
(22377, 5, -2827.86, 5414.56, -28.29, 0, ''),
(22377, 6, -2878.32, 5414.11, -28.26, 0, ''),
(22377, 7, -2893.17, 5413.15, -18.59, 0, ''),
(22377, 8, -2896.36, 5409.65, -18.59, 0, ''),
(22377, 9, -2896.50, 5396.76, -8.77, 0, ''),
(22377, 10, -2896.67, 5366.20, -9.59, 0, ''),
(22377, 11, -2888.23, 5330.39, -11.19, 2000, '');

View File

@@ -613,6 +613,88 @@ bool GossipSelect_npc_slim(Player* pPlayer, Creature* pCreature, uint32 uiSender
return true;
}
/*########
####npc_Akuno
#####*/
#define QUEST_NPC_AKUNO 10887
#define Summon 21661
struct TRINITY_DLL_DECL npc_akunoAI : public npc_escortAI
{
npc_akunoAI(Creature *c) : npc_escortAI(c) {}
bool IsWalking;
void WaypointReached(uint32 i)
{
Player* player = Unit::GetPlayer(PlayerGUID);
if(!player)
return;
if(IsWalking && !m_creature->HasUnitMovementFlag(MOVEMENTFLAG_WALK_MODE))
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
switch(i)
{
case 0 : m_creature->setFaction(5);break;
case 3 : m_creature->SummonCreature(Summon,-2795.99,5420.33,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
m_creature->SummonCreature(Summon,-2793.55,5412.79,-34.53,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 11 : {
if(player && player->GetTypeId() == TYPEID_PLAYER)
((Player*)player)->GroupEventHappens(QUEST_NPC_AKUNO,m_creature);
m_creature->setFaction(18);break;
}
}
}
void Aggro(Unit* who)
{}
void Reset()
{
if (IsWalking && !m_creature->HasUnitMovementFlag(MOVEMENTFLAG_WALK_MODE))
{
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
return;
}
IsWalking=false;
}
void JustDied(Unit* killer)
{
if (PlayerGUID)
{
if (Player* player = Unit::GetPlayer(PlayerGUID))
player->FailQuest(QUEST_NPC_AKUNO);
}
}
void UpdateAI(const uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
};
bool QuestAccept_npc_akuno(Player* player, Creature* creature, Quest const* quest)
{
if(quest->GetQuestId() == QUEST_NPC_AKUNO)
{
((npc_escortAI*)creature->AI())->Start(false,true,player->GetGUID());
}
return true;
}
CreatureAI* GetAI_npc_akuno(Creature *_Creature)
{
npc_akunoAI* thisAI = new npc_akunoAI(_Creature);
thisAI->FillPointMovementListForCreature();
return(CreatureAI*)thisAI;
}
void AddSC_terokkar_forest()
{
Script *newscript;
@@ -666,5 +748,11 @@ void AddSC_terokkar_forest()
newscript->pGossipHello = &GossipHello_npc_slim;
newscript->pGossipSelect = &GossipSelect_npc_slim;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_akuno";
newscript->GetAI = &GetAI_npc_akuno;
newscript->pQuestAccept = &QuestAccept_npc_akuno;
newscript->RegisterSelf();
}