Commit Graph

507 Commits

Author SHA1 Message Date
Shauren
ebf799c0f6 Core/Creatures: Allow disabling loot for creatures 2023-03-12 13:05:35 +01:00
Shauren
a1b2b86427 Core/Auras: Fixed possible iterator invalidation crashes caused by calling UpdateTargetMap inside loops iterating m_appliedAuras
Closes #28609

(cherry picked from commit 593721ff1f)
2023-01-19 14:14:15 +01:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
42fbcf2fc5 Core/Utils: Replace boost flat_set with our own 2023-01-06 16:51:01 +01:00
Shauren
dcb589946b Core/Spells: Hide spell effect immunity info implementation details 2023-01-05 16:59:16 +01:00
Shauren
2d205506bf Core/Spells: Fixed spell effect value truncation when value is a large integer 2022-12-14 00:24:24 +01:00
Shauren
e98e1283ea Core: Updated to 10.0.2 2022-12-04 15:13:20 +01:00
Shauren
de7c03c838 Core/Spells: Extended mechanic mask to uint64 2022-12-04 15:07:36 +01:00
Shauren
78698463ff Core/Spells: Remove all hardcoded restrictions for pick pocket spell effect and rely only on presence of pickpocket loot in db 2022-09-11 14:13:10 +02:00
Shauren
66b03acc47 Core/Auras: Improve aura interactions with immunities on spell effect level
* Effects that target is immune to will be suppressed instead of completely removed

Closes #28096

