Commit Graph

607 Commits

Author SHA1 Message Date
Yunfan Li
20f917c48f Merge branch 'master' into Playerbot 2024-06-22 16:09:16 +08:00
sudlud
b3f21d909a fix(Core/PlayerQuest): Introduce flag QUEST_SPECIAL_FLAGS_CAN_FAIL_IN… (#19116)
fix(Core/PlayerQuest): Introduce flag QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE

- this allows flagging quests so that they are allowed to fail in Player::FailQuest()
  independant of their current state
- update quest 853 accordingly as a first use case
2024-06-22 03:04:56 -03:00
Yunfan Li
72725635ba Merge branch 'master' into Playerbot 2024-06-19 14:32:16 +08:00
atrapalis
dea3748629 fix(Core/Quest): Correct XP Display when modified by SPELL_AURA_MOD_XP_QUEST_PCT (#19060)
* 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>
2024-06-19 00:41:39 +02:00
Yunfan Li
72634b2829 Merge branch 'master' into Playerbot 2024-06-07 22:28:03 +08:00
Kitzunu
744067b389 fix(Core/Player): Delete by group (#19015)
* fix(Core/Player): Delete by group

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/19014

Co-Authored-By: trickerer <onlysuffering@gmail.com>

* Update Player.cpp

* fix build

---------

Co-authored-by: trickerer <onlysuffering@gmail.com>
2024-06-06 20:58:43 +02:00
sudlud
3913618f87 fix(Core/PlayerQuest): make timed quests failable (#18940) 2024-06-04 18:30:10 +02:00
Yunfan Li
971b2f8316 Merge branch 'master' into Playerbot 2024-06-03 23:16:28 +08:00
sudlud
1663045da6 fix(Core/Mail): calculate unReadMails and m_nextMailDelivereTime usin… (#18996)
* fix(Core/Mail): calculate unReadMails and m_nextMailDelivereTime using mail cache

- these values were grepped directly from DB before
-> this change was introduced with azerothcore/azerothcore-wotlk#3420

- the whole mailing system relies on the mails beeing cached in the core
-> these get stored in DB regularly or on specific events

- so apparently the DB is not always in sync with the current mail cache state of the core
-> so grepping data directly from DB is not a good idea at this point

* Update PlayerUpdates.cpp
2024-06-02 09:29:54 -03:00
Andrew
2a1d23e520 fix(Scripts/Hyjal): Implement Eternal Silence spell when going into t… (#18960)
fix(Scripts/Hyjal): Implement Eternal Silence spell when going into the Well of Eternity
2024-05-28 01:24:10 +02:00
Yunfan Li
1e22c4dc94 Merge branch 'master' into Playerbot 2024-05-26 23:00:39 +08:00
silviu20092
3988e9581d feat(core): add hooks for applying item mods (#18760) 2024-05-18 10:02:57 +02:00
Yunfan Li
f0be01a5d7 Merge branch 'master' into Playerbot 2024-04-07 21:49:34 +08:00
Anton Popovichenko
f7f1952f4b fix(Core/Player): Fix memory leak. (#18671) 2024-04-05 07:04:55 -03: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
47f9d66874 feat(Core/Optimization): Create index for sSkillLineAbilityStore to speedup search by skillLine. (#18622)
* feat(Core/Optimization): Create index for sSkillLineAbilityStore to speedup search by skillLine.

* Remove whitespace.
2024-04-01 05:50:12 -03:00
Yunfan Li
d74a6dd960 Merge branch 'master' into Playerbot 2024-03-31 12:44:21 +08: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
Yunfan Li
97604fab77 Merge branch 'master' into Playerbot 2024-03-22 20:41:43 +08:00
Mykhailo Redko
33f951d742 fix(Core/Spells): Fixed work of sobering spells and other improvements for drunk system (#18390)
* fix(Core/Spells): Fix sobering spells and possible uint8 overflow/underflow in SPELL_EFFECT_INEBRIATE handler.

* fix(Core/Spells): Improvements for SPELL_AURA_MOD_FAKE_INEBRIATE handling
2024-03-20 01:45:01 -03:00
Yunfan Li
68219e6f55 Merge branch 'azerothcore:master' into Playerbot 2024-03-17 12:05:57 +08:00
Elmsroth
ab02c36e67 feat(Scripts/Commands): Implement ".reset items" command (#18393)
Syntax : .reset items equiped|bags|bank|keyring|currency|vendor_buyback|all|allbags #playername
Delete items in the player inventory (equiped, bank, bags etc...) depending on the chosen option.
#playername : Optionnal target player name (if player is online only). If not provided the command will execute on the selected target player.


Update src/server/scripts/Commands/cs_reset.cpp

Accepted

Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
Update data/sql/updates/pending_db_world/rev_1708782048020249700.sql

Accepted

Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
Update data/sql/updates/pending_db_world/rev_1708782048020249700.sql

Accepted

Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
Update src/server/game/Miscellaneous/Language.h

Accepted

Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
fix uint16 vs uint16_t


fix crash and code cleanup

Fix typo

sql fix

Missing typo

selected instead or selecter

AC code style fix

Re-Fix typos

MISSING typos

missing typos
2024-03-15 10:23:31 -03:00
Yunfan Li
5699c97d8c Merge branch 'master' into Playerbot 2024-02-11 23:45:22 +08:00
AnchyDev
1d8c4056b3 feat(Core/Hooks): Add the KillRewarder reference to the OnRewardKillRewarder hook. (#18290)
* Another hackfix attempt at warden payload forcechecks ban fix.

* Revert last commit, interrupt all forcechecks instead of just _dataSent ones.

* Add rewarder parameter to OnRewardKillRewarder hook.

* Undo old warden changes.

* Removed too much!
2024-02-10 21:58:49 +01: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
Yunfan Li
9784f932e9 Merge branch 'master' into Playerbot 2024-02-06 17:51:47 +08: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
Yunfan Li
9e172c9113 Merge branch 'master' into Playerbot 2024-01-15 21:00:38 +08: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
Yunfan Li
600b0873e7 Merge branch 'master' into Playerbot 2024-01-08 23:30:50 +08: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
Yunfan Li
ccf92f481d Merge branch 'master' into Playerbot 2024-01-04 19:22:20 +08: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
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
Yunfan Li
7915f79d04 Merge branch 'master' into Playerbot 2023-12-12 20:52:42 +08:00
IntelligentQuantum
9f1abf1214 chore(Core/Entities): remove useless includes (#17994) 2023-12-12 01:36:35 -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
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
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
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
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
KJack
f417a166bc feat(Core/Scripts): added OnAfterSpecSlotChanged hook (#17637) 2023-11-07 23:46:08 +07:00
Kitzunu
f757e93da5 refactor(Core/Misc): Make DeathState enum class (#17607) 2023-10-28 10:54:03 +02:00
Yunfan Li
d879fc9258 Merge branch 'master' into Playerbot 2023-10-27 20:12:09 +08: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
Yunfan Li
57e0c7a09f Merge branch 'master' of github.com:azerothcore/azerothcore-wotlk into Playerbot 2023-10-22 19:52:23 +08:00