* Use std::function as callback (methods, lamdas & std::bind).
* Uses std::chrono::duration as duration type (Milliseconds, Seconds...)
- With c++11 user defined literals we could just write "11s" for example (MSVS 2015, gcc & clang).
* Provides a lot of overloads for easier usage:
- Static durations or random durations between min and max.
- Named (with group ids - group id 0 is possible) or anonymous tasks.
- Asynchronous tasks.
* Is adapted to the current needs of scripting:
- Repeat tasks through the TaskContext
- Schedule new tasks from the context.
- Provides access to the times repeat counter of a task,
this will help to schedule multi step events (dialogs for example).
See https://gist.github.com/Naios/6d143538abdc3d32fd2b for usage examples.
by @ManuFe and @Rushor; closes#12336
In the existing source, the rooting aura is removed after the explosion,
therefore the knockback effect does not work because the player is still rooted.
By swapping these 2 lines, the aura is removed, then the explosion happens.
Result: rooting is removed before the knockback effect is cast on the player.
Try to log STACK_OVERFLOW crashes by allocating log buffer on the heap which should still be in a valid state with a stack overflow exception.
This will probably still not produce a complete crash report with details about all stackframes.
(cherry picked from commit 9d59d038f8)
Conflicts:
sql/updates/world/2015_04_05_07_world.sql
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Globals/ObjectMgr.h
Core/GameObjects: fixed typo and logic (0 is a valid invisibility type)
(cherry picked from commit 23e8a3ce29)
Fix doors opening/closing during Dreadscale fight by sending a CloseDoor command instead of toggling the door state when Dreadscale resets its movement.
Note that bounding the door state to boss movement makes poor sense and should be changed. Other bosses in ToC have this logic and should be updated if they show the same bug.
* Fix tower count being set to 0 once the first tower is destroyed due to bad logic
* Prevent towers from reducing counter twice (caused by event being sent twice by the gameobject when destroyed)
* Moved scripts to other source file instead of having them on the instance cpp
* Removed magic number, use of DoAction instead of SetData to do the yelling
* Added spellscript for Remove Kargath's Executioner
* Saved victim GUIDs in instance script instead of checking nearby area
* Returning position as const-reference (by Naios)
by @danlapps; closes#1524
Thanks to WoW-Studio@0aa81ca for doing most of the work
Thank to @Killyana for SQL walkthrough
Thanks to @Rushor for doing most of the converting work,
Thanks to @Nyeriah for pointers to solutions for all the errors
Thanks to @MitchesD for pointing out missing codestyle and errors
Thanks to @ccrs for supplying the ObjectAccessor lines
Thanks to @DDuarte for making me understand the changes