Support for quest Troll Patrol Intestinal Fortitude, by Malcrom. Thanks to raczman and biglad.
For a full fix see TDB Forum - Core related DB content. --HG-- branch : trunk
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
-- Up to TC2 5408
|
-- Up to TC2 5408
|
||||||
--
|
--
|
||||||
-- trinityscript_script_texts.sql Contains data for table `script_texts` mainly used in C++ parts.
|
-- trinityscript_script_texts.sql Contains data for table `script_texts` mainly used in C++ parts.
|
||||||
-- valid entries for table are between -1000000 and -1999999
|
-- valid entries for table are between -1000000 and -1999999
|
||||||
@@ -1712,8 +1712,11 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
|
|||||||
(30007,-1571031,'This battle must be seen to be believed! Once a mild-mannered tuskarr fisherman, our next fighter turned to the life of a soulless mercenary when his entire family was wiped out by a vicious pack of lion seals and III-tempered penguins! Now he''s just In It for the gold! Ladies and gentlemen, ORINOKO TUSKBREAKER!!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
(30007,-1571031,'This battle must be seen to be believed! Once a mild-mannered tuskarr fisherman, our next fighter turned to the life of a soulless mercenary when his entire family was wiped out by a vicious pack of lion seals and III-tempered penguins! Now he''s just In It for the gold! Ladies and gentlemen, ORINOKO TUSKBREAKER!!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
||||||
(30020,-1571032,'Whisker! Where are you? Assist me!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,0,0,''),
|
(30020,-1571032,'Whisker! Where are you? Assist me!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,0,0,''),
|
||||||
(30007,-1571033,'The champion of the Winterax trolls has challenged you, Treeofdoom! I hope you''re ready!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
|
(30007,-1571033,'The champion of the Winterax trolls has challenged you, Treeofdoom! I hope you''re ready!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
|
||||||
(30007,-1571034,'Hailling from the distant mountains of Alterac, one of the fiercest competitors this arena has ever seen: KORRAK THE BLOODRAGER!!!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
(30007,-1571034,'Hailling from the distant mountains of Alterac, one of the fiercest competitors this arena has ever seen: KORRAK THE BLOODRAGER!!!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
||||||
(30007,-1571035,'The battle is about to begin! Am I reading this card right It... It''s the nefarious magnataur lord, STINKBEARD! Yes, folks, STINKBEARD! Chitchat dosen''t stand a chance!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
(30007,-1571035,'The battle is about to begin! Am I reading this card right It... It''s the nefarious magnataur lord, STINKBEARD! Yes, folks, STINKBEARD! Chitchat dosen''t stand a chance!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13363,1,0,0,''),
|
||||||
|
(28090,-1571036, 'We''ll cleanse this place! Arthas beware!',0,0, 'crusade recruit RECRUIT_SAY1'),
|
||||||
|
(28090,-1571037, 'Your''re right! We can do this!',0,0, 'crusade recruit RECRUIT_SAY2'),
|
||||||
|
(28090,-1571038, 'Your''re right! What was I thinking? Bring on the Scourge!',0,0, 'crusade recruit RECRUIT_SAY3'),
|
||||||
|
|
||||||
-- -1 574 000 UTGARDE KEEP
|
-- -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'),
|
(23953,-1574000,'Your blood is mine!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13221,1,0,0,'keleseth SAY_AGGRO'),
|
||||||
|
|||||||
@@ -1415,6 +1415,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_korrak_bloodrager' WHERE `entry
|
|||||||
UPDATE `creature_template` SET `ScriptName`='npc_yggdras' WHERE `entry`=30014;
|
UPDATE `creature_template` SET `ScriptName`='npc_yggdras' WHERE `entry`=30014;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_released_offspring_harkoa' WHERE `entry`=28526;
|
UPDATE `creature_template` SET `ScriptName`='npc_released_offspring_harkoa' WHERE `entry`=28526;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_stinkbeard' WHERE `entry`=30017;
|
UPDATE `creature_template` SET `ScriptName`='npc_stinkbeard' WHERE `entry`=30017;
|
||||||
|
UPDATE `creature_template` SET `ScriptName`= 'npc_crusade_recruit' WHERE `entry`=28090;
|
||||||
|
|
||||||
/* ZUL'FARRAK */
|
/* ZUL'FARRAK */
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_sergeant_bly' WHERE `entry`=7604;
|
UPDATE `creature_template` SET `ScriptName`='npc_sergeant_bly' WHERE `entry`=7604;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
DELETE FROM `script_texts` WHERE `entry` IN (-1571036,-1571037,-1571038);
|
||||||
|
INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`type`,`language`,`comment`) VALUES
|
||||||
|
(28090,-1571036, 'We''ll cleanse this place! Arthas beware!',0,0, 'crusade recruit RECRUIT_SAY1'),
|
||||||
|
(28090,-1571037, 'Your''re right! We can do this!',0,0, 'crusade recruit RECRUIT_SAY2'),
|
||||||
|
(28090,-1571038, 'Your''re right! What was I thinking? Bring on the Scourge!',0,0, 'crusade recruit RECRUIT_SAY3');
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_template` SET `ScriptName`='npc_crusade_recruit' WHERE `entry`=28090;
|
||||||
@@ -891,6 +891,111 @@ CreatureAI* GetAI_npc_released_offspring_harkoa(Creature* pCreature)
|
|||||||
return new npc_released_offspring_harkoaAI(pCreature);
|
return new npc_released_offspring_harkoaAI(pCreature);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*######
|
||||||
|
## npc_crusade_recruit
|
||||||
|
######*/
|
||||||
|
|
||||||
|
enum eCrusade_recruit
|
||||||
|
{
|
||||||
|
SPELL_QUEST_CREDIT = 50633,
|
||||||
|
|
||||||
|
QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE = 12509,
|
||||||
|
|
||||||
|
GOSSIP_CRUSADE_TEXT = 13069,
|
||||||
|
|
||||||
|
SAY_RECRUIT_1 = -1571036,
|
||||||
|
SAY_RECRUIT_2 = -1571037,
|
||||||
|
SAY_RECRUIT_3 = -1571038
|
||||||
|
};
|
||||||
|
|
||||||
|
#define GOSSIP_ITEM_1 "Get out there and make those Scourge wish they were never reborn!"
|
||||||
|
|
||||||
|
struct npc_crusade_recruitAI : public ScriptedAI
|
||||||
|
{
|
||||||
|
npc_crusade_recruitAI(Creature* pCreature) : ScriptedAI(pCreature) {}
|
||||||
|
|
||||||
|
uint8 m_uiPhase; //The current phase we are in
|
||||||
|
uint32 m_uiTimer; //Timer until phase transition
|
||||||
|
float m_heading; //Store creature heading
|
||||||
|
|
||||||
|
void Reset()
|
||||||
|
{
|
||||||
|
m_uiTimer = 0;
|
||||||
|
m_uiPhase = 0;
|
||||||
|
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
|
m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
|
||||||
|
m_heading = m_creature->GetOrientation();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateAI(const uint32 uiDiff)
|
||||||
|
{
|
||||||
|
if (m_uiPhase)
|
||||||
|
{
|
||||||
|
if (m_uiTimer <= uiDiff)
|
||||||
|
{
|
||||||
|
switch(m_uiPhase)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
// say random text
|
||||||
|
m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
|
m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||||
|
DoScriptText(RAND(SAY_RECRUIT_1,SAY_RECRUIT_2,SAY_RECRUIT_3), m_creature);
|
||||||
|
m_uiTimer = 3000;
|
||||||
|
m_uiPhase = 2;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
// walk forward
|
||||||
|
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
|
||||||
|
m_creature->GetMotionMaster()->MovePoint(0,m_creature->GetPositionX() + (cos(m_heading) * 10), m_creature->GetPositionY() + (sin(m_heading) * 10), m_creature->GetPositionZ());
|
||||||
|
m_uiTimer = 5000;
|
||||||
|
m_uiPhase = 3;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
// despawn
|
||||||
|
m_creature->DisappearAndDie();
|
||||||
|
m_uiTimer = 0;
|
||||||
|
m_uiPhase = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_uiTimer -= uiDiff;
|
||||||
|
}
|
||||||
|
ScriptedAI::UpdateAI(uiDiff);
|
||||||
|
|
||||||
|
if (!UpdateVictim())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
CreatureAI* GetAI_npc_crusade_recruit(Creature* pCreature)
|
||||||
|
{
|
||||||
|
return new npc_crusade_recruitAI (pCreature);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GossipHello_npc_crusade_recruit(Player* pPlayer, Creature* pCreature)
|
||||||
|
{
|
||||||
|
if (pPlayer->GetQuestStatus(QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE) == QUEST_STATUS_INCOMPLETE)
|
||||||
|
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||||
|
|
||||||
|
pPlayer->SEND_GOSSIP_MENU(GOSSIP_CRUSADE_TEXT, pCreature->GetGUID());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GossipSelect_npc_crusade_recruit(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||||
|
{
|
||||||
|
if (uiAction == GOSSIP_ACTION_INFO_DEF +1)
|
||||||
|
{
|
||||||
|
pPlayer->CLOSE_GOSSIP_MENU();
|
||||||
|
pCreature->CastSpell(pPlayer, SPELL_QUEST_CREDIT, true);
|
||||||
|
CAST_AI(npc_crusade_recruitAI, (pCreature->AI()))->m_uiPhase = 1;
|
||||||
|
pCreature->SetInFront(pPlayer);
|
||||||
|
pCreature->SendMovementFlagUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void AddSC_zuldrak()
|
void AddSC_zuldrak()
|
||||||
{
|
{
|
||||||
Script *newscript;
|
Script *newscript;
|
||||||
@@ -941,4 +1046,10 @@ void AddSC_zuldrak()
|
|||||||
newscript->Name = "npc_released_offspring_harkoa";
|
newscript->Name = "npc_released_offspring_harkoa";
|
||||||
newscript->GetAI = &GetAI_npc_released_offspring_harkoa;
|
newscript->GetAI = &GetAI_npc_released_offspring_harkoa;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
|
newscript->Name = "npc_crusade_recruit";
|
||||||
|
newscript->GetAI = &GetAI_npc_crusade_recruit;
|
||||||
|
newscript->pGossipHello = &GossipHello_npc_crusade_recruit;
|
||||||
|
newscript->pGossipSelect = &GossipSelect_npc_crusade_recruit;
|
||||||
|
newscript->RegisterSelf();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user