162 Commits

Author SHA1 Message Date
Shauren
bd2b12fa36 Core: Updated to 11.2.7 2025-12-16 00:09:26 +01:00
Shauren
1e4232e7af Core/Scripts: Use std::string_view to find script id from script name 2025-09-14 14:13:16 +02:00
Shauren
247c25abc9 Core/Database: Improve code generated by DEFINE_FIELD_ACCESSOR_CACHE 2025-06-25 13:38:28 +02:00
Shauren
39c06d40e2 Core/Misc: Use new Field::Get*OrNull where possible 2025-06-24 16:11:11 +02:00
Shauren
f9bf082be9 Core: Updated to 11.1.5 2025-04-25 22:50:11 +02:00
Shauren
05709a2497 Core/Quests: Convert quest loading to named field access (ref 29a680a1c2) 2025-04-25 20:07:53 +02:00
Shauren
e59eef5432 Core/PacketIO: Updated to 11.0.0 2024-08-02 13:25:41 +02:00
Antonio Martín Berti
3fd9677543 Core/Misc: Added Loading.Locales to enable/disable the load of locales (#30013) 2024-06-04 00:44:22 +02:00
Meji
4913d027bf Core/Conditions: Added CONDITION_SOURCE_TYPE_PLAYER_CONDITION (#29832) 2024-03-27 21:38:08 +01:00
Shauren
0cea730fa2 Core: Update to 10.1.5 2023-07-12 16:29:00 +02:00
Shauren
4d4c7e6893 Core/Quests: Quest flag fixups
* Update flag names
* Implemented QUEST_FLAGS_COMPLETION_NO_DEATH and QUEST_FLAGS_FAIL_ON_LOGOUT
* Started using QUEST_FLAGS_COMPLETION_EVENT and QUEST_FLAGS_COMPLETION_AREA_TRIGGER instead of a custom SpeclalFlag
* Renamed Quest::IsAutoComplete to Quest::IsTurnIn to better describe what it means (a quest that can be turned in without accepting it to quest log)
* Implemented QUEST_FLAGS_UPDATE_PHASESHIFT and removed forced phaseshift updates on every quest status change
* Implemented QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT - reopens gossip menu with questgiver
2023-06-10 20:31:33 +02:00
Shauren
a2be8d2028 Core/Quests: Implemented new db table quest_objectives_completion_effect
* Turn off automatic phase updates on quest objective completion
* Allow more convenient conversation and spell casts on quest objective completion
2023-06-02 00:50:30 +02:00
Shauren
e540d74610 Core/PacketIO: Fixed quest query packet structure 2023-05-05 14:34:27 +02:00
Shauren
16bc74667e Core: Update to 10.1 2023-05-04 17:00:52 +02:00
Shauren
8f7a1d3c2c Core/Misc: Delay creating std::string objects for locale data after size validation 2023-04-30 14:04:28 +02: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
ade34a7f48 Core/Spells: Implemented SPELL_EFFECT_GIVE_EXPERIENCE and SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS 2022-12-29 16:57:35 +01:00
Shauren
e98e1283ea Core: Updated to 10.0.2 2022-12-04 15:13:20 +01:00
ModoX
27931b45c6 Core/Quest: Corrected type of emote field in QuestOfferReward to be signed 2022-07-19 06:27:02 +02:00
Peter Keresztes Schmidt
1e1679a1f7 Core/DataStores: Port refactors from Update DBC field names to generated ones (#24999)
(cherry picked from commit c92950b3e1)
2022-01-23 00:06:16 +01:00
funjoker
4c5f57d712 Core/Quests: Remove RewardMoney from quest_template as it is not a static value and depends on receiving player (#27590) 2022-01-18 21:22:41 +01:00
Treeston
51fbda4223 Core/Pooling: Quest pooling rewrite: (PR#23627)
- Split quest pooling from PoolMgr (into QuestPoolMgr)
- Proper saving/restoring on server restart
- No more hacking into sObjectMgr to insert/remove available quests

(cherry picked from commit a5e73e41c0)
2021-12-18 15:28:45 +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
PolarCookie
0bde06c402 Core support for breadcrumb quests (#23157)
* Breadcrumb quests support in core

* To Winterspring! & Starfall

* translating ZenoX92's list, part 1

* Carendin Summons is Blood Elf only

* Breadcrumb to an exclusive group

* translating ZenoX92's list, part 2

* class quests

* breadcrumb trails

* better prevquest check

* less harsh error warnings

* minor optimization

* Rename 9999_99_99_99_world.sql to 2019_04_10_00_world.sql

(cherry picked from commit 5ed77113b6)
2021-11-27 00:21:08 +01:00
Shauren
c6a9727841 Core/Quests: Corrected wrong quest startup errors 2021-11-11 14:46:34 +01:00
jackpoz
b6f28a7ebc Core/Packets: Reduce memory footprint of cached queries (#22297)
Ensure only the minimum required memory is used by caching query packets by calling shrink_to_fit()

(cherry picked from commit deabd4ab45)
2021-10-22 23:15:27 +02:00
Shauren
5274f7af17 Core/PacketIO: Added missing move assignment operator to ByteBuffer
(cherry picked from commit fcb1e3e642)
2021-09-26 01:27:59 +02:00
Shauren
cd5357dc18 Core/PacketIO: 9.1.0 opcodes and packet structures 2021-08-08 00:18:05 +02:00
Shauren
2d7411c9fa Core/Quests: Fix loading quest_template.AreaDescription 2021-05-11 00:37:42 +02:00
Shauren
dd8aed421a Core/Quests: Drop unneeded QuestSpecialFlags 2021-05-09 16:01:34 +02:00
Nathan Handley
502f77fe8c Core/Misc: Add functionality to allow low level quests/kills/discoveries to grant experience
(cherry picked from commit 6612ec47f4)
2021-01-29 19:23:53 +01:00
funjoker
51ebc07944 Core/Quest: Change RewardFactionCapIn type to signed int32 2020-12-16 20:46:07 +01:00
Shauren
5f3a2d2abf Core/Quests: Fixed questgiver icons
Closes #25702
2020-12-11 22:19:19 +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
4ca29f3cb0 Core/Misc: First set of required db changes for 9.0 2020-12-08 18:16:46 +01:00
Shauren
56c097c129 Core/Misc: Remove custom quest levels in title 2020-12-08 18:16:46 +01:00
ariel-
c03373c59f Core/Quests: changed quest_template_addon.NextQuestID to unsigned
- No reason to keep this anymore after 4349adf0f2, this is a broken functionality.

(cherry picked from commit dca276716f)
2020-04-24 17:18:48 +02:00
ariel-
feb8205d6a Core/Globals: some changes in quest loading
- Made load/reload associated quest tables data-driven, so removed a bunch of similar looking code from ObjectMgr (yay!)
- Codestyle and encapsulation for ExclusiveQuestGroups

(cherry picked from commit 076293f1f2)
2020-04-24 17:18:48 +02:00
ariel-
4472a3cbf3 Core/Globals: Fix Quest codestyle and member variable initialization
(cherry picked from commit 09701b0229)
2020-04-24 17:18:48 +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
Shauren
3cc50e69f1 Core/Players: Fixed racemasks usage for new races 2020-03-30 19:06:11 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
ee2e49429f Core/PacketIO: Update opcodes and packet structures to 8.2.5 2019-10-27 00:12:41 +02:00
funjoker
b4d30bb92c QueryCache port
partial port of:
(ae9d01a324)
(dd1aa64563)
2019-08-17 20:04:14 +02:00
xinef1
b485f3e673 Few small optimizations here and there (#18684)
Changes list:
- Added CharacterGuidByNameContainer which contains name -> guid unordered map (updated along CharacterInfo)
- Extended CharacterInfo structure with GuildId
- Extended CharacterInfo structure with ArenaTeamId[3], for all possible teams (2v2, 3v3, 5v5)
- Removed CHAR_SEL_GUID_BY_NAME and CHAR_SEL_CHAR_GUID_BY_NAME synchronous queries, name -> guid can be now retrieved in World::GetCharacterGuidByName
- Removed CHAR_SEL_GUID_RACE_ACC_BY_NAME synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_CHAR_LEVEL synchronous query, level can be retrieved by guid
- Changed CHAR_SEL_CHARACTER_ACTIONS_SPEC to asynchronous query, action bars are now loaded asynchronously
- Removed CHAR_SEL_CHARACTER_NAME_CLASS synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_PLAYER_ARENA_TEAMS and CHAR_SEL_ARENA_TEAM_ID_BY_PLAYER_GUID synchronous queries, arena teams are now stored in CharacterInfo
- Replaced synchronous db calls with CharacterInfo lookups
- Removed ObjectMgr::GetPlayerGUIDByName, as it used db query
- Replaced some unnecessary UpdateObjectVisibility() calls because they were either duplicated (called few lines above in other function) or it is enough to call DestroyForNearbyPlayers because object is being removed or should be invisible and DestroyForNearbyPlayers is faster
- Corrected typo in Player::DestroyForPlayer, only items in slots 0 to EQUIPMENT_SLOT_END are sent to other players
- Renamed Player::GetGuildIdFromDB to Player::GetGuildIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetArenaTeamIdFromDB to Player::GetArenaTeamIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetLevelFromDB to Player::GetLevelFromCharacterInfo and changed the function to use CharacterInfo structure
- Removed GameEventMgr::_questToEventLinks and associated functions, eventId is now stored in Quest class under _eventIdForQuest variable
- Changed some functions checking quest status to use other functions for quest status check instead of duplicating code
- Removed callback from add friend, because we can get the guid from appropriate storage, no need to make db query
- Removed callback from add ignore, because we can get the guid from appropriate storage, no need to make db query
- Added callback to unwrap wrapped items asynchronously
- Removed synchronous select in tutorials to check if we have any entries in db, if any entry exists in db, m_TutorialsChanged variable will have TUTORIALS_FLAG_LOADED_FROM_DB flag added and it is no longer necessary to query database

(cherrypicked from b955456008)
2019-07-21 21:06:54 +02:00
Shauren
31fda79556 Core/PacketIO: Updated packet structures to 8.1.5 2019-06-08 17:03:15 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren
0a779bd791 Core/PacketIO: Updated packet structures to 8.0.1 2018-11-05 00:00:34 +01:00
Shauren
007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
Shauren
4af15915bc Core/PacketIO: Updated opcodes and packet structures to 7.3.5 2018-02-18 16:33:49 +01:00