* Initial fix for #20509
* small revert
* Two way visibility between ghosts.
* clean up temporary changes.
* clean up debug code.
* small typo
* revert .gitignore
* fix codestyle
* Add missing flag, resolve issue where cast was failing while alive.
* Update SpellInfo.cpp
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
---------
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
* 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>
* Init.
* Use GetGameTime() instead of system call.
Co-Authored-By: Anton Popovichenko <walkline.ua@gmail.com>
* Update leash timer if rooted.
* Remove unnecessary checks, add extension for fanning.
More parity with VMaNGOS implementation.
---------
Co-authored-by: Anton Popovichenko <walkline.ua@gmail.com>
* Init.
https: //github.com/vmangos/core/commit/7d2f1e2923734ea1b983eeaa0208cfd158d4af02
Co-Authored-By: ratkosrb <35845488+ratkosrb@users.noreply.github.com>
* Hackfix for pets.
* Whoops.
* Correct evade uses.
* Conflict.
* Actually fix grace timer.
* Add visibility distance check.
Creatures should always fail combat checks in the open world if they're outside of visibility distance, might not be the case for worldbosses.
---------
Co-authored-by: ratkosrb <35845488+ratkosrb@users.noreply.github.com>
* 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): Correct Quest XP Display when modified by SPELL_AURA_MOD_XP_QUEST_PCT
The quest XP displayed on the gossip window was not modified for auras that increase quest XP gain (e.g. spell ID 57353). This commit corrects the quest XP display when accepting/returning quests.
* refactor(Entities/Player): Added a `CalculateQuestRewardXP()` function to reduce duplicated code
* cleanup(Entities/Creature): Removed now unused variable `playerLevel`
* Apply suggestions from code review
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
---------
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
* fix(Core/Creature): Prevent combat movement disabled creatures from repositioning if target moves within model boundary
* fixbuild
* Apply suggestions from code review
* 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>
- this is necessary to correctly spawn creatures within small defines
- 0.42f is as good as 1.0f to detect and correct reasonable z errors
in DB spawn data
* fix(Scripts/SSC): Fix being able to damage Leo's minions if you are not the target player
* implement helper
* Update Creature.cpp
* Update Creature.h
* 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
* Add `OnBeforeCreatureSelectLevel()` hook
- allows modules to alter the level of a creature just before it is set
* Fix missing class name.
* Hook should catch even if the level isn't being changed.
* Trim whitespace.
* Revert "Trim whitespace."
This reverts commit 76768d85c0b9878828b71a008e709c1df7ddadc5.
* Fix whitespace
- Fix drinking being interrupted by dots
- Fix first super timer
- Fix missing Arcane Explosion emote
- Fix supers being locked by spell interrupt
- Correct drinking to 10% mana down from 20%