(cherry picked from commit 3306a4d06c)
2022-09-05 22:23:03 +02:00
Alan Deutscher
eb9976cd08 Core/Auras: Do not remove auras unaffected by invincibility (#28100)
* Mark WSG's Focused Assault and Brutal Assault as unaffected by immunities

(cherry picked from commit b484b7e927)
2022-09-05 19:52:20 +02:00
Shauren
6c8ef045a5 Core/DataStores: Updated structures to 9.2.5 2022-06-02 00:48:57 +02:00
Shauren
94aac14b4d Core/Spells: Rename SpellAttr6 to use official attribute names 2022-05-06 20:23:13 +02:00
Shauren
acda6f9dcf Core/Spells: Implemented SPELL_ATTR5_NOT_ON_PLAYER and SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC 2022-05-02 18:21:01 +02:00
Shauren
4ef983f689 Core/Spells: Removed SPELL_SPECIFIC_JUDGEMENT 2022-05-02 15:34:32 +02:00
Shauren
738f285432 Core/Spells: Rename SpellAttr5 to use official attribute names
* Implemented SPELL_ATTR8_HASTE_AFFECTS_DURATION
2022-05-02 01:11:38 +02:00
Shauren
8d16a79dea Core/Spells: Rename SpellAttr4 to use official attribute names
* Corrected implementation of SPELL_ATTR4_CLASS_TRIGGER_ONLY_ON_TARGET
* Implemented SPELL_ATTR4_NO_HELPFUL_THREAT
* Implemented SPELL_ATTR4_NO_PARTIAL_IMMUNITY
* Implemented SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING
* Implemented SPELL_ATTR4_USE_FACING_FROM_SPELL
* Implemented SPELL_ATTR4_BOUNCY_CHAIN_MISSILES
* Implemented SPELL_ATTR4_AURA_NEVER_BOUNCES
* Implemented SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL
* Implemented SPELL_ATTR4_AURA_IS_BUFF
* Implemented SPELL_ATTR5_MELEE_CHAIN_TARGETING

* Implemented SpellEffectAttributes::ChainFromInitialTarget
2022-05-01 20:01:13 +02:00
Shauren
88d7b58a3d Core/Spells: Rename SpellAttr3 to use official attribute names
* Implemented SPELL_ATTR3_NO_AVOIDANCE
* Implemented SPELL_ATTR3_ONLY_PROC_OUTDOORS
* Implemented SPELL_ATTR3_ONLY_PROC_ON_CASTER
* Implemented SPELL_ATTR3_PVP_ENABLING
* Implemented SPELL_ATTR3_SUPPRESS_CASTER_PROCS
* Implemented SPELL_ATTR3_SUPPRESS_TARGET_PROCS
2022-04-30 16:57:32 +02:00
Shauren
dda375b986 Core/Spells: Rename SpellAttr2 to use official attribute names
* Corrected implementation of SPELL_ATTR1_ALLOW_WHILE_STEALTHED
* Implemented SPELL_ATTR2_RETAIN_ITEM_CAST
* Implemented SPELL_ATTR2_ALLOW_WHILE_INVISIBLE
* Implemented SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE
* Implemented SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE
* Implemented SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS
* Implemented SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE
* Implemented SPELL_ATTR1_REQUIRE_ALL_TARGETS
* Implemented SPELL_ATTR2_CHAIN_FROM_CASTER
* Implemented SPELL_ATTR2_NO_ACTIVE_PETS
* Implemented SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY
2022-04-28 18:31:26 +02:00
Shauren
c88b602a2c Core/Spells: Rename SpellAttr1 to use official attribute names
* Implemented SPELL_ATTR1_NO_SKILL_INCREASE, SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT, SPELL_ATTR1_DISPEL_ALL_STACKS
2022-04-25 22:16:56 +02:00
Shauren
a31e681944 Core/Spells: Rename SpellAttr0 to use official attribute names 2022-04-24 18:40:10 +02:00
offl
2e3f240051 Scripts/Spells: Handle quest tame spells in spell script (#27022)
(cherry picked from commit 4441d42253)
2022-03-19 23:14:52 +01:00
offl
c4906ce60b Core/Misc: Rename UNIT_FLAG_NOT_SELECTABLE to UNIT_FLAG_UNINTERACTIBLE (#26913)
(cherry picked from commit c4741a131a)
2022-03-15 23:03:26 +01:00
Ovah
60119ba850 Core/Spells: implement SpellInfo helper to filter for relevant mechanic immunities in spell_start packet (#26183)
* Core/Spells: implement SpellInfo helper to filter for relevant mechanic immunities when sending SMSG_SPELL_START packets.

According to sniff analysis Blizzard does not send all mechanic immunities of creatures but instead only the ones that are responsible for actual interrupts which are MECHANIC_INTERRUPT  and MECHANIC_SILENCE. Additionally we no longer send immunities for instant cast spells as sniffs confirm that they are not sent for spells without a cast time.

(cherry picked from commit 6215cb4e00)
2022-03-08 00:31:02 +01:00
Keader
2e69b64d67 Revert "Core/Spells: Spells with Attribute SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY should dispel snare auras. (#20621)"
This reverts commit b507acf1c0.

(cherry picked from commit c6e2b6e88c)
2022-03-07 22:05:49 +01:00
xvwyh
2a595d55b2 Core/Spells: Correct swapped TARGET_UNIT_NEARBY_ALLY and TARGET_UNIT_NEARBY_PARTY (#25837)
* Update SharedDefines.h

* Update SpellInfo.cpp

(cherry picked from commit 7c6d92012a)
2022-03-05 23:51:50 +01:00
Gildor
8585b127f4 Core/Spells: SPELL_AURA_MOD_HEALING_PCT should be negative if TargetType is enemy or BasePoints are negative (#25490)
(cherry picked from commit a770ad0476)
2022-02-27 23:52:55 +01:00
Shauren
7fbdd6473e Core/DataStores: Updated db2 structures to 9.2.0 2022-02-25 11:40:20 +01:00
Shauren
f8ad7017dd Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them) 2022-02-12 21:36:46 +01:00
Shauren
3844c79adb Core/Spells: Load entire proc flags array from db2 2022-02-09 23:46:29 +01:00
Shauren
25b84e5e7b Core/Spells: Fixed TARGET_UNIT_TARGET_ALLY_OR_RAID targeting 2022-02-08 12:04:09 +01:00
Aqua Deus
2ae67de4c0 Core/Spells: Implement SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA (#27714) 2022-02-07 20:08:55 +01:00
Treeston
c4b287c7bf Core/Misc: DBC std::array refactors, and |Hachievement unit tests
(cherry picked from commit 3fbbe7cfbe)
2022-02-04 23:37:29 +01:00
Peter Keresztes Schmidt
44ea32ace4 Build: Enable -Wimplicit-fallthrough on clang (#25056)
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs

Related: #25006

* Misc: Add some missing breaks (no-ops) to satisfy clang

Related: #25006
Closes #25055

* Build: Enable -Wimplicit-fallthrough on clang

Closes #25006
2022-01-23 22:16:15 +01:00
Peter Keresztes Schmidt
ad340466d0 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs (#25054)
Related: #25006
(cherry picked from commit 85b5b842ca)
2022-01-23 22:02:03 +01:00
Gildor
81154a7455 Core/Spells: Check a few aura effects for determining if should be negative (#25004)
(cherry picked from commit 5e1571062a)
2022-01-23 15:20:09 +01:00
Gildor
a8edacd20b Core/Spells: Check a few aura effects for determining if should be negative (#24930)
* Core/Spells: Check a few aura effects for determining if should be negative

* Rename 9999_99_99_99_world_auras.sql to 2020_07_04_00_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 26ba4ecd51)
2022-01-21 18:45:04 +01:00
Gildor
a16c804ea0 Core/Spells: SPELL_AURA_MOD_HEALTH_REGEN_PERCENT should be negative if TargetType is enemy and Basepoints are negative (#24902)
(cherry picked from commit af1571ce50)
2022-01-21 16:12:31 +01:00
Gildor
de21d446aa Core/Spells: SPELL_AURA_MELEE_SLOW should be negative if TargetType is enemy or Basepoints are negative (#24901)
(cherry picked from commit 7a81ce2f21)
2022-01-21 16:11:39 +01:00
Gildor
cc6e616e61 Core/Spells: SPELL_AURA_MOD_MELEE_RANGED_HASTE should be negative if Basepoints are negative (#24900)
(cherry picked from commit 0759d73777)
2022-01-21 16:11:15 +01:00
Shauren
96137fb30f Core/Misc: Future msvc warning fixes 2022-01-21 13:40:48 +01:00
Shauren
bff5ae51fe Core/Spells: Fixed crash in spell visual selection when CasterUnitConditionID is set 2022-01-15 19:16:20 +01:00
Shauren
72286dc5e4 Core/Conditions: Initial support for UnitCondition.db2 2022-01-15 00:52:55 +01:00
Gildor
81a5bc597b Core/Spells: SPELL_AURA_PERIODIC_DUMMY should be negative if TargetType is enemy (#24864)
(cherry picked from commit 9405f78ee4)
2022-01-07 00:25:52 +01:00
Carbenium
60b48ad046 Core/Misc: Create new enum for AreaIds
Move Wintergrasp BF related values there

(cherry picked from commit 6a8c12587e)
2022-01-06 23:42:15 +01:00
Gildor
71ce61cc95 Core/Spells: SPELL_AURA_MOD_HEALING should be negative if TargetType is negative (#24862)
(cherry picked from commit a555bf1fd7)
2022-01-06 23:30:16 +01:00
Gildor
fc43a95729 Core/Spells: SPELL_AURA_MOD_ATTACK_POWER_PCT should be negative if TargetType or Basepoints are negative (#24837)
(cherry picked from commit 7d88891983)
2022-01-06 23:13:44 +01:00
NoName
5417438731 Core/Spells: Crystallize should not use DIMINISHING (#24502)
and also correcting spelling in script

by Rushor and wotlk-enthusiast

(cherry picked from commit 45993428f5)
2022-01-01 21:38:13 +01:00
Shauren
116a3ab694 Core/Spells: Name more targets (without implementation) 2021-12-29 23:38:09 +01:00
Shauren
f5631b7134 Core/Spells: Implemented target 124 TARGET_UNIT_TARGET_TAP_LIST 2021-12-29 19:08:36 +01:00