* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation
* Fixed players earning guild achievements
* Removed a chunk of duplicate code
* Generalized Message notification
* Generalized checking of resources modification with a min-max
* Generalized checking of single value modification
* Closes#16858
(cherry picked from commit 775b03bf6f)
- restore missing text lines for Sal'salabim and Raliq the Drunk
- replace hardcoded text with DB gossip ID enum sections
- move gossip ID, quest ID, spell ID (and so on) into enum
- remove core script for Ishanah, High Priestess of the Aldor
Closes#16684
(cherry picked from commit acdfc36a4e)
- 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
* Finally this commit enables dynamic script hotswapping
and finished the PR #15671.
* Split the storage layout to use optimized storages
for database bound and unbound scripts.
* Add several unload workers to reload scripts correctly
-> Requires further investigation.
* Fixes memory leaks in ScriptMgr when dropping invalid scripts.
* Fixes VehicleScripts
* Makes OutdoorPvP scripts reloadable
* Makes InstanceMapScripts reloadable
* Makes CommandScripts reloadable
* Makes it possible to define the linkage for every module
* Move the ScriptPCH into the root directory
* Changes the SCRIPTS cmake variable to a string type:
-> -DSCRIPTS=0 is -DSCRIPTS="minimal-static" now
(builds commands and spells statically)
-> -DSCRIPTS=1 is -DSCRIPTS="static" now
(builds all modules statically)
-> -DSCRIPTS="dynamic"
(builds all modules dynamically)
-> Also the default value which is provided by the SCRIPTS
variable is overwriteable through the SCRIPTS_COMMANDS,
SCRIPTS_SPELLS... variable.