Commit Graph

715 Commits

Author SHA1 Message Date
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
Shauren
c7306439e7 Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower 2020-06-12 01:29:18 +02:00
Shauren
4d69cc1c56 Core/Misc: GCC build and warning fixes 2020-05-21 22:15:58 +02:00
Keader
08635c740a Core/Spells: Fixed Chilled to the Bone
Closes #19417
thanks ariel-

(cherry picked from commit 164af391c9)
2020-04-29 21:11:17 +02:00
ariel-
677df56d2d Core/Auras: don't skip stack rule check whenever spells have same ID
- The auras might not have the same amounts due to spellmods

Closes #1626

(cherry picked from commit 9414f50f5c)
2020-04-27 14:31:29 +02:00
ariel-
1edfd0d064 Core/Spell: fix broken Unit::GetHighestExclusiveSameEffectSpellGroupValue
- Affects 3 aura effects currently, should be rewritten with GetTotalAuraModifier maybe?

(cherry picked from commit d44a44abac)
2020-04-27 14:31:29 +02:00
ariel-
60824d8c7a Core/Spell: fix nopch build x2
(cherry picked from commit abaa9d635a)
2020-04-27 14:31:29 +02:00
ariel-
52e00746cf Core/Spell: fixed SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT to actually check effects
- This commit enables stack rule 3 to be properly used to fix auras that should be active but only one providing effects, even if the spell has multiple auras

Closes #19454

(cherry picked from commit 9900899dd9)
2020-04-27 14:31:21 +02:00
Ovah
030d942efe Scripts/Antorus: implement Garothi Worldbreaker encounter for normal and heroic difficulty
* added base script support for the encounter for normal and heroic difficulty
* added instance script for Antorus the Burning Throne
* added sniffed template data for involved gameobjects
* added encounter related spawns to Antorus the Burning Throne
* added instance encounter entry for Garothi Worldbreaker
2020-04-25 19:04:31 +02:00
Gustavo
6f523b4fb6 Core/Scripts: minor fixes in boss_the_lich_king (#19311)
Closes #4427
Closes #7091

(cherry picked from commit 2792046dc7)
2020-04-24 17:18:49 +02:00
ariel-
e44d0c8873 Core/Spell: fix an issue with vehicle spells changing orientation of base vehicle
Closes #17234

(cherry picked from commit 4096b02a56)
2020-04-24 17:18:49 +02:00
ariel-
6098c4549c Core/Spell: add assert checks on SpellMgr::CheckSpellGroupStackRules
Ref #19319

(cherry picked from commit 36bb4cabae)
2020-04-24 17:18:48 +02:00
Keader
f3d946cee9 Core/Spell: Fixed Val'kyr Target Search exploit
Closes #16347
by ariel-

(cherry picked from commit 28b955bd25)
2020-04-24 17:18:46 +02:00
Shauren
361946419e Core/Items: Fixed learning 2nd and 3rd copies of battle pets from items (not caged pets) 2020-04-08 13:36:59 +02:00
Shauren
3700e0ef5d Core/Misc: Defined new summon properties titles 2020-04-07 17:27:40 +02:00
Shauren
3cc50e69f1 Core/Players: Fixed racemasks usage for new races 2020-03-30 19:06:11 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
04ab611111 Core/Spells: Fixed calling spellhit script hooks on launch when spell hits both caster and target with different effects 2019-08-31 11:11:23 +02:00