Commit Graph

732 Commits

Author SHA1 Message Date
Shauren
49eb3cf8fe Core/Spells: Implemented SPELL_EFFECT_TELEPORT_WITH_SPELL_VISUAL_KIT_LOADING_SCREEN 2021-10-13 11:49:30 +02:00
Shauren
8492c273dd Core/Spells: Implemented SpellReagentsCurrency.db2 2021-10-10 19:12:17 +02:00
Shauren
8147a42aef Core/Spells: Corrected spell visual fallback logic for spell difficulty entries 2021-10-10 19:02:52 +02:00
ariel-
3ea88f814a Core/Spells: all bleed effects should ignore armor
Closes #21759

(cherry picked from commit 5dec0e491b)
2021-09-23 23:37:11 +02:00
Gooyeth
2bea816bbe Core/Auras: Don't save liquid auras
(cherry picked from commit 8001c5ead1)
2021-09-23 23:23:06 +02:00
ariel-
50c5284602 Core/Spells: autogenerate miss proc for spells with auras with hit chance -100
Closes #21629

(cherry picked from commit 1c8d9af084)
2021-09-06 21:33:56 +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
ariel-
65dca120d3 Core/Spells: rework part 4: iterate over effects first
Ref #18395

Implement far spell queue processing
Closes #7395

(cherry picked from commit 080d2c6cd4)
2021-08-28 15:59:11 +02:00
ariel-
1e1415a491 Core/Spells: rework part 1: Improved positive detection logic
(cherry picked from commit efeae33495)
2021-08-28 15:59:11 +02:00
ariel-
0ae1ebedfe Core/Spells: explicitly disable non proccing auras when generating default procs
Closes #21529

(cherry picked from commit ad796318e8)
2021-08-18 23:22:46 +02:00
ariel-
6c642f33b5 Core/Auras: added sanity checks for area auras having a different owner unit than caster
Closes #21517

