Commit Graph

204 Commits

Author SHA1 Message Date
Phil
c8d37293e8 Core/DBLayer: fixed debug build (#195) 2020-12-05 18:27:35 +01:00
Shauren
d6aa5e333e Core/DBLayer: Fixed memory leaks with existing SQLQueryHolder uses and eliminated the possibilty of adding more in future (replaced manual memory management with smart pointers) 2020-10-26 18:03:54 +01:00
Ovahlord
361ac2292b Core/Movement: add velocity field to waypoint_data to allow specifying custom speed value for waypoints and cyclic splines
* standartized member naming in WaypointNode and WaypointPath struct
2020-09-24 14:30:48 +02:00
funjoker
6e77dc8f78 DB/Core: Converted hotfix database charset to utf8mb4
Update DBUpdater to create databases with utf8mb4
2020-09-22 01:22:59 +02:00
Ovahlord
27c1fd6aee Core/Movement: implement cyclic spline database support 2020-09-21 00:32:55 +02:00
Ovahlord
9d345f0d87 Core/Creatures: creature groups no longer unnecessarily throw their data on the heap and formations now support inversing angles when waypoint Ids are 0 2020-08-28 23:02:05 +02:00
Roc13x
ac6604fba7 Core/Creature: Refactor vendor item code (#167)
* Fix loading referenced vendor items
* Refactored vendor item storage
2020-08-06 01:43:39 +02:00
Roc13x
31b6b77200 Core/Players: Several gold handling improvements (#155)
* Updated the following systems to support large (64bit) gold numbers:
- Auction House
- Mail
- Commands
- Guild bank withdraw limits
- Guild Bank eventlog
- Vendor

* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
2020-08-03 17:24:32 +02:00
Ovahlord
360651f76f Core/DB: use correct field names in LOGIN_GET_GMLEVEL_BY_REALMID 2020-08-01 15:48:29 +02:00
Shauren
6d4b396f7b Core/DBLayer: Add nicer api for SQLQueryHolders 2020-08-01 15:37:20 +02:00
Shauren
80e4effba5 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway) 2020-08-01 15:21:13 +02:00
Shauren
adb7e4dba8 Refactor mail loading to execute 2 database queries instead of 1+mails.size() 2020-08-01 15:15:07 +02:00
Shauren
1c1c62d108 Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode with async version 2020-08-01 15:09:05 +02:00
Peter Keresztes Schmidt
a06e5d7d40 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs 2020-07-18 22:43:24 +02:00
Ovahlord
d46fb93657 Core/Pools: ported pooling updates from 335 branch 2020-07-13 11:17:19 +02:00
Shauren
c51bd68b91 Core/DBLayer: Optimize string based query results by eliminating unneeded buffer copies
# Conflicts:
#	src/server/database/Database/Field.cpp
#	src/server/database/Database/Field.h
#	src/server/database/Database/QueryResult.cpp
2020-07-05 20:53:10 +02:00
Ovahlord
062667df95 Database: fixed prepared statement fields for reloading creature_template 2020-06-02 20:00:03 +02:00
Ovahlord
db8e0cf13a Database: updated DB updater database download link to spare Aokromes from madness 2020-06-01 16:06:47 +02:00
Giacomo Pozzoni
08fbf3974e Core/Database: Fix build with Maria DB on some distros (#24248) 2020-05-05 16:27:07 +02:00
r00ty-tc
b9b21188ac Core/Database: Correction for later MariaDB version
- Removed unused define CR_INVALID_CONN_HANDLE which was removed entirely in more modern MariaDB versions
2020-05-05 16:27:07 +02:00
Ovahlord
6aa8e4389c Core/Texts: allow creature texts to play sounds via different opcodes (Direct Sound, Object Sound and Music) 2020-05-01 20:16:27 +02:00
Shauren
ca881f7e3f Core/DBLayer: Implement async transaction completion callbacks 2020-04-15 21:41:14 +02:00
Shauren
40c3c785a2 Core/DBLayer: Prevent mixing databases with query holders
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
2020-04-15 21:30:10 +02:00
Shauren
47acc59f49 Core/DBLayer: Prevent committing transactions started on a different database 2020-04-15 21:02:26 +02:00
Shauren
d003ebd8e4 Core/DBLayer: Prevent using prepared statements on wrong database 2020-04-15 19:18:58 +02:00
Ovahlord
eaee7b3cfa Core/DBLayer: minor spacing fixups 2020-04-15 11:25:34 +02:00
Giacomo Pozzoni
dd6498b8f9 Core/Database: Close the MySQL connection only after getting the last error code 2020-04-15 11:06:18 +02:00
Ovahlord
8819428919 Core/DBLayer: fixed no pch build 2020-04-15 10:46:37 +02:00
Shauren
5653d4e2de Core/DBLayer: Support using mysql 8 2020-04-15 10:19:24 +02:00
Ovahlord
9bfe43a88a Core/Entities: remove PhaseMask
* database fields and values will remain until they have been converted to their according phase IDs
2020-03-29 04:05:43 +02:00
Ovahlord
2a9fc25269 Core/Misc: fixed more no pch errors 2020-03-11 13:42:42 +01:00
Ovah
25b18096d8 Core/Config: corrected bitmask value for hotfix database updates 2020-02-24 15:11:32 +01:00
Ovahlord
73ce49cb78 Core/Datastore: updated db2 field names and types to reflect client magic names
*fixed string length for sending names in item_sparse length
2020-02-23 02:20:38 +01:00
Ovahlord
f2b26c68a7 Core/Datastores: corrected db structure for item.db hotfix table and removed timestamp field from hotfix_data as the timestamp is being generated by the server 2020-02-22 22:29:35 +01:00
Ovahlord
d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
Ghaster
df173c7e1c Core/Bnet: Cleanup/Improve Battle.net account commands (#33) 2020-02-19 02:52:11 +01:00
jackpoz
183789053e Core/Misc: Fix GCC 8 warnings 2020-01-31 21:19:25 +01:00
Ovahlord
5ce44296d0 Core/Creature: fixed trainers not sending their gossips 2020-01-13 02:35:13 +01:00
Ovahlord
7760d95962 Core/Creatures: backported trainer update and skill initialization 2020-01-12 23:53:35 +01:00
Ovahlord
2715301823 Core/Players: convert SMSG_SETUP_CURRENCY to packet class and backportet currency handling from master branch 2020-01-05 23:32:23 +01:00
Aokromes
d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
funjoker
6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
zartech22
7353b97426 Core/Instance : Fix instance resetting exploit (#23263)
* Push offline players out of instance

Push offline players out of instance when reseting dungeon with a raid mode group

* Add SQL request to character

Add a SQL request to update the position of a player in a specified map

* Teleport to graveyard instead
2019-11-16 13:44:04 +01:00
Artamedes
a146d3598b Server/Database: Fix loading battlenet accountid (#12) 2019-10-11 21:42:53 +02:00
Shauren
e596504d93 * Auth/Battle.net Added missing build check to JoinRequest handler
* Core/Commands: Battle.net account command changesisting accounts

(6584995c11)
(0c27ffaa49)
2019-10-08 15:26:06 +02:00
Ovahlord
8bec6af24a Core/NetworkIO: implement 2nd connection 2019-10-03 22:32:24 +02:00
Ovahlord
46eaff5a74 Core/Guilds: implement SMSG_GUILD_KNOWN_RECIPES and CMSG_GUILD_QUERY_RECIPES
* updated CMSG_GUILD_GET_ROSTER and SMSG_GUILD_ROSTER_UPDATE to packet class
* optimized caching process and updating for guild member profession data
2019-09-04 03:52:48 +02:00
Ovahlord
6d759dc6e8 Core/Guilds: implement guild profession fields for guild roster packets 2019-09-03 16:31:59 +02:00
Ovahlord
5251c6abb9 Core/Items: use ITEM_FIELD_CREATE_PLAYED_TIME properly to determine an item's age and send the correct value in order to fix the refund info texts 2019-08-20 00:57:20 +02:00
Treeston
90540d684b Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime

----------

Core/DB: Unify `creature_respawn` and `gameobject_respawn` into a single `respawn` table
2019-08-18 12:47:10 +02:00