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
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