Commit Graph

126 Commits

Author SHA1 Message Date
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
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Traesh
422ad436c7 Core/Scripts: Added new QuestScript hooks (#20950)
* OnQuestStatusChange and OnQuestObjectiveChange
2017-12-04 17:35:37 +01:00
Shauren
b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren
7e538980a2 Core/Database: Include cleanup 2017-05-12 18:50:27 +02:00
Traesh
fabc571052 Fix typo in IsRaidQuest 2017-04-23 02:20:19 +02:00
Shauren
adbdb64301 Core/PacketIO: Updated server packet structures to 7.2.0 2017-04-15 12:32:36 +02:00
funjoker
945cfce1f6 Core/Conditions: Implemented new condition type CONDITION_QUEST_OBJECTIVE_COMPLETE (#18235)
Closes #17863
2017-03-20 08:54:29 +01:00
SnapperRy
13bac539d6 Core/Mail: implement a way to specify NPC sender for mails when they should be different from the quest ender (#17601)
(cherry picked from commit d4e15f1aac)

# Conflicts:
#	src/server/game/Quests/QuestDef.cpp
#	src/server/game/Quests/QuestDef.h

Rename 9999_99_99_99_world.sql to sql/updates/world/3.3.5/2016_07_19_00_world.sql
(cherry picked from commit 3a77dec6e6)
2017-02-11 15:19:42 +01:00
SnapperRy
a390604fb2 Core/Quest: implement usage of QUEST_FLAGS_RAID to allow a quest to be completed while in raid. (#17535)
By @ForesterDev
(cherry picked from commit baf54cff3b)
2017-02-05 16:38:18 +01:00
SnapperRy
752c789aaf Core/Quest: do not save/load Dungeon Finder/daily/repeatable quests as completed (#17458)
* Core/Quest: do not save/load Dungeon Finder/daily/repeatable quests as completed
(cherry picked from commit 7905651b07)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
2017-02-04 23:21:27 +01:00
SnapperRy
101d5ed953 Core/Loading: output error when specified emote id for some quest-related tables is invalid (#17469)
* Core/Loading: output error when specified emote id for some quest-related tables is invalid
* Apply suggested changes (and kill whitespace)

(cherry picked from commit c853a83dd0)

# Conflicts:
#	src/server/game/Quests/QuestDef.cpp
2017-02-04 18:06:26 +01:00
Shauren
d9418ae00a Core/Misc: Fix a few coverity issues
CID 1360566
CID 1360567
CID 1361723
2017-01-25 17:40:08 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Shauren
b5a7235215 Core/Quests: Fixed "Currency Token Test Token 4" appearing in quest rewards
Closes #18062
2016-12-01 17:42:19 +01:00
Shauren
af25942aec Core/PacketIO: Updated packets to 7.1.0.22900 2016-10-25 19:29:27 +02:00
Shauren
f99bb81402 Core/Quests: Renamed unknown quest objective field 2016-08-28 17:07:59 +02:00
Shauren
d5fa0e783a Core/PacketIO: Fixed quest rewards 2016-06-28 20:23:09 +02:00
Shauren
2ad96f06f0 Core/PacketIO: Updated quest packets 2016-06-24 23:12:03 +02:00
ShinDarth
cb29fa74d8 Core/Quest: code style:
- Removed 11 useless for iterations (for each quest loaded)

(cherry picked from commit 4a532a71b6)

# Conflicts:
#	src/server/game/Quests/QuestDef.cpp
2016-01-16 13:05:59 +01:00
jackpoz
3f0026d8e7 Core/Quest: Fix issues reported by static analysis
(cherry picked from commit 1ddf44caf3)

# Conflicts:
#	src/server/game/Quests/QuestDef.cpp
#	src/server/game/Server/WorldSession.cpp
2016-01-15 20:32:56 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
Vincent-Michael
2e586bc520 Core: Header cleanup in game/*/*.cpp 2015-07-25 20:18:42 +02:00
DDuarte
678a08c8c5 Core: Fix multiple warnings
Travis should be building again now
2015-07-04 02:43:43 +01:00
Kinzcool
4bbbd9540a Core/Quests: Calculate the RewardMoney value with QuestMoneyReward.dbc and defined an unknown field 2015-07-01 17:57:09 -04:00
Shauren
470d2bd458 Core/Quests: Implemented RewardXPMultiplier quest template field 2015-05-29 00:04:23 +02:00
Vincent-Michael
653954c14d Core/Misc:
- Update LocaleConstant enum
- Update Quest locale system for WoD
- Fix some rnd typo in quest template
2015-04-10 18:16:00 +02:00
Shauren
cc4d79495f Core/Misc: Warning fixes 2015-03-22 13:47:55 +01:00
Shauren
faa583c784 Core/Maps: Updated map difficulties 2015-01-10 01:35:47 +01:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
Intel
0a7caf5a6d Core/Quests: Do not rely on StorageIndex for quest objectives
Also fixed unsigned columns in quest_template
2014-12-29 20:58:49 +02:00
Intel
381416d022 Core/Quests: Fixed quest loading from DB and improved error output 2014-12-29 14:07:17 +02:00
Intel
821e253460 Core/Loot: Implemented CMSG_LOOT packet
Updated Object Dynamic Flags
Cleaned up obsolete code
Sorted packet struct alphabetically
2014-12-29 03:05:17 +02:00
Intel
a782515246 Core/Quests: Updated Quest System to new Format
All quest requirements are now in quest_objectives table
quest_template table contains _ONLY_ WDB data and must not be modified
Currently supported objectives are MONSTER, GAMEOBJECT, ITEM, TALKTO, CURRENCY, REPUTATION, MONEY, PLAYERKILLS, AREATRIGGER
2014-12-28 22:55:53 +02:00
Shauren
6dbb516b65 Core/Items: Refactored ItemTemplate 2014-12-21 13:35:43 +01:00
Shauren
1b0d296da1 Core/DataStores: Refactored "gt" dbc handling. Wrapped these stores in a new GameTable class which will calculate correct dbc entry index based on given row/column as well as read number of rows/columns from client files instead of hardcoded GT_MAX_LEVEL 2014-12-07 01:50:50 +01:00