Commit Graph

396 Commits

Author SHA1 Message Date
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
Shauren f759809d9d Core/PacketIO: Use new time utilities in packets instead of plain time_t/uint32 2021-04-06 19:10:28 +02:00
Matan Shukry 1c852af7f2 Core/Spells: Implement SPELL_EFFECT_TELEPORT_TO_RETURN_POINT (#26217) 2021-03-28 00:22:34 +01:00
Shauren 9b5a46ca2b Core/Auras: Defined and implemented many new interrupt flags 2021-03-21 12:05:32 +01:00
Matan Shukry 6dbaba7669 Core/Player: remaining XP logging overflow correction (#25934) 2021-01-26 16:48:28 +01:00
Matan Shukry bb24c6a11b Core/logs: added xp info on login & logout (#25867)
* Core/logs: added xp info on login & logout

* - Moved getters to header
- Changed %s to %u
2021-01-17 17:08:22 +01:00
Shauren b100917c68 Core/Players: Fixed barbershop not changing model when changing gender
Closes #25742
2020-12-18 19:10:45 +01:00
Shauren 9819ee1a6a Core/PacketIO: Updated ResponseCodes enum for 9.0.2 2020-12-12 11:15:26 +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 cab4c87d2d Core/PacketIO: Updated most packet structures to 9.0.1 2020-12-08 18:16:41 +01:00
Shauren f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02: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
Keader 6210fc10ae Core/Handlers: Fixed changing equipment while charmed with equipament manager
Closes #20209
Followup: a1a12ec755

(cherry picked from commit 42be04898c)
2020-08-29 00:18:37 +02:00
Shauren 1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
treeston 2d191a6680 Fixes to all-reputation and all-skill custom option handling:
- Move on-create customs (all explored, all reputations) to CharacterHandler::HandlePlayerLogin for first login. Fixes #19839.
- Add Wrath factions to all reputations custom (it only had BC factions).
- Remove unused ReputationMgr::SendStates. Add ReputationMgr::SendState handling for sending all updated states in arbitrary order if nullptr is passed (used in point #1).
- Fix all weapon skills max custom to properly apply on learning new weapon skills.

(cherry picked from commit 4b6351e6a5)
2020-07-16 22:00:29 +02:00
funjoker 4055434ba6 Core/Misc: Unify handling CharacterCreating.Disabled.RaceMask with other racemask fields (#24604) 2020-05-17 23:39:17 +02:00
Shauren aced88b09b Core/AuctionHouse: After taking a break at the start of patch 8.3 auction house is now back in business. 2020-04-20 20:36:24 +02:00
Shauren 01c68b2aa2 Core/Player: Wait for correct transaction on character creation 2020-04-15 12:30:06 +02:00
Shauren fc9d2e728e Core/Misc: Fixed char enum packet sometimes not showing newly created character when client latency is too low 2020-04-14 16:24:53 +02:00
Shauren 0f0ca3a919 Core/DBLayer: Implement async transaction completion callbacks 2020-04-14 16:23:44 +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
Shauren a693d30f79 Warning fixes 2020-02-18 08:53:29 +01:00
Shauren 462a10de17 Core/PacketIO: Updated packets to 8.3.0 2020-02-17 23:58:08 +01:00
Shauren bdc34c46aa Core/PacketIO: Name unknown field in SMSG_FEATURE_SYSTEM_STATUS 2020-02-08 18:11:28 +01:00
Aokromes b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren d934824421 Core/Items: Implement azerite empowered items 2019-12-05 00:12:35 +01:00
Shauren ec9d624aec Core/Items: Implement azerite essences
* Implement inspecting heart of azeroth data
* Fixed heart of azeroth item level - bonuses now apply
2019-11-22 11:02:04 +01:00
Shauren ef3485e6fc Core/Items: Refactor loading additional item data (artifacts/azerite) 2019-11-19 14:37:05 +01:00
Shauren 2072258ef4 Core/DBLayer: Escape mysql 8 keywords 2019-11-01 16:20:15 +01:00
Shauren ee2e49429f Core/PacketIO: Update opcodes and packet structures to 8.2.5 2019-10-27 00:12:41 +02:00
xinef1 60663d1374 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world

(cherrypicked from 7567cafec8)
2019-08-17 20:04:14 +02:00
Shauren 13440434c3 Core/DBLayer: Prevent mixing databases with query holders 2019-07-27 11:45:56 +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 455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +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 7512ffb058 Core/Entities: Update updatefields to 8.0.1.27980 2018-10-10 22:11:41 +02:00
Shauren ee682544d0 Core/PacketIO: Updated opcode enum to 8.0 2018-10-01 21:01:10 +02:00
Shauren dd356ea04c Core/Misc: Extended racemasks in db to uint64 2018-09-26 23:08:23 +02:00
Palabola 1675212a2c Core/Misc: Updated race enum 2018-09-16 16:57:47 +02:00
Truthlight d520854912 Core/Player: Fixed crash when race or faction changing to an allied race. (#22221) 2018-08-03 10:01:55 +02:00
Traesh 55a0a2d3f6 Core/Artifact Handle Artifact tiers + Artifact unlock (3rd relic bonus) (#21593) 2018-07-31 23:31:44 +02:00
joschiwald 05134b0a66 Core/Guild: Handle changing the leader in one db transaction 2018-04-22 14:53:01 +02:00
Shauren d64c3393db Core/Items: Fixed saving and equipping sets with empty slots 2018-04-11 21:07:39 +02:00
Shauren 007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
Jeremy f411b7a90e Core/Player: Implement PvP Talents (#19962)
* SPELL_AURA_119 -> SPELL_AURA_PVP_TALENTS
* Learn Honorable Medallion when pvp rules are enabled
2018-03-04 22:32:08 +01:00