100 Commits
Author SHA1 Message Date
Shauren 30aab19ce5 Dep/Boost: Remove linking boost::system library, it is fully header only since 1.89 and has been just a empty dummy library since 1.69
(cherry picked from commit c87a004a1688f5dfe463493fbcd47027ea1dcf2e)
2026-07-25 12:24:18 +02:00
Shauren 490ed994bc Core/GameObjects: only add GameObject uses when the triggered cast is successful 2026-06-09 16:53:26 +02:00
Shauren 5bb76804db Core/Items: Ignore item charges for item effects types other than on use 2026-06-09 16:46:14 +02:00
Shauren 462b1774a9 Core/Spells: Don't modify item charges in all slots on a single item spell cast 2026-06-09 16:43:39 +02:00
Shauren 2c2f200e14 Core/Spells: DynamicObject auras will now use the largest radius found in SPELL_EFFECT_PERSISTENT_AREA_AURA effects of the spell creating them 2026-06-08 20:30:39 +02:00
Shauren dd5b4930d4 Dep/Boost: Support boost 1.88
(cherry picked from commit 1b353abbf7deb9dade959e8f5074df5028ef882b)
2026-06-07 21:26:44 +02:00
Shauren 3a0277a86a Dep/Boost: Search for all binary compatible boost installations, not only the one exactly matching MSVC toolset
(cherry picked from commit d808284cde9ec0079d16e6d02d58c3c100987341)
2026-06-07 21:23:01 +02:00
Shauren 34ecbcd277 Dep/g3d: Fix warnings with gcc 16
(cherry picked from commit a4cdde85c2adc6613006d25cd124e73b7a7a9e87)
2026-06-07 21:20:32 +02:00
Shauren 6c9785127f Dep/g3d: Build fix for gcc on windows
(cherry picked from commit 2371cabb29fbd650b3e059a8c983f35fa5d54442)
2026-06-07 21:20:27 +02:00
Shauren 716f480b79 Core/Vehicles: Remove incorrect passenger->vehicle threat redirection 2026-05-05 11:31:32 +02:00
Shauren d2c42d6f0f Dep/jemalloc: Update to 5.3.1
(cherry picked from commit f555d9992caabed1eff90a34fb57225ab0e32a9b)
2026-05-05 11:20:41 +02:00
Shauren b31333615f Core/Spells: Fixed autoattack timer being reset by almost every spell cast 2026-03-24 21:27:06 +01:00
Shauren e7a52305cd Tools/Map extractor: Minor optimization in MCNK parsing loop - look up end iterator once 2026-03-09 22:43:34 +01:00
348e29c7 Shauren 2e19198ced Tools/mmaps_generator: Allow specifying custom offmesh area/flags 2026-03-09 22:41:57 +01:00
Shauren a8861be03b Tools/Extractors: Warn when casc storage could not be opened in remote mode because a local installation was detected in input/cache directory 2026-03-09 22:35:09 +01:00
Shauren 84b5bec5d7 Tools/mmaps_generator: Replace hardcoded map ids with db2 data checks 2026-03-09 22:31:10 +01:00
Shauren fcc4138e04 Tools/Misc: Document strange array access indexing 2026-03-09 22:22:41 +01:00
Shauren b17996419b Dep/jemalloc: Update to 5.3.0
Closes #31684

(cherry picked from commit ec31dc8d3ce302e42c26359adc894bd736a45fb2)
2026-02-28 11:17:30 +01:00
Shauren 672579de8e Core/Players: Define all character flags used in SMSG_ENUM_CHARACTERS_RESULT 2025-08-29 22:04:51 +02:00
Shauren e0766bfc55 Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers with std::optional
(cherry picked from commit d93002f9a96a01258500ca7b5f03fe27e50a7155)
2025-08-10 10:19:02 +02:00
Shauren bc3d82e4bb Core/Auras: Support PROC_ATTR_REQ_SPELLMOD for procs using PROC_ATTR_USE_STACKS_FOR_CHARGES 2025-08-03 14:35:45 +02:00
Shauren aa3378824b Core/Spells: Fixed PROC_HIT_DISPEL and PROC_HIT_INTERRUPT on procs using PROC_SPELL_PHASE_HIT phase 2025-08-03 14:34:40 +02:00
Shauren 0d1d468c88 Core/Spells: Fully prevent infinite proc loops and add logging to detect most spells that could possibly trigger this behavior at startup 2025-08-03 14:28:23 +02:00
Shauren a70d85e565 Core/Spells: Allow filtering procs in FINISH phase by SpellTypeMask 2025-08-03 14:18:33 +02:00
Shauren 268f1df2f5 Core/Spells: Implemented new proc hit type PROC_HIT_DISPEL 2025-08-03 14:14:24 +02:00
Shauren b13703f1ea Core/Auras: Fixed iterator invalidation crash with procs using SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE attribute 2025-08-03 14:11:56 +02:00
Shauren d9be195c43 Core/Spells: Start spells triggered by SPELL_EFFECT_FORCE_CAST_2 without any trigger flags 2025-08-02 15:32:01 +02:00
Shauren e503f96adb Core/Spells: Reduce number of CastSpell overloads to 1 2025-08-02 15:22:59 +02:00
Shauren 78de91a487 Core/Spells: Rename confusing SpellState enum values
* SPELL_STATE_CASTING -> SPELL_STATE_CHANNELING (was used for "channel in progress")
* SPELL_STATE_DELAYED -> SPELL_STATE_LAUNCHED
2025-08-02 12:37:52 +02:00
Shauren c550e2d29f Core/Spells: Handle SPELL_EFFECT_FORCE_CAST on spell launch instead of hit 2025-08-02 12:25:01 +02:00
Shauren c158f40455 Core/Spells: Exclude TriggerCastFlags that can be set for non-triggered spells from being checked by Spell::IsTriggered 2025-08-02 08:58:18 +02:00
Shauren 16aa620ca0 Core/Spells: Don't ignore power costs and reagents for spells triggered by SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_MISSILE, SPELL_EFFECT_FORCE_CAST, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL and fixed implementation of SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES 2025-07-28 22:19:28 +02:00
Shauren a2079b5835 Core/Spells: Split TRIGGERED_IGNORE_POWER_AND_REAGENT_COST into separate POWER and REAGENT flags 2025-07-28 21:57:12 +02:00
Shauren f5f344ddad Core/GameObjects: Fixed GameObject::SetRespawnTime putting gameobjets not using compatibility spawning mode into invalid state
Closes #31047
2025-06-17 22:15:52 +02:00
Shauren 6daba28efe Core/Movement: Fixed orientation calculation when using MoveSpline::ComputePosition(int32 time_offset) overload
(cherry picked from commit 3596ecaf311819cd0b34c511b7cdc9b09a411f6d)
2025-06-17 16:26:28 +02:00
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