(cherry picked from commit 54e8418886)
2021-08-18 22:57:52 +02:00
Traesh
fb6761c273 Core/Spells Implement targets 133, 134, 135 : TARGET_UNIT_LINE_CASTER_TO_DEST_*** (#26786) 2021-08-15 11:09:46 +02:00
ariel-
3582bacc4a Core/Spells: add log on load about improper use of attribute PROC_ATTR_REQ_SPELLMOD
(cherry picked from commit dfa861593e)
2021-06-19 23:34:15 +02:00
ariel-
13be704cb4 Core/Spells: implement SPELLVALUE_CRIT_CHANCE
(cherry picked from commit 546a605bd0)
2021-06-19 23:33:44 +02:00
ariel-
85e5509e91 Core/Spells: calculate crit chance only for spells that do damage/healing
Refs #18813

(cherry picked from commit 52873a7072)
2021-06-19 23:33:38 +02:00
ariel-
91fa279bdf Core/Spells: require phasemask set for periodic damage procflag
Closes #21379

(cherry picked from commit b42ade918a)
2021-06-19 23:33:38 +02:00
Killyana
854abdbfb6 Spell/Script: Torch 52953 and 58121 must hit only one target
(cherry picked from commit 8f71307e56)
2021-06-19 01:35:41 +02:00
ariel-
d0f4310c44 Core/Entities: don't allow client control if player is still affected by any lose of control state
(cherry picked from commit e315e41d36)
2021-06-16 21:26:57 +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
Shauren
e1f3f1254c Core/Spells: Load spell label data for future use 2021-06-04 21:18:29 +02:00
xinef1
1912999b9e Core/Spells: Defined and implemented some new spell attributes (#18950)
(cherry picked from commit 23823f5147)
2021-05-16 21:56:07 +02:00
Matan Shukry
3b578fc6b9 Core/Chat: Load chat language data from db2 and implement serverside chat translations 2021-05-03 23:53:24 +02:00
Treeston
9b141207d1 [3.3.5] CastSpell unclusterfucking (that's a word now) (#21123)
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.

- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
  - It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has

(cherry picked from commit d507a7e338)
2021-04-16 15:22:42 +02:00
ariel-
16ec008290 Core/Spells: fix some DB errors
Ref #18542

- Implemented Choking Vines transformation at 5 stacks
- Implemented periodic Aura of Fear ticks
- Fixed Savage Rend passive proccing on anything (raptor pets)

(cherry picked from commit de9f904269)
(cherry picked from commit 32e2207ab9)
(cherry picked from commit 9934a43e09)
2021-04-15 05:53:27 +02:00
Shauren
07a47947e2 Core/Spells: Defined and implemented new spell interrupt flags 2021-03-24 23:36:53 +01:00
Shauren
9b5a46ca2b Core/Auras: Defined and implemented many new interrupt flags 2021-03-21 12:05:32 +01:00
Shauren
c7d1cf7457 Core/Spells: Fixed startup crash and log any future attempts to apply data corrections to nonexisting spell effects 2021-03-16 00:07:34 +01:00
Matan Shukry
0c73895826 Scripts/Spells: corrections to Death Knight spell Blood Mastery (#26082) 2021-03-15 22:53:30 +01:00
jackpoz
2364aa59d8 Core/Spells: Fixed Naxx Anub Scarab Summoning Spell
Reduce spell radius of 28864 and 29105 from 100 yards to 10 yards to spawn scarabs closer

(cherry picked from commit 72e97d330b)
2021-03-15 20:17:31 +01:00
ariel-
44c8ccadd7 Core/Auras: periodics refactor part 5: ported periodic trigger spell auras to scripts
(cherry picked from commit a36e804ae4)
2021-03-15 20:17:31 +01:00
ariel-
5f9e0d92d5 Core/Auras: periodics refactor part 1:
- Don't skip ticks if diff is greater than amplitude
- Fixed spells without ampltude in DBC

(cherry picked from commit 5d91beb1db)
2021-03-15 20:17:31 +01:00
Shauren
da77b300f4 Core/Spells: Small refactor to ServersideSpellName to make private parts actually private 2021-03-14 14:45:01 +01:00
Shauren
deed58f080 Core/Spells: Check if serverside spells don't overwrite db2 spells 2021-03-12 22:25:47 +01:00
Shauren
2bd70b41eb Core/Spells: Restore serverside spells fuinctionality 2021-03-12 21:59:10 +01:00
Shauren
b4aa698acb Core/Auras: Convert most rules from Aura::CanBeSaved to a custom spell attribute 2021-03-06 23:47:30 +01:00
Shauren
ad479e8fa0 Core/Spells: Implemented spell effect 202 SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS 2021-02-28 22:08:58 +01:00
Shauren
c1ad297a72 Core/Spells: Fixed accessing freed memory after reloading spell_area
(cherry picked from commit d011097ab0)
2021-02-25 18:50:55 +01:00
Matan Shukry
9e948ff4bd Core/Spells: Corrected the spell id source used in the learn spells map when loading SpellLearnSpell.db2 data (#26140) 2021-02-24 20:20:14 +01:00
Killyana
33279199d4 Spell: Remove a phase hack for The Eye of Acherus
Npcs are now spawned on phase 2, some spawns still missing on phase 1 and 2, need to wait for future commits.

(cherry picked from commit f3a00a1822)
2021-02-15 19:13:25 +01:00
Traesh
e11067a398 Core/Auras: Handle SPELL_AURA_MOD_SCHOOL_MASK_DAMAGE_FROM_CASTER
(cherry picked from commit AshamaneProject/AshamaneCore@458d0f2a53)
2021-02-07 19:43:13 +01:00
Ryzen
cafa00b5d0 Scripts/Spells: Mage Ice Lance (draft)
Missing/todo the following:

- x3 damage on frozen target
- lower damage of second lance triggered by Splitting Ice to 80% (now it deals 100%)
- Chain Reaction.
2020-12-24 15:55:30 +01:00
Shauren
089fd5575d Core/Spells: Removed spellinfo corrections for non-existing spells 2020-09-06 15:39:28 +02:00
Demonid
fa762826e9 Scripts/Icecrown Citadel: Fixed Lord Marrowgar - Coldflame to not ignore resistances (#20146)
Closes #13240

(cherry picked from commit 7b747848ed)
2020-08-23 01:16:17 +02:00
Demonid
6130a775fe Scripts/ICC: Minor Fixes for Lich King (#20120)
- Fixed Shadow Trap and Defile Targets
- Fixed Shadow Trap Summon Delay and Duration
- Fixed Berserk Timer (15 Minutes)
- Fixed Shadow Trap Despawn when Snowstorm starts

(cherry picked from commit 9fa68855d7)
2020-08-22 20:48:06 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
176c75e8db Core/Spells: Include more than first 2 spell effects when determining if a spell is negative 2020-06-26 00:23:46 +02:00
Shauren
c3dcbe04dc Core/Spells: Assign spell effect handles for new apply aura effects 2020-06-22 11:04:57 +02:00
Shauren
fce9fca900 Core/Spells: Implemented new target types
* TARGET_UNIT_TARGET_ALLY_OR_RAID
* TARGET_UNIT_CASTER_AND_SUMMONS
* TARGET_UNIT_AREA_THREAT_LIST
* TARGET_UNIT_AREA_TAP_LIST
* TARGET_DEST_CASTER_GROUND
* TARGET_DEST_SUMMONER
* TARGET_DEST_TARGET_ALLY

Closes #18558
Closes #18867
Closes #24295
2020-06-21 15:59:43 +02:00
ariel-
e2bc8c5383 Core/Scripts: improvements on the Thorim script
Improvements done to initial work by joschiwald:

- Fixed stormhammer casting and visuals
- Fixed spell credits
- Implemented removal of Impale when HP is higher than 90%
- Corrected faction templates for the pre combat creatures
- Implemeted Leap on the arena adds (thanks to joschiwald for implementing conditions)
- Scripted lighting charge using AuraScript periodic
- Fixed timings
- Corrections on the hallway encounters (added knockback immunity to minibosses too)
- Fixed multiple blizzards issue
- Lever will now reset properly, should players fail to get inside. This allows the door to be opened more than once during the combat
- Corrections in the outro event
- Implemented paralytic field traps on the hallway.
- Implemented Ancient Gate of the Keepers opening.
- Changed blizzard bunny targetting to conditions entirely.
- Removed obsolete scripts
- Standards: delete spell script names by ScriptName instead of spell_id
- Swapped factions for pre-adds (alliance should get horde trash and vs)
- Fixed Leap setting home position for adds
- Removed a bunch of magic numbers
- Runic Colossus should finish current Runic Explosion before beginning to attack
- Fixed UpdateAI logic to put it in line with other scripts (ie don't stop casts)

Special thanks to:
- chaodhib for the blizzard trigger waypoints and investigation on spell radius
- Malcrom for creating the Conditions Creator :P

Closes #15008
Closes #17072

(cherry picked from commit 4a69f5bda5)
2020-06-14 23:49:01 +02:00