aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/Spell.cpp4
-rw-r--r--src/server/game/Spells/SpellInfo.cpp2
-rw-r--r--src/server/game/Spells/SpellInfo.h2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp10
4 files changed, 5 insertions, 13 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 66d930ebc74..965bbfd7a4c 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3057,14 +3057,14 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered
{
m_caster->ToPlayer()->SetSpellModTakingSpell(this, true);
// calculate cast time (calculated after first CheckCast check to prevent charge counting for first CheckCast fail)
- m_casttime = m_spellInfo->CalcCastTime(this);
+ m_casttime = m_spellInfo->CalcCastTime(m_caster, this);
m_caster->ToPlayer()->SetSpellModTakingSpell(this, false);
}
else
m_casttime = 0; // Set cast time to 0 if .cheat casttime is enabled.
}
else
- m_casttime = m_spellInfo->CalcCastTime(this);
+ m_casttime = m_spellInfo->CalcCastTime(m_caster, this);
// don't allow channeled spells / spells with cast time to be casted while moving
// (even if they are interrupted on moving, spells with almost immediate effect get to have their effect processed before movement interrupter kicks in)
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index c48f6f8be20..e0b4355a37f 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -2238,7 +2238,7 @@ int32 SpellInfo::GetMaxDuration() const
return (DurationEntry->Duration[2] == -1) ? -1 : abs(DurationEntry->Duration[2]);
}
-uint32 SpellInfo::CalcCastTime(Spell* spell /*= NULL*/) const
+uint32 SpellInfo::CalcCastTime(Unit* caster /*= NULL*/, Spell* spell /*= NULL*/) const
{
int32 castTime = 0;
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index bd2bd6cdb1f..0ee8571196f 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -495,7 +495,7 @@ public:
uint32 GetMaxTicks() const;
- uint32 CalcCastTime(Spell* spell = NULL) const;
+ uint32 CalcCastTime(Unit* caster = NULL, Spell* spell = NULL) const;
uint32 GetRecoveryTime() const;
int32 CalcPowerCost(Unit const* caster, SpellSchoolMask schoolMask) const;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 1d0c0e81317..cb0ba654b42 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3173,15 +3173,7 @@ void SpellMgr::LoadSpellInfoCorrections()
// Entries were not updated after spell effect change, we have to do that manually :/
spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED;
break;
- case 5308: // Execute (Rank 1)
- case 20658: // Execute (Rank 2)
- case 20660: // Execute (Rank 3)
- case 20661: // Execute (Rank 4)
- case 20662: // Execute (Rank 5)
- case 25234: // Execute (Rank 6)
- case 25236: // Execute (Rank 7)
- case 47470: // Execute (Rank 8)
- case 47471: // Execute (Rank 9)
+ case 5308: // Execute
spellInfo->AttributesEx3 |= SPELL_ATTR3_CANT_TRIGGER_PROC;
break;
case 59725: // Improved Spell Reflection - aoe aura