Commit Graph
100 Commits
Author SHA1 Message Date
Shauren fd7d91a1d5 Dep/g3d: Enable PCH
(cherry picked from commit e9a2f84fd3f203a1942c87c5c9c38b5b4ff6d051)
2025-06-15 15:14:55 +02:00
Shauren c23cfa4217 Core/Spells: Move entering combat for caster and calculating crit chance to separate function called only once for each target instead of doing it once for every effect on every target 2025-03-15 08:50:50 +01:00
Shauren 2274f69173 Core/Spells: Simplify combat flagging code on spell launch and impact 2025-03-15 08:47:21 +01:00
Shauren 7c70827377 Core/Combat: Allow PvE combat references to become suppressed, just like PvP ones 2025-03-15 08:37:47 +01:00
Shauren 6eac93139a Core/Auras: Feign death will no longer cause creatures immune to it to drop combat (and then reenter it because the unit feigning death is considered valid) 2025-03-15 08:32:56 +01:00
Shauren a7644b03d4 Core/Creatures: Implemented CREATURE_STATIC_FLAG_2_IGNORE_SANCTUARY (ignore SPELL_EFFECT_SANCTUARY, used by Vanish) 2025-03-15 07:16:45 +01:00
Shauren a4aa09de52 Core/Creatures: Implemented CREATURE_STATIC_FLAG_2_ALLOW_MOUNTED_COMBAT and overriding default mount from creature addon 2025-03-15 07:07:31 +01:00
Shauren 8c7b6f2bcf Core/Creatures: Implemented CREATURE_STATIC_FLAG_5_NO_LEAVECOMBAT_STATE_RESTORE 2025-03-15 07:02:51 +01:00
Shauren e130290f83 Core/Creatures: Implemented CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK 2025-03-15 07:00:38 +01:00
Shauren 4ead80f388 Core/Auras: Minor optimization for Unit object creation with msvc (not allocating a list end sentinel node for all of the 500 lists stored in Unit for each aura type) 2025-03-14 16:57:04 +01:00
Shauren f9df0714e9 Core/Networking: Fixed Socket::DelayedCloseSocket not working if write queue is empty when its called on linux and mac 2025-03-08 22:45:10 +01:00
Shauren 52c56bdef9 Core/PacketIO: Skip sending empty SMSG_UPDATE_OBJECT for transports on map changes 2025-03-08 17:49:25 +01:00
Shauren 66f3e78248 Core/Misc: Fix msvc build with version 17.10
Closes #29999

