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