Commit Graph

82 Commits

Author SHA1 Message Date
Kitzunu
66e3a94db4 fix(Groups/Loot): include bank when checking unique item cap for rolls (#26367) 2026-07-18 13:07:35 -03:00
Andrew
dd7af13fb3 fix(Core/Loot): keep group loot rolls when the roller leaves the loot's map (#26332)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 04:01:57 -03:00
sogladev
5025594ad0 fix(Core/LFG): resolve multi-role masks in-place during rolecheck (#26125) 2026-06-17 21:28:28 -03:00
Andrew
bbea93b558 fix(Core/Groups): keep unique roll-won items on corpse instead of mailing (#26059)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 21:47:40 -03:00
Andrew
4f1745483d fix(Core/Groups): preserve BoP trade window when mailing roll-won items (#26023)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 21:12:45 -03:00
Andrew
169e31f2c6 feat(Core/Groups): mail roll-won items when inventory is full (#25909)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 21:41:11 -03:00
blinkysc
779331fc4b feat(Core/RBAC): Role Based Access Controls (#24641)
Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
Co-authored-by: Spp <spp@jorge.gr>
Co-authored-by: Spp <spp@tc.plus>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com>
2026-05-01 09:19:30 -03:00
FM
27e823fa21 fix(Core/Groups): pass actual loot count to OnPlayerGroupRollRewardItem hook (#25312)
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 16:23:41 +02:00
Andrew
3f0c60c1dd fix(Core/LFG): prevent RDF anti-kick exploit via loot rolls (#25112)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 18:16:51 -03:00
Benjamin Jackson
24f5f289f0 refactor(Core/Packets): Rewrite various instance packets to modern class. (#22762) 2026-02-13 11:22:45 -03:00
Francesco Borzì
50b36e842a fix(docs/license): use GPLv2 as MaNGOS-based project (#23655) 2025-11-14 08:44:25 -03:00
天鹭
a1c8e0f221 refactor(Core): SendDirectMessage (#23230) 2025-10-30 14:21:26 -03:00
Benjamin Jackson
d4713356a0 refactor(Core/Packets): Rewrite MSG_MINIMAP_PING to modern packet class. (#22696) 2025-08-19 21:51:06 +02:00
Benjamin Jackson
52799d76f6 refactor(Core): Add definition file for area table entries. (#22054) 2025-05-09 15:48:02 +02:00
sudlud
2e9b40e21a fix(Core/Group): fix group loot for quest items (#21683)
Co-authored-by: EricksOliveira <ericksoliveira258@gmail.com>
2025-03-10 22:48:04 +01:00
Exitare
98ceb1c067 fix(Core/PlayerScript) Align player script function names (#21020)
Co-authored-by: sudlud <sudlud@users.noreply.github.com>
2025-02-16 14:59:41 +01:00
Francesco Borzì
2c344fc127 refactor(src/server/game/*): remove unused imports (big part 2) (#20311) 2024-10-27 05:06:14 +01:00
Kitzunu
386aea03ee chore(Core/Misc): Some cleanup (#19970)
* remove weird blanks

* update if

* ) ) to ))

* missed some ) )

* now switch

* .
2024-09-21 19:34:31 +02:00
skelUA
a196f7f28a fix(Core/Loot) fix bug with loot (#19882)
Try to fix bug with loot
2024-09-19 15:11:31 +02:00
Kitzunu
5d31b9f98f refactor(Core/Item): Add helpers (#19828) 2024-08-31 19:38:50 -03:00
Kitzunu
8745ac9c2e fix(Core/Loot): implement automatic pass in group loot for items that… (#19272)
* fix(Core/Loot): implement automatic pass in group loot for items that cannot be looted

* cherry-pick commit (00fdf6e99a)

* closes https://github.com/chromiecraft/chromiecraft/issues/4523

Co-Authored-By: Wyrserth <43747507+Wyrserth@users.noreply.github.com>

* whoopise

---------

Co-authored-by: Wyrserth <43747507+Wyrserth@users.noreply.github.com>
2024-07-04 14:21:00 -03:00
thomasjteachey
fa8680746e fix(Core/Arena): Check to see if other members in your arena team are queued or in a r… (#18808)
* Check to see if other members in your arena team are queued or in a rated arena already and, if so, do not allow queue to go through

* Accidentally put team party check inside the for loop

* some basic logic efficiency changes

* minor syntax issue
2024-07-04 08:42:36 -03: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
UltraNix
9ce8b8cf29 fix(Core/Players): Fixed sending power regen update to nearby players. (#14043) 2023-01-28 11:03:56 +01:00
Kitzunu
4870b14b1f refactor(Core/Object): getLevel() -> GetLevel() (#14122)
* refactor(Core/Object): getLevel() -> GetLevel()

* fix build and sneak some doxygen in

* codeSTLE

* codestyle
2022-12-31 17:39:23 +01:00
Axel Cocat
7fa0aeeca7 feat(Core/Group): add GetGroupType() (#14411) 2022-12-29 14:45:49 +01:00
UltraNix
bd536a039d fix(Core/Battlegrounds): MinLevel and MaxLevel from `battelground… (#12880)
fix(Core/Battlegrounds): `MinLevel` and `MaxLevel` from `battelground_template` should be taken into account while joining bg queue.

Fixes #6781
2022-09-21 13:17:38 -04:00
Nefertumm
63f52ab751 fix(Core): Crashfix on loot roll (#12605) 2022-08-01 16:06:45 -03:00
AnchyDev
dcbf224392 feat(Core): Add OnGroupRollRewardItem hook. (#12538)
Added OnGroupRollRewardItem hook.
2022-07-26 21:08:41 -03:00
Skjalf
32ba21d029 feat(Core/Scripting): Implement OnAllowedForPlayerLootCheck() hook (#12316)
* feat(Core/Scripting): Implement OnAllowedForPlayerLootCheck() hook

* reverse logic
2022-07-09 00:10:04 -03:00
Kitzunu
73bd2b446c fix(Core/Groups): Level restriction on allowing raid groups (#12110) 2022-06-21 13:18:03 -03:00
天鹿
40a5eef152 refactor(Core/Instances): Update CHAR_DELETE_INSTANCE_SAVED_DATA (#11866)
* Update InstanceSaveMgr.cpp

* Update Group.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update Group.cpp

* Update PlayerMisc.cpp

* Update InstanceSaveMgr.h

* Update Group.cpp

* Update PlayerMisc.cpp

* Update Group.cpp

* Update Group.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update Group.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.cpp
2022-05-30 15:27:50 -03:00
Hanabi
a6a2ca8ef7 feat(Core/GameObjects): Instance gameobject save data implementation (#11113)
* fix(Core): Save gameobject state on instances

Currently, azerothcore doesn't save gameobject states on instances.
Whenever there's a re-start or crash, the instance's gameobjects and
their states aren't saved, producing un-wanted behaviours and blocking instances at times.

Implemented CRUD for new table `instance_saved_data` that holds the states of gameobjects.

- When worldserver launches and gameobjects are loaded, this will check
  if this object's state exists on the DB and sets the previous state.
- On instance deletion (reset) these states are also removed based on
  the instance ID.
- Whenever a gameobject state changes inside a dungeon or raid, we save
  on the database the set state.

* Select query to synchronous and used FindMap()

* loading gameobject states on create

* reseting instance saved data

* missing reset methods and on create state

* database structure

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

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

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

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

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

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

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

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

* Update src/server/game/Entities/Player/PlayerMisc.cpp

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

* Update src/server/game/Groups/Group.cpp

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

* codestyle

* table changes

* table style

* codestyle

* table changes for columns

* data sanitization

* todo:

- Finish loading db data into the containers
- Using containers to find data
- How to get data from ObjectMGR inside Gameobject?

* loading on start up and db changes

* Removing unused data structure

* Uninitialised integer

* Whitespace

* clean-up and hooks to save states on memory

* Codestyle MySQL deprecated backticks

* i dont understand codefactor

* build

* Update data/sql/updates/pending_db_world/rev_1643395587559675400.sql

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

* Update src/server/game/Globals/ObjectMgr.h

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

* review changes

* unecessary removal

* pushback instead of emplace

* wrong database update

* Update ObjectMgr.cpp

* missing check

* removing entry from the PR

* missing removals

* last delete

* build

* aha! Found the culprit for the sudden assert errors

* type safety, save only important gameobjects

* static cast to unsigned short

* Update data/sql/updates/pending_db_characters/rev_1643629468629316100.sql

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

* type changes

* queries fix

* fix build

* enabling which gameobjects to save on the database

* deadmines iron clad door

* Adjustment to gameobject onj create state and instances:

- Gnomeregan doors and Grubbis boss state
- Deadmines missing doors
- Stratholme gameobjects state saved

* forgot emi blastfuse change to despawn

* Leaving group logic

* codestyle

* fixing merge issues

* prevent bad behaviour

* brain meltdown

* Update data/sql/updates/pending_db_characters/rev_1643629468629316100.sql

* Update data/sql/updates/pending_db_world/rev_1649359139539727000.sql

Co-authored-by: Claudiodfc <54484196+claudiodfc@users.noreply.github.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Co-authored-by: Kargatum <dowlandtop@yandex.com>
Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
2022-05-24 10:33:45 -03:00
UltraNix
3d4f9d6a18 fix(Core): Crashfix. (#11346)
Fixes #11281
2022-04-11 11:16:34 -03:00
Kitzunu
b709a22ddc feat(Core/Players): PlayerFlag helpers (#11294)
* feat(Core/Players): PlayerFlag helpers

* Update Player.h

* fix build
2022-04-05 18:53:50 +02:00
Kargatum
78bdc89881 feat(Core/Battleground): rework bg queue system (#10817) 2022-03-15 14:36:49 -03:00
UltraNix
9d12652c3e fix(Core/Misc): Remove from LFG/batleground queues when teleported to battleground/LFG dungeon. (#10740)
Players cannot queue up for battleground during LFG dungeon.
Players cannot queue up for LFG dungeon during battleground/arena match.
Fixes #10635
2022-02-20 12:33:04 -03:00
Kitzunu
455899dc75 fix(Core/Misc): Change const to be after type name (#10591) 2022-02-14 16:05:45 -03:00
Kitzunu
ead906c58f refactor(Core/Packets): Rewrite MSG_RANDOM_ROLL to new packet class (#10590)
* refactor(Core/Packets): Rewrite MSG_RANDOM_ROLL

* cherry-pick commit (c0f516caee)

Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
Co-Authored-By: DJScias <439655+DJScias@users.noreply.github.com>

* handle crash check in DoRandomRoll()

* Update MiscPackets.h

* Update Player.h

Co-authored-by: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
Co-authored-by: DJScias <439655+DJScias@users.noreply.github.com>
2022-02-11 10:30:49 +01:00
Kargatum
de13bf426e feat(Core/DBLayer): replace char const* to std::string_view (#10211)
* feat(Core/DBLayer): replace `char const*` to `std::string_view`

* CString

* 1

* chore(Core/Misc): code cleanup

* cl

* db fix

* fmt style sql

* to fmt

* py

* del old

* 1

* 2

* 3

* 1

* 1
2022-02-05 00:37:11 +01:00
Kargatum
5969df4e30 refactor(Core/Logging): switch to fmt style for LOG_ (#10366)
* feat(Core/Common): add support fmt style for ASSERT and ABORT

* correct CheckCompactArrayMaskOverflow

* 1

* Update src/server/game/Spells/Spell.cpp

* rework logging

* add fmt replace logs

* logging

* FMT_LOG_

* settings

* fix startup

* 1

* 2

* 3

* 4

* 5

* fmt::print

* to fmt
2022-01-27 16:44:41 +01:00
Kargatum
8b7df23f06 feat(Core/Time): Implement saparated manager for game time (#8630) 2022-01-24 17:55:00 +07:00
Skjalf
2d55974c0c Revert "fix(Core/Spells): Forward core changes (#8841)" (#9631)
This reverts commit 85d2c39a48.
2021-12-10 15:31:48 +01:00
acidmanifesto
85d2c39a48 fix(Core/Spells): Forward core changes (#8841) 2021-12-09 18:24:16 -03:00
Ollie Armitage
bb6b7f2fab fix(Core/Loot): Send Retrieval Mail for lost disenchant mats 2021-12-06 22:13:58 -03:00
Kargatum
f62664c987 refactor(Core/Misc): headers cleanup (#9259) 2021-11-22 17:24:39 +07:00
Skjalf
731d256420 refactor(Core/Cache): move the GlobalPlayerCache to its own class (#9166) 2021-11-18 16:53:36 +01:00
UltraNix
a0a5a9a223 fix(Core/DungeonFinder): premade LFG groups are considered as single-person groups (#9135)
- Closes #8812
2021-11-14 23:49:38 +01:00
UltraNix
1ec612e65b fix(Core/DungeonFinder): Premade groups should be treated as normal groups. (#8520)
Fixes #8339
2021-10-20 05:29:24 -03:00