(cherry picked from commit d8240fb513fc18ee9bac067f8333aab1d96005d9)
2025-02-26 21:32:47 +01:00
Shauren b5ec59a07e Core/Units: Power handling improvements 2023-12-18 10:02:19 +01:00
Shauren 2c38b2f4be Core/Spells: Merge TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS functionality into TRIGGERED_IGNORE_CAST_IN_PROGRESS as they are always used together (and missing one of them in scripts is a common enough mistake)
* Also fixes Ray of Frost being interrupted by casting Shimmer
2023-12-17 04:44:00 +01:00
Shauren d02827d228 Core/Misc: Added windows version checks during startup to avoid confusion about crashes when running on unsupported OS 2023-12-14 01:06:34 +01:00
Shauren d5cb122e3a Core/Cells: Improve cell copy constructor and argument passing codegen (now fully done through a single register) 2023-12-14 00:47:18 +01:00
Shauren 4bc6115d4e Build: Fixed finding openssl 3.2 on windows 2023-12-10 03:04:57 +01:00
Shauren bf51eda550 Core/Misc: PackedGuid refactoring to remove ByteBuffer.h include from ObjectGuid 2023-12-04 22:14:02 +01:00
Shauren 10ff84361a Core/CrashHandler: Add a timeout to retrieving windows version from WMI
(cherry picked from commit 36a64884054f0bf34e815b62157be61c3476127a)
2023-12-04 22:09:24 +01:00
Shauren 63f06c1157 Core/Battlefield: Fixed using invalidated iterator when a player queued for wintergrasp is inside a battleground
Closes #29405
2023-12-04 22:06:32 +01:00
Shauren 7d57ef7299 Core/Random: Changed random functions returning doubles to return floats
* They were all cast to float at use anyway
* Improves roll_chance_f performance (rand32() is now called internally by uniform_real_distribution once instead of twice)
2023-10-31 22:00:52 +01:00
Shauren 3e209a76dd Core/CrashHandler: Support retrieving windows version names for all future versions
(cherry picked from commit ca9b82fb856c8314c3e84b15bc16ffb3fe8239ba)
2023-10-30 00:36:26 +01:00
Shauren ffb78a2a30 Build: Fixed msvc version check 2023-10-30 00:36:26 +01:00
Shauren 3f6f51489c Core/Vehicles: Fixed crash happening if a vehicle despawns during handling of control vehicle aura removal
Closes #29290
2023-10-30 00:36:26 +01:00
Shauren 388c504047 Core/Spells: Named and implemented most of SpellAttr8 2023-10-23 18:07:05 +02:00
Shauren 3c0cf32b43 Core/Spells: Named and implemented most of SpellAttr7 2023-10-21 20:32:32 +02:00
Shauren 031e41c94e Core/Misc: Remove incorrect (and unused) equality operator overloads from LinkedListHead::Iterator class 2023-10-18 22:04:11 +02:00
Shauren 2e2a928204 Core/Misc: Fixed thread-unsafe access to list of objects that should be spawned in a cell 2023-10-18 22:00:01 +02:00
Shauren 7b4371e25d Core/MMaps: Implemented a way to enable/disable certain terrain types for movement on the entire map 2023-10-18 21:55:21 +02:00
Shauren e90a2e6ef3 Core/Auras: Implemented SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD (suppress aura applications while dead without removing the aura) 2023-10-18 21:45:16 +02:00
Shauren 77c017555b Core/Auras: Registering a new owned aura will now search existing owned auras instead of applied auras to check for unstackable one 2023-10-18 21:43:46 +02:00
Shauren 83f01216f6 Core/Misc: Fixed logging output
(cherry picked from commit 6bc82403859e2ef9795eab79f4978b272a40fc00)
2023-10-10 21:42:23 +02:00
Shauren 551249ae31 Core/Achievements: Define and implement new ModifierTree types 2023-10-10 21:36:10 +02:00
Shauren 8acfadc779 Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas 2023-10-09 21:05:00 +02:00
Shauren b17169b5b1 Build: Set CMake policy CMP0144 to NEW 2023-10-07 02:28:02 +02:00
Shauren eb5cbdf948 CI/appveyor: Upgrade dependencies
* Boost 1.83.0
* OpenSSL 3.0
* MySQL 8.1

