mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-07-28 18:47:40 +00:00
fix(Scripts/Ulduar): Freya Summon Allies use Summon Wave spells (#26603)
This commit is contained in:
@@ -37,6 +37,9 @@ enum FreyaSpells
|
||||
SPELL_TOUCH_OF_EONAR = 62528,
|
||||
SPELL_ATTUNED_TO_NATURE = 62519,
|
||||
SPELL_SUMMON_LIFEBINDER = 62870,
|
||||
SPELL_SUMMON_WAVE_1 = 62685, // Summon Ancient Conservator
|
||||
SPELL_SUMMON_WAVE_3 = 62686, // Summon Trio (Water Spirit, Storm Lasher, Snaplasher)
|
||||
SPELL_SUMMON_WAVE_10 = 62687, // Summon Detonating Lashers
|
||||
SPELL_SUNBEAM = 62623,
|
||||
SPELL_NATURE_BOMB_FLIGHT = 64648,
|
||||
SPELL_NATURE_BOMB_DAMAGE = 64587,
|
||||
@@ -351,26 +354,16 @@ struct boss_freya : public BossAI
|
||||
{
|
||||
case GROUP_TRIO:
|
||||
Talk(SAY_SUMMON_TRIO);
|
||||
me->SummonCreature(NPC_ANCIENT_WATER_SPIRIT, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
|
||||
me->SummonCreature(NPC_STORM_LASHER, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
|
||||
me->SummonCreature(NPC_SNAPLASHER, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
|
||||
DoCast(SPELL_SUMMON_WAVE_3);
|
||||
break;
|
||||
case GROUP_CONSERVATOR: // Ancient Conservator
|
||||
case GROUP_CONSERVATOR:
|
||||
Talk(SAY_SUMMON_CONSERVATOR);
|
||||
me->SummonCreature(NPC_ANCIENT_CONSERVATOR, me->GetPositionX() + urand(5, 15), me->GetPositionY() + urand(5, 15), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_CORPSE_DESPAWN);
|
||||
DoCast(SPELL_SUMMON_WAVE_1);
|
||||
break;
|
||||
case GROUP_LASHERS: // Detonating Lashers
|
||||
case GROUP_LASHERS:
|
||||
Talk(SAY_SUMMON_LASHERS);
|
||||
// Spread the lashers evenly in a ring around Freya instead of
|
||||
// clustering them in one spot, matching retail.
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
{
|
||||
float angle = i * 2.0f * float(M_PI) / 10.0f + frand(-0.35f, 0.35f);
|
||||
float dist = frand(18.0f, 28.0f);
|
||||
float x = me->GetPositionX() + dist * std::cos(angle);
|
||||
float y = me->GetPositionY() + dist * std::sin(angle);
|
||||
me->SummonCreature(NPC_DETONATING_LASHER, x, y, me->GetMapHeight(x, y, me->GetPositionZ()), 0, TEMPSUMMON_CORPSE_DESPAWN);
|
||||
}
|
||||
DoCast(SPELL_SUMMON_WAVE_10);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user