Commit Graph

263 Commits

Author SHA1 Message Date
Treeston
f04f4e91ff Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent 2020-08-19 00:25:44 +02:00
Treeston
6116e5b385 Core/Warden: Warden refactors (PR #25235) 2020-08-11 18:04:36 +02:00
Shauren
9b806c6b5d Core/DBLayer: Add nicer api for SQLQueryHolders 2020-07-31 23:27:26 +02:00
Treeston
7f7fa8b23d Core/Authserver: Split SRP6 into its own file (PR #25131) 2020-07-29 00:07:41 +02:00
Giacomo Pozzoni
8a2c79c850 Core/Metric: Log detailed metrics about each opcode handler (#25153)
* Core/Metric: Log detailed metrics about each opcode handler

* Add new panel to Performance profiling dashboard and use fill(0) instead of fill(none)

* Add new settings Metric.Threshold.* to be able to specify the minimum threshold for the specified metrics

* Update dashboard

* Change thresholds to be required to send the metrics. A TC_METRIC_DETAILED_TIMER metric with an expected threshold not configured will be ignored

* Use typedef Milliseconds

* Refresh realms on load
2020-07-28 14:27:54 +02:00
Treeston
210176fd91 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above
2020-07-26 01:53:34 +02:00
Peter Keresztes Schmidt
c92950b3e1 Core/DataStores: Update DBC field names to generated ones (#24999) 2020-07-12 15:36:55 +02:00
Giacomo Pozzoni
141ada19b0 Cherry pick some db commits (#24713)
* Core/DBLayer: Implement async transaction completion callbacks

(cherry picked from commit 0f0ca3a919)

# Conflicts:
#	src/server/bnetserver/REST/LoginRESTService.cpp
#	src/server/bnetserver/Server/Session.cpp
#	src/server/bnetserver/Server/Session.h
#	src/server/database/Database/Transaction.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSocket.cpp
#	src/server/game/Server/WorldSocket.h

* Core/Misc: Fixed char enum packet sometimes not showing newly created character when client latency is too low

(cherry picked from commit fc9d2e728e)

# Conflicts:
#	src/server/game/Handlers/CharacterHandler.cpp

* Fix no-pch build

* Core/Player: Wait for correct transaction on character creation

(cherry picked from commit 01c68b2aa2)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp

* Fix warning

* Remove unused login transaction

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-05-30 17:43:54 +02:00
ForesterDev
5eaf68670a Core/PacketIO: Updated logout opcodes (#24519)
(cherry picked from commit f59a701e29)

# Conflicts:
#	src/server/database/Database/Implementation/LoginDatabase.cpp
#	src/server/database/Database/Implementation/LoginDatabase.h
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.h
#	src/server/game/Server/Packets/CharacterPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/game/Server/WorldSocket.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-05-10 14:37:44 +02:00
ForesterDev
3e54e798e6 Core/Opcodes: updated CMSG_SET_SHEATHED to new packet class (#24393)
* Core/Packets: Added SMSG_LEARNED_SPELLS packet

(cherry picked from commit 51026f28bd)

Co-authored-by: chemicstry <chemicstry@gmail.com>

* Core/Opcodes: updated CMSG_SET_SHEATHED to new packet class

(cherry picked from commit 7eb02e945f)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Handlers/CombatHandler.cpp
#	src/server/game/Server/Packets/CombatPackets.cpp
#	src/server/game/Server/Packets/CombatPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp

* rename opcode name CMSG_SETSHEATHED -> CMSG_SET_SHEATHED

* Revert "Core/Packets: Added SMSG_LEARNED_SPELLS packet"

This reverts commit 7beefdfb162f503067a519193f704ac15809779f.

Co-authored-by: chemicstry <chemicstry@gmail.com>
2020-04-11 19:48:16 +02:00
jackpoz
31018c3652 Core/Log: Log all character kicks to "network.kick" category 2020-04-08 21:05:01 +02:00
jackpoz
68fcd592f8 Core/NetworkIO: Adjust more packet throttling values
Thanks @Nefertumm at f5e38a7f57 for the heads-up
2020-04-08 17:43:07 +02:00
Giacomo Pozzoni
3def52c1c4 Core/Logs: Log full guid instead of just low guid, part 2 2020-04-05 19:10:58 +02:00
Shauren
f7a67099d4 Core/DBLayer: Prevent mixing databases with query holders
(cherry picked from commit 13440434c3)

# Conflicts:
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
2020-03-31 13:42:01 +00:00
Shauren
635b8d52d5 Core/DBLayer: Prevent committing transactions started on a different database
(cherry picked from commit f6e2b8cdc1)

# Conflicts:
#	src/server/bnetserver/REST/LoginRESTService.cpp
#	src/server/database/Database/DatabaseWorkerPool.cpp
#	src/server/database/Database/DatabaseWorkerPool.h
#	src/server/database/Database/Implementation/HotfixDatabase.h
#	src/server/database/Database/MySQLConnection.h
#	src/server/database/Database/Transaction.cpp
#	src/server/database/Database/Transaction.h
#	src/server/game/Achievements/AchievementMgr.cpp
#	src/server/game/Achievements/AchievementMgr.h
#	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
#	src/server/game/AuctionHouse/AuctionHouseMgr.h
#	src/server/game/BattlePets/BattlePetMgr.cpp
#	src/server/game/BattlePets/BattlePetMgr.h
#	src/server/game/BlackMarket/BlackMarketMgr.cpp
#	src/server/game/BlackMarket/BlackMarketMgr.h
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Item/Item.cpp
#	src/server/game/Entities/Item/Item.h
#	src/server/game/Entities/Player/CollectionMgr.cpp
#	src/server/game/Entities/Player/CollectionMgr.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Garrison/Garrison.cpp
#	src/server/game/Garrison/Garrison.h
#	src/server/game/Groups/Group.cpp
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/Guild.h
#	src/server/game/Guilds/GuildFinderMgr.cpp
#	src/server/game/Handlers/BlackMarketHandler.cpp
#	src/server/game/Handlers/CalendarHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/MailHandler.cpp
#	src/server/game/Handlers/PetHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Mails/Mail.cpp
#	src/server/game/Pools/PoolMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.h
#	src/server/game/Scenarios/InstanceScenario.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/game/Spells/SpellHistory.cpp
#	src/server/game/Support/SupportMgr.cpp
#	src/server/game/Tools/PlayerDump.cpp
#	src/server/scripts/Commands/cs_misc.cpp
2020-03-31 13:42:01 +00:00
Shauren
fe1003bdbd Core/DBLayer: Prevent using prepared statements on wrong database
(cherry picked from commit e8e89f58fb)

# Conflicts:
#	src/server/bnetserver/REST/LoginRESTService.cpp
#	src/server/bnetserver/Server/Session.cpp
#	src/server/database/Database/DatabaseWorkerPool.cpp
#	src/server/database/Database/Implementation/HotfixDatabase.h
#	src/server/database/Database/MySQLConnection.cpp
#	src/server/database/Database/MySQLConnection.h
#	src/server/database/Database/PreparedStatement.cpp
#	src/server/database/Database/PreparedStatement.h
#	src/server/database/Database/QueryHolder.cpp
#	src/server/database/Database/SQLOperation.h
#	src/server/database/Database/Transaction.h
#	src/server/game/Accounts/BattlenetAccountMgr.cpp
#	src/server/game/Achievements/AchievementMgr.cpp
#	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
#	src/server/game/AuctionHouseBot/AuctionHouseBot.cpp
#	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
#	src/server/game/BattlePets/BattlePetMgr.cpp
#	src/server/game/Battlegrounds/ArenaTeam.cpp
#	src/server/game/BlackMarket/BlackMarketMgr.cpp
#	src/server/game/Chat/Channels/Channel.cpp
#	src/server/game/Entities/Corpse/Corpse.cpp
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Item/Item.cpp
#	src/server/game/Entities/Pet/Pet.cpp
#	src/server/game/Entities/Player/CollectionMgr.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Garrison/Garrison.cpp
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Groups/Group.cpp
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/GuildFinderMgr.cpp
#	src/server/game/Guilds/GuildMgr.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/ItemHandler.cpp
#	src/server/game/Handlers/MailHandler.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Handlers/TicketHandler.cpp
#	src/server/game/Loot/Loot.cpp
#	src/server/game/Mails/Mail.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Movement/Waypoints/WaypointManager.cpp
#	src/server/game/OutdoorPvP/OutdoorPvP.cpp
#	src/server/game/Pools/PoolMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
#	src/server/game/Reputation/ReputationMgr.cpp
#	src/server/game/Scenarios/InstanceScenario.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSocket.cpp
#	src/server/game/Spells/SpellHistory.cpp
#	src/server/game/Support/SupportMgr.cpp
#	src/server/game/Tools/PlayerDump.cpp
#	src/server/game/World/World.cpp
#	src/server/scripts/Commands/cs_account.cpp
#	src/server/scripts/Commands/cs_ban.cpp
#	src/server/scripts/Commands/cs_battlenet_account.cpp
#	src/server/scripts/Commands/cs_group.cpp
#	src/server/scripts/Commands/cs_lfg.cpp
#	src/server/scripts/Commands/cs_list.cpp
#	src/server/scripts/Commands/cs_message.cpp
#	src/server/scripts/Commands/cs_misc.cpp
#	src/server/scripts/Commands/cs_npc.cpp
#	src/server/scripts/Commands/cs_tele.cpp
#	src/server/scripts/Commands/cs_wp.cpp
#	src/server/shared/DataStores/DB2DatabaseLoader.cpp
#	src/server/shared/Realm/RealmList.cpp
2020-03-31 13:42:01 +00:00
Shauren
f2f47f774f Core/PacketIO: Add a validating string helper class for use in packet classes 2020-03-18 23:20:11 +01:00
treeston
01b2ac3ed4 Core/Chat: Disallow hyperlinks from being inserted in various guild-related freetext fields (the client already blocks this) 2020-03-15 19:48:13 +01:00
ForesterDev
af6d207add Core/PacketIO: update some combat packets to new system (#24236) 2020-03-12 17:06:15 +01:00
ForesterDev
ffede34ba9 Core/Misc: Moved CanSpeak() method to WorldSession class (#24209)
* Core/Misc: Moved CanSpeak() method to WorldSession class

(cherry picked from commit 93aa30f447)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/ChatHandler.cpp
#	src/server/game/Server/WorldSession.cpp

* fix merge conflicts
2020-02-28 19:53:35 +01:00
Aokromes
ed93932537 New year
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
Giacomo Pozzoni
fb059722fd 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.
2019-09-17 09:11:56 +02:00
Shauren
86b516c3f2 Core/Addons: Fixed Blizzard_* addons insecure lua errors
Closes #23599
2019-07-16 17:10:28 +02:00
Shauren
01124c6f4e Fix clang build 2019-07-15 18:30:17 +02:00
Shauren
cd3d317ebf Core/Addons: Improve WorldSession::ReadAddonsInfo
* Only allow built-in addons to be marked as secure
* Better protect against malformed packets
2019-07-15 17:47:35 +02:00
Aokromes
574a7c8d3d Core/Misc: More coding standards (#23519)
* Core/Misc: More coding standards

* revert part

* "void  " or more to "void "

* fix? reject

* remove more double whitespaces

* remove more double whitespaces

* more standards

* more coding standards

* More standards

* more coding

* more coding standards

* more coding standards

* And more standards
2019-07-08 12:51:42 +02:00
ccrs
401777d024 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()
2019-07-01 21:36:32 +02:00
Treeston
396f87c30d Entities/Unit: Cleanup all the direct accesses to m_unitMovedByMe. Refactor the field to be protected. Add assertions to catch dangling pointers. 2019-06-23 16:44:37 +02:00
Wyrserth
e906a2fe7d Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes (#23398)
* Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes.

* Add #23396 to make testing easier.

* Prioritize assistants in raids.

* Fix dumb mistake and apply suggested change, thanks VincentVanclef and jackpoz!
2019-06-15 14:19:58 +02:00
Chaouki Dhib
975f1e364a Core/Movement: Add time synchronisation (#18189) 2019-04-15 23:31:25 +02:00
Treeston
fcfcb0eb6f Happy New Year, folks. It's 2019! 2019-01-01 15:45:25 +01:00
Treeston
e858706270 Core/Chat: Some hyperlink follow-ups:
* Ignore messages containing invalid links again instead of trying to sanitize them. Closes #22451.
* No longer filter messages on the addon channel. Closes #22450.
2018-09-18 01:28:57 +02:00
Treeston
8a4858bdcf Core/Handlers: Spell handler no longer downranks otherwise-negative spells because they have a potentially-positive aura effect. Closes #22153. 2018-07-19 12:46:31 +02:00
Treeston
2ef9d301f0 Misc: Pass std::chrono types by value everywhere. 2018-07-18 17:48:15 +02:00
Treeston
532ab1c7f8 Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.
2018-01-03 20:04:19 +01:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
jackpoz
12701cb0c6 Core/Misc: Replace time(NULL) with GameTime::GetGameTime() 2017-12-24 22:50:59 +01:00
jackpoz
032194099e Core/WorldSession: Fix idle WorldSessions getting kicked twice as fast as supposed
Fix SocketTimeOutTime and SocketTimeOutTimeActive settings being effectively halved by reducing the timeout time twice every update instead of just once, causing much faster kicks (i.e. after 30 seconds with 60 seconds set in the configs).
2017-11-30 20:35:57 +01:00
Mikhail Redko
558382ed6d Core/WorldSession: Add RBAC permission for skipping idle connection check (#20595) 2017-10-13 22:26:53 +02:00
Treeston
7dfd472f8d Proper client timeout detection (#19906)
- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.
2017-06-27 00:22:33 +02:00
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
ariel-
60dd803bbe Core/Server: fix duplicated inserts into tutorials table for newly created characters 2017-01-29 14:00:19 -03:00
xinef1
b955456008 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
2017-01-28 01:00:28 -03:00
Shauren
4c27203c8f Core/DBLayer: Convert async queries to new query callbacks and remove old callback handling
(cherry picked from commit 8e2634b2b4)

Conflicts:
	src/server/bnetserver/Server/Session.cpp
	src/server/bnetserver/Server/Session.h
	src/server/database/Database/QueryCallback.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/SocialHandler.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
	src/server/game/World/World.cpp
	src/server/game/World/World.h
2017-01-25 23:38:13 -03:00
joschiwald
62b62ddd63 Core/Packets: updated some contactlist packets
(cherry picked from commit e01bb91887)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Player/SocialMgr.cpp
	src/server/game/Entities/Player/SocialMgr.h
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Server/Packets/MiscPackets.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Server/Protocol/Opcodes.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.h
2017-01-25 23:36:24 -03:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Treeston
8deda7ed7f Entities/Unit: Cleanup refactor. Changes: (#17819)
+ Unit::m_movedPlayer -> Unit::m_playerMovingMe
+ Player::m_mover -> Player::m_unitMovedByMe
+ Unit::GetMover() -> Unit::GetUnitBeingMoved()
+ Unit::GetPlayerMover() -> Unit::GetPlayerBeingMoved()
+ NEW: Unit::GetClientControllingPlayer()
2016-08-20 12:43:04 +02:00
jackpoz
4073cc510a Core/Packets: Port packet handling rework from 6.x branch (#17777)
* Core/Packets: Port packet handling rework from 6.x branch

Port packet handling reword from 6.x branch. Old handlers are still used at the moment, these changes allow to port old handlers to new packet-specifc ones.
2016-08-19 22:29:00 +02:00
ariel-
ef85d01746 Core/Entities: Readded check removed in d7460887c8, caused flying ghost players to not move if they died during a root effect, root flag was never cleared clientside and impeded movement. 2016-07-19 02:31:28 -03:00
elecyb
d7460887c8 Core/Entities: Moved PITCH movement flags into TURNING mask (they do not cause movement in any direction alone, only combined with forward/backward/strafe)
Closes #16256
2016-06-18 16:53:34 +02:00