Merge & move taxi scripts into one file as npc_taxi

--HG--
branch : trunk
This commit is contained in:
Kudlaty
2009-05-20 07:13:19 +02:00
parent 28d0feabe2
commit 8305f6d3bc
13 changed files with 218 additions and 494 deletions
+1
View File
@@ -32,6 +32,7 @@ SET(trinityscript_LIB_SRCS
scripts/npc/npc_innkeeper.cpp
scripts/npc/npc_professions.cpp
scripts/npc/npcs_special.cpp
scripts/npc/npc_taxi.cpp
scripts/zone/arathi_highlands/arathi_highlands.cpp
scripts/zone/alterac_mountains/alterac_mountains.cpp
scripts/zone/ashenvale_forest/ashenvale.cpp
+2
View File
@@ -77,6 +77,7 @@ extern void AddSC_item_scripts();
// -- NPC --
extern void AddSC_npc_professions();
extern void AddSC_npcs_special();
extern void AddSC_npc_taxi();
// -- Servers --
@@ -953,6 +954,7 @@ void ScriptsInit(char const* cfg_file = "trinitycore.conf")
// -- NPC --
AddSC_npc_professions();
AddSC_npcs_special();
AddSC_npc_taxi();
// -- Servers --
@@ -0,0 +1,213 @@
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* ScriptData
SDName: Npc_Taxi
SD%Complete: 0%
SDComment: To be used for taxi NPCs that are located globally.
SDCategory: NPCs
EndScriptData
*/
#include "precompiled.h"
bool GossipHello_npc_taxi(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
switch(_Creature->GetEntry()) {
case 17435: // Azuremyst Isle - Susurrus
if (player->HasItemCount(23843,1,true))
player->ADD_GOSSIP_ITEM(0, "I am ready.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
break;
case 20903: // Netherstorm - Protectorate Nether Drake
if(player->GetQuestStatus(10438) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(29778,1))
player->ADD_GOSSIP_ITEM(0, "I'm ready to fly! Take me up, dragon!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
break;
case 18725: // Old Hillsbrad Foothills - Brazen
player->ADD_GOSSIP_ITEM(0, "I am ready to go to Durnholde Keep.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
break;
case 29154: // Stormwind City - Thargold Ironwing
player->ADD_GOSSIP_ITEM(0, "I'd like to take a flight around Stormwind Harbor.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
break;
case 19409: // Hellfire Peninsula - Wing Commander Dabir'ee
//Mission: The Murketh and Shaadraz Gateways
if (player->GetQuestStatus(10146) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "Fly me to Murketh and Shaadraz Gateways", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
//Shatter Point
if (!player->GetQuestRewardStatus(10340))
player->ADD_GOSSIP_ITEM(0, "Fly me to Shatter Point", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
break;
case 20235: // Hellfire Peninsula - Gryphoneer Windbellow
//Mission: The Abyssal Shelf || Return to the Abyssal Shelf
if (player->GetQuestStatus(10163) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10346) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "Fly me to The Abyssal Shelf", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
//Go to the Front
if (player->GetQuestStatus(10382) != QUEST_STATUS_NONE && !player->GetQuestRewardStatus(10382))
player->ADD_GOSSIP_ITEM(0, "Fly me to Honor Point", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
break;
case 19401: // Hellfire Peninsula - Wing Commander Brack
//Mission: The Murketh and Shaadraz Gateways
if (player->GetQuestStatus(10129) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "Fly me to Murketh and Shaadraz Gateways", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
//Mission: The Abyssal Shelf || Return to the Abyssal Shelf
if (player->GetQuestStatus(10162) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10347) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "Fly me to The Abyssal Shelf", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
//Spinebreaker Post
if (player->GetQuestStatus(10242) == QUEST_STATUS_COMPLETE && !player->GetQuestRewardStatus(10242))
player->ADD_GOSSIP_ITEM(0, "Fly me to Spinebreaker Post", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
break;
case 23413: // Blade's Edge Mountains - Skyguard Handler Irena
if (player->GetReputationRank(1031) >= REP_HONORED)
player->ADD_GOSSIP_ITEM(0, "Fly me to Skettis please", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
break;
case 25059: // Isle of Quel'Danas - Ayren Cloudbreaker
if (player->GetQuestStatus(11532) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11533) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "Speaking of action, I've been ordered to undertake an air strike.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
if (player->GetQuestStatus(11542) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, "I need to intercept the Dawnblade reinforcements.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
break;
case 25236: // Isle of Quel'Danas - Unrestrained Dragonhawk
if (player->GetQuestStatus(11542) == QUEST_STATUS_COMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_COMPLETE)
player->ADD_GOSSIP_ITEM(0, "<Ride the dragonhawk to Sun's Reach>", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
break;
case 20162: // Netherstorm - Veronia
//Behind Enemy Lines
if (player->GetQuestStatus(10652) && !player->GetQuestRewardStatus(10652))
player->ADD_GOSSIP_ITEM(0, "Fly me to Manaforge Coruu please", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15);
break;
case 23415: // Terokkar Forest - Skyguard Handler Deesak
if (player->GetReputationRank(1031) >= REP_HONORED)
player->ADD_GOSSIP_ITEM(0, "Fly me to Ogri'la please", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16);
break;
}
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_taxi(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
std::vector<uint32> nodes;
switch(action) {
case GOSSIP_ACTION_INFO_DEF:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,32474,true); //apparently correct spell, possible not correct place to cast, or correct caster
nodes.resize(2);
nodes[0] = 92; //from susurrus
nodes[1] = 91; //end at exodar
// player->ActivateTaxiPathTo(nodes,11686); //TaxiPath 506. Using invisible model, possible Trinity must allow 0(from dbc) for cases like this.
player->ActivateTaxiPathTo(nodes);
break;
case GOSSIP_ACTION_INFO_DEF + 1:
player->CLOSE_GOSSIP_MENU();
nodes.resize(2);
nodes[0] = 152; //from drake
nodes[1] = 153; //end at drake
player->ActivateTaxiPathTo(nodes); //TaxiPath 627 (possibly 627+628(152->153->154->155) )
break;
case GOSSIP_ACTION_INFO_DEF + 2:
if( !player->HasItemCount(25853,1) ) {
player->SEND_GOSSIP_MENU(9780, _Creature->GetGUID());
} else {
player->CLOSE_GOSSIP_MENU();
nodes.resize(2);
nodes[0] = 115; //from brazen
nodes[1] = 116; //end outside durnholde
player->ActivateTaxiPathTo(nodes); //TaxiPath 534
}
break;
case GOSSIP_ACTION_INFO_DEF + 3:
player->CLOSE_GOSSIP_MENU();
player->GetSession()->SendDoFlight(1149, 1041);
break;
case GOSSIP_ACTION_INFO_DEF + 4:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33768,true); //TaxiPath 585 (Gateways Murket and Shaadraz)
break;
case GOSSIP_ACTION_INFO_DEF + 5:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,35069,true); //TaxiPath 612 (Taxi - Hellfire Peninsula - Expedition Point to Shatter Point)
break;
case GOSSIP_ACTION_INFO_DEF + 6:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33899,true); //TaxiPath 589 (Aerial Assault Flight (Alliance))
break;
case GOSSIP_ACTION_INFO_DEF + 7:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,35065,true); //TaxiPath 607 (Taxi - Hellfire Peninsula - Shatter Point to Beach Head)
break;
case GOSSIP_ACTION_INFO_DEF + 8:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33659,true); //TaxiPath 584 (Gateways Murket and Shaadraz)
break;
case GOSSIP_ACTION_INFO_DEF + 9:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33825,true); //TaxiPath 587 (Aerial Assault Flight (Horde))
break;
case GOSSIP_ACTION_INFO_DEF + 10:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,34578,true); //TaxiPath 604 (Taxi - Reaver's Fall to Spinebreaker Ridge)
break;
case GOSSIP_ACTION_INFO_DEF + 11:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,41278,true); //TaxiPath 706
break;
case GOSSIP_ACTION_INFO_DEF + 12:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45071,true); //TaxiPath 779
break;
case GOSSIP_ACTION_INFO_DEF + 13:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45113,true); //TaxiPath 784
break;
case GOSSIP_ACTION_INFO_DEF + 14:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45353,true); //TaxiPath 788
break;
case GOSSIP_ACTION_INFO_DEF + 15:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,34905,true); //TaxiPath 606
break;
case GOSSIP_ACTION_INFO_DEF + 16:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,41279,true); //TaxiPath 705 (Taxi - Skettis to Skyguard Outpost)
break;
}
return true;
}
void AddSC_npc_taxi()
{
Script *newscript;
newscript = new Script;
newscript->Name="npc_taxi";
newscript->pGossipHello = &GossipHello_npc_taxi;
newscript->pGossipSelect = &GossipSelect_npc_taxi;
newscript->RegisterSelf();
}
@@ -26,7 +26,6 @@ npc_draenei_survivor
npc_engineer_spark_overgrind
npc_injured_draenei
npc_magwin
npc_susurrus
npc_geezle
mob_nestlewood_owlkin
EndContentData */
@@ -387,41 +386,6 @@ CreatureAI* GetAI_npc_magwinAI(Creature* pCreature)
return (CreatureAI*)magwinAI;
}
/*######
## npc_susurrus
######*/
bool GossipHello_npc_susurrus(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
if (player->HasItemCount(23843,1,true))
player->ADD_GOSSIP_ITEM(0, "I am ready.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_susurrus(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,32474,true); //apparently correct spell, possible not correct place to cast, or correct caster
std::vector<uint32> nodes;
nodes.resize(2);
nodes[0] = 92; //from susurrus
nodes[1] = 91; //end at exodar
// player->ActivateTaxiPathTo(nodes,11686); //TaxiPath 506. Using invisible model, possible Trinity must allow 0(from dbc) for cases like this.
player->ActivateTaxiPathTo(nodes);
}
return true;
}
/*######
## npc_geezle
######*/
@@ -645,12 +609,6 @@ void AddSC_azuremyst_isle()
newscript->pQuestAccept = &QuestAccept_npc_magwin;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_susurrus";
newscript->pGossipHello = &GossipHello_npc_susurrus;
newscript->pGossipSelect = &GossipSelect_npc_susurrus;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_geezle";
newscript->GetAI = &GetAI_npc_geezleAI;
@@ -27,7 +27,6 @@ mobs_nether_drake
npc_daranelle
npc_overseer_nuaar
npc_saikkal_the_elder
npc_skyguard_handler_irena
go_legion_obelisk
EndContentData */
@@ -330,35 +329,6 @@ bool GossipSelect_npc_saikkal_the_elder(Player *player, Creature *_Creature, uin
return true;
}
/*######
## npc_skyguard_handler_irena
######*/
#define GOSSIP_SKYGUARD "Fly me to Skettis please"
bool GossipHello_npc_skyguard_handler_irena(Player *player, Creature *_Creature )
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
if (player->GetReputationRank(1031) >= REP_HONORED)
player->ADD_GOSSIP_ITEM( 2, GOSSIP_SKYGUARD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_skyguard_handler_irena(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,41278,true); //TaxiPath 706
}
return true;
}
/*######
## go_legion_obelisk
######*/
@@ -440,11 +410,5 @@ void AddSC_blades_edge_mountains()
newscript->Name="go_legion_obelisk";
newscript->pGOHello = &GOHello_go_legion_obelisk;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_skyguard_handler_irena";
newscript->pGossipHello = &GossipHello_npc_skyguard_handler_irena;
newscript->pGossipSelect = &GossipSelect_npc_skyguard_handler_irena;
newscript->RegisterSelf();
}
@@ -22,7 +22,6 @@ SDCategory: Caverns of Time, Old Hillsbrad Foothills
EndScriptData */
/* ContentData
npc_brazen
npc_erozion
npc_thrall_old_hillsbrad
npc_taretha
@@ -38,38 +37,6 @@ EndContentData */
#define QUEST_ENTRY_RETURN 10285
#define ITEM_ENTRY_BOMBS 25853
/*######
## npc_brazen
######*/
bool GossipHello_npc_brazen(Player *player, Creature *_Creature)
{
player->ADD_GOSSIP_ITEM(0, "I am ready to go to Durnholde Keep.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_brazen(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
if( !player->HasItemCount(ITEM_ENTRY_BOMBS,1) )
player->SEND_GOSSIP_MENU(9780, _Creature->GetGUID());
else
{
player->CLOSE_GOSSIP_MENU();
std::vector<uint32> nodes;
nodes.resize(2);
nodes[0] = 115; //from brazen
nodes[1] = 116; //end outside durnholde
player->ActivateTaxiPathTo(nodes); //TaxiPath 534
}
}
return true;
}
/*######
## npc_erozion
######*/
@@ -697,12 +664,6 @@ void AddSC_old_hillsbrad()
{
Script *newscript;
newscript = new Script;
newscript->Name="npc_brazen";
newscript->pGossipHello = &GossipHello_npc_brazen;
newscript->pGossipSelect = &GossipSelect_npc_brazen;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_erozion";
newscript->pGossipHello = &GossipHello_npc_erozion;
@@ -24,9 +24,6 @@ EndScriptData */
/* ContentData
npc_aeranas
go_haaleshi_altar
npc_wing_commander_dabiree
npc_gryphoneer_windbellow
npc_wing_commander_brack
npc_wounded_blood_elf
EndContentData */
@@ -126,136 +123,6 @@ bool GOHello_go_haaleshi_altar(Player *player, GameObject* _GO)
return false;
}
/*######
## npc_wing_commander_dabiree
######*/
#define GOSSIP_ITEM1_DAB "Fly me to Murketh and Shaadraz Gateways"
#define GOSSIP_ITEM2_DAB "Fly me to Shatter Point"
bool GossipHello_npc_wing_commander_dabiree(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
//Mission: The Murketh and Shaadraz Gateways
if (player->GetQuestStatus(10146) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM1_DAB, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
//Shatter Point
if (!player->GetQuestRewardStatus(10340))
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM2_DAB, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_wing_commander_dabiree(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF + 1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33768,true); //TaxiPath 585 (Gateways Murket and Shaadraz)
}
if (action == GOSSIP_ACTION_INFO_DEF + 2)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,35069,true); //TaxiPath 612 (Taxi - Hellfire Peninsula - Expedition Point to Shatter Point)
}
return true;
}
/*######
## npc_gryphoneer_windbellow
######*/
#define GOSSIP_ITEM1_WIN "Fly me to The Abyssal Shelf"
#define GOSSIP_ITEM2_WIN "Fly me to Honor Point"
bool GossipHello_npc_gryphoneer_windbellow(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
//Mission: The Abyssal Shelf || Return to the Abyssal Shelf
if (player->GetQuestStatus(10163) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10346) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM1_WIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
//Go to the Front
if (player->GetQuestStatus(10382) != QUEST_STATUS_NONE && !player->GetQuestRewardStatus(10382))
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM2_WIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_gryphoneer_windbellow(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF + 1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33899,true); //TaxiPath 589 (Aerial Assault Flight (Alliance))
}
if (action == GOSSIP_ACTION_INFO_DEF + 2)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,35065,true); //TaxiPath 607 (Taxi - Hellfire Peninsula - Shatter Point to Beach Head)
}
return true;
}
/*######
## npc_wing_commander_brack
######*/
#define GOSSIP_ITEM1_BRA "Fly me to Murketh and Shaadraz Gateways"
#define GOSSIP_ITEM2_BRA "Fly me to The Abyssal Shelf"
#define GOSSIP_ITEM3_BRA "Fly me to Spinebreaker Post"
bool GossipHello_npc_wing_commander_brack(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
//Mission: The Murketh and Shaadraz Gateways
if (player->GetQuestStatus(10129) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM1_BRA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
//Mission: The Abyssal Shelf || Return to the Abyssal Shelf
if (player->GetQuestStatus(10162) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10347) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM2_BRA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
//Spinebreaker Post
if (player->GetQuestStatus(10242) == QUEST_STATUS_COMPLETE && !player->GetQuestRewardStatus(10242))
player->ADD_GOSSIP_ITEM(2, GOSSIP_ITEM3_BRA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_wing_commander_brack(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
switch(action)
{
case GOSSIP_ACTION_INFO_DEF + 1:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33659,true); //TaxiPath 584 (Gateways Murket and Shaadraz)
break;
case GOSSIP_ACTION_INFO_DEF + 2:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,33825,true); //TaxiPath 587 (Aerial Assault Flight (Horde))
break;
case GOSSIP_ACTION_INFO_DEF + 3:
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,34578,true); //TaxiPath 604 (Taxi - Reaver's Fall to Spinebreaker Ridge)
break;
}
return true;
}
/*######
## npc_wounded_blood_elf
######*/
@@ -386,24 +253,6 @@ void AddSC_hellfire_peninsula()
newscript->pGOHello = &GOHello_go_haaleshi_altar;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_wing_commander_dabiree";
newscript->pGossipHello = &GossipHello_npc_wing_commander_dabiree;
newscript->pGossipSelect = &GossipSelect_npc_wing_commander_dabiree;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_gryphoneer_windbellow";
newscript->pGossipHello = &GossipHello_npc_gryphoneer_windbellow;
newscript->pGossipSelect = &GossipSelect_npc_gryphoneer_windbellow;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_wing_commander_brack";
newscript->pGossipHello = &GossipHello_npc_wing_commander_brack;
newscript->pGossipSelect = &GossipSelect_npc_wing_commander_brack;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_wounded_blood_elf";
newscript->GetAI = &GetAI_npc_wounded_blood_elf;
@@ -22,47 +22,12 @@ SDCategory: Isle Of Quel'Danas
EndScriptData */
/* ContentData
npc_ayren_cloudbreaker
npc_converted_sentry
npc_unrestrained_dragonhawk
npc_greengill_slave
EndContentData */
#include "precompiled.h"
/*######
## npc_ayren_cloudbreaker
######*/
#define GOSSIP_FLY1 "Speaking of action, I've been ordered to undertake an air strike."
#define GOSSIP_FLY2 "I need to intercept the Dawnblade reinforcements."
bool GossipHello_npc_ayren_cloudbreaker(Player *player, Creature *_Creature)
{
if( player->GetQuestStatus(11532) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11533) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, GOSSIP_FLY1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
if( player->GetQuestStatus(11542) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, GOSSIP_FLY2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID());
return true;
}
bool GossipSelect_npc_ayren_cloudbreaker(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45071,true); //TaxiPath 779
}
if (action == GOSSIP_ACTION_INFO_DEF+2)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45113,true); //TaxiPath 784
}
return true;
}
/*######
## npc_converted_sentry
######*/
@@ -113,31 +78,6 @@ CreatureAI* GetAI_npc_converted_sentry(Creature *_Creature)
return new npc_converted_sentryAI (_Creature);
}
/*######
## npc_unrestrained_dragonhawk
######*/
#define GOSSIP_UD "<Ride the dragonhawk to Sun's Reach>"
bool GossipHello_npc_unrestrained_dragonhawk(Player *player, Creature *_Creature)
{
if( player->GetQuestStatus(11542) == QUEST_STATUS_COMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_COMPLETE )
player->ADD_GOSSIP_ITEM(0, GOSSIP_UD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID());
return true;
}
bool GossipSelect_npc_unrestrained_dragonhawk(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,45353,true); //TaxiPath 788
}
return true;
}
/*######
## npc_greengill_slave
######*/
@@ -199,23 +139,11 @@ void AddSC_isle_of_queldanas()
{
Script *newscript;
newscript = new Script;
newscript->Name="npc_ayren_cloudbreaker";
newscript->pGossipHello = &GossipHello_npc_ayren_cloudbreaker;
newscript->pGossipSelect = &GossipSelect_npc_ayren_cloudbreaker;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_converted_sentry";
newscript->GetAI = &GetAI_npc_converted_sentry;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_unrestrained_dragonhawk";
newscript->pGossipHello = &GossipHello_npc_unrestrained_dragonhawk;
newscript->pGossipSelect = &GossipSelect_npc_unrestrained_dragonhawk;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_greengill_slave";
newscript->GetAI = &GetAI_npc_greengill_slaveAI;
@@ -25,8 +25,6 @@ EndScriptData */
npc_manaforge_control_console
go_manaforge_control_console
npc_commander_dawnforge
npc_protectorate_nether_drake
npc_veronia
npc_bessy
EndContentData */
@@ -668,39 +666,6 @@ bool AreaTrigger_at_commander_dawnforge(Player *player, AreaTriggerEntry *at)
return false;
}
/*######
## npc_protectorate_nether_drake
######*/
#define GOSSIP_ITEM "I'm ready to fly! Take me up, dragon!"
bool GossipHello_npc_protectorate_nether_drake(Player *player, Creature *_Creature)
{
//On Nethery Wings
if (player->GetQuestStatus(10438) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(29778,1) )
player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_protectorate_nether_drake(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
player->CLOSE_GOSSIP_MENU();
std::vector<uint32> nodes;
nodes.resize(2);
nodes[0] = 152; //from drake
nodes[1] = 153; //end at drake
player->ActivateTaxiPathTo(nodes); //TaxiPath 627 (possibly 627+628(152->153->154->155) )
}
return true;
}
/*######
## npc_professor_dabiri
######*/
@@ -744,36 +709,6 @@ bool QuestAccept_npc_professor_dabiri(Player *player, Creature *creature, Quest
return true;
}
/*######
## npc_veronia
######*/
#define GOSSIP_HV "Fly me to Manaforge Coruu please"
bool GossipHello_npc_veronia(Player *player, Creature *_Creature)
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
//Behind Enemy Lines
if (player->GetQuestStatus(10652) && !player->GetQuestRewardStatus(10652))
player->ADD_GOSSIP_ITEM(0, GOSSIP_HV, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_veronia(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,34905,true); //TaxiPath 606
}
return true;
}
/*######
## mob_phase_hunter
######*/
@@ -1037,12 +972,6 @@ void AddSC_netherstorm()
newscript->pAreaTrigger = &AreaTrigger_at_commander_dawnforge;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_protectorate_nether_drake";
newscript->pGossipHello = &GossipHello_npc_protectorate_nether_drake;
newscript->pGossipSelect = &GossipSelect_npc_protectorate_nether_drake;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_professor_dabiri";
newscript->pGossipHello = &GossipHello_npc_professor_dabiri;
@@ -1050,12 +979,6 @@ void AddSC_netherstorm()
newscript->pQuestAccept = &QuestAccept_npc_professor_dabiri;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_veronia";
newscript->pGossipHello = &GossipHello_npc_veronia;
newscript->pGossipSelect = &GossipSelect_npc_veronia;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_phase_hunter";
newscript->GetAI = &GetAI_mob_phase_hunter;
@@ -27,7 +27,6 @@ npc_bartleby
npc_dashel_stonefist
npc_general_marcus_jonathan
npc_lady_katrana_prestor
npc_harbor_taxi
EndContentData */
#include "precompiled.h"
@@ -239,28 +238,6 @@ bool GossipSelect_npc_lady_katrana_prestor(Player *player, Creature *_Creature,
return true;
}
/*######
## npc_harbor_taxi
######*/
#define GOSSIP_STORMWIND "I'd like to take a flight around Stormwind Harbor."
bool GossipHello_npc_stormwind_harbor_taxi(Player *player, Creature *_Creature)
{
player->ADD_GOSSIP_ITEM(0, GOSSIP_STORMWIND, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
player->SEND_GOSSIP_MENU(13454,_Creature->GetGUID());
return true;
}
bool GossipSelect_npc_stormwind_harbor_taxi(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF + 10)
{
player->GetSession()->SendDoFlight(1149, 1041);
}
return true;
}
void AddSC_stormwind_city()
{
Script *newscript;
@@ -293,11 +270,5 @@ void AddSC_stormwind_city()
newscript->pGossipHello = &GossipHello_npc_lady_katrana_prestor;
newscript->pGossipSelect = &GossipSelect_npc_lady_katrana_prestor;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_stormwind_harbor_taxi";
newscript->pGossipHello = &GossipHello_npc_stormwind_harbor_taxi;
newscript->pGossipSelect = &GossipSelect_npc_stormwind_harbor_taxi;
newscript->RegisterSelf();
}
@@ -27,7 +27,6 @@ mob_infested_root_walker
mob_rotting_forest_rager
mob_netherweb_victim
npc_floon
npc_skyguard_handler_deesak
npc_isla_starmane
EndContentData */
@@ -328,35 +327,6 @@ bool GossipSelect_npc_floon(Player *player, Creature *_Creature, uint32 sender,
return true;
}
/*######
## npc_skyguard_handler_deesak
######*/
#define GOSSIP_SKYGUARD "Fly me to Ogri'la please"
bool GossipHello_npc_skyguard_handler_deesak(Player *player, Creature *_Creature )
{
if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() );
if (player->GetReputationRank(1031) >= REP_HONORED)
player->ADD_GOSSIP_ITEM( 2, GOSSIP_SKYGUARD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true;
}
bool GossipSelect_npc_skyguard_handler_deesak(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
player->CLOSE_GOSSIP_MENU();
player->CastSpell(player,41279,true); //TaxiPath 705 (Taxi - Skettis to Skyguard Outpost)
}
return true;
}
/*######
## npc_isla_starmane
######*/
@@ -572,12 +542,6 @@ void AddSC_terokkar_forest()
newscript->pGossipSelect = &GossipSelect_npc_floon;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name="npc_skyguard_handler_deesak";
newscript->pGossipHello = &GossipHello_npc_skyguard_handler_deesak;
newscript->pGossipSelect = &GossipSelect_npc_skyguard_handler_deesak;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name= "npc_isla_starmane";
newscript->GetAI = &GetAI_npc_isla_starmaneAI;