aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-05-06 19:22:21 +0200
committerShauren <shauren.trinity@gmail.com>2025-05-06 19:22:21 +0200
commita63d404e7bf2dce3b15ce5f66ac98fe71a41f51c (patch)
tree5c4cd7132a12efddc56494e1b6dbabcc47a50eea /src/server/game/Entities/Object
parentf84de77f7d51f67d35945c2f2c3d78c1aaf90a52 (diff)
Core/Spells: Implemented new SpellMisc field, MinDuration that controls minimum spell missile travel time
Diffstat (limited to 'src/server/game/Entities/Object')
-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 8dda5aab212..4e0aea7e99e 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -3376,9 +3376,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