Scripts/ICC: Minor Fixes for Lich King (#20120)

- Fixed Shadow Trap and Defile Targets
- Fixed Shadow Trap Summon Delay and Duration
- Fixed Berserk Timer (15 Minutes)
- Fixed Shadow Trap Despawn when Snowstorm starts

(cherry picked from commit 9fa68855d7)
This commit is contained in:
Demonid
2017-08-08 07:36:46 -07:00
committed by Shauren
parent a1342bc9fc
commit 6130a775fe
2 changed files with 5 additions and 7 deletions

View File

@@ -3628,13 +3628,13 @@ void SpellMgr::LoadSpellInfoCorrections()
// Summon Shadow Trap
ApplySpellFix({ 73540 }, [](SpellInfo* spellInfo)
{
spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(23); // 90 seconds
spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(3); // 60 seconds
});
// Shadow Trap (visual)
ApplySpellFix({ 73530 }, [](SpellInfo* spellInfo)
{
spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(28); // 5 seconds
spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(27); // 3 seconds
});
// Summon Spirit Bomb

View File

@@ -796,6 +796,7 @@ class boss_the_lich_king : public CreatureScript
{
me->GetMap()->SetZoneOverrideLight(AREA_ICECROWN_CITADEL, LIGHT_SNOWSTORM, 5000);
me->GetMap()->SetZoneWeather(AREA_ICECROWN_CITADEL, WEATHER_STATE_LIGHT_SNOW, 0.5f);
summons.DespawnEntry(NPC_SHADOW_TRAP);
}
}
@@ -823,8 +824,6 @@ class boss_the_lich_king : public CreatureScript
Talk(SAY_LK_REMORSELESS_WINTER);
me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, MUSIC_SPECIAL);
DoCast(me, SPELL_REMORSELESS_WINTER_1);
summons.DespawnEntry(NPC_SHADOW_TRAP);
events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions
events.ScheduleEvent(EVENT_QUAKE, 62500, 0, PHASE_TRANSITION);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 4000, 0, PHASE_TRANSITION);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8000, 0, PHASE_TRANSITION);
@@ -840,7 +839,6 @@ class boss_the_lich_king : public CreatureScript
me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, MUSIC_SPECIAL);
DoCast(me, SPELL_REMORSELESS_WINTER_2);
summons.DespawnEntry(NPC_VALKYR_SHADOWGUARD);
events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions
events.ScheduleEvent(EVENT_QUAKE_2, 62500, 0, PHASE_TRANSITION);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 6000, 0, PHASE_TRANSITION);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8000, 0, PHASE_TRANSITION);
@@ -943,7 +941,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, urand(30000, 33000), 0, PHASE_ONE);
break;
case EVENT_SHADOW_TRAP:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, SpellTargetSelector(me, SPELL_SHADOW_TRAP)))
DoCast(target, SPELL_SHADOW_TRAP);
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15500, 0, PHASE_ONE);
break;
@@ -952,7 +950,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_SOUL_REAPER, urand(33000, 35000), 0, PHASE_TWO_THREE);
break;
case EVENT_DEFILE:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true, true, -SPELL_HARVEST_SOUL_VALKYR))
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true, true, -SPELL_HARVEST_SOUL_VALKYR))
{
Talk(EMOTE_DEFILE_WARNING);
DoCast(target, SPELL_DEFILE);