aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-04-23 20:38:14 -0300
committerfunjoker <funjoker109@gmail.com>2020-04-28 12:35:16 +0200
commit5e32e96278757aa52ef87cb122dd99825e6c8de9 (patch)
tree7f081255e18b6d125d95d71407caf0862ab766ae
parent9c53ee0fe8ec98b3a192f065bd1ac30fc111f73c (diff)
Core/Spell: define channels without movement interrupt flags as allowed move
- Remove script hacks no longer needed (cherry picked from commit 3a0cb90ea994e82dd8c70888fb847082f738d5dc)
-rw-r--r--src/server/game/Spells/SpellInfo.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp1
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp1
8 files changed, 1 insertions, 12 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index eb37c3da5d7..bec8a653fee 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1675,7 +1675,7 @@ bool SpellInfo::IsChanneled() const
bool SpellInfo::IsMoveAllowedChannel() const
{
- return IsChanneled() && HasAttribute(SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING);
+ return IsChanneled() && (HasAttribute(SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING) || (!(ChannelInterruptFlags[0] & (AURA_INTERRUPT_FLAG_MOVE | AURA_INTERRUPT_FLAG_TURNING))));
}
bool SpellInfo::NeedsComboPoints() const
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 50dcb98bcab..4e7ddbc453b 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -1129,10 +1129,7 @@ class npc_dark_nucleus : public CreatureScript
if (Unit* victim = me->GetVictim())
{
if (me->GetDistance(victim) < 15.0f && !victim->HasAura(SPELL_SHADOW_RESONANCE_RESIST, me->GetGUID()))
- {
DoCast(victim, SPELL_SHADOW_RESONANCE_RESIST);
- me->ClearUnitState(UNIT_STATE_CASTING);
- }
else
MoveInLineOfSight(me->GetVictim());
}
@@ -1146,7 +1143,6 @@ class npc_dark_nucleus : public CreatureScript
}
DoCast(who, SPELL_SHADOW_RESONANCE_RESIST);
- me->ClearUnitState(UNIT_STATE_CASTING);
}
void DamageTaken(Unit* attacker, uint32& /*damage*/) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 116843c2398..f21051a36b3 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -933,7 +933,6 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
void StartAttack()
{
- GetCaster()->ClearUnitState(UNIT_STATE_CASTING);
GetCaster()->DeleteThreatList();
GetCaster()->ToCreature()->AI()->AttackStart(GetHitUnit());
GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 94bf769b771..73877fa1ac9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -725,7 +725,6 @@ class boss_the_lich_king : public CreatureScript
summon->CastSpell(summon, SPELL_ICE_SPHERE, false);
summon->CastSpell(summon, SPELL_ICE_BURST_TARGET_SEARCH, false);
summon->CastSpell(target, SPELL_ICE_PULSE, false);
- summon->ClearUnitState(UNIT_STATE_CASTING);
summon->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f);
}
else
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
index d5859e27f3a..e51db2e2878 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
@@ -161,7 +161,6 @@ public:
break;
case EVENT_RESUME_PULSING_SHOCKWAVE:
DoCast(me, SPELL_PULSING_SHOCKWAVE_AURA, true);
- me->ClearUnitState(UNIT_STATE_CASTING); // This flag breaks movement.
DoCast(me, SPELL_PULSING_SHOCKWAVE, true);
break;
case EVENT_INTRO_DIALOGUE:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 5a6c4aeeef6..ec3c449f0ca 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -230,8 +230,6 @@ class boss_kologarn : public CreatureScript
summon->CastSpell(summon, SPELL_FOCUSED_EYEBEAM_PERIODIC, true);
summon->CastSpell(summon, SPELL_FOCUSED_EYEBEAM_VISUAL, true);
summon->SetReactState(REACT_PASSIVE);
- // One of the above spells is a channeled spell, we need to clear this unit state for MoveChase to work
- summon->ClearUnitState(UNIT_STATE_CASTING);
// Victim gets 67351
if (!eyebeamTarget.IsEmpty())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index fd4d7b02229..4d9ed335279 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -1304,7 +1304,6 @@ class npc_mimiron_assault_bot : public CreatureScript
{
case EVENT_MAGNETIC_FIELD:
DoCastVictim(SPELL_MAGNETIC_FIELD);
- me->ClearUnitState(UNIT_STATE_CASTING);
events.RescheduleEvent(EVENT_MAGNETIC_FIELD, 30000);
break;
default:
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index b41199670a9..706bc7d99eb 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -2305,7 +2305,6 @@ class spell_illidan_find_target : public SpellScriptLoader
if (Creature* caster = GetCaster()->ToCreature())
{
caster->CastSpell(target, SPELL_PARALYZE, true);
- caster->ClearUnitState(UNIT_STATE_CASTING);
caster->AI()->SetGUID(target->GetGUID(), 0);
}
}