376 Commits

Author SHA1 Message Date
Shauren
9271ad7517 Core/Misc: Change AreaTriggerTeleport to be just an alias for WorldSafeLocsEntry 2026-01-06 23:31:25 +01:00
Shauren
bd2b12fa36 Core: Updated to 11.2.7 2025-12-16 00:09:26 +01:00
Shauren
13f22e0c06 Core/Misc: Reduce differences between branches 2025-09-28 00:06:28 +02:00
Shauren
d5b07faca1 Core/Misc: Rename AreaTriggerStruct to AreaTriggerTeleport 2025-09-24 16:09:13 +02:00
Shauren
cbb532e4be Core/Groups: Use iterators instead of raw LinkedListElement to interact with group members 2025-07-11 17:40:34 +02:00
Shauren
db4af7ca4c Core/LFG: Change InstanceScript::UpdateLfgEncounterState to only pass valid dungeon encounter ids to LFGMgr 2025-06-26 15:24:16 +02:00
Shauren
9247723c07 Core/LFG Fix crash on lfg boss kills 2025-06-26 01:19:14 +02:00
Shauren
b7122c2f6a Core/PacketIO: Migration to PacketUtilities bit/string operations part 3 2025-05-22 13:46:45 +02:00
Shauren
8066110756 Core/PacketIO: Named a bunch of unknown/unused fields 2024-11-06 12:17:49 +01:00
Shauren
8127609764 Core/Maps: Link instance map to LfgDungeons 2024-10-05 11:56:02 +02:00
Shauren
e59eef5432 Core/PacketIO: Updated to 11.0.0 2024-08-02 13:25:41 +02:00
Antonio Martín Berti
9e22ca9d52 Core/Criteria: Implemented CompletedLFGDungeon criteria type (#29980) 2024-05-18 15:48:07 +02:00
Shauren
47fc3cb852 Core/Instances: Kill instance_encounters table, it is no longer neccessary 2023-09-19 10:59:04 +02:00
Shauren
2569dc8cfe Core/Instances: Fixed not being able to reenter instances that have no encounters completed
Closes #28737
2023-03-21 12:07:54 +01:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
9b924522d0 Core/Instances: Delete InstanceSaveMgr and replace most of its uses with new InstanceLockMgr 2022-10-04 00:19:38 +02:00
Shauren
f44ee96682 Core/LFG: Filter out lfg dungeons that have invalid map/difficulty pairs 2022-08-05 00:06:13 +02:00
ihm-tswow
90b4c5afa2 Core/Misc: Verify LFG role selections by class (#27348)
* Core/Misc: Verify LFG role selections by class

* style fix

Co-authored-by: MaxtorCoder <warsongkiller.s8@gmail.com>

* fix style

* improve LfgRoleClasses readability

* remove unnecessary comments

* add missing SharedDefine include

- try fix nopch

* style fix

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>

Co-authored-by: MaxtorCoder <warsongkiller.s8@gmail.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
(cherry picked from commit 5e2b2fd3f8)
2022-03-24 21:03:06 +01:00
Kargatum
373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
jackpoz
d1bea3e8b3 Core/LFG: Handle vote kick as failed if there cannot be 3 votes agreeing
i.e: 4 players, vote kick starts, 1 rejects, vote is considered as failed.

(cherry picked from commit f0f0de01fa)
2022-02-06 00:05:38 +01:00
Peter Keresztes Schmidt
ad340466d0 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs (#25054)
Related: #25006
(cherry picked from commit 85b5b842ca)
2022-01-23 22:02:03 +01:00
jackpoz
68faf5bc4b Core/Common: Replace ASSERT(false, "...") with ABORT_MSG("...")
(cherry picked from commit 54c701cf0d)
2022-01-19 22:17:42 +01:00
jackpoz
4431df1f13 Core/LFG: Sanitize LFG roles sent by clients
(cherry picked from commit 3778f23c57)
2022-01-06 23:31:40 +01:00
Giacomo Pozzoni
4062c9763f Core/LFG: Fix re-queueing while in a dungeon (#23862)
Fix an issue that wouldn't allow to re-queue after joining a dungeon, having 1 member leave/get kicked, queue, leave, queue.
In this case a message "One or more dungeons was not valid" would be displayed because LFG would try to queue the group as "continue dungeon" but the current group was not marked as "in dungeon" state anymore.

(cherry picked from commit abcad7cda5)
2021-12-18 22:43:38 +01:00
Giacomo Pozzoni
562c567b1e Core/Calendar: Add some additional validation when creating events (#23797)
* Core/Calendar: Add some additional validation when creating events

Allow only 30 player events and 100 guild events to be created.
Don't allow to create guild events if player is not in guild.
Send some more error messages to the client (not blizzlike errors but better than nothing).

* Core/Calendar: Add some additional validation/checks

Add guild id check in GetPlayerEvents().
Change error message in HandleCalendarCopyEvent() to be the same as in HandleCalendarAddEvent() when creating an event in the past.

* Core/Calendar: Add some additional validation/checks

Reduce the number of CMSG_CALENDAR_ADD_EVENT packets a seconds allowed from 10 to 3.

* Core/Calendar: Add some additional validation/checks

Implement 5 seconds cooldown between the creation of calendar events

* Core/Calendar: Add some additional validation/checks

Don't allow to copy events of a different player/guild

* Core/Calendar: Implement automatic deletion of old events

Implement automatic deletion of events older than 1 month (30 days).
Fix debug assertion triggered when deleting a character with calendar events.
Avoid double std::set lookup when deleting events when deleting a character.

NB: The whole CalendarMgr/CalendarHandler code should be checked line by line for bugs/crashes/exploits.
(cherry picked from commit fb059722fd)
2021-12-18 22:19:05 +01:00
ccrs
4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7)
2021-12-13 00:42:20 +01:00
Wyrserth
01be9f44af Core/RDF: fix counting issue with the achievement Looking for More (and similar) (#23418)
* Core/RDF: allow the achievement Looking for More (and similar) to increase the counter based on how many random players were picked.

* Use getter/setter instead.

(cherry picked from commit 14c2bdc5da)
2021-12-11 14:12:54 +01:00
jackpoz
97be87b7d5 Core/LFG: Remove dungeon cooldown when completing random dungeons
(cherry picked from commit 24fbbee4b9)
2021-12-02 23:45:29 +01:00
Gustavo
6aaf9aaf3b Core/Misc: Warning fixes (/W4) (#23149)
* Core/Misc: Warning fixes (/W4)

(cherry picked from commit 50f122de77)
2021-11-26 11:18:15 +01:00
jackpoz
43a41caafb Core/Misc: Fix GCC 8 warnings
(cherry picked from commit 1d04a3b216)
2021-11-24 23:40:15 +01:00
jackpoz
91bbaae81e Core/LFG: Teleport players to other players instead of dungeon entrance when continuing a LFG dungeon
This feature already existed in current code but was broken by d0334bf948

(cherry picked from commit d2841d6b66)
2021-11-24 20:35:17 +01:00
Shauren
c2eff8fabc Core/LFG: Ignore LFG cooldown when joining queue to replace missing party member when dungeon is already in progress
(cherry picked from commit 7fb52334b2)
2021-11-21 14:35:00 +01:00
Shauren
f40c0dfd55 Core/Social: Implemented account ignores 2021-11-02 18:35:26 +01:00
Ovah
e88536f258 Core/LFG: fixed random dungeon cooldown (#22321)
* Core/LFG: fixed random dungeon cooldown

The issue was that queuing up for random dungeons puts you into a queue for a already selected dungeon from the beginning so the dungeonId that we use here is actually the dungeonId that we will enter when out group is complete. We change that and use our selected dungeons as reference instead which contains the random dungeon at the very beginning (if we queued up for random dungeons so we check that too).

(cherry picked from commit bf8c6f220c)
2021-10-23 14:37:37 +02:00
Treeston
a5989dcee9 Core/Unit: Store charmer and charmed pointers on Unit directly, no more map lookups for Unit::GetCharmer and Unit::GetCharmed
(cherry picked from commit d4ef2529e9)
2021-10-23 00:11:44 +02:00
Treeston
fff5a32a13 Core/LFG: Order group members before creating LFG group (leader > tank > healer > dps). Closes #16244.
(cherry picked from commit dd54c80123)
2021-10-22 23:17:04 +02:00
ccrs
426f9f2f92 Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).

(cherry picked from commit 982643cd96)
2021-09-28 00:15:13 +02:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Shauren
b9d63c2009 Core/Scripts: Remove deprecated overload of QuestReward without LootItemType argument 2021-05-16 21:56:06 +02:00
jackpoz
e17e4e6f07 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(cherry picked from commit 12701cb0c6)

 Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
	src/server/game/Battlefield/Battlefield.cpp
	src/server/game/Battlefield/Zones/BattlefieldWG.cpp
	src/server/game/Battlegrounds/BattlegroundMgr.cpp
	src/server/game/Calendar/CalendarMgr.h
	src/server/game/DungeonFinding/LFGQueue.cpp
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Grids/ObjectGridLoader.cpp
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/BattlefieldHandler.cpp
	src/server/game/Handlers/CalendarHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/ChatHandler.cpp
	src/server/game/Handlers/LFGHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/PetHandler.cpp
	src/server/game/Handlers/QueryHandler.cpp
	src/server/game/Handlers/TicketHandler.cpp
	src/server/game/Instances/InstanceSaveMgr.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/Tickets/TicketMgr.cpp
	src/server/game/Tickets/TicketMgr.h
	src/server/game/World/World.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/Commands/cs_instance.cpp
	src/server/scripts/Commands/cs_list.cpp
	src/server/scripts/Northrend/zone_wintergrasp.cpp
	src/server/scripts/Spells/spell_item.cpp
2021-04-15 05:53:27 +02:00
Osleyder Gonzalez Acosta
d4ad987010 Core/Misc: Update a few enums from db2 to 9.0.2 (#25956) 2021-01-28 22:02:03 +01:00
Aokromes
93552510ab Core/Logs: Fix more logs
the others have exit,so they continue to be error because they are critical

(cherry picked from commit b68484cfb0)
2021-01-21 22:30:40 +01:00
Shauren
b82a3a557a Core/DataStores: Updated db2 structures to 9.0.2
* Includes support for new character customization
2020-12-08 18:16:47 +01:00
Shauren
83eecaf2c4 Core/PacketIO: Fill new packet fields with data 2020-12-08 18:16:46 +01:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
deca201f77 Core/DataStores: Simplified string memory allocation in db2 files, dropped unneccessary level of indirection 2020-06-27 13:33:17 +02:00
Shauren
4d69cc1c56 Core/Misc: GCC build and warning fixes 2020-05-21 22:15:58 +02:00
Shauren
5526e14bcf Core/Entities: Fixed saving spawn difficulties to db for .npc add and .gob add (and other commands that modify creature/gameobject spawns table) 2020-04-03 17:41:48 +02:00