Commit Graph

14729 Commits

Author SHA1 Message Date
ariel-
c62077237d Core/Spell: restore old proc system behaviour on auras self proc. 2017-05-04 02:21:58 +01:00
ariel-
cb77d33cb9 Core/Spell: Added the possibility to explicitly disable auraEffect procs using attributes
- Renamed IsProcTriggeredOnEvent to GetProcEffectMask, since long ago this function returned bool, new name should better reflect its use
2017-05-04 02:16:50 +01:00
ariel-
39f5cfafc5 Core/Spell: spells with ignore hit result should pierce damage immunities 2017-05-04 02:16:30 +01:00
ariel-
a6c7f2b98c Core/Spell: Fixed irregular handling of SPELLMOD_DOT 2017-05-04 02:15:54 +01:00
roc13x
31b1b42b07 Remove duplicate code 2017-05-04 02:10:38 +01:00
ariel-
b7b69b88ba Core/Unit: damage immune improvements 2017-05-04 01:48:16 +01:00
ariel-
746cb97dce Core/Unit: don't use damage immunity to calculate hit result for the whole spell. Should be used only for damage 2017-05-04 01:45:58 +01:00
ariel-
045bf711c2 Core/Unit: improved handling of some spell attributes
- SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE
- SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE
- SPELL_ATTR3_IGNORE_HIT_RESULT
2017-05-04 01:44:49 +01:00
ariel-
679f5c51c5 Core/Spell: fix typos 2017-05-04 01:44:25 +01:00
ariel-
07a529726d Core/Globals: Load spellspecific and aurastate after loading spell ranks
Was breaking functionality (eg: stacking scroll auras)
2017-05-04 01:43:22 +01:00
ariel-
6ef6047b00 Core/Spell: Fixed immunities for some spells (they were broken before rewrite too)
- Warlord's Presence, Uncontrollable Frenzy, Free Friend
- Overload, Lightning Tendrils
- Fervor, Berserk
- Determination
2017-05-04 01:42:43 +01:00
ariel-
b14b00da5c Core/ScriptMgr: use vector instead of list to contain Spell and Aura scripts and hooks 2017-05-04 01:41:35 +01:00
ariel-
e6bdc58bf0 Core/Unit: misc codestyle
use typedef for constant reference
2017-05-04 01:37:04 +01:00
ariel-
fcb7910533 Core/Spell: reimplemented TRIGGERED_DISALLOW_PROC_EVENTS trigger flag
Triggered spells shouldn't chain-trigger other spells

Closes #18217
2017-05-04 01:28:42 +01:00
ariel-
fb6cde2730 Core/Entities: add yet another utility overload to CastSpell, fixes AppVeyor build
Ninja NULL->nullptr cleanup
2017-05-04 01:28:15 +01:00
ariel-
f133041b80 Core/Spell: fix interaction of on taken damage procs with triggered casts
DB/Spell: Seal of Righteousness proc
- Lightining and Water Shield should proc with triggered

