Naios
800d5d8939
Core/Misc: Replace tc's optional with boost::optional.
...
* benefits from empty optimization (objects are only constructed if needed).
* supports r-value references (move semantics) (boost >= 1.56.0).
* preparation for c++14/17's std::optional and std::none_t.
* add move constructor to CompactArray.
2015-04-26 23:45:52 +02:00
DJScias
1c13154e0b
Core/PacketIO: Updated and enabled CMSG_SET_FACTION_AT_WAR, CMSG_SET_FACTION_INACTIVE, CMSG_SET_FACTION_NOT_AT_WAR, CMSG_SET_WATCHED_FACTION, SMSG_SET_FACTION_NOT_VISIBLE and SMSG_SET_FACTION_VISIBLE
...
Documentation used:
- Thanks @Carbenium for all the help in regards to this (66a2baff13 & cfd48eb2ee )
- SetWatchedFaction is used for CMSG_SET_WATCHED_FACTION (returns uint32 FactionIndex), confirmed in-game and with http://wow.gamepedia.com/API_GetWatchedFactionInfo (See Patch History Patch 5.0.4)
- SetFactionVisible is used for SMSG_SET_FACTION_VISIBLE and SMSG_SET_FACTION_NOT_VISIBLE (uint32 FactionIndex, confirmed)
2015-04-23 00:56:35 +02:00
Shauren
7e5df6d504
Core/Logging: Removed a bunch of useless "received X" logs
2015-04-21 21:26:15 +02:00
Carbenium
bba6eb8d3d
Core/Player: Added character templates
...
* Characters with predefined levels can be created
* Avaiable factions and classes can be configured
* Valid values for `factionGroup` in table `character_template_class` are 3 (Alliance) or 5 (Horde)
* Added new permission RBAC_PERM_USE_CHARACTER_TEMPLATES - has to be set, to allow the usage of the templates
Closes #13952
2015-04-21 00:52:21 +02:00
Shauren
4208c0d839
Core/Misc: Barbershop fixes
...
* Fixed selection validation
* Implemented new 6.0 feature allowing to change face
* Fixed cost calculation
2015-04-21 00:24:26 +02:00
MitchesD
ad945dc476
Core/Misc: fixed referencing to non-existing hair, facialHair and skinColor ID in CharSections
...
Closes https://github.com/TrinityCore/TrinityCore/issues/14580
2015-04-20 20:35:13 +02:00
Shauren
bfca8246d8
Core/Socket: Fixed race conditions with instance socket
...
Helgrind logs:
==41785== Possible data race during write of size 8 at 0x6D80D590 by thread #4
==41785== Locks held: none
==41785== at 0x19603A2: void std::swap<std::__future_base::_State_baseV2*>(std::__future_base::_State_baseV2*&, std::__future_base::_State_baseV2*&) (move.h:177)
==41785== by 0x195FD7C: std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>&) (shared_ptr_base.h:1069)
==41785== by 0x1FC5B84: std::__basic_future<SQLQueryHolder*>::_M_swap(std::__basic_future<SQLQueryHolder*>&) (future:629)
==41785== by 0x1FC5155: std::future<SQLQueryHolder*>::operator=(std::future<SQLQueryHolder*>&&) (future:691)
==41785== by 0x1FB94C6: WorldSession::HandleContinuePlayerLogin() (CharacterHandler.cpp:832)
==41785== by 0x1ABD31A: WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSession&) (WorldSocket.cpp:742)
==41785== by 0x1AB8322: WorldSocket::ReadDataHandler() (WorldSocket.cpp:261)
==41785== by 0x1AB77D1: WorldSocket::ReadHandler() (WorldSocket.cpp:157)
==41785== by 0x1AC068A: Socket<WorldSocket>::ReadHandlerInternal(boost::system::error_code, unsigned long) (Socket.h:201)
==41785== by 0x1AC39ED: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::_M_call<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&>(std::shared_ptr<WorldSocket>&, void const volatile*, boost::system::error_code const&, unsigned long const&) const (in /usr/local/bin/worldserver)
==41785== by 0x1AC393F: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::operator()<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&, void>(std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&) const (functional:578)
==41785== by 0x1AC370F: void std::_Bind<std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)> (std::shared_ptr<WorldSocket>, std::_Placeholder<1>, std::_Placeholder<2>)>::__call<void, boost::system::error_code const&, unsigned long const&, 0ul, 1ul, 2ul>(std::tuple<boost::system::error_code const&, unsigned long const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (functional:1264)
==41785==
==41785== This conflicts with a previous read of size 8 by thread #1
==41785== Locks held: none
==41785== at 0x144BF6A: std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::operator bool() const (shared_ptr_base.h:1056)
==41785== by 0x1AAF7BD: std::__basic_future<SQLQueryHolder*>::valid() const (future:590)
==41785== by 0x1AAA04C: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1006)
==41785== by 0x1AA5167: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:452)
==41785== by 0x1D2D667: World::UpdateSessions(unsigned int) (World.cpp:2793)
==41785== by 0x1D2A8C6: World::Update(unsigned int) (World.cpp:2159)
==41785== by 0x145B823: WorldUpdateLoop() (Main.cpp:397)
==41785== by 0x145957F: main (Main.cpp:255)
==41785== Possible data race during read of size 8 at 0x6D80D638 by thread #1
==41785== Locks held: none
==41785== at 0x1A5E914: std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2>::operator bool() const (shared_ptr_base.h:1056)
==41785== by 0x1AA52A9: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:468)
==41785== by 0x1D2D667: World::UpdateSessions(unsigned int) (World.cpp:2793)
==41785== by 0x1D2A8C6: World::Update(unsigned int) (World.cpp:2159)
==41785== by 0x145B823: WorldUpdateLoop() (Main.cpp:397)
==41785== by 0x145957F: main (Main.cpp:255)
==41785==
==41785== This conflicts with a previous write of size 8 by thread #4
==41785== Locks held: none
==41785== at 0x1AAD12D: std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2> const&) (shared_ptr_base.h:860)
==41785== by 0x1AAD174: std::shared_ptr<WorldSocket>::operator=(std::shared_ptr<WorldSocket> const&) (shared_ptr.h:93)
==41785== by 0x1ABF0B5: WorldSession::AddInstanceConnection(std::shared_ptr<WorldSocket>) (WorldSession.h:684)
==41785== by 0x1ABD2F8: WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSession&) (WorldSocket.cpp:741)
==41785== by 0x1AB8322: WorldSocket::ReadDataHandler() (WorldSocket.cpp:261)
==41785== by 0x1AB77D1: WorldSocket::ReadHandler() (WorldSocket.cpp:157)
==41785== by 0x1AC068A: Socket<WorldSocket>::ReadHandlerInternal(boost::system::error_code, unsigned long) (Socket.h:201)
==41785== by 0x1AC39ED: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::_M_call<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&>(std::shared_ptr<WorldSocket>&, void const volatile*, boost::system::error_code const&, unsigned long const&) const (in /usr/local/bin/worldserver)
2015-04-19 15:30:24 +02:00
Carbenium
99ef803f1d
Core/Player: Added possibility to deactivate the character creation for neutral races
2015-04-18 01:44:37 +02:00
Shauren
4703169116
Core/PacketIO: Updated and enabled more battleground packets
2015-04-18 00:04:56 +02:00
Vincent-Michael
a65007f55f
Core/PacketIO: Fix typo in CharRaceOrFactionChange
2015-04-17 19:28:18 +02:00
Vincent-Michael
69b82c5e33
Core/PacketIO: Updated and Enabled CMSG_USE_EQUIPMENT_SET / SMSG_USE_EQUIPMENT_SET_RESULT for 6.1.2
2015-04-12 03:55:32 +02:00
Vincent-Michael
fcab914981
Core/PacketIO: Updated and Enabled CMSG_DELETE_EQUIPMENT_SET for 6.1.2
2015-04-12 03:18:03 +02:00
Vincent-Michael
0473b5371a
Core/Token: Fix freeze at opening game time windows
2015-04-10 22:28:16 +02:00
Shauren
3e063be399
Core/PacketIO: Reimplemented SMSG_SET_FORCED_REACTIONS as a response to client request instead of sending it automatically during map change
2015-04-09 00:05:31 +02:00
Shauren
832c3d7a09
Core/Misc: Removed unused variables
2015-04-05 16:54:26 +02:00
Carbenium
d1902b4095
Core/Player: Implement CharSections.dbc and serverside checks
...
Ported from 6d4c672fb1
Original work by @ariel-
2015-04-05 01:48:45 +02:00
Shauren
5389180778
Core/PacketIO: Updated all client opcode values
2015-04-01 01:44:10 +02:00
Rat
132c06751a
Core/Spells: Reset talent specialization when using reset talents command
2015-03-30 20:16:27 +02:00
MitchesD
580a50f7e7
Core/PacketIO: SMSG_BARBER_SHOP_RESULT, CMSG_ALTER_APPEARANCE, SMSG_ENABLE_BARBER_SHOP and enabled some opcodes
2015-03-28 18:12:26 +01:00
Shauren
8cfb542ee4
Core/PacketIO: Updated values of all known server opcodes
2015-03-27 22:21:24 +01:00
Carbenium
1262072949
Core/Misc: Update base stuff for V6.1.2 build 19802
2015-03-26 17:18:43 +01:00
Shauren
cc4d79495f
Core/Misc: Warning fixes
2015-03-22 13:47:55 +01:00
Carbenium
37a14bc2d5
Core/Support: Update the support/ticket system to 6.x
...
Core/Mail: fix a logic error introduced in 829e11b662
2015-03-10 21:09:21 +01:00
DJScias
a47d57d1db
Core/Packets: update & enabled CMSG_SHOWING_CLOAK, CMSG_SHOWING_HELM
...
Documentation Used:
- Thanks @rocverde for providing sniffs through TC IRC.
- Thank you very much @MitchesD, @DDuarte, @Carbenium and @Vincent-Michael (+ Trinity as a whole) for the help with my very first opcode structure update.
2015-03-09 22:57:49 +01:00
Shauren
e15ba34444
Core/Misc: Cleaned up data truncation warnings
2015-03-08 22:04:34 +01:00
Vincent-Michael
369b08b68d
Core/Misc: Update base stuff for V6.1.0 build 19702
2015-03-01 02:24:59 +01:00
Shauren
3fcea2e9d4
Core/PacketIO: Handle ConnectToFailed and allow the client to reconnect up to 5 times before aborting login to world
...
Closes #14214
2015-02-23 22:35:26 +01:00
Shauren
56186319bd
Core/Spells: Cooldown updates
...
* Refactored cooldown handling to separate class shared by creatures and players
* Updated and enabled cooldown packets
* Implemented creature school lockouts
* Implemented spell charges
* Fixed AuraUpdate structure
* Fixed aura flag AFLAG_NOCASTER handling
* Implemented spell charge related auras
2015-02-17 01:01:44 +01:00
Shauren
9db2e6dbbe
Core/Players: Updated player byte field offsets
2015-02-05 20:52:51 +01:00
Nayd
74f577e444
Core/Packets: Typo fixes and cleanup of 0f84c7c7b1
2015-02-04 20:48:14 +00:00
Carbenium
6751ac2940
Core/Packets: Add structure for CMSG_GM_TICKET_GET_CASE_STATUS, SMSG_GM_TICKET_CASE_STATUS, CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY and SMSG_GM_TICKET_RESPONSE_ERROR
...
Implement CMSG_GM_TICKET_GET_TICKET and SMSG_GM_TICKET_GET_TICKET_RESPONSE
Update SMSG_FEATURE_SYSTEM_STATUS to support customizable ticket system and add config options
2015-02-04 20:48:12 +00:00
joschiwald
053d5f24ee
Core/Packets:
...
- added inspect packets
- updated opcode values
2015-02-01 20:52:05 +01:00
Nayd
802725817b
Core/Packets: Update and enable CMSG_STAND_STATE_CHANGE and SMSG_STAND_STATE_UPDATE
2015-01-28 19:29:31 +00:00
joschiwald
b8b3079917
Core/Packets: moved CMSG_AUTOSTORE_BAG_ITEM, CMSG_CANCEL_AURA, CMSG_CHAR_UNDELETE_ENUM, CMSG_GET_UNDELETE_COOLDOWN_STATUS, CMSG_UI_TIME_REQUEST to packet classes
2015-01-26 12:59:18 +01:00
joschiwald
c61bcf1206
Core/NetworkIO: sync opcodes with wpp
2015-01-25 21:08:54 +01:00
Shauren
469b836114
Core/Auras: Fixed saving all aura effect values to database
2015-01-16 23:32:41 +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
joschiwald
9ecc578cb1
Core/Scripts: multiple changes
...
- fixed non pch build
- fixed some warnings
- fixed some coverity issues
- some random things here and there
2014-12-29 01:00:16 +01: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
3c3b42362f
Core/DataStores: Added DB2Manager
...
* Moved DB2 helpers to new class
* Moved hotfix data to hotfixes database and core management functions to DB2Manager class
* Updated HotfixNotifyBlob packet
2014-12-26 01:38:40 +01:00
Nayd
a1d4c9f9dc
Core: Use the correct function to convert strings to unsigned longs and unsigned long longs
...
Fixes wrong data being inserted into the database (i.e explored zones).
More info in #13493
Fixes #13493
Thanks to @jackpoz for finding the code issue and @Vavehl for an expectional bug report.
2014-11-26 02:12:38 +00:00
joschiwald
7f96163c94
Core/Packets:
...
- updated/enabled CMSG_CHANNEL_DISPLAY_LIST, CMSG_CHANNEL_LIST, CMSG_JOIN_CHANNEL, CMSG_LEAVE_CHANNEL, SMSG_CHANNEL_LIST, SMSG_CHANNEL_NOTIFY_JOINED, SMSG_CHANNEL_NOTIFY_LEFT
- updated CMSG_SET_SELECTION
- updated CMSG_TUTORIAL_FLAG (removed CMSG_TUTORIAL_CLEAR, CMSG_TUTORIAL_RESET)
- fixed null guid in EquipmentSetList
- fixed struct of MonsterMove
2014-11-23 04:25:47 +01:00
Shauren
4764c3ea77
Core/Util: Fixed "value" name in Optional struct to follow code style
2014-11-20 01:17:45 +01:00
joschiwald
abff9de719
Core/Packets: updated EquipmentSet save packets
2014-11-19 21:09:30 +01:00
Shauren
4894991d55
Core/PacketIO: Renamed a few packet classes to match client names
2014-11-15 13:03:32 +01:00
joschiwald
231207970b
Core/Packets: updated SMSG_FEATURE_SYSTEM_STATUS, SMSG_INITIAL_SPELLS and SMSG_SPELL_CATEGORY_COOLDOWN
2014-11-14 02:00:34 +01:00
Intel
da52c8d54e
Core/Talents:
...
Fixed SMSG_TALENTS_INFO packet
Fixed talents saving to DB
Renamed 'talent spec' to 'talent group' since this name was shadowing character specializations (and new name is correct according to JAM)
Enabled loading of MinorTalent.dbc (will be used later)
Added additional specialization check in LearnTalent
2014-11-12 21:43:48 +02:00
joschiwald
620f23d9dc
Core/World: hold deleted characters in character store
2014-11-12 19:16:14 +01:00
joschiwald
f4926e0a8c
Core/Packets: updated char rename customize and factionchange packets
2014-11-12 16:36:05 +01:00