Commit Graph

444 Commits

Author SHA1 Message Date
Yunfan Li
33e4bc8390 Merge branch 'master' into Playerbot 2024-08-12 01:07:20 +08:00
Kitzunu
e4df159f5c refactor(Core/Chat): Move SendNotification to ChatHander (#19491)
* refactor(Core/Chat): Move SendNotification to ChatHander

* Update Battleground.cpp

* fix build

* Update src/server/game/Chat/Chat.h
2024-08-10 11:39:46 -03:00
Kitzunu
bb7765d91e refactor(Core/World): Move SendGMText to ChatHandler and allow fmt (#19490)
* refactor(Core/World): Move SendGMText to WorldSession and allow `fmt`

- Move SendGMText from World to WorldSession

- Make SendGMText use fmt

- Make SendGMText parse acore_string entries

* Update cs_message.cpp

* tokenize the string only once

* Move to chathandler

* Update WorldSession.cpp

* make sure we have a session
2024-08-08 20:12:33 -03:00
Yunfan Li
f5e44cd8a6 Merge branch 'master' into Playerbot 2024-08-01 15:41:23 +08: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
Benjamin Jackson
06a608d244 fix(Core/GroupHandler): Remove bad party invite check. (#19530)
Init.
2024-07-30 20:06:07 -03:00
Yunfan Li
172f54b49a Merge branch 'master' into Playerbot 2024-07-29 15:40:17 +08:00
Kitzunu
6c0afe1810 refactor(Core/WorldSession): Make SendNotification use fmt and parse acore_string (#19489)
* refactor(Core/WorldSession): Make SendNotification use `fmt`

* Make SendNotification use `fmt`

* Make SendNotification parse acore_string entries
2024-07-28 01:25:06 +02:00
Kitzunu
034a4c0ff6 fix(Core/Chat): Exempt addon messages from CONFIG_CHAT_MUTE_FIRST_LOGIN (#19472)
* closes https://github.com/azerothcore/azerothcore-wotlk/issues/19471
2024-07-27 08:21:23 -03:00
Yunfan Li
5276676a11 Merge branch 'master' into Playerbot 2024-07-24 20:57:52 +08:00
Kitzunu
3fbded8f6b refactor(Core/Chat): PSendSysMessage to fmt (#19449)
* refactor(Core/Chat): PSendSysMessage to `fmt`
2024-07-23 23:48:46 +02:00
Yunfan Li
c72188467a Merge branch 'master' into Playerbot 2024-07-23 18:23:10 +08: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
Yunfan Li
22132addce Merge branch 'master' into Playerbot 2024-07-19 17:25:43 +08: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
Yunfan Li
1f54cb14fa Merge branch 'master' into Playerbot 2024-07-07 13:33:14 +08:00
Kitzunu
ebf5f6710a feat(Core/Chat): Provide a fully-formed protocol for addons to intera… (#19305)
* feat(Core/Chat): Provide a fully-formed protocol for addons to interact with GM commands

* Send success/fail state, allow interleaving, and indicate end of output. Add framework for supporting non-human-readable output in commands.

* cherry-pick commit (508c9d2fc1)

This PR implements a well-formed protocol for addons to communicate with the server, outlined below:

- All communication happens over the addon channel (`LANG_ADDON` in terms of the core, `CHAT_MSG_ADDON`/`SendAddonMessage` for the client). The prefix used for all messages is `AzerothCore` (in client terms - in core terms, every message starts with `AzerothCore\t`).
- In each message, the first character is the opcode. The following four characters are a unique identifier for the invocation in question, and will be echoed back by the server in every message related to that invocation. Following is the message body, if any.
- The following opcodes are supported:
    - Client to server:
        - `p` - Ping request. The core will always respond by ACKing with the passed identifier. No body.
        - `i` or `h` - Command invocation. The message body is the command text without prefix. `i` requests machine-readable output, `h` requests human-readable.
    - Server to client:
        - `a` - ACK. The first message sent in response to any invocation (before any output). No body.
        - `m` - Message. Sent once per line of output the server generates. Body = output line.
        - `o` - OK. Indicates that the command finished processing with no errors. No body.
        - `f` - Failed. Indicates that command processing is done, but there was an error. No body.

Expected overhead is minimal, and this integrates seamlessly with existing command scripts (no changes necessary).

PS: There's also a client-side addon library that exposes this protocol in a developer-friendly way over at https://github.com/azerothcore/LibAzerothCore-1.0

---------

Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
2024-07-06 19:13:24 +02:00
Benjamin Jackson
620c40b010 fix(Core/Handlers): Adjust start swing handler. (#19267)
* Init.

* Flesh out packet info.

https: //github.com/TrinityCore/TrinityCore/commit/af6d207addfef177fb5ac3e7fa61ec93ced83d16
Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>

---------

Co-authored-by: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
2024-07-05 07:45:26 -03:00
Kitzunu
aebb99ecda fix(Core/Character): TeleportTo() in HandlePlayerLoginFromDB() causes… (#19237)
fix(Core/Character): TeleportTo() in HandlePlayerLoginFromDB() causes breakdown in the network communication

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/16307
2024-07-04 14:30:25 -03:00
Yunfan Li
cc5adebbe4 Merge branch 'master' into Playerbot 2024-07-03 16:04:51 +08:00
Kitzunu
0a8175ef03 refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load (#19259)
* refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load

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

* Update ObjectMgr.cpp

* Update ObjectMgr.cpp

* I swear I am not drunk

* We already check all of these

* fix build

* Forgot we dont send the responsecode in senderrormessage

* last commit I swear
2024-07-03 00:23:32 +02:00
Kitzunu
f96d4c8670 Revert "Add (core\db): Support for Homebind Orientation (#13389)" (#19257)
* Revert "Add (core\db): Support for Homebind Orientation (#13389)"

This reverts commit 2e6f6e26da.

 Changes to be committed:
	modified:   src/server/database/Database/Implementation/CharacterDatabase.cpp
	modified:   src/server/game/DungeonFinding/LFGScripts.cpp
	modified:   src/server/game/Entities/Player/Player.cpp
	modified:   src/server/game/Entities/Player/Player.h
	modified:   src/server/game/Entities/Player/PlayerStorage.cpp
	modified:   src/server/game/Entities/Player/PlayerUpdates.cpp
	modified:   src/server/game/Handlers/CharacterHandler.cpp
	modified:   src/server/game/Handlers/MiscHandler.cpp
	modified:   src/server/game/Handlers/MovementHandler.cpp
	modified:   src/server/game/Maps/Map.cpp
	modified:   src/server/game/Spells/Spell.cpp
	modified:   src/server/scripts/Commands/cs_misc.cpp
	modified:   src/server/scripts/Commands/cs_tele.cpp
	modified:   src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp

 Untracked files:
	data/sql/updates/pending_db_world/rev_1719945200692175000.sql

* Revert "Add (core\db): Support for Homebind Orientation (#13389)"

* whoops
2024-07-02 22:02:15 +02:00
Yunfan Li
72725635ba Merge branch 'master' into Playerbot 2024-06-19 14:32:16 +08: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
Yunfan Li
971b2f8316 Merge branch 'master' into Playerbot 2024-06-03 23:16:28 +08:00
Jelle Meeus
a6425c3630 fix(Core/PetHandler): when dismissing a charmed unit owned by another unit; stop the charm instead of despawning (#18989)
2cdea49d81
2024-06-03 00:42:06 -03:00
Yunfan Li
c010742289 Merge branch 'master' into Playerbot 2024-04-22 21:50:43 +08:00
Anton Popovichenko
5386443388 fix(Core/Characters): Fix crash on characters deletion with COD mails. (#18754)
fix(Core/Characters): Fix crash on characters deletion.
2024-04-17 03:53:43 -03:00
Yunfan Li
ab9fe20600 Merge branch 'master' into Playerbot 2024-04-14 21:08:07 +08:00
Walter Pagani
564192f881 fix. Prevent character deletion if you have an email (#18743)
* fix. Prevent character deletion if you have an email

* Conditional revert

* change message

* original message
2024-04-14 08:00:50 -03:00
Yunfan Li
6338010e09 Merge branch 'master' into Playerbot 2024-03-28 19:15:09 +08:00
Elmsroth
b1cf830009 chore(PlayerScript/Hook) : Add CanSetTradeItem Hook in PlayerScript (#18583)
* chore(PlayerScript/Hook) : Add CanSetTradeItem Hook in PlayerScript

* Allowing non traded slots

* Fix typo and codestyle
2024-03-26 21:28:37 -03:00
Yunfan Li
b4046d48d7 Merge branch 'master' into Playerbot 2024-02-22 23:34:59 +08:00
sudlud
d94d10aa9f fix(Core): Prevent gift wrapping of limited duration items (#18334)
fix(Core): Prevent gift wrapping of items with duration

- remaining duration is not beeing stored in character_gifts
- gift wrapping of items with duration preserved
  them infinitely
2024-02-19 21:23:13 +01:00
Yunfan Li
5699c97d8c Merge branch 'master' into Playerbot 2024-02-11 23:45:22 +08: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
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
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
Anton Popovichenko
dc830932f7 fix(Core): Fix item disappearing on selling item on auction (#18090) 2024-01-01 08:01:22 -03:00
Yunfan Li
7915f79d04 Merge branch 'master' into Playerbot 2023-12-12 20:52:42 +08: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
Tristan 'Natrist' Cormier
0e1bdb1154 chore(Misc/Lang): rename LANG_YOU_NOT_HAVE_PERMISSION to LANG_PERMISSION_DENIED (#17732) 2023-11-16 06:06:17 -03: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