*Add script of quest "Bloody Breakout". Original patch by ckegg.
--HG-- branch : trunk
This commit is contained in:
@@ -1480,4 +1480,18 @@ INSERT INTO `script_waypoint` VALUES
|
|||||||
(22377, 10, -2896.67, 5366.20, -9.59, 0, ''),
|
(22377, 10, -2896.67, 5366.20, -9.59, 0, ''),
|
||||||
(22377, 11, -2888.23, 5330.39, -11.19, 2000, '');
|
(22377, 11, -2888.23, 5330.39, -11.19, 2000, '');
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
||||||
|
DELETE FROM script_waypoint WHERE entry=28912;
|
||||||
|
INSERT INTO script_waypoint VALUES
|
||||||
|
(28912, 0, 1653.518, -6038.374, 127.585, 1000, 'Jump off'),
|
||||||
|
(28912, 1, 1653.978, -6034.614, 127.585, 5000, 'To Box'),
|
||||||
|
(28912, 2, 1653.854, -6034.726, 127.585, 0, 'Equip'),
|
||||||
|
(28912, 3, 1652.297, -6035.671, 127.585, 1000, 'Recover'),
|
||||||
|
(28912, 4, 1639.762, -6046.343, 127.948, 0, 'Escape'),
|
||||||
|
(28912, 5, 1640.963, -6028.119, 134.740, 0, ''),
|
||||||
|
(28912, 6, 1625.805, -6029.197, 134.740, 0, ''),
|
||||||
|
(28912, 7, 1626.845, -6015.085, 134.740, 0, ''),
|
||||||
|
(28912, 8, 1649.150, -6016.975, 133.240, 0, ''),
|
||||||
|
(28912, 9, 1653.063, -5974.844, 132.652, 5000, 'Mount'),
|
||||||
|
(28912, 10, 1654.747, -5926.424, 121.191, 0, 'Disappear');
|
||||||
@@ -103,7 +103,8 @@ UPDATE `creature_template` SET `ScriptName`='npc_dark_rider_of_acherus' WHERE `e
|
|||||||
UPDATE `creature_template` SET `ScriptName`='npc_ros_dark_rider' WHERE `entry`=28768;
|
UPDATE `creature_template` SET `ScriptName`='npc_ros_dark_rider' WHERE `entry`=28768;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_dkc1_gothik' WHERE `entry`=28658;
|
UPDATE `creature_template` SET `ScriptName`='npc_dkc1_gothik' WHERE `entry`=28658;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_a_special_surprise' WHERE `entry` IN (29032,29061,29065,29067,29068,29070,29074,29072,29073,29071);
|
UPDATE `creature_template` SET `ScriptName`='npc_a_special_surprise' WHERE `entry` IN (29032,29061,29065,29067,29068,29070,29074,29072,29073,29071);
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`=28912;
|
UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`='28912';
|
||||||
|
UPDATE `creature_template` SET `ScriptName`='mob_high_inquisitor_valroth' WHERE `entry`='29001';
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_demolisher_engineerer' WHERE `entry` IN (30400,30499);
|
UPDATE `creature_template` SET `ScriptName`='npc_demolisher_engineerer' WHERE `entry` IN (30400,30499);
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_valkyr_battle_maiden' WHERE `entry`=28534;
|
UPDATE `creature_template` SET `ScriptName`='npc_valkyr_battle_maiden' WHERE `entry`=28534;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_mirror_image' WHERE `entry`=31216;
|
UPDATE `creature_template` SET `ScriptName`='npc_mirror_image' WHERE `entry`=31216;
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_template` SET `ScriptName`='mob_scarlet_courier' WHERE `entry`='29076';
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
UPDATE `creature_template` SET `ScriptName`='mob_scarlet_courier' WHERE `entry`='29076';
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`='28912';
|
||||||
|
UPDATE `creature_template` SET `ScriptName`='mob_high_inquisitor_valroth' WHERE `entry`='29001';
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM script_waypoint WHERE entry=28912;
|
||||||
|
INSERT INTO script_waypoint VALUES
|
||||||
|
(28912, 0, 1653.518, -6038.374, 127.585, 1000, 'Jump off'),
|
||||||
|
(28912, 1, 1653.978, -6034.614, 127.585, 5000, 'To Box'),
|
||||||
|
(28912, 2, 1653.854, -6034.726, 127.585, 0, 'Equip'),
|
||||||
|
(28912, 3, 1652.297, -6035.671, 127.585, 1000, 'Recover'),
|
||||||
|
(28912, 4, 1639.762, -6046.343, 127.948, 0, 'Escape'),
|
||||||
|
(28912, 5, 1640.963, -6028.119, 134.740, 0, ''),
|
||||||
|
(28912, 6, 1625.805, -6029.197, 134.740, 0, ''),
|
||||||
|
(28912, 7, 1626.845, -6015.085, 134.740, 0, ''),
|
||||||
|
(28912, 8, 1649.150, -6016.975, 133.240, 0, ''),
|
||||||
|
(28912, 9, 1653.063, -5974.844, 132.652, 5000, 'Mount'),
|
||||||
|
(28912, 10, 1654.747, -5926.424, 121.191, 0, 'Disappear');
|
||||||
@@ -181,7 +181,10 @@ enum eKoltira
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
||||||
{
|
{
|
||||||
npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature) { }
|
npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature)
|
||||||
|
{
|
||||||
|
me->SetReactState(REACT_DEFENSIVE);
|
||||||
|
}
|
||||||
|
|
||||||
uint32 m_uiWave;
|
uint32 m_uiWave;
|
||||||
uint32 m_uiWave_Timer;
|
uint32 m_uiWave_Timer;
|
||||||
@@ -194,6 +197,9 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
m_uiWave = 0;
|
m_uiWave = 0;
|
||||||
m_uiWave_Timer = 3000;
|
m_uiWave_Timer = 3000;
|
||||||
m_uiValrothGUID = 0;
|
m_uiValrothGUID = 0;
|
||||||
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||||
|
me->LoadEquipment(0, true);
|
||||||
|
me->RemoveAura(SPELL_ANTI_MAGIC_ZONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,6 +209,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
DoScriptText(SAY_BREAKOUT1, me);
|
DoScriptText(SAY_BREAKOUT1, me);
|
||||||
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SetStandState(UNIT_STAND_STATE_KNEEL);
|
me->SetStandState(UNIT_STAND_STATE_KNEEL);
|
||||||
@@ -211,6 +218,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||||
//me->UpdateEntry(NPC_KOLTIRA_ALT); //unclear if we must update or not
|
//me->UpdateEntry(NPC_KOLTIRA_ALT); //unclear if we must update or not
|
||||||
DoCast(me, SPELL_KOLTIRA_TRANSFORM);
|
DoCast(me, SPELL_KOLTIRA_TRANSFORM);
|
||||||
|
me->LoadEquipment(me->GetEquipmentId());
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
IsOnHold = true;
|
IsOnHold = true;
|
||||||
@@ -235,11 +243,13 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
if (Player* pPlayer = GetPlayerForEscort())
|
if (Player* pPlayer = GetPlayerForEscort())
|
||||||
{
|
{
|
||||||
pSummoned->AI()->AttackStart(pPlayer);
|
pSummoned->AI()->AttackStart(pPlayer);
|
||||||
pSummoned->AddThreat(me, 0.0f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pSummoned->GetEntry() == NPC_HIGH_INQUISITOR_VALROTH)
|
if (pSummoned->GetEntry() == NPC_HIGH_INQUISITOR_VALROTH)
|
||||||
m_uiValrothGUID = pSummoned->GetGUID();
|
m_uiValrothGUID = pSummoned->GetGUID();
|
||||||
|
|
||||||
|
pSummoned->AddThreat(me, 0.0f);
|
||||||
|
pSummoned->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SummonAcolyte(uint32 uiAmount)
|
void SummonAcolyte(uint32 uiAmount)
|
||||||
@@ -280,7 +290,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
{
|
{
|
||||||
Unit* pTemp = Unit::GetUnit(*me, m_uiValrothGUID);
|
Creature* pTemp = Unit::GetCreature(*me, m_uiValrothGUID);
|
||||||
|
|
||||||
if (!pTemp || !pTemp->isAlive())
|
if (!pTemp || !pTemp->isAlive())
|
||||||
{
|
{
|
||||||
@@ -297,6 +307,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI
|
|||||||
case 5:
|
case 5:
|
||||||
DoScriptText(SAY_BREAKOUT9, me);
|
DoScriptText(SAY_BREAKOUT9, me);
|
||||||
me->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE);
|
me->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE);
|
||||||
|
// i do not know why the armor will also be removed
|
||||||
m_uiWave_Timer = 2500;
|
m_uiWave_Timer = 2500;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
@@ -429,22 +440,21 @@ enum valroth
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL mob_high_inquisitor_valrothAI : public ScriptedAI
|
struct TRINITY_DLL_DECL mob_high_inquisitor_valrothAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_high_inquisitor_valrothAI(Creature *pCreature) : ScriptedAI(pCreature)
|
mob_high_inquisitor_valrothAI(Creature *pCreature) : ScriptedAI(pCreature) {}
|
||||||
{
|
|
||||||
Reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32 uiRenew_timer;
|
uint32 uiRenew_timer;
|
||||||
uint32 uiInquisitor_Penance_timer;
|
uint32 uiInquisitor_Penance_timer;
|
||||||
uint32 uiValroth_Smite_timer;
|
uint32 uiValroth_Smite_timer;
|
||||||
|
|
||||||
void Reset() {
|
void Reset()
|
||||||
|
{
|
||||||
uiRenew_timer = 1000;
|
uiRenew_timer = 1000;
|
||||||
uiInquisitor_Penance_timer = 2000;
|
uiInquisitor_Penance_timer = 2000;
|
||||||
uiValroth_Smite_timer = 1000;
|
uiValroth_Smite_timer = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Aggro(Unit* who){
|
void EnterCombat(Unit* who)
|
||||||
|
{
|
||||||
DoScriptText(SAY_VALROTH2, me);
|
DoScriptText(SAY_VALROTH2, me);
|
||||||
DoCast(who, SPELL_VALROTH_SMITE);
|
DoCast(who, SPELL_VALROTH_SMITE);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user