- Sniffed timers
- Sniffed spawn behavior
- Sniffed everything else
- Sniffed sniff. Mmmm
- In all seriousness though:
- Fixed P2 cast behavior, now obeys category cooldowns as intended
- Fixed P1 pathing and abomination behavior
- Fixed P1 passive minion aggro logic
- Fixed P1->P2 transition logic
- Fixed P3 guardian spawn/despawn logic
- Fixed all minions' cast behavior
- Fixed melee hitbox for Kel'thuzad, abominations, banshees and guardians
- Fixed reset behavior
- Fixed post-Sapphiron event to no longer open the KT door for a few seconds before slamming it closed again by treeston
UNIT_FLAG_REMOVE_CLIENT_CONTROL (formerly UNIT_FLAG_DISABLE_MOVE) is a client-only feature that should not be used for NPC scripting. All applications of this flag in scripts/ have been replaced with applications/removals of the UNIT_STATE_ROOT state.
Closes#17311
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)
(cherry picked from commit 62bfee37cb)
Conflicts:
src/server/game/Entities/GameObject/GameObject.cpp
src/server/game/Entities/Object/Object.cpp
src/server/game/Spells/SpellEffects.cpp
src/server/scripts/Commands/cs_gobject.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/Kalimdor/zone_feralas.cpp
- 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.
Conflicts:
src/server/game/Entities/Unit/Unit.cpp
src/server/scripts/Commands/cs_modify.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/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
File: zone_borean_tundra.cpp
Script: npc_hidden_cultist
Quest: The Hunt is On, 11794
NPC: Tom Hegger, 25827
Before this change, Tom Hegger does not target player when saying his
aggro text "You don't know who you're messing with, $c! Death beckons!"
and hence the text $c will be shown instead of the player class.
Fix Map::GetWaterOrGroundLevel() checking dynamic object only in phase 1 instead of current Unit phase.
Improve DynamicMapTree::getHeight() dynamic object check by casting the ray at +0.5f from the passed Z coordinate, this value will be tuned to improve even more the results.