Commit Graph
242 Commits
Author SHA1 Message Date
seviandOvahlord 9da95e6cc9 Core/Creature: Add support for multiple gossip menu IDs (#472)
* Core/Creature: Add support for multiple gossip menu IDs

Adds support for assigning multiple gossip menu IDs to creatures and
controlling them through conditions.

Cherry-picked and adapted from:
https://github.com/TrinityCore/TrinityCore/commit/36044a9470e9c39a71916e908ab6cf4f95677793

Also disables StormLib automatic static linking.

StormLib fix suggested by @brian8544 on Discord.

* merge prep

---------

Co-authored-by: Ovahlord <18347559+Ovahlord@users.noreply.github.com>
2026-07-25 19:29:08 +02:00
Shauren b31333615f Core/Spells: Fixed autoattack timer being reset by almost every spell cast 2026-03-24 21:27:06 +01:00
Ovahlord db7998ae28 Core/Players: use CharacterFlags enums to store player information in database and set player flags accordingly 2026-03-22 18:07:14 +01:00
Ovahlord 152e1352c8 Core/Creatures: re-add a column to disable gravity in creature_template_movement since CREATURE_STATIC_FLAG_FLOATING is meant to be used in a different context 2025-08-03 17:08:38 +02:00
Treeston f95a8bfdca Core/Common: Tokenizer -> Trinity::Tokenize 2025-07-30 20:51:19 +02:00
Ovahlord c22ba4438e Core/Logging reduce difference between branches 2025-07-24 19:22:34 +02:00
Ovahlord 64b77e359d Core/Misc: ported cryptography updates and all that entrails from 335/master and killed bnetserver 2025-07-21 19:04:56 +02:00
Ovahlord f26684b407 Core/Creatures: renamed exp column to HealthScalingExpansion and implement support for negative expansion level (-1 means current expansion - often used in battlegrounds) 2025-06-18 00:36:43 +02:00
Ovahlord 94f1ac8498 Revert "Core/Cryptography: updated cryptography impl to current 335 state in preparation for the authentication refactoring"
This reverts commit 57416b873f.
2025-06-07 11:40:26 +02:00
Ovahlord 57416b873f Core/Cryptography: updated cryptography impl to current 335 state in preparation for the authentication refactoring 2025-04-04 23:22:12 +02:00
Meji d0c902ce1f Core/Creatures: Drop dynamic flags from creature and creature_template 2025-03-11 21:29:30 +01:00
Ovahlord 2953efb7a3 Core/Movement: ported most movement updates from master branch and corrected behavior of CREATURE_STATIC_FLAG_4_PREVENT_SWIM 2025-03-09 20:49:41 +01:00
Ovahlord 0927c5af40 Core/Misc: backported most boost changes from master branch 2025-02-27 23:47:52 +01:00
Ovahlord b49f95e1e9 Build: added support for unity builds in most projects except for StormLib, ZLib and Scripts 2023-10-09 21:40:38 +02:00
Ovahlord 393b4d0dc6 Core/Creatures: implement static flag fields for creatures and ported their values from MoP 2023-08-27 16:14:18 +02:00
Shauren 7264a541a9 Core/Misc: Replace std::abort with our ABORT macro
* libmysql is not a well behaved library on windows, it installs its own SIGABRT handler every time a new connection is opened, overriding our own

(cherry picked from commit 09dea76fb5ede974d6765d40985b033db3fba6a3)
2023-08-19 17:56:19 +02:00
Giacomo Pozzoni 8831cc1086 Core/DBLayer: Add QueueSize() method
Add QueueSize() method to database objects (Login, Character and World) that returns how many tasks are queued.
Include the queue size of the 3 databases in ".server debug" command

* Make the code less threadsafe

* Send data to InfluxDB
2023-07-20 23:07:08 +02:00
robinsch 0c33018b90 Core/Item: Fixed possible dupe exploit with container items containing non unique non stackable items 2023-07-11 21:39:24 +02:00
Daniel S. Reichenbach a7527a8698 Core/Misc: added support for OpenSSL 3, dropped support for OpenSSL 1.0 and fixed build for Fixed build for MariaDB 2023-07-07 21:01:49 +02:00
Ovahlord f34534465a Build: enable C++20 and updated all compiler requirements
* ported some header and cmake updates from master branch
2023-07-04 23:49:57 +02:00
ipriver 408c386830 fixed indentation for cmake files
(cherry picked from commit a46d047f9466c6f16597755bb7c771a9d1a147f2)
(cherry picked from commit bde36062b7a0bf621086e73a5d419cd8637e9e96)
2023-05-19 22:26:00 +02:00
Shauren 89b019ffeb Core/WorldStates: Move custom worldstates to separate table and move saving worldstate values to WorldStateMgr 2022-12-26 10:53:47 +01:00
Shauren 3ae02de71b Core/Quests: Reset seasonal quests based on saved completion time and intended holiday start time 2022-12-24 23:56:06 +01:00
ratkosrb 122b52b079 Core/Creature: Use proper name for wander distance 2022-12-20 15:48:37 +01:00
Shauren dc8bf301bb Core/Auras: Fixed saving auras with same spell id but different item source 2022-09-12 09:15:21 +02:00
Ovahlord 1c09965c0f fixed another cherrypick typo 2022-09-12 09:15:07 +02:00
ariel- 1d3fbff332 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling
2022-09-12 09:15:04 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Shauren 30d6f97567 Core/DBLayer: Fixed false positive msvc analysis warning 2022-06-15 14:03:21 +02:00
jackpoz 35d79f54e5 Shared/Database: Improve dead-lock error handling
Improve dead-lock error handling in async transactions by retrying the transaction for up to 60 seconds instead of just 5 times

(cherry picked from commit 54b0b8f5ead41f936b12e97d1b4fbacd9b89ab53)

# Conflicts:
#	src/server/database/Database/Transaction.cpp
2022-06-15 14:03:01 +02:00
Ovahlord e03b2f41bf Core/Guilds: implement weekly bonus money packet field in guild bank queries 2021-07-29 18:45:49 +02:00
Ovahlord b236bd39df Core/Movement: updated smartAI waypoint support to use the new smooth transition field as well 2021-07-16 16:56:47 +02:00
Ovahlord 1d41988cbe Core/Guilds: implement cleanup routine for guild news that cleans up news that are older than a week 2021-04-29 15:56:25 +02:00
Roc13x d27eef16df Core/Datastore: fix structure of ItemExtendedCost hotfix table (#255) 2021-04-20 16:00:47 +02:00
Ovahlord 3cb0a99019 Core/Movement: expose orientation, velocity and delay members to SmartAI waypoints as well
superceeds #200
2021-02-24 16:22:36 +01:00
Giacomo Pozzoni 48a0dde345 Core/Creature: Add new db field InteractionPauseTimer
Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer)

Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value
2021-02-21 16:50:55 +01:00
Shauren fbffbbbe14 Dep: Switch to boost process instead of old standalone version 2021-02-19 15:21:15 +01:00
Ovahlord 928aeccd59 Core/Items: ported random enchantment updates from master branch 2021-01-24 14:36:07 +01:00
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