Commit Graph

1288 Commits

Author SHA1 Message Date
Seyden
b1eb4c2b3e Scripts/Spells: Implement Demon Hunter Base Spell "Glide" 2021-11-20 15:51:02 +01:00
Seyden
adb439fdfe Scripts/Spells: Predefine spell ids used for DH scripts 2021-11-20 15:51:02 +01:00
Rynem Storm
c7ad7d5e15 DB/Spell: fix mistake in Blood Draining's CheckProc and remove Attack Power scaling (#22862)
(cherry picked from commit a057d26f20)
2021-11-18 23:04:07 +01:00
DanVS
3b1ed434ae Core/Scripts: Move some spells to scripts (#22332)
(cherry picked from commit 8051ff13df)
2021-11-18 22:41:57 +01:00
PolarCookie
19646a8363 That's Abominable for the 3 other quests, and knockbacks for all. (#22127)
(cherry picked from commit fb19f7be1f)
2021-11-18 22:41:57 +01:00
Shauren
732a8ee261 Core/Movement: Corrected values sent in knockback packet when speedXY < 0
Co-authored-by: Seyden <saiifii@live.de>
2021-11-06 23:17:43 +01:00
Shauren
9fc8c86e9a Scripts/Auras: Lookup aura scripts by their type, not name 2021-10-27 01:01:41 +02:00
Seyden
62e444e4b0 Scripts/Spells: Implement Demon Hunter Havoc talent "First Blood" (#27176) 2021-10-27 00:46:57 +02:00
ModoX
437fb2aaba Core/CreatureTexts: Added new field SoundPlayType to enable usage of ObjectSounds within creature_text (#27136)
* Also adjusted Vigilant Quoram texts to use ObjectSounds
2021-10-23 13:10:32 +02:00
Treeston
a5989dcee9 Core/Unit: Store charmer and charmed pointers on Unit directly, no more map lookups for Unit::GetCharmer and Unit::GetCharmed
(cherry picked from commit d4ef2529e9)
2021-10-23 00:11:44 +02:00
Treeston
e4e8c1c59c Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans
(cherry picked from commit 042f5515e4)
2021-10-22 23:47:51 +02:00
DanVS
3503e9dc92 Scripts/Pets: Some cleanup for Snake Trap. Tagging #21847, though this doesn't address it (yet).
(cherry picked from commit 15ab24756d)
2021-10-17 01:40:21 +02:00
Shauren
ba4fa060d7 Core/Auras: Implemented SPELL_AURA_ADD_PCT_MODIFIER_BY_SPELL_LABEL and SPELL_AURA_ADD_FLAT_MODIFIER_BY_SPELL_LABEL 2021-10-16 22:05:02 +02:00
ModoX
ece3a8036e Scripts/DK: Fixed Defender of Azeroth quest
* added graveyard in case someone wants to die there
* added serverside spells to handle death gate usage properly (including bind points)
* added SmartAI script to Mograine for Defender of Azeroth quest
2021-10-13 19:33:19 +02:00
Shauren
98aef67c11 Scripts/Spells: Fixed crash in spell_pri_prayer_of_mending 2021-10-07 19:55:25 +02:00
ModoX
45b4910c96 Scripts/Spells: Core/Spells: Fixed Consecration damage, implemented Hammer of the Righteous, partly implemented Consecrated Ground talent (#27005) 2021-10-05 22:50:40 +02:00
ModoX
3080c37952 Scripts/Spells: Implemented Sigil of Silence/Misery/Flame/Chains (#27006) 2021-10-03 21:27:55 +02:00
ModoX
b1c0d069e1 Scripts/Spells: Implemented Wind Rush Totem (#26985) 2021-10-03 20:36:06 +02:00
Shauren
cbf1f2883a Core/Spells: Reduce number of CastSpell overloads to 1 2021-10-03 19:58:03 +02:00
Shauren
555b2d40ec Core/Spells: Send OriginalCastId in SMSG_SPELL_START and SMSG_SPELL_GO for triggered spells in 'game' project 2021-10-03 16:36:39 +02:00
Shauren
3af9be830d Core/Spells: Removed CastSpellExtraArgs constructors accepting ObjectGuid, they would become ambiguous with future changes 2021-10-03 14:58:35 +02:00
ModoX
a0c4a3071c Core/Auras: Implemented new aura type 487 (SPELL_AURA_COSMETIC_MOUNTED) (#26988) 2021-10-02 21:59:22 +02:00
DanVS
71e27f540d Core/Spells: Reset Mangle cooldown in Berserk (#22000)
(cherry picked from commit 3bd9337d9f)
2021-09-28 15:26:42 +02:00
Shauren
453b59de57 Core/Maps: Adjusted logic in GetFullTerrainStatusForPosition to closer match what the client does regarding being inside WMOs
Closes #21625
Closes #21624
Closes #21516

(cherry picked from commit b9c6bbb51d)
2021-09-25 01:04:21 +02:00
DanVS
bc34fd2f65 [3.3.5] Scripts/Spells: handle auras on unequipping scripted items (#21643)
Ref: #20415
(cherry picked from commit c2f1657988)
2021-09-23 20:55:30 +02:00
ariel-
6d3a11e1d1 Scripts/Spells: fix Seaforium Blast script crash
Closes #21663

(cherry picked from commit 6eb122792c)
2021-09-19 22:20:30 +02:00
sirikfoll
7c63a99bab Scripts/Spells: Quest King of the Mountain
Added missing jump jets and battle standard visuals
Added allowed area conditions for the vehicle
Fixed Jumpbot's attack spell (thanks @keader for fixing the proc)

(cherry picked from commit e7e46b2a82)
2021-09-05 22:19:03 +02:00
Shauren
f832a96c4e Warning fix 2021-09-05 16:30:13 +02:00
Shauren
7e09deea3a Scripts/Spells: Fixed mage ice block to not heal without aura 320913 2021-09-05 15:58:30 +02:00
ariel-
9fa95b4b57 Core/Spells: Fix periodic rolling adding bonuses twice
Calculation is now done in CalculateAmount

(cherry picked from commit 93eda20d5c)
2021-09-04 22:52:31 +02:00
Shauren
8a4e1119ac Core/Spells: Unify spell effect access api in both branches 2021-09-04 15:13:15 +02:00
Shauren
3af33b9ff9 Warning fixes 2021-08-28 20:24:21 +02:00
Shauren
3dd75a49b1 Core/Spells: Removed SpellEffIndex effIndex argument from spell effect handlers, it was commented out in almost every handler 2021-08-28 19:51:29 +02:00
ariel-
962f6d7988 Core/Spells: rework part 5: GameObject casting
Closes #21330
Closes #18885
Ref #18752

(cherry picked from commit 45c5e1b9d6)
2021-08-28 15:59:11 +02:00
ariel-
f3548d45d0 Core/Spells: rework part 3: spells only handle at most one UnitAura and one DynObjAura during its lifetime
Closes #15088

(cherry picked from commit e8d5aa56cc)
2021-08-28 15:59:11 +02:00
ariel-
5e7a11f88d Core/Scripts: apply resilience on Vampiric Touch and Unstable Affliction dispel effect
- Spell with SPELL_ATTR4_FIXED_DAMAGE won't do it by itself to avoid applying resilience twice, but because those are triggered from a periodic aura, those apply resilience on tick, not saved to amount.
- This is one of the cases where you have to call Unit::SpellDamageBonusTaken directly

Closes #21393

(cherry picked from commit 3753ec5647)
2021-08-08 21:21:34 +02:00
ariel-
d36f8bb754 Core/Scripts: implemented Fungal Decay & Tail Sting
Refs #18542

(cherry picked from commit 7dc78d8e3f)
2021-06-22 13:15:11 +02:00
ariel-
e9ddf644b0 Core/Scripts: implemented Seed of Corruption scaling damage tolerance
(cherry picked from commit df5afca278)
2021-06-21 00:06:39 +02:00
Treeston
ffce2c1f9a Core/Spell: Properly remove REACT_PASSIVE on permanent feign death unapply. Fixes and closes #21156.
(cherry picked from commit ac8b9be5d6)
2021-06-20 20:22:18 +02:00
ariel-
3485cb38ed Core/Spells: remove 'Vanish Purge' hack, the spell is present on DB and is copy of one in vanilla DBC
Thanks to killerwife for the heads-up

(cherry picked from commit 303efcf0e4)
2021-06-19 23:33:25 +02:00
Moein
6d7288356a Scripts/Spells: quest "That's Abominable" (#21253)
- scripted spell "Burst At The Seams" (59576)
- added Pet Bar

Closes #10876

(cherry picked from commit e519e14df8)
2021-06-16 11:32:25 +02:00
ariel-
bb7869b31f Core/Scripts: fix some spells double dipping from done/taken bonuses
Closes #21007

(cherry picked from commit ab3307fc23)
2021-06-16 11:22:10 +02:00
ariel-
5fbddef85f Core/Spell: SpellValueOverrides encapsulation
- No sense to let scripts use SpellValueOverrides, we already have modifiers in CastSpellExtraArgs struct

(cherry picked from commit 3b01cccd7e)
2021-06-14 00:19:50 +02:00
ariel-
fccf1a8c62 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling

Closes #19876

(cherry picked from commit cb9e72e521)
2021-06-13 00:59:13 +02:00
sueastward
28c075765b Scripts/Spells: Implement mage Alter Time 2021-05-27 12:56:10 +02:00
Shauren
c79e5528e1 Core/Units: Remove Unit::EnergizeBySpell overload taking spellId argument 2021-05-16 21:56:06 +02:00
Treeston
34c7810fe5 Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.

(cherry picked from commit 532ab1c7f8)
2021-05-16 21:56:01 +02:00
Shauren
12ed21e690 Scripts/Spells: Clear arcane charge damage/cost/cast time modifier aura when reaching 0 arcane charges (power) 2021-05-15 17:44:31 +02:00
Shauren
331c7ec7c2 Scripts/Spells: Remove manual damage adjustment from Arcane Barrage for scaling with arcane charges and use spell cast for mana energize 2021-05-15 17:44:31 +02:00
Shauren
fd7f854995 Scripts/Spells: Properly utilize all Arcane Explosion energize effects 2021-05-15 17:44:31 +02:00