fix(Core/BWL): Nefarian spawns (#11326)
* fix(Core/BWL): Nefarian spawns * Rogue class call with vanish * backticks * despawn skeletons after death * Update boss_nefarian.cpp
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1649370784577886400');
|
||||||
|
|
||||||
|
DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 23414 AND `spell_effect` IN (-1856, -1857, -26889);
|
||||||
|
INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
|
||||||
|
(23414, -1856, 2, 'Nefarian Rogue class call - Vanish'),
|
||||||
|
(23414, -1857, 2, 'Nefarian Rogue class call - Vanish'),
|
||||||
|
(23414, -26889, 2, 'Nefarian Rogue class call - Vanish');
|
||||||
@@ -4160,14 +4160,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
|||||||
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(152); // 150 yards
|
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(152); // 150 yards
|
||||||
});
|
});
|
||||||
|
|
||||||
// Shadowbolt Volley
|
|
||||||
ApplySpellFix({ 22665 }, [](SpellInfo* spellInfo)
|
|
||||||
{
|
|
||||||
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(152); // 150 yards
|
|
||||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(41); // 150 yards
|
|
||||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT;
|
|
||||||
});
|
|
||||||
|
|
||||||
ApplySpellFix({ 22247 }, [](SpellInfo* spellInfo)
|
ApplySpellFix({ 22247 }, [](SpellInfo* spellInfo)
|
||||||
{
|
{
|
||||||
spellInfo->AttributesCu |= SPELL_ATTR0_CU_DONT_BREAK_STEALTH;
|
spellInfo->AttributesCu |= SPELL_ATTR0_CU_DONT_BREAK_STEALTH;
|
||||||
|
|||||||
+3
-2
@@ -256,7 +256,7 @@ public:
|
|||||||
|
|
||||||
me->SetVisible(true);
|
me->SetVisible(true);
|
||||||
me->SetPhaseMask(1, true);
|
me->SetPhaseMask(1, true);
|
||||||
me->ReplaceAllNpcFlags(NPCFlags(1));
|
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||||
me->SetFaction(FACTION_FRIENDLY);
|
me->SetFaction(FACTION_FRIENDLY);
|
||||||
me->SetStandState(UNIT_STAND_STATE_SIT_HIGH_CHAIR);
|
me->SetStandState(UNIT_STAND_STATE_SIT_HIGH_CHAIR);
|
||||||
me->RemoveAura(SPELL_NEFARIANS_BARRIER);
|
me->RemoveAura(SPELL_NEFARIANS_BARRIER);
|
||||||
@@ -284,6 +284,7 @@ public:
|
|||||||
|
|
||||||
if (action == ACTION_KILLED)
|
if (action == ACTION_KILLED)
|
||||||
{
|
{
|
||||||
|
summons.DespawnEntry(NPC_BONE_CONSTRUCT);
|
||||||
Unit::Kill(me, me);
|
Unit::Kill(me, me);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -472,7 +473,7 @@ public:
|
|||||||
Talk(SAY_GAMESBEGIN_1);
|
Talk(SAY_GAMESBEGIN_1);
|
||||||
events.ScheduleEvent(EVENT_START_EVENT, 4000);
|
events.ScheduleEvent(EVENT_START_EVENT, 4000);
|
||||||
me->SetFaction(FACTION_DRAGONFLIGHT_BLACK);
|
me->SetFaction(FACTION_DRAGONFLIGHT_BLACK);
|
||||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
|
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
|
||||||
// Due to Nefarius despawning himself on Vael, we need to update the guid on instance to prevent unwanted behaviours as encounter not resetting at all.
|
// Due to Nefarius despawning himself on Vael, we need to update the guid on instance to prevent unwanted behaviours as encounter not resetting at all.
|
||||||
|
|||||||
+1
@@ -400,6 +400,7 @@ public:
|
|||||||
summon->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
summon->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
summon->SetReactState(REACT_PASSIVE);
|
summon->SetReactState(REACT_PASSIVE);
|
||||||
summon->SetStandState(UNIT_STAND_STATE_DEAD);
|
summon->SetStandState(UNIT_STAND_STATE_DEAD);
|
||||||
|
summon->SetHomePosition(summon->GetPosition());
|
||||||
|
|
||||||
if (Creature* nefarius = instance->GetCreature(victorNefariusGUID))
|
if (Creature* nefarius = instance->GetCreature(victorNefariusGUID))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user