aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp73
-rw-r--r--src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp35
2 files changed, 106 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
index 665914deb43..6e84e5d5d0c 100644
--- a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
+++ b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
@@ -17,7 +17,7 @@
/* ScriptData
SDName: The_Barrens
SD%Complete: 90
-SDComment: Quest support: 2458, 4921, 6981
+SDComment: Quest support: 2458, 4921, 6981, 1719, 863
SDCategory: Barrens
EndScriptData */
@@ -25,9 +25,12 @@ EndScriptData */
npc_beaten_corpse
npc_sputtervalve
npc_taskmaster_fizzule remove hack when Trinity implement feature/detect spell kind to not aggro
+npc_twiggy_flathead
+npc_wizzlecrank_shredder
EndContentData */
#include "precompiled.h"
+#include "../../npc/npc_escortAI.h"
/*######
## npc_beaten_corpse
@@ -361,6 +364,68 @@ CreatureAI* GetAI_npc_twiggy_flathead(Creature *_Creature)
{
return new npc_twiggy_flatheadAI (_Creature);
}
+
+/*#####
+## npc_wizzlecrank_shredder
+#####*/
+
+#define SAY_PROGRESS_1 "Alright, alright I think I can figure out how to operate this thing..."
+#define SAY_PROGRESS_2 "Arrrgh! This isn't right!"
+#define SAY_PROGRESS_3 "Okay, I think I've got it, now. Follow me, $N!"
+
+#define SAY_MERCENARY_4 "There's the stolen shredder! Stop it or Lugwizzle will have our hides!"
+
+#define SAY_PROGRESS_5 "Looks like we're out of woods, eh? Wonder what this does..."
+#define SAY_PROGRESS_6 "Come on, don't break down on me now!"
+#define SAY_PROGRESS_7 "That was a close one! Well, let's get going, it's still a ways to Ratchet!"
+#define SAY_PROGRESS_8 "Hmm... I don't think this blinking red light is a good thing..."
+
+#define SAY_PILOT_10 "Looks like you'll have to go ahead to Ratchet and tell Sputtervalve that I've wrecked the shredder."
+#define SAY_PILOT_11 "I'll stay behind and guard the wreck. Hurry! Hopefully no one will notice the smoke..."
+
+#define QUEST_ESCAPE 863
+#define NPC_PILOT 3451
+#define MOB_MERCENARY 3282
+
+struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI
+{
+ npc_wizzlecrank_shredderAI(Creature* c) : npc_escortAI(c) {Reset();}
+
+ void WaypointReached(uint32 i)
+ {
+ switch(i)
+ {
+ }
+ }
+
+ void Reset(){}
+
+ void Aggro(Unit* who){}
+
+ void JustDied(Unit* killer){}
+
+ void UpdateAI(const uint32 diff)
+ {
+ npc_escortAI::UpdateAI(diff);
+ }
+};
+
+bool QuestAccept_npc_wizzlecrank_shredder(Player* player, Creature* creature, Quest const* quest)
+{
+ if (quest->GetQuestId() == QUEST_ESCAPE)
+ {
+ ((npc_escortAI*)(creature->AI()))->Start(true, true, false, player->GetGUID());
+ }
+ return true;
+}
+
+CreatureAI* GetAI_npc_wizzlecrank_shredderAI(Creature *_Creature)
+{
+ npc_wizzlecrank_shredderAI* thisAI = new npc_wizzlecrank_shredderAI(_Creature);
+
+ return (CreatureAI*)thisAI;
+}
+
void AddSC_the_barrens()
{
Script *newscript;
@@ -387,4 +452,10 @@ void AddSC_the_barrens()
newscript->Name="npc_twiggy_flathead";
newscript->GetAI = &GetAI_npc_twiggy_flathead;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="npc_wizzlecrank_shredder";
+ newscript->GetAI = &GetAI_npc_wizzlecrank_shredderAI;
+ newscript->pQuestAccept = &QuestAccept_npc_wizzlecrank_shredder;
+ newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
index 7e9399c7fcd..5baa7f90f85 100644
--- a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
+++ b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
@@ -28,11 +28,11 @@ npc_shattrathflaskvendors
npc_zephyr
npc_kservant
npc_dirty_larry
+npc_ishanah
EndContentData */
#include "precompiled.h"
#include "../../npc/npc_escortAI.h"
-#include "GridNotifiers.h"
/*######
## npc_raliq_the_drunk
@@ -581,6 +581,33 @@ CreatureAI* GetAI_npc_dirty_larryAI(Creature *_Creature)
return new npc_dirty_larryAI (_Creature);
}
+/*######
+# npc_ishanah
+######*/
+
+#define ISANAH_GOSSIP_1 "Who are the Sha'tar?"
+#define ISANAH_GOSSIP_2 "Isn't Shattrath a draenei city? Why do you allow others here?"
+
+bool GossipHello_npc_ishanah(Player *player, Creature *_Creature)
+{
+ player->ADD_GOSSIP_ITEM(0, ISANAH_GOSSIP_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
+ player->ADD_GOSSIP_ITEM(0, ISANAH_GOSSIP_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
+
+ player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
+
+ return true;
+}
+
+bool GossipSelect_npc_ishanah(Player *player, Creature *_Creature, uint32 sender, uint32 action)
+{
+ if(action == GOSSIP_ACTION_INFO_DEF+1)
+ player->SEND_GOSSIP_MENU(9458, _Creature->GetGUID());
+ else if(action == GOSSIP_ACTION_INFO_DEF+2)
+ player->SEND_GOSSIP_MENU(9459, _Creature->GetGUID());
+
+ return true;
+}
+
void AddSC_shattrath_city()
{
Script *newscript;
@@ -620,4 +647,10 @@ void AddSC_shattrath_city()
newscript->pGossipHello = &GossipHello_npc_dirty_larry;
newscript->pGossipSelect = &GossipSelect_npc_dirty_larry;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="npc_ishanah";
+ newscript->pGossipHello = &GossipHello_npc_ishanah;
+ newscript->pGossipSelect = &GossipSelect_npc_ishanah;
+ newscript->RegisterSelf();
}