Commit Graph

2027 Commits

Author SHA1 Message Date
ariel-
2d0fb356de Core/Spell: clear auras of channeled spells if channeling is cancelled due to invalid targets (dead or w/e)
Closes #14859
Closes #15186
2016-10-17 04:33:36 -03:00
ariel-
2b9f807fd9 Core/Spells: mark Arcane Missiles aura as negative. Was downranking the spell when targetting low level mobs due to effect 1 flagged as possitive.
Closes #12152
2016-10-17 04:21:32 -03:00
ariel-
531904afff Core/SpellMgr: some changes in default proc generation. Fix an issue of stealth breaking with positive and/or healing spells 2016-10-17 02:19:29 -03:00
ariel-
9b0fa51022 Core/Globals: compute aura diminishing return info at startup and cache it
Core/Entities: Save diminish return on an array instead of a linked list
2016-10-17 01:52:40 -03:00
SnapperRy
551a8ff8ae Core/Spell: allow SPELL_EFFECT_QUEST_COMPLETE to set a quest to rewarded only if that quest is used as internal flag by the server (has flag 1024 - QUEST_FLAGS_TRACKING). 2016-10-16 22:39:36 +02:00
SnapperRy
5c419949b6 Core/Spell: overwrite DBC RangeEntry values for spells Concussive Barrage, Desecration and Polymorph.
Closes #17545.
2016-10-13 20:27:07 +02:00
ariel-
318f21b391 Core/Spells: Make slice and dice positive. Was breaking stealth.
This whole positive check needs some generic solution
2016-10-12 22:59:29 -03:00
SnapperRy
bdb08fba6e Script/Quest: Stop the Ascension! 2016-10-12 17:12:07 +02:00
ariel-
8167d6d4a0 Core/Spell: do not automatically set proc Family Name if no Family Flags present
Closes #18075
2016-10-12 10:01:38 -03:00
ariel-
aaa1a43204 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
2016-10-12 01:32:40 -03:00
ariel-
449ec0d6ff Core/Auras: don't ignore SPELL_ATTR3_ONLY_TARGET_PLAYERS in area auras.
Also, start abusing the arbitrary containers for searchers introduced in 8775f8b28a
2016-10-11 22:01:42 -03:00
Shauren
1c7f099297 Core/Items: Defined all item flags
(cherry picked from commit ef29f32965)
2016-10-11 19:46:29 -03:00
ariel-
a129b41f3d Core/Spells: fix runtime error
Partial revert of 11650e4008
2016-10-10 16:31:47 -03:00
ariel-
4cdbc1a09b Core/Spell: Fix 2 more off by one probability calc and duplicated logic in spell hit roll 2016-10-09 20:18:07 -03:00
Krudor
73a72fb7d3 Core/Spells: Effect leap back fix (#18057)
* Fixed unintentional typo?

Seemed to fix the issues related to the effect for the spells I tried.
Sometimes the caster triggers leapback onto targets, and with the old
code, it instead made the caster leap back instead of its targets

(cherry picked from commit 08aab73c7f)
2016-10-09 21:57:36 +02:00
ariel-
86903f7015 Core/Auras: moved check for CC auras out of proc handler, and fixed its logic 2016-10-09 01:48:48 -03:00
ariel-
b93ee312fa Core/Auras: prevent stack overflow while processing SPELL_EFFECT_ADD_EXTRA_ATTACKS 2016-10-07 12:52:01 -03:00
ariel-
d078029124 Revert "Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS"
This reverts commit f09e7cbbfe.
2016-10-07 12:50:08 -03:00
ariel-
ce45e1bf95 Core/Globals: cache SpellSpecific and AuraState information instead of computing them each time they're needed 2016-10-07 00:51:52 -03:00
ariel-
f58de52de3 Core/Auras: stop some compilers from complaining 2016-10-07 00:23:02 -03:00
ariel-
f09e7cbbfe Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS 2016-10-05 22:46:26 -03:00
ariel-
b5e8e0a5db Core/Auras: reset periodic aura timers by default. Except when aura comes from triggered spell
Closes #17961
2016-10-05 03:10:05 -03:00
ariel-
d9e4c8e04f Core/Spells: add Target Processing (SMSG_SPELLLOGEXECUTE) to LAUNCH_TARGET phase.
Move EffectInterruptCast to LAUNCH_TARGET Phase.

Closes #3718
Closes #6042
2016-10-04 23:35:50 -03:00
ariel-
e641d0c7d7 Core/Spells: Implementation of QAston proc system
- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- Templatize SpellModOp param of Player::ApplySpellMod, also killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing
- Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor
- Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras.
- Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct
- Changes in spell reflection system, emulates old behaviour, delaying aura drop
- Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections
- Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS
- Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor.
- Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034:

  * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/
  * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system).

  * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..)
  * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided.

  * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee.
- Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE)
- Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect
- Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though
- Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558.
- Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193
2016-10-04 20:21:55 -03:00
ariel-
0c24e4ee0e Core/Unit: rewrite of the attack table system
- Removed a bunch of duplicated code
- Fix off-by-one errors in Unit::RollMeleeOutcomeAgainst and Unit::MeleeSpellHitResult (TC's combat table was actually of 100.01%)
- Implemented boss-level hit table (6.5% dodge/14% parry), bosses only had 5.6% of each until now
- Updated formula for chance and damage of Glancing hits

Sources:
- http://wow.gamepedia.com/index.php?title=Attack_table&oldid=2071465
- http://web.archive.org/web/20100903145646/http://www.mmo-champion.com/threads/650071-Expertise-Hit-for-Paladins-%28updated-for-3.3%29?daysprune=60
2016-10-04 01:26:34 -03:00
joschiwald
625ca6ec1c Core/Spells: fixed SPELL_ATTR5_USABLE_WHILE_STUNNED 2016-10-02 23:32:14 +02:00
ariel-
405167dafd Core/Spell: Add Dual Wield skill dependency to Dual Wield effect, should remove the skill properly when unlearning spell.
Closes #17196
2016-10-02 15:49:29 -03:00
ariel-
b2fbd2c75d Core/Spells: SPELL_AURA_SCHOOL_IMMUNITY auras shouldn't remove passive auras (even if negative)
Ref issue #6375
2016-10-02 02:48:02 -03:00
ariel-
a4baef19dd Core/Player: Implemented Titan's Grip damage reduction
Closes #6375
2016-10-02 02:34:23 -03:00
ariel-
03e21d2fad Core/Spells: Implemented SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT.
Closes #1765
2016-10-02 00:24:47 -03:00
joschiwald
8024ae4d26 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-02 00:25:21 +02:00
SnapperRy
6d62f852ac Core/Spell: set quest to rewarded instead of complete when targeted by SPELL_EFFECT_QUEST_COMPLETE. (#18021)
Prevents people from ending up with strange quests in their quest logs.
2016-09-30 13:17:04 +02:00
Treeston
4b990eb7d7 [3.3.5] Azjol-Nerub rewrite
* Scripts/AzjolNerub: Complete rewrite.
- Gatewatcher:
  - Trash now actually engages properly one by one
  - Fix trash spell casting
  - Add missing quotes
- Hadronox:
  - Everything. Literally.
- Anub'arak:
  - Fix add spawns
  - Fix impale
  - OK this might as well be "fix everything with every boss". Because that's pretty much what happened.
- General hack cleanup

* Update and rename 9999_99_99_99_AZJOLNERUB.sql to 2016_09_25_01_world.sql

* Update and rename 2016_09_25_01_world.sql to 2016_09_25_02_world.sql

* Rename 2016_09_25_02_world.sql to 2016_09_26_02_world.sql
2016-09-26 12:49:32 +02:00
SnapperRy
275a53b34d Script/Quest: improvements for Let Them Eat Crow. (#17948) 2016-09-24 04:04:34 +02:00
SnapperRy
271c16fb60 DB/Quest: improvements for Test at Sea:
- Prevent player from entering combat when using the quest item.
- The targeted NPCs should only yell sporadically.
2016-09-13 01:44:33 +02:00
ariel-
e0ba5f9ed6 Core/Spell: Updated SpellInfo::GetMaxTicks with all effects capable of periodics 2016-09-12 20:19:06 -03:00
ariel-
08e0390d95 Core/Spell: do not cast interrupt effect if the spell did not hit 2016-09-12 12:41:02 -03:00
ariel-
43846d2d51 Core/SpellMgr: removed some wrong spells from LoadSpellInfoCorrections:
34754 is actually Holy concentration, and does not proc.
39805 doesn't exist
2016-09-11 00:06:06 -03:00
Rochet2
c52566a888 Core/Scripts: Enhance quest status hook by making it catch more status changes (#17865) 2016-09-09 21:11:36 +02:00
ariel-
bc4b4f656c Core/Scripts: Implement Flag of Ownership. Closes #12265
Core/Spells: Implemented TARGET_CORPSE_SRC_AREA_ENEMY. Closes #12803
2016-09-04 07:09:04 -03:00
ariel-
746b838870 Core/Spells / Scripts: Fix Lock and Load. Closes #16731 2016-09-04 04:21:04 -03:00
ariel-
31399d5f34 Core/Scripts: Implement Glyph of Backstab. Closes #7500 2016-09-04 01:31:02 -03:00
ariel-
14445d2202 Core/Misc: calculate rotation fields from orientation in some places it's impossible to get:
- SmartScripts: SMART_ACTION_SUMMON_GO
- Spell Effects:
  * SPELL_EFFECT_DUEL
  * SPELL_EFFECT_SUMMON_OBJECT_WILD
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT1
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT2
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT3
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT4
- Command Scripts: .gobject add

Closes #17891
2016-09-03 17:31:29 -03:00
ariel-
4829cca9fb Core/Spell: no need to bloat existing parameter lists. (f81754a306 follow up) 2016-09-02 03:59:14 -03:00
ariel-
65d0a9478d Core/Spell: Workaround cobra strikes into a charged aura instead of stacked.
Fixes #754
2016-09-01 01:36:29 -03:00
ariel-
f81754a306 Core/Spells: register SPELLMOD_CRITICAL_CHANCE in casting spell modifiers. 2016-09-01 01:34:17 -03:00
ariel-
3aa145cbe1 Core/Spells: Remove spellmods from SpellMod owner instead of caster (needed so pet casts properly remove aura charges) 2016-09-01 01:14:02 -03:00
ariel-
11f6801a5c Core/Spells: fix Bullheaded immunities
Closes #421
2016-08-31 23:12:57 -03:00
ariel-
81ec57b94f Core/Spells: Move Missile Barrage, Hot Streak and Brain Freeze mage talents to proc system. Also implement T8 4P Bonus.
Closes #1536
2016-08-31 22:43:19 -03:00
Gustavo
6ee35734e4 Whitespace clean-up 2016-08-29 01:11:04 +02:00