diff options
6 files changed, 21 insertions, 22 deletions
diff --git a/sql/updates/world/3.3.5/2021_06_10_00_world.sql b/sql/updates/world/3.3.5/2021_06_10_00_world.sql new file mode 100644 index 00000000000..9cccfee7509 --- /dev/null +++ b/sql/updates/world/3.3.5/2021_06_10_00_world.sql @@ -0,0 +1,11 @@ +-- Keristrasza +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ (262144|512|256) WHERE `entry` IN (26723,30540); + +-- Broggok +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ (512|256|2) WHERE `entry` IN (17380,18601); + +-- Spark of Ionar +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ (33554432|2), `spell_school_immune_mask` = 127 WHERE `entry` IN (28926,31867); +DELETE FROM `spelldifficulty_dbc` WHERE `id` = 52667; +INSERT INTO `spelldifficulty_dbc` (`id`, `spellid0`, `spellid1`, `spellid2`, `spellid3`) VALUES +(52667,52667,59833,0,0); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index 039601c6107..35b2be3fce3 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -177,8 +177,6 @@ public: void Reset() override { Initialize(); - - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); } /// @todo move them to center diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp index ce40e34ad69..6b170fcff77 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp @@ -71,7 +71,6 @@ public: me->setActive(true); me->SetFarVisible(true); me->SetVisible(false); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->SetCanFly(true); me->GetPosition(x, y, z); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index 4cf7e3fdb57..902ff11fd62 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -81,8 +81,6 @@ struct boss_keristrasza : public BossAI Initialize(); _intenseColdList.clear(); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); - RemovePrison(CheckContainmentSpheres()); _Reset(); } @@ -133,15 +131,13 @@ struct boss_keristrasza : public BossAI { if (remove) { - me->SetImmuneToPC(false); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + me->SetImmuneToAll(false); if (me->HasAura(SPELL_FROZEN_PRISON)) me->RemoveAurasDueToSpell(SPELL_FROZEN_PRISON); } else { - me->SetImmuneToPC(true); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + me->SetImmuneToAll(true); DoCast(me, SPELL_FROZEN_PRISON, false); } } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index ccec34c0cad..ce5eac22c8b 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -37,7 +37,8 @@ enum Spells SPELL_SPARK_DESPAWN = 52776, // Spark of Ionar - SPELL_SPARK_VISUAL_TRIGGER = 52667 + SPELL_SPARK_VISUAL_TRIGGER = 52667, + SPELL_RANDOM_LIGHTNING_VISUAL = 52663 }; enum Yells @@ -168,6 +169,7 @@ struct boss_ionar : public ScriptedAI { if (pSpark->IsAlive()) { + pSpark->SetReactState(REACT_PASSIVE); pSpark->SetSpeedRate(MOVE_RUN, 2.0f); pSpark->GetMotionMaster()->Clear(); pSpark->GetMotionMaster()->MovePoint(DATA_POINT_CALLBACK, pos); @@ -190,8 +192,6 @@ struct boss_ionar : public ScriptedAI { lSparkList.Summon(summoned); - summoned->CastSpell(summoned, SPELL_SPARK_VISUAL_TRIGGER, true); - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) { summoned->SetInCombatWith(target); @@ -307,7 +307,8 @@ struct npc_spark_of_ionar : public ScriptedAI void Reset() override { Initialize(); - me->SetReactState(REACT_PASSIVE); + DoCastSelf(SPELL_SPARK_VISUAL_TRIGGER); + DoCastSelf(SPELL_RANDOM_LIGHTNING_VISUAL); } void MovementInform(uint32 uiType, uint32 uiPointId) override @@ -319,11 +320,6 @@ struct npc_spark_of_ionar : public ScriptedAI me->DespawnOrUnsummon(); } - void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override - { - uiDamage = 0; - } - void UpdateAI(uint32 uiDiff) override { // Despawn if the encounter is not running @@ -343,6 +339,7 @@ struct npc_spark_of_ionar : public ScriptedAI { Position pos = ionar->GetPosition(); + me->SetReactState(REACT_PASSIVE); me->SetSpeedRate(MOVE_RUN, 2.0f); me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MovePoint(DATA_POINT_CALLBACK, pos); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index a5d08f4d1bf..3d6220752f0 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -119,8 +119,7 @@ class boss_broggok : public CreatureScript break; case ACTION_ACTIVATE_BROGGOK: me->SetReactState(REACT_AGGRESSIVE); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - me->SetImmuneToAll(false); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); DoZoneInCombat(); events.ScheduleEvent(EVENT_SLIME_SPRAY, 10s); events.ScheduleEvent(EVENT_POISON_BOLT, 7s); @@ -128,8 +127,7 @@ class boss_broggok : public CreatureScript break; case ACTION_RESET_BROGGOK: me->SetReactState(REACT_PASSIVE); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - me->SetImmuneToAll(true); + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); summons.DespawnAll(); instance->SetBossState(DATA_BROGGOK, NOT_STARTED); if (GameObject * lever = instance->GetGameObject(DATA_BROGGOK_LEVER)) |