(cherry picked from commit 3f948672a670e8bab30cd891a5f5720c30d571f1)
2023-09-14 13:34:18 +02:00
Shauren 4a28f34563 Core/Misc: Silence compile warning in boost::process with version 1.83
(cherry picked from commit d8c98579d4a2c4191e42c2542901274ffe53083c)
2023-09-14 13:33:34 +02:00
Shauren 1037d7aa1c CI/AppVeyor: Upgrade boost version to 1.82
(cherry picked from commit 3ecd678a09afeb8d6089421a1ec6d577e4fa4cf5)
2023-09-14 13:32:43 +02:00
Shauren 7acc26f09f Core/Creatures: Implemented unkillable flag (prevent health from going below 1) 2023-08-27 17:44:24 +02:00
Shauren 5d35b9556f Core/Units: Fixed possible use after free in ThreatManager 2023-08-27 01:44:08 +02:00
Shauren 63be5a888c Build: Support ASAN on msvc
# Conflicts:
#	src/server/scripts/Commands/cs_debug.cpp
2023-08-22 14:28:24 +02:00
Shauren 0b5ac91a0c Core/Misc: Add missing virtual destructors 2023-08-22 14:28:04 +02:00
Shauren 7daadf8e2a Build/GCC: Disable useless warning 2023-08-20 21:19:40 +02:00
Shauren 639acc4eb6 Build: Increase required msvc version slightly 2023-08-20 21:19:26 +02:00
Shauren 5cce2770c1 Docker: Fixed files being missing from circleci built images 2023-08-20 00:30:49 +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
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
Shauren bfd31d59c2 Core/MMaps: Fixed pathing for objects that have terrain swaps active 2023-08-08 00:21:48 +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
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
Shauren b48e834b1c Core/Loot: Removed unneccessary field from Loot class and pass it as parameter everywhere 2023-07-12 13:05:00 +02:00
Shauren 62389bc267 Core/GameObjects: Fixed traps not being able to trigger for friendly targets 2023-07-11 17:24:33 +02:00
Shauren b802fbbbdc Build/CI: Use boost 1.77 on appveyor 2023-07-11 17:13:50 +02:00
Shauren d53de05f93 Core/Misc: Prefix include guard to avoid possible conflict with external library 2023-07-02 15:15:58 +02:00
Shauren 07376de9fc Core/Spells: Always remove spell target from transport on teleport spells if spell destination does not target a position on the transport 2023-06-29 20:31:45 +02:00
Shauren 222a3f2203 Build: Silence CMake warnings about boost version being too new 2023-06-12 14:35:24 +02:00
Shauren 6eb536f09c Build: Update required cmake version to 3.18
* Remove cotire

