Commit Graph
27200 Commits
Author SHA1 Message Date
Ovahlord a4ffa701a5 Core/Spells: implement SPELL_ATTR0_CU_IS_TALENT 2023-08-19 22:39:23 +02:00
Shauren ca034f4dbf Core/Auras: Convert most rules from Aura::CanBeSaved to a custom spell attribute 2023-08-19 22:26:12 +02:00
Ovahlord 86a06a5a5d Core/Spells: use already stored spell scaling values for coefficient calculation instead of accessing dbc data every single time 2023-08-19 18:50:56 +02:00
Shauren a1bf752e4b Core/Players: Don't remove unlearned spells from action bars 2023-08-19 18:20:20 +02:00
Shauren 1df15cf79e Core/Spells: Damage and healing bonus calculation fixes
* Spells with SPELL_DAMAGE_CLASS_NONE are now allowed to benefit from spellmods
2023-08-19 18:02:57 +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
Ovahlord 770f9e11db Core/Movement: sync spline code with master branch 2023-08-19 15:04:34 +02:00
Ovahlord dfa6f7a709 Core/Movement: fixed up logic in previously added random movement minumum wander distance check and prevent the random movement generator from launching too short splines 2023-08-19 14:51:31 +02:00
Ovahlord e9fecb39d8 Core/Movement: random movement now requires a minimum wander distance of 0.1 yards 2023-08-19 14:33:01 +02:00
Ovahlord 6ec7c6e757 Core/Datastores: fixed loading SpellCastingRequirements.dbc 2023-08-14 08:39:47 +02:00
Ovahlord a57e27e6d3 Core/Spells: implement reputation requirements for spells (mostly used in guild spells such as Guild Page) 2023-08-13 11:48:20 +02:00
Ovahlord e936684e78 Core/Spells: converted FacingCasterFlags of spell casting requirements to enumflag 2023-08-13 11:38:09 +02:00
Ovahlord 21c9d52d6f Core/Datastores: load all fields of SpellCastingRequirements.dbc 2023-08-13 11:36:06 +02:00
Shauren bfd31d59c2 Core/MMaps: Fixed pathing for objects that have terrain swaps active 2023-08-08 00:21:48 +02:00
Ovahlord 96b1933a6c Core/Spells: removed deprecated radius fix for the Lich Kings's Defile ability 2023-08-07 20:32:32 +02:00
Ovahlord e1492bc0e9 Core/Spells: removed unnecessary spell attribute hack from Earth Shield and cleaned up its spell script a bit 2023-08-07 19:29:31 +02:00
Ovahlord be53999f09 Core/Spells: restore a couple spell attribute assignments that went lost in 2bcc645cd3 2023-08-07 17:41:24 +02:00
Ovahlord 2bcc645cd3 Core/Spells: ported radius entry indexing from master branch and dropped several now deprecated spell 'fixes' from spellMgr 2023-08-06 12:54:05 +02:00
Ovahlord 569d66d352 Core/Packets: validate more item values in transmogrification checks to match clientside behavior 2023-08-05 17:52:44 +02:00
Ovahlord 3b5edcdb3e Core/Packets: added clientside item level check to reforge opcode handler to prevent packet spoofing 2023-08-04 22:19:27 +02:00
Ovahlord 941e3137cd buildfix 2023-08-03 22:02:59 +02:00
Shauren 9480f79c2a Core/Scripts: Added damage and healing calculation hook to spell and aura scripts allowing to override base damage amount, flat value mod and percent value mod separately 2023-08-03 21:32:20 +02:00
funjoker 9d6a808ba6 Tools/Launcher: Add launcher as alternative to patcher (#409)
* Tools/Launcher: Introduce version 1 of the client launcher/patcher

the launcher downloads all needed modules and patches the needed one

the launcher patches the RSA key in memory before WoW window opens

the launcher injects the client_patcher_xx.dll inside Wow

the client_patcher_xx.dll hooks LoadLibraryW and awaits Battle.net.dll load

the client_patcher_xx.dll patches the Battle.net.dll memory before it is returned to process

client_patcher_xx.dll unhooks itself

* Tools/Launcher: MinHook only for tools and on windows
2023-07-30 18:39:03 +02:00
Shauren 4b7aefb05b Core/Units: Fixed crash (previously was a memory leak) when vehicle creatures are deleted without ever being added to world
Closes #29166
2023-07-21 01:05:41 +02:00
Shauren 06aacf757d Core/Threading: Modernize ProducerConsumerQueue a bit to fix GCC build
Closes #28607
2023-07-20 23:07:18 +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
Ovahlord 7743236911 nopch fix 2023-07-18 08:26:27 +02:00
Ovahlord 12a3e9e64c Core/Spells: implement generic shop keeper greeting spells and use them for a couple Stormwind Vendors 2023-07-18 00:02:21 +02:00
Ovahlord 6c1c91b6b2 Core/DataStores: implement PlayerCondition.dbc
* additionally implemented a DB table for custom entries as many of these conditions are strictly server side
* use server side conditions for Stormwind's faction vendor as example usage
2023-07-17 14:53:30 +02:00
Ovahlord 4e397e76d0 Core/Spells: implement TARGET_DIR_SUMMON and use it to properly support TARGET_DEST_CASTER_SUMMON
This fixes positions for pet summons and gameobject summons such as Campfires
2023-07-17 01:23:56 +02:00
Ovahlord 228e3059c9 Core/Crypto: moved away from deprecated SHA1 methods in CalculateSHA1Hash 2023-07-16 22:02:13 +02:00
Ovahlord a3c46b7249 Core/Misc: mark a couple ctors as noexcept to silence warnings 2023-07-16 15:54:24 +02:00
Jeremy 929a804052 Core/Graveyards: Fix graveyards in subzones when there is no valid graveyard in that subzone 2023-07-16 15:33:06 +02:00
Traesh ee8e20d81f Core/Units: Allow autoattack if channelling with SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL 2023-07-16 15:30:34 +02:00
Shauren b48e834b1c Core/Loot: Removed unneccessary field from Loot class and pass it as parameter everywhere 2023-07-12 13:05:00 +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
jackpoz 700ae070d5 Core/Loot: Raise max number of loot items from 16 to 18 2023-07-11 21:31:06 +02:00
Wyrserth 0f59b49c3e Core/Loot: fix some issues with master loot and don't allow players to see soulbound recipes that they already learned in the loot window. 2023-07-11 21:29:41 +02:00
Ovahlord 53155526bf Core/Quests: allow QUEST_SPECIAL_FLAGS_AUTO_PUSH_TO_PARTY to be set in quest_template_addon 2023-07-11 17:34:52 +02:00
Shauren 62389bc267 Core/GameObjects: Fixed traps not being able to trigger for friendly targets 2023-07-11 17:24:33 +02:00
Ovahlord a3dd0d75cf Core/Quests: ported quest flag and visbility update changes from master branch 2023-07-11 15:21:09 +02:00
Ovahlord 833b77c05e Core/Units: removed a deprecated pointer initialization for m_vehicleKit 2023-07-09 11:51:35 +02:00
Ovahlord 76a9918b0d Core/Spells: check for valid SPELL_AURA_CONTROL_VEHICLE effects when using SummonPropertiesParamType::RideSpell 2023-07-09 11:51:09 +02:00
Ovahlord b17585fc55 Scripts/Misc: fixed more GCC warnings 2023-07-08 22:24:51 +02:00
Ovahlord 51b54151e3 buildfix 2023-07-08 21:59:14 +02:00
Ovahlord b489a905e1 Core/Misc: fixed another bunch of GCC warnings 2023-07-08 21:33:08 +02:00
Ovahlord 3de1f9a104 Core/BNetServer: fixed another GCC warning 2023-07-08 21:20:07 +02:00
Ovahlord f7965ef27c Scripts/ToldBarad: fixed some GCC warnings 2023-07-08 21:17:01 +02:00
Ovahlord e7e4c79ef1 Tools:VMapExtractor: converted filenames and paths to strings 2023-07-08 21:11:02 +02:00
Ovahlord 3cfee9d3d0 Tools/MapExtractor: converted filenames and paths to strings 2023-07-08 20:42:55 +02:00