diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp | 73 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp | 35 |
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(); } |