Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4

Conflicts:
	src/server/game/DungeonFinding/LFGMgr.cpp
	src/server/scripts/Kalimdor/zone_silithus.cpp
This commit is contained in:
Vincent_Michael
2013-12-20 17:26:27 +01:00
15 changed files with 951 additions and 295 deletions

View File

@@ -24,7 +24,6 @@ SDCategory: Silithus
EndScriptData */
/* ContentData
npc_highlord_demitrian
npcs_rutgar_and_frankal
go_wind_stone
EndContentData */
@@ -35,79 +34,6 @@ EndContentData */
#include "Group.h"
#include "Player.h"
/*###
## npc_highlord_demitrian
###*/
#define GOSSIP_DEMITRIAN1 "What do you know of it?"
#define GOSSIP_DEMITRIAN2 "I am listening, Demitrian."
#define GOSSIP_DEMITRIAN3 "Continue, please."
#define GOSSIP_DEMITRIAN4 "A battle?"
#define GOSSIP_DEMITRIAN5 "<Nod>"
#define GOSSIP_DEMITRIAN6 "Caught unaware? How?"
#define GOSSIP_DEMITRIAN7 "So what did Ragnaros do next?"
class npc_highlord_demitrian : public CreatureScript
{
public:
npc_highlord_demitrian() : CreatureScript("npc_highlord_demitrian") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case GOSSIP_ACTION_INFO_DEF:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(6842, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
player->SEND_GOSSIP_MENU(6843, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
player->SEND_GOSSIP_MENU(6844, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+3:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
player->SEND_GOSSIP_MENU(6867, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+4:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
player->SEND_GOSSIP_MENU(6868, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+5:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
player->SEND_GOSSIP_MENU(6869, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+6:
player->SEND_GOSSIP_MENU(6870, creature->GetGUID());
ItemPosCountVec dest;
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 19016, 1);
if (msg == EQUIP_ERR_OK)
player->StoreNewItem(dest, 19016, true);
break;
}
return true;
}
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
if (player->GetQuestStatus(7785) == QUEST_STATUS_NONE &&
(player->HasItemCount(18563, 1, false) || player->HasItemCount(18564, 1, false)))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEMITRIAN1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(6812, creature->GetGUID());
return true;
}
};
/*###
## npcs_rutgar_and_frankal
###*/
@@ -1504,7 +1430,10 @@ class go_wind_stone : public GameObjectScript
void AddSC_silithus()
{
new npc_highlord_demitrian();
new go_crystalline_tear();
new npc_anachronos_quest_trigger();
new npc_anachronos_the_ancient();
new npc_qiraj_war_spawn();
new npcs_rutgar_and_frankal();
new go_wind_stone();
}

View File

@@ -54,37 +54,6 @@ bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
#define LEGION_OBELISK_FOUR 185197
#define LEGION_OBELISK_FIVE 185198
/*######
## npc_bladespire_ogre
######*/
/// @todo add support for quest 10512 + Creature abilities
class npc_bladespire_ogre : public CreatureScript
{
public:
npc_bladespire_ogre() : CreatureScript("npc_bladespire_ogre") { }
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_bladespire_ogreAI(creature);
}
struct npc_bladespire_ogreAI : public ScriptedAI
{
npc_bladespire_ogreAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE { }
void UpdateAI(uint32 /*uiDiff*/) OVERRIDE
{
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
};
};
/*######
## npc_nether_drake
######*/
@@ -1242,7 +1211,6 @@ class spell_oscillating_field : public SpellScriptLoader
void AddSC_blades_edge_mountains()
{
new npc_bladespire_ogre();
new npc_nether_drake();
new npc_daranelle();
new npc_overseer_nuaar();

View File

@@ -19,7 +19,7 @@
/* ScriptData
SDName: Shadowmoon_Valley
SD%Complete: 100
SDComment: Quest support: 10519, 10583, 10601, 10804, 10854, 10458, 10481, 10480, 11082, 10781, 10451. Vendor Drake Dealer Hurlunk.
SDComment: Quest support: 10519, 10583, 10601, 10804, 10854, 10458, 10481, 10480, 10781, 10451. Vendor Drake Dealer Hurlunk.
SDCategory: Shadowmoon Valley
EndScriptData */
@@ -28,7 +28,6 @@ npc_mature_netherwing_drake
npc_enslaved_netherwing_drake
npc_drake_dealer_hurlunk
npcs_flanis_swiftwing_and_kagrosh
npc_murkblood_overseer
npc_karynaku
npc_oronok_tornheart
npc_overlord_morghor
@@ -492,74 +491,6 @@ public:
}
};
/*######
## npc_murkblood_overseer
######*/
#define QUEST_11082 11082
#define GOSSIP_HMO "I am here for you, overseer."
#define GOSSIP_SMO1 "How dare you question an overseer of the Dragonmaw!"
#define GOSSIP_SMO2 "Who speaks of me? What are you talking about, broken?"
#define GOSSIP_SMO3 "Continue please."
#define GOSSIP_SMO4 "Who are these bidders?"
#define GOSSIP_SMO5 "Well... yes."
class npc_murkblood_overseer : public CreatureScript
{
public:
npc_murkblood_overseer() : CreatureScript("npc_murkblood_overseer") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+3:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+4:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+5:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SMO5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+6:
//correct id not known
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
creature->CastSpell(player, 41121, false);
player->AreaExploredOrEventHappens(QUEST_11082);
break;
}
return true;
}
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (player->GetQuestStatus(QUEST_11082) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0, GOSSIP_HMO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(10940, creature->GetGUID());
return true;
}
};
/*######
## npc_oronok
######*/
@@ -2011,7 +1942,6 @@ void AddSC_shadowmoon_valley()
new npc_dragonmaw_peon();
new npc_drake_dealer_hurlunk();
new npcs_flanis_swiftwing_and_kagrosh();
new npc_murkblood_overseer();
new npc_karynaku();
new npc_oronok_tornheart();
new npc_overlord_morghor();