aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_script_texts.sql7
-rw-r--r--sql/FULL/world_scripts_full.sql1
-rw-r--r--sql/updates/6398_world.sql11
-rw-r--r--src/bindings/scripts/scripts/northrend/borean_tundra.cpp143
4 files changed, 160 insertions, 2 deletions
diff --git a/sql/FULL/world_script_texts.sql b/sql/FULL/world_script_texts.sql
index 140e3cab53d..481525fe0b4 100644
--- a/sql/FULL/world_script_texts.sql
+++ b/sql/FULL/world_script_texts.sql
@@ -1628,6 +1628,13 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
(26170,-1571021,'You might be right, sister. My obligations to my land and King have been fulfilled. But there is still something that I owe to myself.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
(26170,-1571022,'I know that look in your eye... I''m not going to be able to talk you out of this. If you die on me again...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
(26170,-1571023,'Do not worry, Leryssa. I will come back to you when I''m done. Nothing in the world will stop me from coming home to the only family that I have left.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571024,'Pathetic fool! A servant of malygos would sooner die than aid an emeny...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571025,'Aargh! Do your worst, $C ! I''ll tell you NOTHING!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571026,'Aahhhh! Release me! I am of no use to you. I swear it!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571027,'Stop! I beg you, please stop. Please...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571028,'Alright! I am beaten. Your previous archmage is held in a prison, elevated and sealed. Even if you manage to reach her, Salrand herself holds the key. Your mission is folly!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571029,'I''ve given you the information, $C ! You''re wasting your time....',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571030,'Noooo! This tortue is inhumane! You have what you want... why don''t you just kill me?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
-- -1 574 000 UTGARDE KEEP
(23953,-1574000,'Your blood is mine!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13221,1,0,0,'keleseth SAY_AGGRO'),
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql
index 5ea349b9dcd..9892eb021a9 100644
--- a/sql/FULL/world_scripts_full.sql
+++ b/sql/FULL/world_scripts_full.sql
@@ -383,6 +383,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_thassarian' WHERE `entry`=26170
UPDATE `creature_template` SET `ScriptName`='npc_image_lich_king' WHERE `entry`=26203;
UPDATE `creature_template` SET `ScriptName`='npc_counselor_talbot' WHERE `entry`=25301;
UPDATE `creature_template` SET `ScriptName`='npc_beryl_sorcerer' WHERE `entry`=25316;
+UPDATE `creature_template` SET `ScriptName` ='npc_imprisoned_beryl_sorcerer' WHERE `entry` = 25478;
/* BURNING STEPPES */
diff --git a/sql/updates/6398_world.sql b/sql/updates/6398_world.sql
new file mode 100644
index 00000000000..78debc46dfe
--- /dev/null
+++ b/sql/updates/6398_world.sql
@@ -0,0 +1,11 @@
+DELETE FROM `script_texts` WHERE `entry` IN (-1571024, -1571025, -1571026, -1571027, -1571028, -1571029, -1571030);
+INSERT INTO `script_texts` (`npc_entry`, `entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`, `sound`,`type`, `language`, `emote`, `comment`) VALUES
+ (25478,-1571024,'Pathetic fool! A servant of malygos would sooner die than aid an emeny...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571025,'Aargh! Do your worst, $C ! I''ll tell you NOTHING!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571026,'Aahhhh! Release me! I am of no use to you. I swear it!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571027,'Stop! I beg you, please stop. Please...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571028,'Alright! I am beaten. Your previous archmage is held in a prison, elevated and sealed. Even if you manage to reach her, Salrand herself holds the key. Your mission is folly!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571029,'I''ve given you the information, $C ! You''re wasting your time....',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
+ (25478,-1571030,'Noooo! This tortue is inhumane! You have what you want... why don''t you just kill me?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'');
+
+UPDATE `creature_template` SET `ScriptName` ='npc_imprisoned_beryl_sorcerer' WHERE `entry` = 25478;
diff --git a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
index 7785fb465ef..e208b0304ef 100644
--- a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
+++ b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
@@ -741,10 +741,10 @@ enum eLurgglbr
FACTION_ESCORTEE_H = 775,
};
-#define SAY_WP_1_LUR_START -1571004
+/*#define SAY_WP_1_LUR_START -1571004
#define SAY_WP_1_LUR_END -1571005
#define SAY_WP_41_LUR_START -1571006
-#define SAY_WP_41_LUR_END -1571007
+#define SAY_WP_41_LUR_END -1571007*/
struct TRINITY_DLL_DECL npc_lurgglbrAI : public npc_escortAI
{
@@ -1633,6 +1633,140 @@ CreatureAI* GetAI_npc_beryl_sorcerer(Creature* pCreature)
return new npc_beryl_sorcererAI(pCreature);
}
+/*######
+## npc_imprisoned_beryl_sorcerer
+######*/
+
+enum eImprisionedBerylSorcerer
+{
+ SPELL_NEURAL_NEEDLE = 45634,
+
+ NPC_IMPRISONED_BERYL_SORCERER = 25478,
+
+ SAY_IMPRISIONED_BERYL_1 = -1571024,
+ SAY_IMPRISIONED_BERYL_2 = -1571025,
+ SAY_IMPRISIONED_BERYL_3 = -1571026,
+ SAY_IMPRISIONED_BERYL_4 = -1571027,
+ SAY_IMPRISIONED_BERYL_5 = -1571028,
+ SAY_IMPRISIONED_BERYL_6 = -1571029,
+ SAY_IMPRISIONED_BERYL_7 = -1571030,
+};
+
+struct TRINITY_DLL_DECL npc_imprisoned_beryl_sorcererAI : public ScriptedAI
+{
+ npc_imprisoned_beryl_sorcererAI(Creature* pCreature) : ScriptedAI(pCreature)
+ {
+ pCaster = NULL;
+ }
+
+ Player *pCaster;
+
+ uint32 uiStep;
+ uint32 uiPhase;
+
+ void Reset()
+ {
+ uiStep = 1;
+ uiPhase = 0;
+ }
+
+ void EnterCombat(Unit* pWho)
+ {
+ return;
+ }
+
+ void SpellHit(Unit* pCaster, const SpellEntry* pSpell)
+ {
+ if (pSpell->Id == SPELL_NEURAL_NEEDLE && pCaster->GetTypeId() == TYPEID_PLAYER)
+ {
+ ++uiPhase;
+ pCaster = CAST_PLR(pCaster);
+ }
+ }
+
+ void UpdateAI(const uint32 uiDiff)
+ {
+ ScriptedAI::UpdateAI(uiDiff);
+
+ if (!m_creature->HasAura(SPELL_COSMETIC_ENSLAVE_CHAINS_SELF))
+ DoCast(m_creature, SPELL_COSMETIC_ENSLAVE_CHAINS_SELF);
+
+ if (m_creature->GetReactState() != REACT_PASSIVE)
+ m_creature->SetReactState(REACT_PASSIVE);
+
+ switch (uiPhase)
+ {
+ case 1:
+ if (uiStep == 1)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_1, m_creature);
+ uiStep = 2;
+ }
+ break;
+
+ case 2:
+ if (uiStep == 2)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_2, m_creature);
+ uiStep = 3;
+ }
+ break;
+
+ case 3:
+ if (uiStep == 3)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_3, m_creature);
+ uiStep = 4;
+ }
+ break;
+
+ case 4:
+ if (uiStep == 4)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_4, m_creature);
+ uiStep = 5;
+ }
+ break;
+
+ case 5:
+ if (uiStep == 5)
+ {
+ if (pCaster)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_5, m_creature);
+ pCaster->KilledMonsterCredit(25478,0);
+ uiStep = 6;
+ }
+ }
+ break;
+
+ case 6:
+ if (uiStep == 6)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_6, m_creature);
+ uiStep = 7;
+ }
+ break;
+
+ case 7:
+ if (uiStep == 7)
+ {
+ DoScriptText(SAY_IMPRISIONED_BERYL_7, m_creature);
+ uiStep = 1;
+ uiPhase = 0;
+ }
+ break;
+
+ if (!UpdateVictim())
+ return;
+ }
+ }
+};
+
+CreatureAI* GetAI_npc_imprisoned_beryl_sorcerer(Creature* pCreature)
+{
+ return new npc_imprisoned_beryl_sorcererAI(pCreature);
+}
void AddSC_borean_tundra()
{
@@ -1747,4 +1881,9 @@ void AddSC_borean_tundra()
newscript->Name = "npc_beryl_sorcerer";
newscript->GetAI = &GetAI_npc_beryl_sorcerer;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "npc_imprisoned_beryl_sorcerer";
+ newscript->GetAI = &GetAI_npc_imprisoned_beryl_sorcerer;
+ newscript->RegisterSelf();
}