Commit Graph

415 Commits

Author SHA1 Message Date
Grimdhex
2f85097413 docs(Core): improve several functions documentation (#19677)
* initial release

* fix reviews

* fix some typo and add new documetations for MotionMaster

* new update and fix the cli-codestyle

* fix typo

* fix reviews
2024-08-28 08:17:24 -03:00
Tereneckla
f2ed6f791b fix (Core/Unit): add AutoRpeatSpell delay to Auto Shot as well (#19603)
Update Unit.cpp
2024-08-26 07:20:23 -03:00
Grimdhex
643362d697 refactor(Core/Object): adds consistency in the use of type object check (#19671) 2024-08-25 09:57:37 -03:00
Andrew
c0b6eae0e1 fix(Core/Spells): Fix movement impairment auras not being removed (#19684) 2024-08-22 15:09:43 -03:00
Grimdhex
9dc20bc261 fix(Core/Entities): crash fix cause by a pointer change in #19622 (#19633)
* fix(Core/Entities): crash fix cause by a pointer change in #19622

* fix blank space for codestyle check
2024-08-15 16:28:50 -03:00
Grimdhex
7457aef78d refactor(Core/Entities): Cleanup Unit header file (#19622)
* 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>
2024-08-15 05:12:44 -03:00
Francesco Borzì
02a05fbd4c refactor(src/common): remove unused imports (#19506)
* refactor(src/common): remove unused imports

* fix: build

* chore: fix build

* chore: size_t -> std::size_t

* chore: fix fuckup from previous commit

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build with std::size_t

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build
2024-07-30 20:06:46 -03:00
Francesco Borzì
54fadbda67 refactor(src/server/game/Entities): remove unused imports (#19507) 2024-07-28 16:39:39 -03:00
avarishd
3c9dc6ed78 fix(Core/Unit): Split Damage auras should ignore LOS (#19357) 2024-07-27 07:31:22 -03:00
avarishd
618f97bee6 feat(Core/Unit): Enable/Disable Daze config (#19454)
* daze

* bruh

* bruhx2
2024-07-20 15:53:00 -03:00
Benjamin Jackson
94d3caaf1b fix(Core): Further adjust packet structure for attack stop opcode. (#19438)
* Init.

* Fixy fix.
2024-07-19 06:58:58 -03:00
Benjamin Jackson
295e4dd3c6 fix(Core): Correct packet structure for combat stop messages. (#19434)
* Init.

* Reviewed changes.
2024-07-18 21:19:36 -03:00
Jelle Meeus
9f5b01ab37 fix(Core/Unit): add melee spell breaking for spells with cast time (#19376)
melee spells breaking
2024-07-17 12:49:43 +02:00
Jelle Meeus
e8af1aaffc fix(Scripts/Spells): warlock seed of corruption (#19322)
* remove seed of corruption handling in unit.cpp

* add generic and warlock aurascript

add warlock  aurascript

add enum

add generic aurascript

add OnRemove

2ff855054f (diff-ea612aafadff90005e88b243eb000369be9e5cb6f8dc85a008d31e42b156e0ec)

detonation threshold scaling added in: df5afca278

Co-authored-by: ariel- <ariel-@users.noreply.github.com>

* add LoS check to generic damage

* refactor 2 scripts to 1 with args

refactor const_cast to GetAura()->GetEffect(

refactor reduce a line

* fix detonation threshold scaling

changed SPELL_DIRECT_DAMAGE to DOT

* remove not needed IsExpired() check

removal upon expiration is notified by AURA_REMOVE_BY_EXPIRE

* update comment

* refactor script with args to single spellscript, fix detonate by evade

* refactor

detonation to Detonate()
rename amount to remainingDamage
remove no tneeded HealthBelowPctDamaged

* refactor to 2 spell scripts again

* rename detonation spell from seed_of_corruption to seed_of_corruption_damage

avoids confusion with seed of corruption (with dot effect)

---------

Co-authored-by: ariel- <ariel-@users.noreply.github.com>
2024-07-17 01:50:38 +02:00
Benjamin Jackson
05f4fa1a35 fix(Core/Unit): Adjust melee attack stop logic. (#19397)
Init.
2024-07-14 12:31:40 -03:00
Jelle Meeus
a69d02e513 fix(Scripts/Spells): warlock demonic pact (#19386)
* add Demonic Pact Aura script

2ff855054f (diff-ea612aafadff90005e88b243eb000369be9e5cb6f8dc85a008d31e42b156e0ec)

Co-authored-by: ariel- <ariel-@users.noreply.github.com>

* spell_warlock aura:spell_warl_demonic_pact_aura

* fixup! spell_warlock aura:spell_warl_demonic_pact_aura

* remove not needed spell correction, flag is already set

* subtract current proc bonus before calculating new bonus

* also increase healing done

* remove Demonic Pact handling in Unit

* refactor indent, remove bonus from spell group effects e.g. totem of wrath

* Revert "refactor indent, remove bonus from spell group effects e.g. totem of wrath"

This reverts commit 104041172d34f542cc934e9f468407c36912cc7f.

* refactor indent

* manually set proc cooldown

---------

Co-authored-by: ariel- <ariel-@users.noreply.github.com>
2024-07-13 12:38:59 -03:00
Benjamin Jackson
70eb920b10 feat(Core/Unit): Implement munching as a configurable option. (#19188)
* Init.

* Correct description.

* Adjust boolean to integer in config.
2024-07-10 12:26:53 -03:00
Anton Popovichenko
04acfd96a0 fix(Core/Unit): Invalidate update object cache when changing health in the same world update tick. (#19287)
* 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
2024-07-05 15:42:22 -03:00
Kitzunu
bd29e9e1b3 fix(Core/Spell): Implement SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT (#19254)
feat(Core/Spell): Implement SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/19248
2024-07-04 14:30:59 -03:00
Kitzunu
385d7fd515 chore(Core/DBC): define unused unknown dbc fields (#19262)
* chore(Core/DBC): define unused unknown dbc fields

* Name unused unknown dbc fields using WDBX and wowdev.wiki

* rename SpellShapeshiftEntry to SpellShapeshiftFormEntry to properly match the DBC used

* rename sSpellShapeshiftStore to sSpellShapeshiftFormStore to properly match the DBC used

* Comment out unused field for GlyphPropertiesEntry

* Comment out unused field for MapEntry

* forgot one

* SpellShapeshiftfmt to SpellShapeshiftFormfmt

* SpellShapeshiftFormEntryfmt
2024-07-04 14:23:25 -03:00
Benjamin Jackson
8ea13ca778 fix(Scripts/Spells): Implement damage scaling based off DoT stack count for Seal of Vengeance and Corruption. (#19073)
* Init.

* Whoops.

* Move comment.

Someone should fix this darn CI.

* Logic adjustment.

* Revert logic adjustment.

This reverts commit ee09ee55df47c9a66ecf536be58a4a040f384b72.

* Requested changes?
2024-06-19 00:45:02 +02:00
Benjamin Jackson
d6d49a9e45 refactor(Core/ObjectMgr): Implement display probabilities. (#19068)
* Init.

Cherry-picked from TC commits 9d210476e5 and c488fb219a

Co-Authored-By: Traesh <9392905+traesh@users.noreply.github.com>
Co-Authored-By: Shauren <shauren.trinity@gmail.com>

* Add brute data.

Needs validation against what existed before, i.e. Classic change prevention.

* Add validation info for brute data.

* Remove incomplete data queries.

* Requested changes.

* Whitespace.

* Requested change.

Table name.

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Requested change.

Table name.

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Resolve the funny merge conflicts.

I wonder why git blame doesn't work on a file with 20k lines in it that's odd huh champ.

* Remove unused parameter.

* Remove uses of unused parameter.

* Use unused parameter.

Hopefully?

* I will cry.

* Sobbing endlessly.

* Remove comment.

* Adjust table structure query.

Remove length parameters and allow null for build value.

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Adjust column datatype and add check constraint.

---------

Co-authored-by: Traesh <9392905+traesh@users.noreply.github.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2024-06-16 18:12:16 +02:00
Jelle Meeus
0793a979bb fix(Unit/ProcessTerrainStatusUpdate): prevent removal swimming auras if swimming (#18902)
* do not remove swimming auras if we are swimming

* refactor to isSwimming()

* Update src/server/game/Entities/Unit/Unit.cpp

Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com>

---------

Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com>
2024-05-29 20:17:25 +02:00
Jelle Meeus
ac203da3d3 fix(Core/Unit): SPELLMOD_RESIST_MISS_CHANCE should decrease miss chance (#18849)
fix: hitchance should decrease misschance
2024-05-11 13:51:17 +01:00
Anton Popovichenko
1f640c9872 feat(Core/Optimization): Optimize build of units update object by leveraging cache (#18637)
* 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.
2024-04-05 08:03:11 +02:00
Anton Popovichenko
73340b94e3 feat(Core/Compression): Move packets compression from map to network thread (#18602)
* feat(Code/Compression): Move packets compression from map to network thread.

* Code style fix

* Remove unicode letter
2024-03-28 08:57:29 -03:00
Nathan Handley
df33a57b78 feat(Core/Unit): New helper IsClass and script hook OnPlayerIsClass (#18243)
* 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>
2024-02-10 12:25:00 -03:00
Nathan Handley
425a490a7b feat(Core/Unit): New helper HasActivePowerType and script hook OnPlayerHasActivePowerType (#18293)
* Create HasActivePower for script intercept

* Replace relevant player-related getPowerType() comparators with HasActivePowerType

* Change OnPlayerHasActivePowerType to regular bool instead of optional

---------

Co-authored-by: NathanHandley <nathanhandley@protonmail.com>
2024-02-09 06:27:02 -03:00
Tereneckla
4cfad0ffac fix (Core/Unit) Apply Capacitor cooldown on trigger proc instead of on stack add (#18189)
fix capacitor cooldown
2024-01-20 08:51:49 -03:00
Alethrion
b2fcc1babf fix(Core/Unit): Remove delay for Conflagrate aura state (#18068)
Removes ConflagrateAuraStateDelayEvent

Cherry-picked from: e27c385b48

Co-authored-by: Ariel Silva <ariel-@users.noreply.github.com>
2024-01-01 07:59:23 -03:00
IntelligentQuantum
9f1abf1214 chore(Core/Entities): remove useless includes (#17994) 2023-12-12 01:36:35 -03:00
Tristan 'Natrist' Cormier
ac676f87ab chore(Core/Player): remove unused AnticheatSetSkipOnePacketForASH() function (#17947) 2023-12-09 01:09:52 +01:00
Winfidonarleyan
eb1ecc38a5 feat(Core/Scripting): move all script objects to separated files (#17860)
* feat(Core/Scripts): move all script objects to separated files

* Apply 5bfeabde81

* try gcc build

* again
2023-12-02 21:13:20 +01:00
Kitzunu
5bfeabde81 chore(Core/Misc): rename spellInfo pointers (#17914)
* Rename all
2023-12-02 06:03:15 -03:00
Tristan 'Natrist' Cormier
4c94f62144 chore(Core/Account): move AccountMgr::IsGMAccount() to class WorldSession (#17845) 2023-11-28 21:44:48 +01:00
Andrew
d55b6753c9 feat(Core/Scripting): Implement Unit hooks to modify damage before ca… (#17785) 2023-11-18 23:36:59 -03:00
Winfidonarleyan
e90d7a2f92 chore(Core/Misc): sort includes (#17776)
* chore(Cleanup): sort includes

* fix build

* fix build again
2023-11-18 17:51:26 +01:00
Andrew
c4722de46a fix(Scripts/Karazhan): Fix Temptation target (#17710) 2023-11-14 20:09:25 -03:00
Andrew
5a4fdc7de4 fix(Core/Spells): Banish should only be dispelled by Mass Dispel (#17703)
* fix(Core/Spells): Banish should only be dispelled by Mass Dispel

* Update Unit.cpp

* Update Unit.cpp
2023-11-14 16:27:37 +01:00
Kitzunu
bbadc32bea Revert Visibility Notifier changes (#17682)
* Revert "fix(Core/Grid): Implement missing GridUnload setting (#17569)"

This reverts commit 79b39f9655.

* Revert "fix(Core/Grid): Address bugs and performance issues introduced by visibility notifier implementation (#17480)"

This reverts commit 60e27511c5.

* Revert "fix(Core): GridCleanUpDelay Log (#17436)"

This reverts commit 90b16ca065.

* Revert "feat(Core/Grids): Implement visibility notifier (#15919)"

This reverts commit 2779833768.
2023-11-12 00:48:49 +01:00
Ludwig
ef09d4b63f fix(Core/Unit): Implement GetDisplayRace() (#17609) 2023-11-08 19:19:38 +01:00
Kitzunu
f757e93da5 refactor(Core/Misc): Make DeathState enum class (#17607) 2023-10-28 10:54:03 +02:00
AG
79b39f9655 fix(Core/Grid): Implement missing GridUnload setting (#17569)
* Implement GridUnload setting

* Minor fixes

- Use GetOption instead of deprecated GetBoolDefault.
- Added a missing check for instances in LoadMap
- Replaced some numbers with global defines

* Possible crashfix + minor improvements

- Initialized initialOrientation which I had forgotten (likely cause of crash)
- Readded a previous check in UpdateSplineMovement
- Made i_objectsToRemove and i_worldObjects tos sets as they were previously, instead of unordered_set.

* Update worldserver.conf.dist

* Fix high CPU usage with preload grid enabled.

This should be it.
2023-10-26 19:32:15 -03:00
AG
60e27511c5 fix(Core/Grid): Address bugs and performance issues introduced by visibility notifier implementation (#17480)
* 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
2023-10-23 05:37:11 -03:00
Andrew
9935e72341 feat(Core/Unit): Implement OnPowerUpdate() unit script hook (#17560) 2023-10-22 09:14:41 -03:00
avarishd
4e5077ed80 fix(Core/Spells): Script Shaman T8 Elemental 4P Bonus (#17424)
* fix(Core/Spells): Script Shaman T8 Elemental 4P Bonus

* 🧙‍♂️
2023-10-08 09:31:54 -03:00
AG
2779833768 feat(Core/Grids): Implement visibility notifier (#15919)
* Cherry-picked from TrinityCore (unable to find author)
2023-09-28 22:28:28 +02:00
Skjalf
a8e514ea39 fix(Core/Unit): Threat from energize effects should be proportional t… (#17352)
fix(Core/Unit): Threat from energize effects should be proportional to the amount of power gained
2023-09-26 17:30:35 -03:00
Mickaël Mauger
1a84ab6983 fix(Core/Unit): Fix CanSwim method not accurate for players (#17320) 2023-09-23 20:49:20 +02:00
AG
540eda2af9 fix(Core/Unit): Added bluewall AoE check (#17064)
* Added bluewall AoE check

- AoE spells/abilities done by non-flagged players now has no effect on pvp flagged players.

* Crash fix

* Update Unit.cpp

Allow spells with flag "SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK" to pass this check.
2023-09-20 22:48:23 +02:00