aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 60e3cb3808f..359d668f361 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -6994,8 +6994,8 @@ SpellCastResult Spell::CheckItems(uint32* param1 /*= nullptr*/, uint32* param2 /
void Spell::Delayed() // only called in DealDamage()
{
- Unit* unitCaster = m_caster->ToUnit();
- if (!unitCaster)
+ Player* playerCaster = m_caster->ToPlayer();
+ if (!playerCaster)
return;
// spells not losing casting time
@@ -7009,9 +7009,9 @@ void Spell::Delayed() // only called in DealDamage()
int32 delaytime = 500; // spellcasting delay is normally 500ms
int32 delayReduce = 100; // must be initialized to 100 for percent modifiers
- if (Player* player = unitCaster->GetSpellModOwner())
+ if (Player* player = playerCaster->GetSpellModOwner())
player->ApplySpellMod(m_spellInfo->Id, SPELLMOD_NOT_LOSE_CASTING_TIME, delayReduce, this);
- delayReduce += unitCaster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
+ delayReduce += playerCaster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
if (delayReduce >= 100)
return;
@@ -7026,16 +7026,16 @@ void Spell::Delayed() // only called in DealDamage()
m_timer += delaytime;
WorldPacket data(SMSG_SPELL_DELAYED, 8+4);
- data << unitCaster->GetPackGUID();
+ data << playerCaster->GetPackGUID();
data << uint32(delaytime);
- unitCaster->SendMessageToSet(&data, true);
+ playerCaster->SendMessageToSet(&data, true);
}
void Spell::DelayedChannel()
{
- Unit* unitCaster = m_caster->ToUnit();
- if (!unitCaster)
+ Player* playerCaster = m_caster->ToPlayer();
+ if (!playerCaster)
return;
if (m_spellState != SPELL_STATE_CASTING)
@@ -7055,9 +7055,9 @@ void Spell::DelayedChannel()
int32 delaytime = CalculatePct(duration, 25); // channeling delay is normally 25% of its time per hit
int32 delayReduce = 100; // must be initialized to 100 for percent modifiers
- if (Player* player = unitCaster->GetSpellModOwner())
+ if (Player* player = playerCaster->GetSpellModOwner())
player->ApplySpellMod(m_spellInfo->Id, SPELLMOD_NOT_LOSE_CASTING_TIME, delayReduce, this);
- delayReduce += unitCaster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
+ delayReduce += playerCaster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
if (delayReduce >= 100)
return;
@@ -7073,11 +7073,11 @@ void Spell::DelayedChannel()
for (TargetInfo const& targetInfo : m_UniqueTargetInfo)
if (targetInfo.MissCondition == SPELL_MISS_NONE)
- if (Unit* unit = (unitCaster->GetGUID() == targetInfo.TargetGUID) ? unitCaster : ObjectAccessor::GetUnit(*unitCaster, targetInfo.TargetGUID))
+ if (Unit* unit = (playerCaster->GetGUID() == targetInfo.TargetGUID) ? playerCaster : ObjectAccessor::GetUnit(*playerCaster, targetInfo.TargetGUID))
unit->DelayOwnedAuras(m_spellInfo->Id, m_originalCasterGUID, delaytime);
// partially interrupt persistent area auras
- if (DynamicObject* dynObj = unitCaster->GetDynObject(m_spellInfo->Id))
+ if (DynamicObject* dynObj = playerCaster->GetDynObject(m_spellInfo->Id))
dynObj->Delay(delaytime);
SendChannelUpdate(m_timer);