aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-05-06 19:22:21 +0200
committerOvahlord <dreadkiller@gmx.de>2025-05-11 11:44:12 +0200
commit18436298f43372edef32587ed1bf6e6f625c200c (patch)
treec925ad58c13db6412ba25a6a4ebb15a1d1e4e381 /src/server/game/Entities
parent511171ba334963e5defcdeacf2a73c094d6f0d67 (diff)
Core/Spells: Implemented new SpellMisc field, MinDuration that controls minimum spell missile travel time
(cherry picked from commit a63d404e7bf2dce3b15ce5f66ac98fe71a41f51c)
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Object/Object.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index bb0f465671c..50f6d691717 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -3380,9 +3380,9 @@ Unit* WorldObject::GetMagicHitRedirectTarget(Unit* victim, SpellInfo const* spel
// Set up missile speed based delay
float hitDelay = spellInfo->LaunchDelay;
if (spellInfo->HasAttribute(SPELL_ATTR9_MISSILE_SPEED_IS_DELAY_IN_SEC))
- hitDelay += spellInfo->Speed;
+ hitDelay += std::max(spellInfo->Speed, spellInfo->MinDuration);
else if (spellInfo->Speed > 0.0f)
- hitDelay += std::max(victim->GetDistance(this), 5.0f) / spellInfo->Speed;
+ hitDelay += std::max(std::max(victim->GetDistance(this), 5.0f) / spellInfo->Speed, spellInfo->MinDuration);
uint32 delay = uint32(std::floor(hitDelay * 1000.0f));
// Schedule charge drop