Commit Graph

2707 Commits

Author SHA1 Message Date
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
Kalimist
1324f420f2 Fix(Core/CharacterHandler): Incorrect behavior using an equipment set… (#18253)
* Fix(Core/CharacterHandler): Incorrect behavior using an equipment set if it will result in a full inventory.

* Fixing the error message to -Equiment swap failed - inventory is full- like the Blizzlike error message
2024-02-03 14:34:33 +01:00
3ster
000ec142a2 Check if triggered spell has cast time (#18231)
* Check if triggered spell has cast time

* Fix client crash upon manually cancelling finished spell
2024-02-03 11:52:34 +01:00
Benjamin Jackson
b6c429c5a8 fix(Core/Quests): Create quest money reward config and adjust max level bonus reward function. (#18222)
* Init.

* Drop RewardBonusMoney column.

How's that for deprecation.

* Add formula source link.

* Remove deprecated info in conf.

* Newline.
2024-01-31 23:21:27 +01:00
Kitzunu
69dc8804e6 feat(Core/Spell): Add helper for TriggeredCastFlag (#18227)
* feat(Core/Spell): Add helper for TriggeredCastFlag

* Lol

* fix build
2024-01-26 13:51:42 +01:00
Flashaholic88
c18bd64136 fix(Core/Misc): typo (#18221) 2024-01-23 21:38:32 +01:00
sudlud
e447351b0f fix(Core/Creature): Remove automated z spawn correction (#18200)
* fix(Core/Creature): Remove automated z spawn correction

* comment out unused parameter

* remove gridLoad parameter from Creature::LoadCreatureFromDB()
2024-01-21 07:33:00 -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
Pedro Antonio
2c7c3b6832 fix(CORE/OPvP): Halaa Mechanics not working properly (#15634) 2024-01-14 14:00:53 -03:00
sudlud
1785df7117 fix(Core/Player): Fix Player not starting at full health (#18136)
* fix(Core/Player): Fix Player not starting at full health

* remove first call to UpdateMaxHealth() and SetFullHealth()
2024-01-14 11:07:52 -03:00
Nathan Handley
4321b8a4de feat(Core/Scripting): Implement new hook OnBeforePlayerLogout() (#18163)
* new hook OnPlayerPreLogout

* Changed PreLogout to BeforeLogout per review

* Renamed OnPlayerBeforeLogout to OnBeforePlayerLogout per review

---------

Co-authored-by: NathanHandley <nathanhandley@protonmail.com>
2024-01-14 00:10:49 +01:00
Angelo Venturini
a1891d8d8f fix(Core/ThreatMgr): Remove temp threat on resetting threat list (#18162) 2024-01-13 05:45:43 -03:00
sudlud
96d8d1d89a fix(Core/Creature): Reduce z offset for automated spawn correction (#18153)
- 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
2024-01-11 11:15:41 -03:00
Andrew
39ea396113 feat(Scripts/Commands): Implement gameobject respawn command (#18129) 2024-01-07 17:58:17 +01:00
Kitzunu
bceb6173c2 fix(Core/Player): Sometimes Player whisper is sent as boss whisper (#18128)
* fix(Core/Player): Sometimes Player emot is sent as boss whisper

* actually change it to whisper as it is boss whisper

* Update Player.cpp
2024-01-07 12:14:20 -03:00
Kitzunu
7a859da266 fix(Script/Spell): Vanish Purge behavior (#18127) 2024-01-07 12:03:53 -03:00
Kitzunu
2558f25623 fix(Core/Quest): Calculate reward money with RATE_REWARD_BONUS_MONEY … (#18104)
* fix(Core/Quest): Calculate reward money with RATE_REWARD_BONUS_MONEY instead of RATE_DROP_MONEY

* Update worldserver.conf.dist
2024-01-04 18:57:53 +01:00
Kitzunu
6202835cff fix(Core/LFG): Hide XP from max players (#18103)
* Cherry-pick Player::IsMaxLevel from TrinityCore
* Correctly hide XP reward for max level players in LFG
* Closes #18101
2024-01-03 19:47:26 +01:00
AG
8f127f9e21 Fix combat movement (#18026)
* Improve combat movement

 - Removed a bunch of logic related to another attempt at fixing combat movement.
- Removed SMART_ACTION_SET_CASTER_COMBAT_DIST and updated smarts scripts accordingly.
- Cherry-picked 7fb7432620
- Cherry-picked 63a6e1e048

Co-Authored-By: Ludovic Barbier <ludovic.barbier03@gmail.com>
Co-Authored-By: Giacomo Pozzoni <giacomopoz@gmail.com>

* Some more cleanup + fix sql

* More fixes to caster chase/combat movement + some cherry picks because why not

- Fix casters always trying to chase to melee range
- Fix casters another case of casters sometimes walking back instead of stopping
- Cleaned up some code
- Cherry picked ca25e8d019
- Cherry picked 96b289cadb

Co-Authored-By: Giacomo Pozzoni <giacomopoz@gmail.com>

* Added parentheses

* Fixed caster combat movement when target is rooted

- Made a few adjustments to chase range and stuff, but nothing set in stone.

* convert uint to int

---------

Co-authored-by: Ludovic Barbier <ludovic.barbier03@gmail.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2024-01-03 09:56:24 +01:00
Andrew
f9f71fff36 fix(Core/Player): Check if the player can summon the warlock pet on B… (#18064)
fix(Core/Player): Check if the player can summon the warlock pet on BG ress
2024-01-01 14:56:32 +01:00
Andrew
e3fd42f3d4 feat(Core/World): Implement DoForAllPlayers() helper for all online p… (#18060)
* feat(Core/World): Implement DoForAllPlayers() helper for all online players

* Update src/server/game/World/World.cpp

Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>

* Update src/server/game/World/World.cpp

Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>

* rename

* Update WorldMock.h

* Update WorldMock.h

---------

Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>
2024-01-01 13:57:57 +01:00
Anton Popovichenko
dc830932f7 fix(Core): Fix item disappearing on selling item on auction (#18090) 2024-01-01 08:01:22 -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
Andrew
a11434b24f refactor(Core/GameObject): Move the GameObject state save handling to… (#18080)
* refactor(Core/GameObject): Move the GameObject state save handling to instance level

* Update GameObject.h

* remove leftover

* small improvements
2024-01-01 01:51:33 -03:00
Andrew
be4d90404b feat(Core/Spells): Implement SPELL_ATTR0_CU_BYPASS_MECHANIC_IMMUNITY (#18056) 2023-12-25 03:58:29 -03:00
IntelligentQuantum
258e369ee5 chore(Core): remove useless includes (#18036) 2023-12-23 12:16:27 -03:00
avarishd
03d06da87b feat(Core/SmartScripts): SMART_EVENT_SUMMONED_UNIT_EVADE (#18018)
* feat(Core/SmartScripts): SMART_EVENT_SUMMONED_UNIT_EVADE

* .
2023-12-15 09:43:24 -03:00
avarishd
06525cdc1e feat(Core/Object): Play radius sound/music. (#18011) 2023-12-13 16:24:52 -03:00
IntelligentQuantum
9f1abf1214 chore(Core/Entities): remove useless includes (#17994) 2023-12-12 01:36:35 -03:00
Angelo Venturini
10c9a2729b fix(Core/SAI/SSC): Allow Farthest target to set a min distance (#17992) 2023-12-11 19:57:44 -03:00
Angelo Venturini
36109628a9 fix(Core/Spells): Add ignore LOS to Tidal Wave (#17979) 2023-12-10 20:30:28 -03:00
avarishd
f476c8a6c9 feat(Core/Hooks): Add OnPlayerJustDied hook (#17973)
feat(Core/Hooks): Add OnPlayerJustDied
2023-12-10 19:06:23 -03:00
Tristan 'Natrist' Cormier
ac676f87ab chore(Core/Player): remove unused AnticheatSetSkipOnePacketForASH() function (#17947) 2023-12-09 01:09:52 +01:00
Winfidonarleyan
6faa364ad8 fix(Game/Scripting): add loading missing lfg scripts (#17949) 2023-12-06 16:21:46 -03:00
Andrew
0fa6a67815 feat(Core/Scripting): Implement AfterInstanceGameObjectCreate() global hook (#17935) 2023-12-03 18:04:16 -03:00
Kitzunu
4fb0464b60 fix(Core/Quest): Throw error if quest_template RewardItemId is not se… (#17924)
fix(Core/Quest): Throw error if quest_template RewardItemId is not set in order

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/17740
2023-12-03 13:38:51 +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
db4b0b0d3d feat(Core/ChatHandler): Add SendErrorMessage helper (#17919)
* feat(Core/Chat): Add SendErrorMessage helper

* lost boy
2023-12-02 19:25:32 +01:00
Kitzunu
5bfeabde81 chore(Core/Misc): rename spellInfo pointers (#17914)
* Rename all
2023-12-02 06:03:15 -03:00
Tristan 'Natrist' Cormier
8eed7ee531 fix(Core/Channel): potential nullptr reference in Channel::SetOwner() (#17906) 2023-11-30 16:25:01 -03:00
Tristan 'Natrist' Cormier
4c94f62144 chore(Core/Account): move AccountMgr::IsGMAccount() to class WorldSession (#17845) 2023-11-28 21:44:48 +01:00
Kitzunu
ef1b3c2ea0 chore(Core/Misc): Clean up workarounds (#17870)
* Clean advstd to use std c++20 features
* Use ABORT instead of std::abort

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2023-11-27 00:07:39 +01:00
Andrew
daec8345e0 refactor(Scripts/BlackTemple): Modernize Najentus boss script (#17871)
* refactor(Scripts/BlackTemple): Modernize Najentus boss script

* fix build

* Update ScriptedCreature.h
2023-11-26 23:47:15 +01:00
Kitzunu
f440a7479f fix(Core/Groups): Create the group at first invite (#17869)
* cherry-pick commit (132538db1d)
* cherry-pick commit (250e8d998b)
* part https://github.com/azerothcore/azerothcore-wotlk/issues/11070

Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
2023-11-26 20:34:45 +01:00
Kitzunu
911f07c906 fix(Core/Spells): Haunted should not be right-clickable (#17864)
fix(Core/Spells): Haunted

https://github.com/azerothcore/azerothcore-wotlk/issues/16248
2023-11-26 17:50:32 +01:00
AG
f7d7c4feb7 fix(Core/Creature): Improve chase movement (#17557)
* Update TargetedMovementGenerator.cpp

* Adding Ovahlord as co-author

TIL: you can assign multiple authors to a commit 😛
Co-Authored-By: Ovahlord <18347559+ovahlord@users.noreply.github.com>

* Remove unused variable

* Undo some changes

---------

Co-authored-by: Ovahlord <18347559+ovahlord@users.noreply.github.com>
2023-11-26 17:09:24 +01:00
KJack
b7f7a7c731 fix(Core/Creature): Make Respawn() respect conditions and linked respawns (#17597) 2023-11-26 08:48:58 -03:00
Kitzunu
23606bcba0 chore(Core/Player): codestyle (#17841) 2023-11-24 16:52:36 +01:00
Tristan 'Natrist' Cormier
86d704a514 chore(Core/Chat): add Channel::ShouldAnnouncePlayer() method (#17819) 2023-11-24 09:03:30 -03:00