# Conflicts:
#	dep/PackageList.txt
2023-06-05 14:44:56 +02:00
Shauren 08203a1e35 Core/DataStores: Add const to DBStorageIterator dereference operators
# Conflicts:
#	src/server/shared/DataStores/DBStorageIterator.h
2023-06-01 20:50:47 +02:00
Shauren 47048f3dc5 Core/Misc: Future msvc warning fixes 2023-06-01 20:49:58 +02:00
Shauren 1abadc2cb2 CI/Cicle: Restore old behavior for docker push
(cherry picked from commit 470e5686b880a3a5df801dcaa818293d1151953f)
2023-05-19 21:50:12 +02:00
Shauren 0d0aa6a75b Core/GameObjects: Fixed crash with transport gameobjects that have only 1 entry in TransportAnimation/TransportRotation db2
Closes #28673
2023-02-05 22:16:36 +01:00
Shauren 674bba1cae Core/Auras: Fully remove auras that had all of their effect suppressed with immunity 2023-01-19 19:48:46 +01:00
Shauren f97d336d82 Core/Auras: Fixed possible iterator invalidation crashes caused by calling UpdateTargetMap inside loops iterating m_appliedAuras 2023-01-19 17:30:41 +01:00
Shauren 5f21168911 Core/Spells: Added custom spell cast arg 2023-01-17 23:33:13 +01:00
Shauren 6ef977427e Core/Battlegrounds: Unload all grids before destroying battleground object
Closes #28755
2023-01-16 22:14:14 +01:00
Shauren 3e8f413b0c Core/OutdoorPvP: Fixed crash happening by accessing freed memory 2023-01-09 18:19:08 +01:00
Shauren 68cf700178 Core/Maps: Made instance_template no longer required to create and enter instance maps 2023-01-09 11:42:15 +01:00
Shauren 5f8f854794 Core/Players: Allow teleporting to a specific instance id 2023-01-09 11:22:58 +01:00
Shauren eeb2f63b65 Core/Maps: Fixed retrieving terrain info when on child maps 2023-01-02 15:23:21 +01:00
Shauren 597b4bb62f Core/Players: Added error message for death knights attempting to leave their starting zone early 2022-12-31 16:56:50 +01:00
Shauren 29c070b0fe Core/Maps: Implemented WMOAreaTable -1 grouipid fallback 2022-12-31 15:46:26 +01:00
Shauren 37c6835d7a Dep/rapidjson: Upgrade to Tencent/rapidjson@27c3a8dc0e 2022-12-30 17:42:01 +01:00
Shauren bc76d675fa Core/LFG: Filter out lfg dungeons that have invalid map/difficulty pairs 2022-12-30 17:41:35 +01:00
Shauren 55843a00c6 Core/Maps: Split Ebon Hold by faction and removed forced sanctuary hack
original commit: 515c0a43ef8fcf41ffb2785c5940f0234e757ec3
2022-12-29 22:58:20 +01:00
Shauren 4500ee8284 Core/Spawns: Exclude spawn groups with MANUAL_SPAWN flag from automatic spawning/despawning with conditions 2022-12-29 22:51:30 +01:00
Shauren 82fe2ab194 Core/WorldStates: Add generic worldstates for team in instance 2022-12-29 22:39:21 +01:00
Shauren c2401d38fe Core/Maps: Fixed deadlock in battleground map creation
Closes #28154
2022-12-29 22:27:42 +01:00
Shauren 353b06d16e Core/WorldStates: Allow using -1 in database for MapIDs column to mark worldstates that should be bound to a map and allowed on all maps 2022-12-29 22:15:58 +01:00
Shauren 81b2ff0d94 Core/Maps: Removed MapInstanced - no longer neccessary for grid data reference counting (moved to TerrainInfo) 2022-12-29 22:10:44 +01:00
Shauren 0f0b283168 Core/Pools: Implemented pooling for instances 2022-12-29 11:56:56 +01:00
Shauren b732521f17 Core/Maps: Replace some Instanceable() checks with IsDungeon() 2022-12-26 13:40:18 +01:00
Shauren 265c2fa508 Core/Battlefields: Refactor Battlefield creation to be linked to host map creation instead of having globally accessible objects 2022-12-26 13:24:59 +01:00
Shauren 28ad85c160 Core/Spawns: Removed ObjectMgr::AddCreatureData and ObjectMgr::AddGameObjectData (old outdoorpvp helpers) 2022-12-26 12:48:54 +01:00
Shauren 2a39dece9e Core/OutdoorPvP: Refactor OutdoorPvP creation to be linked to host map creation instead of having globally accessible objects 2022-12-26 12:33:45 +01:00
Shauren 51363865bc Core/OutdoorPvP: Remove manual spawn management functions from OutdoorPvP 2022-12-26 12:18:54 +01:00
Shauren c5cccebf64 Core/OutdoorPvP: Move remaining outdoorpvp spawns to db 2022-12-26 12:15:21 +01:00
Shauren 95f092868a Core/OutdoorPvP: Move Zangarmarsh outdoorpvp spawns to db 2022-12-26 12:09:43 +01:00
Shauren 9f7227e7b5 Core/OutdoorPvP: Move Halaa spawns to db using worldstate conditions 2022-12-26 11:39:40 +01:00
Shauren cbd46b7664 Core/Conditions: Implemented conditions for spawn groups 2022-12-26 11:15:13 +01:00
Shauren 740fa9e65a Core/WorldStates: Fixed wrong prepared statement being used for saving world state values 2022-12-26 10:54:07 +01: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
Shauren e7f8a0e086 Revert "Core/Event: prevent seasonal quests from resetting at server restart (#17455)"
This reverts commit 6a8ca9b0bf6f7cd355e1994723d6be6a5003d4d4.

# Conflicts:
#	src/server/game/Events/GameEventMgr.cpp
2022-12-24 23:36:13 +01:00
Shauren 05b2fe8acd Core/WorldStates: Migrate Ebon Hold worldstates from Player::SendInitWorldStates to new system 2022-12-21 22:09:35 +01:00
Shauren e9b13bcf00 Core/WorldStates: Migrate remaining hardcoded worldstates from Player::SendInitWorldStates to new system 2022-12-21 22:06:50 +01:00
Shauren d35f58a46d Core/WorldStates: Migrate pvp season worldstates to new system 2022-12-21 22:05:48 +01:00