* Remove warning: format '<format>' expects type '<type1>', but argument has type 'size_t'
* Remove warning: statement has no effect
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
* Fix an inconsistence between comment and code for model selection
* Improve the macro from recent commit to work with stricter gcc preprocessors
* Fix a bug that caused a crash for not loaded outdoorPvp scripts
Also remove team argument from SendDefenseMessage as all texts are sent to all teams, use seperate function to send zone attack message, cleanup some send message functions and remove deprecated send text functions
Thanks to Silverice for feedback!
This system interprets the content of the table `creature_linking_template`. To trigger different actions on different events of the npcs that are linked together.
Possible event/ action combinations can be taken form the flags in CreatureLinkingMgr.h::CreatureLinkingFlags
this allows us update creature's death persistent auras, fall died creatures in natural, non hacky way
also fix the bug that creature starts waypoint movement not from begining at respawning. thanks to Grz3s for reporting
This clearifies that a problem is caused by already applied auras and not double aura in *_addon table.
The double spell entry as well as the invalid spell are filtered on load.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Source crash in missing locale strings array size check before access
to it in locale structure.
Also move repeating code for access to wide used localization string arrays to ObjectMgr functions.
TODO: proper solution would be update creatures while in corpse state.
This also would solve problems with death persistent auras that not get updated for died creatures
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.
Technical changes:
1. Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
2. Precission increased. There are no more position desync issues since client's position calculation formulas used.
3. Now possible to move by paths with multiple points, send whole path to client.
destination holder still contains info about current destination point, even when movement is disabled/stopped
as a result, creature moves somewhere on client, while stopped on server-side