* Core/AI: refactor SpellHit and SpellHitTarget.
- now caster/target is WorldObject instead of Unit
- remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget)
- rename parameters in scripts according parent methods
* Restore logic in Algalon script
* Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2
* Fix build after merge
(cherry picked from commit e3b232fe0e)
- Clean up of Unit::SetSpeed (mostly cherry picks from the 6.x branch):
- the opcode sent depends on the unit. until now, MSG_MOVE_SET_* were sent for every units which isn't like retail behavior.
- Removed the unused method parameter "forced" from Unit::SetSpeed
- Renamed Unit::SetSpeed to SetSpeedRate
- Removed the unused method parameter "forced" from Unit::UpdateSpeed
- Added utility method Unit::SetSpeed which take the new flat value.
(cherry picked from commit dc3327f9c5)
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Handlers/MovementHandler.cpp
# src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
# src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
# src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
# src/server/scripts/Kalimdor/zone_azshara.cpp
# src/server/scripts/Kalimdor/zone_durotar.cpp
# src/server/scripts/Outland/zone_hellfire_peninsula.cpp
Prevents fleeing or feared units from going to upper floor ignoring walls/ceilings with mmaps on(and usually get stucked).
Current implementation just randomly selects a distance and angle against the frighting unit, when in narrow circumstance such as underground caves, such targeting point would be at another floor.
Closes#11300
Ref #9475 (needs fixed confirmation)