patch to support quest The Art of Persuasion #503

patch by maanuel

--HG--
branch : trunk
This commit is contained in:
Kudlaty
2009-11-28 16:21:26 +01:00
parent 4e41f4d45d
commit ad42a0a7a8
4 changed files with 160 additions and 2 deletions
+7
View File
@@ -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'),
+1
View File
@@ -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 */
+11
View File
@@ -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;
@@ -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();
}