* enable CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK
* sql set CREATURE_FLAG_EXTRA_USE_OFFHAND
* use new HasOffHandWeaponForAttack instead of haveOffhandWeapon
no longer requires m_CanDualwield set to use Offhand attack
requires non-disarmed weapon in Offhand OR creature_flag_extra enabled
Co-authored-by: Ovah <dreadkiller@gmx.de>
Co-authored-by: Warlockbugs <warlockbugs@outlook.com>
* Make shapeshift forms which dont override attack speed use weapon damage
Co-authored-by: killerwife <killerwife@gmail.com>
* SetEquipmentSlots turning off damage update when using template default
Co-authored-by: killerwife <killerwife@gmail.com>
* Setup DualWield & Damage On Equipment Updates, implement Set and GetVirtualItem
Co-authored-by: Yatzii <47720837+Yatzii93@users.noreply.github.com>
* creature disarm damage
set disarm to reduce minmax damage by 50% instead of setting to 0
Co-authored-by: Warlockbugs <warlockbugs@outlook.com>
---------
Co-authored-by: Ovah <dreadkiller@gmx.de>
Co-authored-by: Warlockbugs <warlockbugs@outlook.com>
Co-authored-by: killerwife <killerwife@gmail.com>
Co-authored-by: Yatzii <47720837+Yatzii93@users.noreply.github.com>
* fix(Core/AI): remove an unused variable
* Move variables at the end of each sections
* reorder several methods
* remove few inline defintions
* few codestyle fixes
* initial release
* fix reviews
* fix some typo and add new documetations for MotionMaster
* new update and fix the cli-codestyle
* fix typo
* fix reviews
* move several enum definitions in a new files
* move more things
* remove the include comment
* move the related code to CharmInfo in this own file
*original idea of Ovahlord
Co-Authored-By: Ovahlord <18347559+Ovahlord@users.noreply.github.com>
* fix clang build errors and few blank lines
* missing forward declaration
* new tentative to fix gcc/clang build
* add several include could be necessary for gcc/clang compilation
* .
* revert some include since the last AC update
* fix some loop inconsistencies
* align all enums in UnitDefine.h
---------
Co-authored-by: Ovahlord <18347559+Ovahlord@users.noreply.github.com>
* Config - Deprecated for 3 years
* ChatCommand - Deprecated for 2 years
* getLevel() - Deprecated for 2 years
* SendGlobalText - Deprecated for 8 years +
* fix(Core/Unit): Invalidate update object cache when changing health in the same world update tick.
Should fix an issue when the client sees dead NPCs when they are not.
* Fix styling
* Another codestyle fix
* feat(Core/Optimization): Optimize build of units update object by leveraging cache.
* Remove whitespaces.
* Add alternative hooks to handle transmog and other similar things.
* Fix build on some compilers.
* Fix codestyle
* Fix build again.
* Take into account updateType.
* Class Comparison Logic Encapsulation - Parity
* Add Context to IsClass
* Add Unit IsClass script hook
* Replace additional getClass with IsClass
* Update CanUseItem to replace getClass with IsClass
* Add separate context for pet vs ability
* Change Create to Init since not all referenced contexts are creation
* Align spacing in ClassContext
* Drop context on LFGManager max power
* Update IsClass context that wraps around Missle Barrage
* Rename context for swapping weapons
* Be more specific than CLASS_CONTEXT_TALENT
* Remove duplicate context
* Moved IsClass Hook to Player
* Removed unused parameter in virtual base function
* Added maybe_unused to IsClass virtual in order to compile
To match the override signature, the virtual base needs to include the parameter in question, so using [maybe_unused] to signal to the compiler to allow it
* Remove extra blank line
* Add ABILITY_REACTIVE context
* Add context for PET_CHARM
* Remove explicit nullopt check per review
* Code Readability - Change if to if else in pet
Due to the return pattern, this doesn't change functionality in any way
* Add OnPlayer to disambiguate
---------
Co-authored-by: NathanHandley <nathanhandley@protonmail.com>
* Bug fixes
- Corrected std::chrono from seconds to milliseconds
- Got rid of leftover code that caused objects to not show up on time
* Removed logic to set gameobject as active
- More alignement with TC.
- Reduces CPU usage drastically
* Revert back to using time_t instead of std chrono
* Invoke SetNoCreate() method to reduce CPU usage drastically
* Remove setActive from static and motion transports
* Fix performance issues
* Added SetFarVisible to WG and some dungeon scripts
- Also removed setActive(true) from creatures in Wintergrasp. As for gameobjects they are set to active upon being damaged/destroyed and removed from active on rebuild (reset)
* Removed comments related to VISIBILITY_COMPENSATION
* Fix log
* Deleted unused files + corrected a check
* Added missing header
* Removed unused parameter
* Removed another unsued parameter
* Changed vector to set for i_visibleNow
- Changed vector to set for i_visibleNow in VisibleNotifer
- Adjusted HaveAtClient to accept Object*
- Adjusted SendUpdateToPlayer to send createobject packet only if not known to client