Commit Graph

465 Commits

Author SHA1 Message Date
Shauren
4220ec8eee Core/Misc: Fixed build with c++23 enabled
Closes #30511
2024-12-16 16:43:42 +01:00
Ovahlord
b72fc58f6b Core/Database: removed more duplicate aliases from prepared statements 2024-12-16 16:43:33 +01:00
Shauren
893f2d4cef Core/Networking: Support IPv6
(cherry picked from commit af4dcc93ed)

# Conflicts:
#	sql/base/auth_database.sql
#	sql/updates/auth/cata_classic/2024_11_12_00_auth.sql
2024-11-12 20:56:47 +01:00
Ovahlord
2d415b4621 Core/DataStores: updated DB2 structures to 4.4.1 2024-11-01 07:56:45 +01:00
Shauren
03312d4aa4 Core/Misc: Replace std::ostringstream based formatting with Trinity::StringFormat where possible in common and database projects
(cherry picked from commit 1a41281e37)
2024-10-17 21:44:13 +02:00
Shauren
01e3220f89 Core/Players: Prevent creation of characters with duplicate names
Closes #30299

(cherry picked from commit 49ab2bbe38)
2024-10-03 15:06:58 +02:00
Shauren
1e7bb72424 Core/Database: Fix database connections failing to open over named pipes for users using caching_sha2_password authentication plugin if this is the first time this user attempts to log in since starting MySQL server
(cherry picked from commit 726412d983)
2024-09-25 20:00:56 +02:00
Shauren
3cde083745 Core/Database: Change database async thread shutdown to fix some corner cases leading to servers being stuck on shutdown (for example with exit() call)
(cherry picked from commit 11a832fa8b)
2024-09-21 05:50:20 +02:00
Ovahlord
7704c0cc5a Core/Misc: dropped unused Traits implementation 2024-09-01 20:49:45 +02:00
Ovahlord
b5e681e682 Core/Misc: removed most retail specialization code and restored legacy functionality for Classic 2024-09-01 06:52:54 +02:00
Shauren
18ae1540b5 Core/Loot: Implemented currency loot
(cherry picked from commit 3e28ee080a)

# Conflicts:
#	sql/base/characters_database.sql
#	sql/updates/auth/cata_classic/2024_08_26_00_characters.sql
#	sql/updates/world/cata_classic/2024_08_26_00_world.sql
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Loot/Loot.cpp
#	src/server/scripts/ExilesReach/zone_exiles_reach.cpp
2024-08-27 17:20:43 +02:00
Shauren
25ffdbc5ef Core/Realms: Realmlist refactors
* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field, mysteriously removed 15 years ago in f20b25d1c9

(cherry picked from commit c4b710446d)