Closes #18211
2017-05-04 01:27:57 +01:00
ariel-
04b562418e Core/Spell: make a distinction between triggered flags with debugging purposes, and don't use them when casting triggered spells 2017-05-04 01:27:22 +01:00
ariel-
030224ff32 Core/Spells: do not add PROC_HIT_NORMAL/PROC_HIT_CRITICAL flags if damage is fully nullified
- Aka: full absorbs/full resists/full blocks/immune
2017-05-04 01:24:26 +01:00
roc13x
f5c1440d50 Static analysis checks 2017-05-04 01:21:38 +01:00
ariel-
c9101f6707 Core/Spells: workaround stealth interaction with Death and Decay and GameObject casts 2017-05-04 01:16:00 +01:00
ariel-
e2fb7a8218 Core/Unit: send original caster in heal packet log 2017-05-04 01:13:27 +01:00
ariel-
d1c915e4e1 Core/Spells: require phaseMask set for trap activation procs 2017-05-04 01:11:16 +01:00
ariel-
c131f68f63 Core/Unit: allow pets and totems to drop mod charges in owner auras.
Needed for Cobra Strikes (re)implementation
2017-05-04 01:10:51 +01:00
ariel-
60b390a3e8 Core/Auras: allow damage from periodics to trigger auras if they're not fully resisted/absorbed 2017-05-04 01:08:39 +01:00
ariel-
759e19cee7 Core/Unit: CalculateMeleeDamage should use unmodified damage to compute HitInfo
d3a71a8338 follow-up
2017-05-04 01:07:58 +01:00
ariel-
3d9c4fd3fc Core/Spells: use DamageInfo struct to calc spell absorbs and resists, and use calculated proc hitMask on aura ticks 2017-05-04 01:07:05 +01:00
ariel-
8bf21ad927 Core/Unit: fix chain cc's not being diminished properly
Logic fail in 9b0fa51022 (now diminishing info is always initialized)
2017-05-04 01:01:44 +01:00
ariel-
21ac6296be Core/Spells: moved handling of SPELL_ATTR0_CU_DONT_BREAK_STEALTH inside proc system.
Fixes additional issues with spells that shouldn't be breaking stealth and had this attribute
2017-05-04 01:01:24 +01:00
ariel-
b3eb7c121f Core/Unit: Change aura proc pair container to vector 2017-05-04 00:59:01 +01:00
ariel-
44a779ad38 Core/SpellMgr: some changes in default proc generation. Fix an issue of stealth breaking with positive and/or healing spells 2017-05-04 00:57:39 +01:00
roc13x
d30237fb1e Core/Globals: compute aura diminishing return info at startup and cache it 2017-05-04 00:57:24 +01:00
ariel-
7ccd58615a Fix dynamic linking 2017-05-04 00:28:36 +01:00
ariel-
9b5c40a201 Mark Slice and Dice as positive 2017-05-04 00:25:18 +01:00
ariel-
e0c8a379c8 Core/Spell: do not automatically set proc Family Name if no Family Flags present
Closes #18075
2017-05-04 00:21:36 +01:00
ariel-
a47ee2ac5a Core/Spells: fix auto repeat spells triggering auras
Auto repeat spells are casted as triggered and didn't register procs properly if the aura can't proc with triggered
2017-05-04 00:21:13 +01:00
ariel-
c71dc17135 Core/Auras: moved check for CC auras out of proc handler, and fixed its logic 2017-05-04 00:18:01 +01:00
ariel-
a6b4f239a4 Add some DamageInfo null checks 2017-05-04 00:17:13 +01:00
ariel-
754c22d3d0 Core/Auras: prevent stack overflow while processing SPELL_EFFECT_ADD_EXTRA_ATTACKS 2017-05-04 00:14:02 +01:00
roc13x
da9de6de36 Add missing change 2017-05-04 00:13:26 +01:00
roc13x
0b2e5adeb1 Core/Globals: cache SpellSpecific and AuraState information instead of computing them each time they're needed 2017-05-04 00:12:11 +01:00
ariel-
c6aa63536e Core/Unit: fix weapon skill up.
Closes #18044
2017-05-03 23:52:34 +01:00
ariel-
a7a024d1d6 Core/Auras: reset periodic aura timers by default. Except when aura comes from triggered spell 2017-05-03 23:51:47 +01:00
ariel-
805c10a365 Core/Spells: add proc cooldown on item equip. 2017-05-03 23:44:15 +01:00
ariel-
91c4b5edb0 Core/Scripts: add even more headers 2017-05-03 23:43:57 +01:00
ariel-
627a285a71 Core/Scripts: add more headers required for NoPCH 2017-05-03 23:43:45 +01:00
ariel-
baf1f027c1 Core/Scripts: add headers required for NoPCH build 2017-05-03 23:39:34 +01:00
ariel-
a40b85f8b2 Core/Scripts: convert some instance/item spells to scripts 2017-05-03 23:37:32 +01:00
ariel-
51f26dfe51 Core/Spells: Implementation of QAston proc system 2017-05-03 20:08:08 +01:00
Shauren
1f96c1f268 Merge 1e1fcd6847 2017-05-03 17:26:32 +01:00
Shauren
a9d5fab271 Core/Spells: Calculate hitMask and store it in DamageInfo/HealInfo structures 2017-05-03 17:14:00 +01:00