aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_script_texts.sql2
-rw-r--r--sql/FULL/world_scripts_full.sql3
-rw-r--r--src/bindings/scripts/scripts/northrend/sholazar_basin.cpp63
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp52
-rw-r--r--src/bindings/scripts/scripts/outland/zangarmarsh.cpp48
5 files changed, 166 insertions, 2 deletions
diff --git a/sql/FULL/world_script_texts.sql b/sql/FULL/world_script_texts.sql
index fd2cc390d85..3c0ef426d4e 100644
--- a/sql/FULL/world_script_texts.sql
+++ b/sql/FULL/world_script_texts.sql
@@ -149,7 +149,7 @@ INSERT INTO `script_texts` (`entry`, `content_default`, `content_loc1`, `content
(-1000205,'%s looks at you unexpectadly.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'cluck EMOTE_H_HELLO'),
(-1000206,'%s starts pecking at the feed.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'cluck EMOTE_CLUCK_TEXT2'),
(-1000207,'You have my blessing', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0,'ashyen_and_keleth SAY_REWARD_BLESS'),
-(-1000208,'UNUSED', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0,'REUSE ME'),
+(-1000208,'Frenzyheart kill you if you come back. You no welcome here no more!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0,'vekjik SAY_TEXTID_VEKJIK1'),
(-1000209,'Very well. Let''s see what you have to show me, $N.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 1, 0,'anvilward SAY_ANVIL1'),
(-1000210,'What manner of trick is this, $R? If you seek to ambush me, I warn you I will not go down quietly!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 1, 0,'anvilward SAY_ANVIL2'),
(-1000211,'Warning! %s emergency shutdown process initiated by $N. Shutdown will complete in two minutes.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2, 0, 0,'manaforge_control EMOTE_START'),
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql
index ae503cd4e47..c0fa1b9efa8 100644
--- a/sql/FULL/world_scripts_full.sql
+++ b/sql/FULL/world_scripts_full.sql
@@ -551,6 +551,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_aeranas' WHERE `entry`=17085;
UPDATE `gameobject_template` SET `ScriptName`='go_haaleshi_altar' WHERE `entry`=181606;
UPDATE `creature_template` SET `ScriptName`='npc_naladu' WHERE `entry`=19361;
UPDATE `creature_template` SET `ScriptName`='npc_tracy_proudwell' WHERE `entry`=18266;
+UPDATE `creature_template` SET `ScriptName`='npc_trollbane' WHERE `entry`=16819;
/* HILLSBRAD FOOTHILLS */
@@ -560,6 +561,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_rinji' WHERE `entry`=7780;
/* ICECROWN */
UPDATE creature_template SET ScriptName='npc_arete' WHERE entry=29344;
+UPDATE creature_template SET ScriptName='npc_vekjik' WHERE entry=28315;
/* IRONFORGE */
UPDATE `creature_template` SET `ScriptName`='npc_royal_historian_archesonus' WHERE `entry`=8879;
@@ -1101,6 +1103,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_cooshcoosh' WHERE `entry`=18586
UPDATE `creature_template` SET `ScriptName`='npc_elder_kuruti' WHERE `entry`=18197;
UPDATE `creature_template` SET `ScriptName`='npc_mortog_steamhead' WHERE `entry`=23373;
UPDATE `creature_template` SET `ScriptName`='npc_kayra_longmane' WHERE `entry`=17969;
+UPDATE `creature_template` SET `ScriptName`='npc_timothy_daniels' WHERE `entry`=18019;
/* ZUL'AMAN */
UPDATE `instance_template` SET `script`='instance_zulaman' WHERE `map`=568;
diff --git a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
index 41454f330f1..e46e3430e4d 100644
--- a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
+++ b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp
@@ -17,12 +17,13 @@
/* ScriptData
SDName: Sholazar_Basin
SD%Complete: 100
-SDComment: Quest support: 12570
+SDComment: Quest support: 12570, 12573
SDCategory: Sholazar_Basin
EndScriptData */
/* ContentData
npc_injured_rainspeaker_oracle
+npc_vekjik
EndContentData */
#include "precompiled.h"
@@ -158,6 +159,60 @@ CreatureAI* GetAI_npc_injured_rainspeaker_oracle(Creature* pCreature)
return new npc_injured_rainspeaker_oracleAI(pCreature);
}
+/*######
+## npc_vekjik
+######*/
+
+#define GOSSIP_VEKJIK_ITEM1 "Shaman Vekjik, I have spoken with the big-tongues and they desire peace. I have brought this offering on their behalf."
+#define GOSSIP_VEKJIK_ITEM2 "No no... I had no intentions of betraying your people. I was only defending myself. it was all a misunderstanding."
+
+enum
+{
+ GOSSIP_TEXTID_VEKJIK1 = 13137,
+ GOSSIP_TEXTID_VEKJIK2 = 13138,
+
+ SAY_TEXTID_VEKJIK1 = -1000208,
+
+ SPELL_FREANZYHEARTS_FURY = 51469,
+
+ QUEST_MAKING_PEACE = 12573
+};
+
+bool GossipHello_npc_vekjik(Player* pPlayer, Creature* pCreature)
+{
+ if (pCreature->isQuestGiver())
+ pPlayer->PrepareQuestMenu(pCreature->GetGUID());
+
+ if (pPlayer->GetQuestStatus(QUEST_MAKING_PEACE) == QUEST_STATUS_INCOMPLETE)
+ {
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VEKJIK1, pCreature->GetGUID());
+ return true;
+ }
+
+ pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
+ return true;
+}
+
+bool GossipSelect_npc_vekjik(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
+{
+ switch(uiAction)
+ {
+ case GOSSIP_ACTION_INFO_DEF+1:
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VEKJIK2, pCreature->GetGUID());
+ break;
+ case GOSSIP_ACTION_INFO_DEF+2:
+ pPlayer->CLOSE_GOSSIP_MENU();
+ DoScriptText(SAY_TEXTID_VEKJIK1, pCreature, pPlayer);
+ pPlayer->AreaExploredOrEventHappens(QUEST_MAKING_PEACE);
+ pCreature->CastSpell(pPlayer, SPELL_FREANZYHEARTS_FURY, false);
+ break;
+ }
+
+ return true;
+}
+
void AddSC_sholazar_basin()
{
Script *newscript;
@@ -168,4 +223,10 @@ void AddSC_sholazar_basin()
newscript->pGossipSelect = &GossipSelect_npc_injured_rainspeaker_oracle;
newscript->pQuestAccept = &QuestAccept_npc_injured_rainspeaker_oracle;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "npc_vekjik";
+ newscript->pGossipHello = &GossipHello_npc_vekjik;
+ newscript->pGossipSelect = &GossipSelect_npc_vekjik;
+ newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
index 9e7e6145178..c5cae7e7412 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp
@@ -26,6 +26,7 @@ npc_aeranas
go_haaleshi_altar
npc_naladu
npc_tracy_proudwell
+npc_trollbane
npc_wounded_blood_elf
EndContentData */
@@ -204,6 +205,51 @@ bool GossipSelect_npc_tracy_proudwell(Player* pPlayer, Creature* pCreature, uint
}
/*######
+## npc_trollbane
+######*/
+
+#define GOSSIP_TROLLBANE_ITEM1 "Tell me of the Sons of Lothar."
+#define GOSSIP_TROLLBANE_ITEM2 "<more>"
+#define GOSSIP_TROLLBANE_ITEM3 "Tell me of your homeland."
+
+enum
+{
+ GOSSIP_TEXTID_TROLLBANE1 = 9932,
+ GOSSIP_TEXTID_TROLLBANE2 = 9933,
+ GOSSIP_TEXTID_TROLLBANE3 = 8772
+};
+
+bool GossipHello_npc_trollbane(Player* pPlayer, Creature* pCreature)
+{
+ if (pCreature->isQuestGiver())
+ pPlayer->PrepareQuestMenu(pCreature->GetGUID());
+
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
+ pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
+ return true;
+}
+
+bool GossipSelect_npc_trollbane(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
+{
+ switch(uiAction)
+ {
+ case GOSSIP_ACTION_INFO_DEF+1:
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE1, pCreature->GetGUID());
+ break;
+ case GOSSIP_ACTION_INFO_DEF+2:
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE2, pCreature->GetGUID());
+ break;
+ case GOSSIP_ACTION_INFO_DEF+3:
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE3, pCreature->GetGUID());
+ break;
+ }
+
+ return true;
+}
+
+/*######
## npc_wounded_blood_elf
######*/
@@ -322,6 +368,12 @@ void AddSC_hellfire_peninsula()
newscript->RegisterSelf();
newscript = new Script;
+ newscript->Name = "npc_trollbane";
+ newscript->pGossipHello = &GossipHello_npc_trollbane;
+ newscript->pGossipSelect = &GossipSelect_npc_trollbane;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
newscript->Name="npc_wounded_blood_elf";
newscript->GetAI = &GetAI_npc_wounded_blood_elf;
newscript->pQuestAccept = &QuestAccept_npc_wounded_blood_elf;
diff --git a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
index 2d505a5183a..f5616be5de5 100644
--- a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
+++ b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp
@@ -27,6 +27,7 @@ npc_cooshcoosh
npc_elder_kuruti
npc_mortog_steamhead
npc_kayra_longmane
+npc_timothy_daniels
EndContentData */
#include "precompiled.h"
@@ -333,6 +334,47 @@ CreatureAI* GetAI_npc_kayra_longmaneAI(Creature* pCreature)
{
return new npc_kayra_longmaneAI(pCreature);
}
+
+/*######
+## npc_timothy_daniels
+######*/
+
+#define GOSSIP_TIMOTHY_DANIELS_ITEM1 "Specialist, eh? Just what kind of specialist are you, anyway?"
+#define GOSSIP_TEXT_BROWSE_POISONS "Let me browse your reagents and poison supplies."
+
+enum
+{
+ GOSSIP_TEXTID_TIMOTHY_DANIELS1 = 9239
+};
+
+bool GossipHello_npc_timothy_daniels(Player* pPlayer, Creature* pCreature)
+{
+ if (pCreature->isQuestGiver())
+ pPlayer->PrepareQuestMenu(pCreature->GetGUID());
+
+ if (pCreature->isVendor())
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_POISONS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
+
+ pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TIMOTHY_DANIELS_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
+ pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID());
+ return true;
+}
+
+bool GossipSelect_npc_timothy_daniels(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
+{
+ switch(uiAction)
+ {
+ case GOSSIP_ACTION_INFO_DEF+1:
+ pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TIMOTHY_DANIELS1, pCreature->GetGUID());
+ break;
+ case GOSSIP_ACTION_TRADE:
+ pPlayer->SEND_VENDORLIST(pCreature->GetGUID());
+ break;
+ }
+
+ return true;
+}
+
/*######
## AddSC
######*/
@@ -371,5 +413,11 @@ void AddSC_zangarmarsh()
newscript->GetAI = &GetAI_npc_kayra_longmaneAI;
newscript->pQuestAccept = &QuestAccept_npc_kayra_longmane;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "npc_timothy_daniels";
+ newscript->pGossipHello = &GossipHello_npc_timothy_daniels;
+ newscript->pGossipSelect = &GossipSelect_npc_timothy_daniels;
+ newscript->RegisterSelf();
}