Commit Graph

303 Commits

Author SHA1 Message Date
Shauren
ee2e49429f Core/PacketIO: Update opcodes and packet structures to 8.2.5 2019-10-27 00:12:41 +02:00
Shauren
f2ef5f878d Core/PacketIO: Added missing packet array size checks 2019-07-28 00:07:19 +02:00
Shauren
f6e2b8cdc1 Core/DBLayer: Prevent committing transactions started on a different database 2019-07-27 10:52:33 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
xinef1
ad4e63bae1 Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030

(cherrypicked from 59ce3d6c9b)
2019-07-21 21:06:54 +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
82c7b6c568 Core/Items: Drop item random property and suffix - all random stats must be given using bonus lists 2019-06-08 17:09:20 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
Shauren
31fda79556 Core/PacketIO: Updated packet structures to 8.1.5 2019-06-08 17:03:15 +02:00
Shauren
3a323f2b60 Core/Chat: Fixed addon chat messages using C_ChatInfo.SendAddonMessageLogged
Closes #22926
2019-01-11 18:23:10 +01:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Palabola
ee63227693 Core/Guilds: Fix guild bank gold withdraw limit (#22120) 2018-07-04 20:30:50 +02:00
Roc13x
6b99488570 Core/Guild: Implemented guild master dethrone (#21833) 2018-04-22 20:04:02 +02:00
joschiwald
4feaf2463d Core/Guild: Broadcast GuildMemberUpdateNote to all members 2018-04-22 19:45:21 +02:00
joschiwald
05134b0a66 Core/Guild: Handle changing the leader in one db transaction 2018-04-22 14:53:01 +02:00
ariel-
ad8d47b137 Core/Guild: avoid data integrity problems wrapping delete+insert statements in a transaction
(cherry picked from commit 25281ecb31)
2018-01-21 22:01:15 +01:00
ariel-
af4538c5fc Core/Guild: fix indentation and codestyle
(cherry picked from commit d2bf7237a3)
2018-01-21 21:15:26 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
roc13x
e04f75bd96 Core/Players: Several gold handling improvements
* Update gold limit to 10 million
* Updated auction house gold handling to 64-bit
* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
* Updated guild bank gold handling to 64-bit and fix withdraw limits
* Enforce gold limit on guild bank
* Check correct rank right when withdrawing from bank
* Other small changes to update money to 64-bit

Closes #19195
Closes #20152
2017-08-20 18:10:11 +02: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
3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
joschiwald
d07fa64a15 Core/Packets: Implemented SMSG_GUILD_NAME_CHANGED 2017-05-20 12:08:17 +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
DDuarte
95ebd19f8c Core/Guild: Misc. code changes
NULL to nullptr, add const to methods and remove unimplemented method definitions
2017-05-14 17:46:21 +01:00
DDuarte
c784780156 Core/Guilds: Remove old Guild.UndeletableLevel config
Send guild achievement points in SMSG_GUILD_INVITE instead of level
Remove old references to guild levels
Player still have PLAYER_GUILDLEVEL field which is always 25
2017-05-14 17:31:06 +01:00
Shauren
8fc527f404 Core/Items: Set and save item context field 2017-05-08 23:56:35 +02:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Shauren
8742732149 Core/Items: Implemented bonus list as a possible result of RandomSuffix
Ref #18423
2016-12-26 21:21:28 +01:00
Shauren
63fd633d79 Core/PacketIO: Implemented CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS/SMSG_GUILD_ACHIEVEMENT_MEMBERS 2016-12-19 23:59:23 +01:00
Shauren
bfa9a4c959 Core/Items: Fixed item level increases of gems with bonuses that give them scaling stat distribution 2016-12-09 20:00:20 +01:00
Shauren
20f0db0e47 Core/PacketIO: Fixed SMSG_MAIL_LIST_RESULT structure 2016-10-01 12:17:31 +02:00
joschiwald
b0c8a9411e Core/Logging: removed useless log message 2016-08-27 12:30:46 +02:00
Shauren
fea0cb16f2 Core/Items: Implemented artifacts 2016-08-15 00:03:38 +02:00
Shauren
452cae0c0b Core/Items: Fixed saving gem bonuses 2016-07-10 14:41:18 +02:00
Shauren
f7883bd525 Core/Transmog: Implemented transmog collection and updated transmog handling 2016-07-05 22:07:35 +02:00
Shauren
42f6bb4d37 Core/PacketIO: Updated garrison, guild and inspect packets 2016-06-19 23:56:40 +02:00
Shauren
70102f32fe Core/DataStores: Updated opcodes and db2 to 7.0.3.21414 2016-05-20 23:49:53 +02:00
Shauren
5c2c9a684f Core/DataStores: Updated dbc/db2 to 7.0.1.20810 2016-05-20 23:46:17 +02:00
Shauren
c75fcbe20b Core/Achievements: AchievementMgr refactoring
* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation
* Fixed players earning guild achievements
2016-05-07 01:16:29 +02: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
Shauren
d03ca37f10 Core/Players: Use constant gender from PLAYER_BYTES_3 where appropriate. 2015-11-27 21:53:27 +01:00
Shauren
c63b033131 Core/PacketIO: Updated and enabled guild finder opcodes 2015-11-15 00:13:35 +01:00
horn
e8b1faa156 Core/BattlePets: Basics for Battle Pets 2015-09-09 14:52:32 +02:00
Golrag
83c2d36179 Core/PacketIO: CalendarPackets:
CMSG_CALENDAR_GET
CMSG_CALENDAR_GET_EVENT
CMSG_CALENDAR_GUILD_FILTER
CMSG_CALENDAR_ADD_EVENT
CMSG_CALENDAR_UPDATE_EVENT
CMSG_CALENDAR_REMOVE_EVENT
CMSG_CALENDAR_COPY_EVENT
CMSG_CALENDAR_GET_NUM_PENDING
CMSG_CALENDAR_EVENT_SIGN_UP
CMSG_CALENDAR_REMOVE_INVITE
CMSG_CALENDAR_EVENT_STATUS
CMSG_SET_SAVED_INSTANCE_EXTEND
CMSG_CALENDAR_EVENT_MODERATOR_STATUS

SMSG_CALENDAR_EVENT_INVITE
SMSG_CALENDAR_SEND_CALENDAR
SMSG_CALENDAR_SEND_EVENT
SMSG_CALENDAR_EVENT_INVITE_ALERT
SMSG_CALENDAR_EVENT_INVITE_STATUS
SMSG_CALENDAR_EVENT_INVITE_REMOVED
SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS
SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT
SMSG_CALENDAR_CLEAR_PENDING_ACTION
SMSG_CALENDAR_EVENT_UPDATED_ALERT
SMSG_CALENDAR_EVENT_REMOVED_ALERT
SMSG_CALENDAR_SEND_NUM_PENDING
SMSG_CALENDAR_COMMAND_RESULT
SMSG_CALENDAR_RAID_LOCKOUT_UPDATED
SMSG_CALENDAR_EVENT_INITIAL_INVITES
SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT // NYI
SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT // NYI
SMSG_CALENDAR_EVENT_INVITE_NOTES // NYI
2015-07-28 12:57:56 +02:00
Shauren
21df17fd47 Core/Misc: Removed ReadAsPacked/WriteAsPacked methods from ObjectGuid, they are not needed anymore as guids are always written packed 2015-07-25 10:38:45 +02:00
Shauren
dea6c0b122 Core/DataStores: Updated dbc/db2 structures to 6.2.0 2015-07-07 12:13:14 +02:00
Vincent-Michael
d418ae54a4 Core: White space CleanUp 2015-07-05 04:03:36 +02:00
Carbenium
32b954923a Core/DBC: Fixed DBC fmt introduced in 2bd28bce69
* Improve invalid emblem color log message
2015-06-11 13:07:54 +02:00
Carbenium
2bd28bce69 Core/Guild: Add validation for guild tabard colors 2015-06-11 02:26:54 +02:00
DJScias
e9c9bee8b1 Core/Guilds: Disallow sending invite to people already in a guild
- In the case this would happen the player was able to join two (or more) guilds and bug themself out heavily
- If the player declined the invite, they instead were removed from their current guild until restart, this allowed the above to loop endlessly
2015-05-30 12:08:06 +02:00