Zul'drak: Support for quest The Amphitheater of Anguish: Magnataur!.
--HG-- branch : trunk
This commit is contained in:
@@ -1621,7 +1621,7 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
|
|||||||
(0,-1568022,'Da Amani gonna rule again!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12076,1,0,0,'nalorakk SAY_SLAY2'),
|
(0,-1568022,'Da Amani gonna rule again!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12076,1,0,0,'nalorakk SAY_SLAY2'),
|
||||||
(0,-1568023,'I... be waitin'' on da udda side....',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12077,1,0,0,'nalorakk SAY_DEATH'),
|
(0,-1568023,'I... be waitin'' on da udda side....',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12077,1,0,0,'nalorakk SAY_DEATH'),
|
||||||
|
|
||||||
-- -1 571 000 SHOLAZAR BASIN
|
-- -1 571 000 NORTHREND
|
||||||
(28217,-1571000,'You save me! We thank you. We going to go back to village now. You come too... you can stay with us! Puppy-men kind of mean anyway. ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_END_IRO'),
|
(28217,-1571000,'You save me! We thank you. We going to go back to village now. You come too... you can stay with us! Puppy-men kind of mean anyway. ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_END_IRO'),
|
||||||
(28217,-1571001,'Let me know when you ready to go, okay?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_QUEST_ACCEPT_IRO '),
|
(28217,-1571001,'Let me know when you ready to go, okay?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_QUEST_ACCEPT_IRO '),
|
||||||
(28217,-1571002,'Home time!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_START_IRO'),
|
(28217,-1571002,'Home time!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'npc_injured_rainspeaker_oracle SAY_START_IRO'),
|
||||||
@@ -1657,6 +1657,7 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
|
|||||||
(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,''),
|
||||||
|
|
||||||
-- -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'),
|
||||||
|
|||||||
@@ -1779,3 +1779,13 @@ INSERT INTO `script_waypoint` VALUES
|
|||||||
(30023, 4, 5740.416, -2997.536, 277.263, 0, ''),
|
(30023, 4, 5740.416, -2997.536, 277.263, 0, ''),
|
||||||
(30023, 5, 5743.790, -3004.050, 273.570, 0, ''),
|
(30023, 5, 5743.790, -3004.050, 273.570, 0, ''),
|
||||||
(30023, 6, 5764.240, -2993.788, 272.944, 0, '');
|
(30023, 6, 5764.240, -2993.788, 272.944, 0, '');
|
||||||
|
|
||||||
|
DELETE FROM `script_waypoint` WHERE `entry`=30017;
|
||||||
|
INSERT INTO `script_waypoint` VALUES
|
||||||
|
(30017, 1, 5790.975, -2927.297, 286.277, 0, ''),
|
||||||
|
(30017, 2, 5803.003, -2952.998, 286.277, 0, ''),
|
||||||
|
(30017, 3, 5805.184, -2958.513, 282.899, 0, ''),
|
||||||
|
(30017, 4, 5807.038, -2961.449, 280.250, 0, ''),
|
||||||
|
(30017, 5, 5808.862, -2965.138, 277.089, 0, ''),
|
||||||
|
(30017, 6, 5811.703, -2970.821, 273.569, 0, ''),
|
||||||
|
(30017, 7, 5789.979, -2980.250, 273.584, 0, '');
|
||||||
|
|||||||
@@ -1361,6 +1361,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_orinoko_tuskbreaker' WHERE `ent
|
|||||||
UPDATE `creature_template` SET `ScriptName`='npc_korrak_bloodrager' WHERE `entry`=30023;
|
UPDATE `creature_template` SET `ScriptName`='npc_korrak_bloodrager' WHERE `entry`=30023;
|
||||||
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;
|
||||||
|
|
||||||
/* 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,3 @@
|
|||||||
|
DELETE FROM `script_texts` WHERE `entry`=-1571035;
|
||||||
|
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
|
||||||
|
(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,'');
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
DELETE FROM `script_waypoint` WHERE `entry`=30017;
|
||||||
|
INSERT INTO `script_waypoint` VALUES
|
||||||
|
(30017, 1, 5790.975, -2927.297, 286.277, 0, ''),
|
||||||
|
(30017, 2, 5803.003, -2952.998, 286.277, 0, ''),
|
||||||
|
(30017, 3, 5805.184, -2958.513, 282.899, 0, ''),
|
||||||
|
(30017, 4, 5807.038, -2961.449, 280.250, 0, ''),
|
||||||
|
(30017, 5, 5808.862, -2965.138, 277.089, 0, ''),
|
||||||
|
(30017, 6, 5811.703, -2970.821, 273.569, 0, ''),
|
||||||
|
(30017, 7, 5789.979, -2980.250, 273.584, 0, '');
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_template` SET `ScriptName`='npc_stinkbeard' WHERE `entry`=30017;
|
||||||
@@ -217,14 +217,17 @@ enum eGurgthock
|
|||||||
QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER = 12936,
|
QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER = 12936,
|
||||||
QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_2 = 12954,
|
QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_2 = 12954,
|
||||||
QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_1 = 12932,
|
QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_1 = 12932,
|
||||||
|
QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR = 12933,
|
||||||
|
|
||||||
NPC_ORINOKO_TUSKBREAKER = 30020,
|
NPC_ORINOKO_TUSKBREAKER = 30020,
|
||||||
NPC_KORRAK_BLOODRAGER = 30023,
|
NPC_KORRAK_BLOODRAGER = 30023,
|
||||||
NPC_YGGDRAS = 30014,
|
NPC_YGGDRAS = 30014,
|
||||||
|
NPC_STINKBEARD = 30017,
|
||||||
|
|
||||||
SAY_QUEST_ACCEPT_TUSKARRMAGEDON = -1571031,
|
SAY_QUEST_ACCEPT_TUSKARRMAGEDON = -1571031,
|
||||||
SAY_QUEST_ACCEPT_KORRAK_1 = -1571033,
|
SAY_QUEST_ACCEPT_KORRAK_1 = -1571033,
|
||||||
SAY_QUEST_ACCEPT_KORRAK_2 = -1571034,
|
SAY_QUEST_ACCEPT_KORRAK_2 = -1571034,
|
||||||
|
SAY_QUEST_ACCEPT_MAGNATAUR = -1571035
|
||||||
};
|
};
|
||||||
|
|
||||||
const Position SpawnPosition[] =
|
const Position SpawnPosition[] =
|
||||||
@@ -307,6 +310,10 @@ struct TRINITY_DLL_DECL npc_gurgthockAI : public ScriptedAI
|
|||||||
uiPhase = 6;
|
uiPhase = 6;
|
||||||
uiTimer = 3000;
|
uiTimer = 3000;
|
||||||
break;
|
break;
|
||||||
|
case QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR:
|
||||||
|
uiTimer = 5000;
|
||||||
|
uiPhase = 7;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -361,6 +368,15 @@ struct TRINITY_DLL_DECL npc_gurgthockAI : public ScriptedAI
|
|||||||
m_creature->SummonCreature(NPC_YGGDRAS, SpawnPosition[1], TEMPSUMMON_CORPSE_DESPAWN, 1000);
|
m_creature->SummonCreature(NPC_YGGDRAS, SpawnPosition[1], TEMPSUMMON_CORPSE_DESPAWN, 1000);
|
||||||
uiPhase = 0;
|
uiPhase = 0;
|
||||||
break;
|
break;
|
||||||
|
case 7:
|
||||||
|
DoScriptText(SAY_QUEST_ACCEPT_MAGNATAUR, m_creature);
|
||||||
|
uiTimer = 3000;
|
||||||
|
uiPhase = 8;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
m_creature->SummonCreature(NPC_STINKBEARD, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000);
|
||||||
|
uiPhase = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else uiTimer -= uiDiff;
|
} else uiTimer -= uiDiff;
|
||||||
}
|
}
|
||||||
@@ -394,6 +410,9 @@ bool QuestAccept_npc_gurgthock(Player* pPlayer, Creature* pCreature, Quest const
|
|||||||
case QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_1:
|
case QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_1:
|
||||||
pCreature->AI()->SetData(1, pQuest->GetQuestId());
|
pCreature->AI()->SetData(1, pQuest->GetQuestId());
|
||||||
break;
|
break;
|
||||||
|
case QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR:
|
||||||
|
pCreature->AI()->SetData(1, pQuest->GetQuestId());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -718,6 +737,120 @@ CreatureAI* GetAI_npc_yggdras(Creature* pCreature)
|
|||||||
return new npc_yggdrasAI(pCreature);
|
return new npc_yggdrasAI(pCreature);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum eStinkbeard
|
||||||
|
{
|
||||||
|
SPELL_ENRAGE_STINKBEARD = 50420,
|
||||||
|
SPELL_KNOCK_AWAY = 31389,
|
||||||
|
SPELL_STINKY_BEARD = 55867,
|
||||||
|
SPELL_THUNDERBLADE = 55866,
|
||||||
|
SPELL_THUNDERCLAP = 15588
|
||||||
|
};
|
||||||
|
|
||||||
|
/*####
|
||||||
|
## npc_stinkbeard
|
||||||
|
####*/
|
||||||
|
|
||||||
|
struct TRINITY_DLL_DECL npc_stinkbeardAI : public npc_escortAI
|
||||||
|
{
|
||||||
|
npc_stinkbeardAI(Creature* pCreature) : npc_escortAI(pCreature)
|
||||||
|
{
|
||||||
|
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||||
|
m_creature->SetReactState(REACT_PASSIVE);
|
||||||
|
Start(true,true, 0, NULL);
|
||||||
|
SetDespawnAtEnd(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 uiThunderclapTimer;
|
||||||
|
uint32 uiKnockAwayTimer;
|
||||||
|
uint32 uiStinkyBeardTimer;
|
||||||
|
|
||||||
|
bool bEnrage;
|
||||||
|
|
||||||
|
void Reset()
|
||||||
|
{
|
||||||
|
DoCast(m_creature, SPELL_THUNDERBLADE);
|
||||||
|
uiThunderclapTimer = 5000;
|
||||||
|
uiKnockAwayTimer = 10000;
|
||||||
|
uiStinkyBeardTimer = 15000;
|
||||||
|
bEnrage = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnterEvadeMode()
|
||||||
|
{
|
||||||
|
if (m_creature->isSummon())
|
||||||
|
if (Unit* pSummoner = CAST_SUM(m_creature)->GetSummoner())
|
||||||
|
CAST_AI(npc_gurgthockAI,CAST_CRE(pSummoner)->AI())->RemoveSummons();
|
||||||
|
}
|
||||||
|
|
||||||
|
void WaypointReached(uint32 uiI)
|
||||||
|
{
|
||||||
|
switch(uiI)
|
||||||
|
{
|
||||||
|
case 7:
|
||||||
|
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||||
|
m_creature->SetReactState(REACT_AGGRESSIVE);
|
||||||
|
m_creature->SetHomePosition(m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(), m_creature->GetOrientation());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateAI(const uint32 uiDiff)
|
||||||
|
{
|
||||||
|
npc_escortAI::UpdateAI(uiDiff);
|
||||||
|
|
||||||
|
if (!UpdateVictim())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (uiThunderclapTimer <= uiDiff)
|
||||||
|
{
|
||||||
|
DoCastAOE(SPELL_THUNDERCLAP);
|
||||||
|
uiThunderclapTimer = 5000;
|
||||||
|
} else uiThunderclapTimer -= uiDiff;
|
||||||
|
|
||||||
|
if (uiKnockAwayTimer <= uiDiff)
|
||||||
|
{
|
||||||
|
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
|
{
|
||||||
|
if (pTarget && pTarget->isAlive())
|
||||||
|
DoCast(pTarget, SPELL_KNOCK_AWAY);
|
||||||
|
}
|
||||||
|
uiKnockAwayTimer = 10000;
|
||||||
|
} else uiKnockAwayTimer -= uiDiff;
|
||||||
|
|
||||||
|
if (uiStinkyBeardTimer <= uiDiff)
|
||||||
|
{
|
||||||
|
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
|
{
|
||||||
|
if (pTarget && pTarget->isAlive())
|
||||||
|
DoCast(pTarget, SPELL_STINKY_BEARD);
|
||||||
|
}
|
||||||
|
uiStinkyBeardTimer = 15000;
|
||||||
|
} else uiStinkyBeardTimer -= uiDiff;
|
||||||
|
|
||||||
|
if (!bEnrage && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 20)
|
||||||
|
{
|
||||||
|
DoCast(m_creature, SPELL_ENRAGE_STINKBEARD);
|
||||||
|
bEnrage = true;
|
||||||
|
}
|
||||||
|
DoMeleeAttackIfReady();
|
||||||
|
}
|
||||||
|
|
||||||
|
void JustDied(Unit* pKiller)
|
||||||
|
{
|
||||||
|
if (m_creature->isSummon())
|
||||||
|
if (Unit* pSummoner = CAST_SUM(m_creature)->GetSummoner())
|
||||||
|
CAST_AI(npc_gurgthockAI,CAST_CRE(pSummoner)->AI())->bEventInProgress = false;
|
||||||
|
|
||||||
|
if (pKiller->GetTypeId() == TYPEID_PLAYER)
|
||||||
|
CAST_PLR(pKiller)->GroupEventHappens(QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR, CAST_PLR(pKiller));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
CreatureAI* GetAI_npc_stinkbeard(Creature* pCreature)
|
||||||
|
{
|
||||||
|
return new npc_stinkbeardAI(pCreature);
|
||||||
|
}
|
||||||
|
|
||||||
/*####
|
/*####
|
||||||
## npc_released_offspring_harkoa
|
## npc_released_offspring_harkoa
|
||||||
####*/
|
####*/
|
||||||
@@ -787,6 +920,11 @@ void AddSC_zuldrak()
|
|||||||
newscript->GetAI = &GetAI_npc_yggdras;
|
newscript->GetAI = &GetAI_npc_yggdras;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
|
newscript = new Script;
|
||||||
|
newscript->Name = "npc_stinkbeard";
|
||||||
|
newscript->GetAI = &GetAI_npc_stinkbeard;
|
||||||
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user