Commit Graph

529 Commits

Author SHA1 Message Date
Killyana
8f71307e56 Spell/Script: Torch 52953 and 58121 must hit only one target 2018-01-30 13:04:25 +01:00
ariel-
c099174ff7 Core/Misc: fix some /W4 warnings and some reported by GCC 6.3 2018-01-22 23:55:33 -03:00
ariel-
b75ff7d4bf Core/Globals: revert back to unordered_map for templates
Partial revert of commit b64c504314
See discussion on b64c504314
2018-01-18 01:07:29 -03:00
ariel-
b64c504314 Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274
2018-01-17 02:17:49 -03:00
ariel-
cb9e72e521 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
2018-01-13 06:45:21 -03:00
xinef1
23823f5147 Core/Spells: Defined and implemented some new spell attributes (#18950) 2018-01-08 20:31:21 +01:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
Treeston
d507a7e338 [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
2017-12-30 20:28:41 +01:00
ariel-
bc570b3cf6 Core/Spells: Scatter and Silencing shots should be instant 2017-12-28 12:16:35 -03:00
ariel-
de9f904269 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)
2017-12-20 02:25:25 -03:00
jackpoz
72e97d330b 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
2017-12-16 19:00:19 +01:00
ariel-
e6d529a75a Core/Auras: implemented SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR delay mechanic 2017-12-15 13:26:34 -03:00
ariel-
a36e804ae4 Core/Auras: periodics refactor part 5: ported periodic trigger spell auras to scripts 2017-12-15 01:46:52 -03:00
ariel-
5d91beb1db Core/Auras: periodics refactor part 1:
- Don't skip ticks if diff is greater than amplitude
- Fixed spells without ampltude in DBC
2017-12-15 00:25:58 -03:00
Shauren
d011097ab0 Core/Spells: Fixed accessing freed memory after reloading spell_area 2017-12-02 20:59:21 +01:00
jackpoz
8e1c74d95a Core/Spell: Validate spell_dbc DB data on startup
Validate spell_dbc DB data on startup (max effect type, max aura type, max target type).
Delete some invalid spells from spell_dbc table. Make sure to apply the SQL script or worldserver will assert on startup.
2017-12-02 16:08:48 +01:00
jackpoz
3d1ba42f42 Core/Misc: Fix out of bounds access on startup
Fix out of bound access on startup trying to access SpellEffects with ID greater than max allowed/known.
Reported by AddressSanitizer .
2017-12-02 12:56:23 +01:00
Killyana
f3a00a1822 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.
2017-11-24 17:21:10 +01:00
Aokromes
c3053b9f37 Core/Spells: Remove one char breaking hotswap 2017-11-23 22:18:55 +01:00
Chaouki Dhib
5505625b0a Core/Spells: Add spell radius to 'Feral Charge - Cat' since it's missing in DBC (#20609) 2017-10-13 22:12:26 +02:00
Chaouki Dhib
9dbef4b6bb Core/Spells: Core/Spells: Improve teleport destination for a certain class of spells (Killing Spree, Shadowstep, ...) (#20434)
Close # 8758
2017-10-12 22:06:27 +02:00
Demonid
7b747848ed Scripts/Icecrown Citadel: Fixed Lord Marrowgar - Coldflame to not ignore resistances (#20146)
Closes #13240
2017-08-15 11:49:34 +02:00
Demonid
9fa68855d7 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
2017-08-08 11:36:46 -03:00
ariel-
641c2036ab Core/Spells: fix runtime log spam 2017-06-24 22:28:00 -03:00
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
Keader
b74ed00f4e Core/Spells: Fixed range issue with Killing Spree
Closes #19913
2017-06-18 14:44:02 -03:00
ariel-
da228fd163 Core/Spell: fix weird DBC data for Elixir of Detect Undead
Closes #19853
2017-06-05 17:09:52 -03:00
ariel-
4a69f5bda5 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
2017-05-16 20:23:52 -03:00
Mikhail Redko
8a5b998f48 Core/Spells: Move Big Blizzard Bear implementation to spell script (#19544) 2017-05-04 12:46:10 -03:00
Shauren
34b63019ae Core/Spells: Refactor setting spell info corrections to report errors about spells that no longer exist
cherry-picked from commit be1a7d36f3
2017-04-21 00:55:33 -03:00
ariel-
9414f50f5c 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
2017-04-14 19:07:11 -03:00
ariel-
d44a44abac Core/Spell: fix broken Unit::GetHighestExclusiveSameEffectSpellGroupValue
- Affects 3 aura effects currently, should be rewritten with GetTotalAuraModifier maybe?
2017-04-14 16:52:28 -03:00
ariel-
abaa9d635a Core/Spell: fix nopch build x2 2017-04-14 04:45:12 -03:00
ariel-
9900899dd9 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
2017-04-14 03:47:23 -03:00
Keader
164af391c9 Core/Spells: Fixed Chilled to the Bone
Closes #19417
thanks ariel-
2017-04-07 17:41:43 -03:00
Gustavo
2792046dc7 Core/Scripts: minor fixes in boss_the_lich_king (#19311)
Closes #4427
Closes #7091
2017-03-24 08:59:04 -03:00
ariel-
4096b02a56 Core/Spell: fix an issue with vehicle spells changing orientation of base vehicle
Closes #17234
2017-03-20 12:35:09 -03:00
ariel-
36bb4cabae Core/Spell: add assert checks on SpellMgr::CheckSpellGroupStackRules
Ref #19319
2017-03-19 04:11:55 -03:00
ariel-
ebba8dcba8 Core/Spells: fix some db errors 2017-03-03 21:36:56 -03:00
ariel-
7072bf8c02 Core/Spell: disable proc for magnet auras, they're handled differently
Closes #19208
2017-03-02 00:18:00 -03:00
ariel-
01f5befcec Core/Scripts: Thrusting Hodir's Spear
- Everything is sniffed, enjoy this hell of a quest!

Closes #12808
2017-02-25 04:46:02 -03:00
ariel-
d0f760420a Core/Scripts: remove no longer needed scripts, use db attribute for disabling procs
(e7ccd8ea3f followup)

- Fix some broken procs after c0cb823a91

Closes #19068
2017-02-22 17:54:12 -03:00
ariel-
f609e7a08b Core/Spells: refactor spell_enchant_proc_data table
- Renamed fields to mimic those in spell_proc
- Added Enchant proc attributes for controlling specific enchant features

Ref #7789
2017-02-22 00:11:49 -03:00
xinef1
c6060dd0c5 Core/Spells: Remade trajectory target selection (#19048)
* Remade trajectory target selection
* Added possibility to apply conditions to trajectory spells
* Properly recalculate delay time if CMSG_UPDATE_PROJECTILE_POSITION is received
2017-02-05 21:10:15 -03:00
xinef1
93746e8c4a Implemented binary resistances and some more (#18933)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects
2017-02-04 19:50:32 -03:00
ariel-
ad6912f0d5 Core/Spell: modified HitMask for new default procs 2017-01-23 15:41:43 -03:00
ariel-
bff36a81be Core/Spell: add more aura types to default procs
Ref #18542
2017-01-23 15:35:35 -03:00
ariel-
9442ce888c Core/Spell: removed some startup errors
Ref #18542
2017-01-23 14:11:28 -03:00
Keader
28b955bd25 Core/Spell: Fixed Val'kyr Target Search exploit
Closes #16347
by ariel-
2017-01-19 14:12:50 -03:00
Keader
6f7310a259 Core/Spell: Fixed range issues with some quest spells
Closes #17815
2017-01-19 14:09:27 -03:00