diff --git a/data/sql/updates/pending_db_world/rev_1790589870693139612.sql b/data/sql/updates/pending_db_world/rev_1790589870693139612.sql new file mode 100644 index 0000000000..37b13efc26 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1790589870693139612.sql @@ -0,0 +1,3 @@ +-- +-- Move summon group to Sara +UPDATE `creature_summon_groups` SET `summonerId` = 33134 WHERE `summonerId` = 33280 AND `summonerType` = 0 AND `groupId` = 0; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index 54973efb37..7dca5e30f2 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -277,6 +277,8 @@ enum Misc SUMMON_GROUP_ICECROWN_TENTACLES = 2, SUMMON_GROUP_STORMWIND_TENTACLES = 3, + SUMMON_GROUP_CLOUDS = 0, + // ACTION_SARA_UPDATE_SUMMON_KEEPERS = 4, // defined in ulduar.h EVENT_PHASE_ONE = 1, @@ -427,14 +429,7 @@ struct boss_yoggsaron_sara : public ScriptedAI void SpawnClouds() { - for (uint8 i = 0; i < 6; ++i) - { - float Zplus = i > 2 ? (i - 2) * 1.6f : 0; - if (i % 2) - me->SummonCreature(NPC_OMINOUS_CLOUD, me->GetPositionX() + 8 + i * 7, me->GetPositionY() + 8 + i * 7, 326 + Zplus, 0); - else - me->SummonCreature(NPC_OMINOUS_CLOUD, me->GetPositionX() - 8 - i * 7, me->GetPositionY() - 8 - i * 7, 326 + Zplus, 0); - } + me->SummonCreatureGroup(SUMMON_GROUP_CLOUDS); } void EnterEvadeMode(EvadeReason why) override @@ -1023,6 +1018,8 @@ struct boss_yoggsaron_sara : public ScriptedAI struct boss_yoggsaron_cloud : public PassiveAI { + static bool clockwise; + boss_yoggsaron_cloud(Creature* creature) : PassiveAI(creature) { Reset(); @@ -1064,9 +1061,9 @@ struct boss_yoggsaron_cloud : public PassiveAI void MoveCircle() { - bool clockwise = me->GetPositionX() < Middle.GetPositionX(); me->GetMotionMaster()->MoveCirclePath(Middle.GetPositionX(), Middle.GetPositionY(), me->GetPositionZ(), Middle.GetExactDist2d(me), clockwise, 16); + clockwise = !clockwise; } void UpdateAI(uint32 diff) override @@ -1087,6 +1084,8 @@ struct boss_yoggsaron_cloud : public PassiveAI } }; +bool boss_yoggsaron_cloud::clockwise = true; + struct boss_yoggsaron_guardian_of_ys : public ScriptedAI { boss_yoggsaron_guardian_of_ys(Creature* creature) : ScriptedAI(creature) { }