# Conflicts:
#	sql/base/auth_database.sql
2024-08-18 20:39:21 +02:00
Ovahlord
d8a9f7bd25 Core/Players: updated glyph handling for Cataclysm 2024-07-28 01:32:42 +02:00
Ovahlord
03b6898518 Core/Player: initial work on implementing talents for Cataclysm
- use a new structure to hold talent group data which will eventually replace the old master branch implementation
- added support for unlocking dual talent specialization and switching specs
- added basic support for learning and resetting talents
2024-07-27 11:03:38 +02:00
Shauren
9fe75d870f Core/DBLayer: Add field metadata getters to query result classes
(cherry picked from commit d4998bd04a)
2024-07-14 19:03:21 +02:00
Shauren
69febfca78 Core/Database: Fixed WITH_COREDEBUG + WITH_DYNAMIC_LINKING incompatibility on windows
(cherry picked from commit f895d04b7d)
2024-07-06 15:35:58 +02:00
Ovahlord
166aec66ba Core/Misc: dropped several db2 storages which are empty/unused in classic and removed many unused opcode handlers and packet classes 2024-06-25 20:20:09 +02:00
Ovahlord
dc67de6b1b Core/Items: dropped artifact weapon implementation 2024-06-25 18:08:28 +02:00
Meji
e3f27a5beb Core/AreaTriggers: Check actionset flags for client areatriggers to allow some areatriggers to trigger while dead (#30042)
(cherry picked from commit d51d6b0abe)
2024-06-24 20:11:30 +02:00
Shauren
6f04a08ed9 Core/Database: Rewrite QueryCallback with std::variant
(cherry picked from commit 2b4c7dec29)
2024-06-20 01:20:05 +02:00
Shauren
296b0c91b3 Core/Database: Remove future/promise typedefs from a public header (these are internal to database project)
(cherry picked from commit 7fcb126fcb)
2024-06-20 01:20:00 +02:00
Shauren
0608cf31c2 Core/AreaTriggers: Implement height check for polygon db2 areatriggers
(cherry picked from commit 1c3268155d)
2024-06-20 01:07:34 +02:00
Meji
889abca362 Core/AreaTriggers: Fix triggering of client areatriggers for some shapes
(cherry picked from commit b070e63fa8)

# Conflicts:
#	sql/updates/auth/cata_classic/2024_05_27_00_hotfixes.sql
2024-06-20 01:07:04 +02:00
Ovahlord
8a58c75b67 Core/DataStores: named new columns in ChrCustomizationOption which have been added in 11.x 2024-06-18 19:41:09 +02:00
Ovahlord
23135b198c Core/DataStores: update DB2 structures to 55141 2024-06-18 18:11:11 +02:00
Ovahlord
0d9df719ef Core/Player: dropped PvP talent implementation 2024-06-05 22:06:25 +02:00
Ovahlord
ae23dd46b1 Core/Datastores: load new glyph and talent related db2 files 2024-06-02 16:51:26 +02:00
Ovahlord
57c36d758f Core/Items: implement reforging items 2024-06-01 19:32:24 +02:00
Ovahlord
72ef4ccf77 Core/Datastores: named unknown fields for CurrencyTypes 2024-05-28 22:28:22 +02:00
Shauren
139d80373d Core/Items: Implemented CreateTime item field and changed refund/soulbound trade timers to also count time offline
(cherry picked from commit 69da702b93)

# Conflicts:
#	sql/base/characters_database.sql
2024-05-28 16:41:52 +02:00
Gosha
a1d892195f Core/Items: Fix loading secondaryItemModifiedAppearanceSpec5 (#29917)
(cherry picked from commit 8c274a8e8d)
2024-05-28 16:41:30 +02:00
Meji
2c56ee9ce1 Core/SAI: Added support for StringIds to creature and gameobject targets (#29910)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
(cherry picked from commit 2ce4068459)
2024-05-28 16:40:53 +02:00
Shauren
2d1c2c79ab Core/DBLayer: Support retrieving DATE/DATETIME/TIMESTAMP column values directly without casting in sql
(cherry picked from commit 404bb5b3c2)
2024-05-28 16:40:35 +02:00
Meji
382eb5063f Core/Creatures: Changed the spawn health field in creature table to a percentage (#29801)
(cherry picked from commit def601b4ff)
2024-05-28 16:31:42 +02:00
Ovahlord
9d6e3e54ab Core/Datastores: updated DB2 structures to 4.4.0.54737 2024-05-23 21:18:10 +02:00
Shauren
9a0414c79e Core/Objects: Implemented vignettes
(cherry picked from commit fccf6fb72b)
2024-03-25 20:12:21 +01:00
Ovahlord
c16e24fd7f Core/DataStores: updated DB2 structures to 4.4.0.53750 2024-03-14 03:48:48 +01:00
Ovahlord
4aae7887d0 Core/Creatures: added PetSpellDataId and Civilian fields to creature_template, replaced level delta fields with MinLevel and MaxLevel in creature_template_difficulty and backported creature_classlevel_stats from 4.3.4 2024-03-13 22:34:49 +01:00
MaxtorCoder
cfc9cc9ec2 Core/PacketIO: Update to 4.4.0.53627 (#29805)
* Core/PacketIO: Update to 4.4.0.53627

* Core/IO: Remove duplicate declaration of PetSpellDataID

* Core/IO: Assign STATUS_UNHANDLED to some azerite packets
2024-03-13 21:16:18 +01:00
Ovahlord
8dea56b9db Core/Maps: dropped Garrison implementation 2024-03-12 22:27:47 +01:00
Ovahlord
d9ffc33724 Core/DataStores: duc-taped build 2024-03-10 02:39:59 +01:00
Shauren
5c44ac1787 Core/Database: Silence deprecation warning on mysql_stmt_bind_param 2024-03-01 11:29:09 +01:00
Ovahlord
c541eda54d Core/Creatures: implemented most movement related static flags and migrated existing movement data into static flags (#29541)
* implemented CREATURE_STATIC_FLAG_AQUATIC - creatures cannot leave liquids
* implemented CREATURE_STATIC_FLAG_AMPHIBIOUS - creatures can enter and leave liquids but remain on the ocean floor when swimming is not enabled until engaged
* implemented CREATURE_STATIC_FLAG_FLOATING - creatures have their gravity on spawn / reset disabled
* implemented CREATURE_STATIC_FLAG_SESSILE - creatures are rooted in place
* implemented CREATURE_STATIC_FLAG_CAN_SWIM - creature can swim in liquids
* implemented CREATURE_STATIC_FLAG_3_CANNOT_SWIM - Amphibious creatures cannot toggle on swimming
* implemented CREATURE_STATIC_FLAG_3_CANNOT_TURN - Creatures cannot turn at all
* implemented CREATURE_STATIC_FLAG_4_PREVENT_SWIM - Amphibious creatures won't toggle on swimming until their victim starts leaving the ocean floor
* partially implemented CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER
* deprecated CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE as this flag was a hackfix to a wrong implementation that is now gone
2024-02-29 14:43:37 +01:00
Shauren
f70a5817e1 Core/Creatures: Move immunities to separate table and implemented setting immunties to dispel, spell effects, aura types, aoe and chain targeting 2024-01-30 21:29:55 +01:00
Shauren
25dc8de3eb Core/Bnet: Prevent crashes cauised be invalid values in salt column in battlenet_accounts 2024-01-16 14:16:31 +01:00
ModoX
12186ef857 Core/Waypoints: Refactor to split data into path and node related info in db (#29506) 2024-01-05 17:56:19 +01:00
Shauren
a2be97414b Core/Database: Fixed a shutdown crash happening if worldserver did not fully start up (for example applying a db update failed) 2023-12-29 00:31:55 +01:00
Shauren
88a7886e0d Fix bfbda8dcce 2023-12-28 19:40:48 +01:00
Shauren
3a9cbd217a Core/Database: Replace union with std::variant in Transaction 2023-12-27 00:14:12 +01:00
Shauren
623202d68e Core/Bnet: Implemented new SRP6 variants, and migrate old sha_pass_hash in battlenet_accounts to separate salt and verifier columns
* passwords can now be case sensitive and up to 128 characters long
2023-12-26 14:55:15 +01:00