Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also move calculation to function. And avoid use operator[] for access to per-area base xp table data.
* This allow pet use own speed (and all speed affects appiedto pet itself) in combat.
* Apply this speed synhronization to minipets/guardians also.
* Also rename Unit::SetSpeed to SetSpeedRate as more close to real functionality.
Not send MOVEMENTFLAG_FORWARD (even if expected). As result npc will not run in same position when npc becomes visible at client side.
Signed-off-by: NoFantasy <nofantasy@nf.no>
* Re-number enums by function groups and use where possible new defined masks in code instead raw enum |-lists.
* Avoid use movement generator generic state markers like UNIT_STAT_CONFUSED for mark movement stoped.
Add special shadow UNIT_STAT_CONFUSED_MOVE/etc states for like use.
UNIT_STAT_CONFUSED in like case will be safe expect use for normal checks confused state presence
And UNIT_STAT_CONFUSED_MOVE for check real move in this state
This commit specially made indeepndent from other changes for show problem
in my prev. commit where 2 new movegens added.
For proper call Initilize/Finilize/Reset/Interrupt/Update functions _important_
set second template arg in MovementGeneratorMedium< T, D >
in _last_ class in class chain. In other case in chase/follow instead TargetedMovementGeneratorMedium
In other cases will called referenced functions from TargetedMovementGeneratorMedium
instead proper subclasses.
NOTE: this is mostly just formal adding 2 movegens with very limited cleanups.
Real result from adding 2 new movegens possible after apply more deep cleanups/fixes
in UNIT_STAT_CHASE/UNIT_STAT_FOLLOW set. But this will need more cereful changes
because we have currently sometime strange dependences and places for set for this flags.
Similar cleanups required for other movegen related flags. Infact i have related patches but
need more testing before apply step by step.
* Use AddMonsterMoveFlag instead SetMonsterMoveFlags for set walk-mode
* Apply walk/run mode to all copntrolled units (except totems).
* Synchronize walk/run mode at pet creating/loading.
This let use now default requirement for not set in `battleground_template` min/max values (or =0)
In other cases just set expected data into template table.
It can be used in time when need do some tasks before
another movement generator add on top to motion stack.
This just finish pair Interrupt->Reset similar Initilize->Finilize
In general movementgenerator have states:
Initilize=>Interrupt<=>[-some addition movegen->]<=>Reset=>Finalize
... and other FFA areas. Problem is result chnages in related flags work after old 3.x switch.
* Added high-level functions for FFAPvP state set for unit
* Apply FFA PvP to all controlled units also at set, and at summon/load
This implement using autoclose time for type 10 and also sending a custom animation for some.
To avoid duplicate code, remove code from SendLoot() (handled in Use() instead)
Signed-off-by: NoFantasy <nofantasy@nf.no>
* Extractor now include in extarcted DBC dir data file with build info.
* Mangosd use this data for check at startup for main DBC dir and DBC local subdirs intergrity.
* Also updates DBC checks for raw data.
NOTE: You need reextract DBC data by _new_ extractor for correct work mangosd.