Commit Graph

1794 Commits

Author SHA1 Message Date
Aokromes
12068f4cc1 typo fix 2016-11-27 04:50:47 +01:00
Aokromes
be8cb29c93 Core/Unit: add impurity attack power bonus to healing too (for Death …
…Coil for example)
2016-11-27 03:21:03 +01:00
Aokromes
c0ba6c2dfe Core/Auras: Rewritten conditionally applying SPELL_AURA_MOD_WEAPON_CR…
…IT_PERCENT, SPELL_AURA_MOD_DAMAGE_DONE and SPELL_AURA_MOD_DAMAGE_PERCENT_DONE auras

* Now the entire aura is removed when changing equipment
* All aura types can now depend on equipped items
2016-11-27 03:09:29 +01:00
Aokromes
6c76eff031 Core/Unit: fix some SPELL_AURA_MOD_DAMAGE_PERCENT_DONE effects being …
…applied more than once

No more overpowered dps for you
2016-11-27 01:36:22 +01:00
ariel-
227dc4d907 Core/Unit: fix build
Ctrl-S failure
2016-11-27 01:24:19 +01:00
Aokromes
e4dd97765e Core/Spell: revamp of immunities system
- Spell attributes research
- Container optimization
- Do not skip damage immunity checks on SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY present
- Added additonal arguments support to SendCastResult / CheckCast, spells can now send proper error messages
- Loads spell immune masks/states/effects at startup.
- This cached info is used whenever a spell cast requires immunities to be known beforehand (to see if an aura could be applied for example)
2016-11-19 06:10:14 +01:00
ariel-
1fcb8e0b4e Core/Unit: consider creatures with same faction to be on the same party/raid for the purposes of spell/aura targets
Ref #18233
2016-11-15 05:46:05 +01:00
Shauren
5ddf50bdee Core/Auras: Fixed removing auras triggered by aurastates
Closes #17868

(cherry picked from commit f94e6cee38)
2016-11-15 05:43:30 +01:00
Aokromes
de6b2eeca1 Revert "Core/Unit: send original caster in heal packet log"
This reverts commit 7290ff87e7.
2016-11-02 04:44:36 +01:00
Aokromes
7290ff87e7 Core/Unit: send original caster in heal packet log 2016-11-02 03:16:18 +01:00
ariel-
4e61ff8c9c Core/Unit: consistency fix 2016-11-02 03:12:25 +01:00
ariel-
7a0647ec46 Core/Unit: fix warning reported by VS2015
C4146: unary minus operator applied to unsigned type, result still unsigned
2016-11-02 03:01:30 +01:00
ariel-
c0ef2ba55c Core/Unit: fix logic error in DamageInfo::ModifyDamage.
Previous code did not protect against m_damage underflow, rather only allow up to duplicate damage.
It now should work as intended.

Closes #18154
2016-11-02 02:56:40 +01:00
Aokromes
f88d3935fc Core/Unit: fix chain cc's not being diminished properly 2016-11-02 02:45:27 +01:00
Aokromes
7763d40846 Core/Unit: prematurely abort GetFactionTemplateEntry instead of retur…
…ning a null pointer

Factions should never be invalid for players/spawned creatures anyways
2016-10-24 14:06:59 +02:00
ariel-
b4ceb798e0 Core/AI: initial support for monster sparring (#17673) 2016-10-24 13:30:22 +02:00
Keader
1e60c73ad9 Core/Unit: Remove incorrect check that dont allow units attack your vehicle/passenger (#17932) 2016-10-24 13:27:40 +02:00
Aokromes
114db3b9a4 Revert "Core/Spells: Calculate hitMask and store it in DamageInfo/HealInfo structures"
This reverts commit a3e5afc027.
2016-10-21 07:27:15 +02:00
Aokromes
57d0a5d16d Revert "Core/Spells: Implementation of QAston proc system"
This reverts commit a70e4e26b3.
2016-10-21 07:27:04 +02:00
Aokromes
f9ebb50a8a Revert "Typo fix"
This reverts commit 32277391cc.
2016-10-21 07:26:42 +02:00
Aokromes
06fff9a83f Revert "Core/Unit: Remove unused code as for 4.3.4"
This reverts commit 42e74822b8.
2016-10-21 07:26:23 +02:00
Aokromes
16813bdb8c Revert "Missing changes"
This reverts commit 456065bad1.
2016-10-21 07:26:01 +02:00
Aokromes
456065bad1 Missing changes 2016-10-11 08:32:41 +02:00
Aokromes
42e74822b8 Core/Unit: Remove unused code as for 4.3.4
By Girip_Dragos
2016-10-09 15:46:41 +02:00
Aokromes
32277391cc Typo fix 2016-10-05 17:16:30 +02:00
Aokromes
a70e4e26b3 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-05 13:19:51 +02:00
Shauren
a3e5afc027 Core/Spells: Calculate hitMask and store it in DamageInfo/HealInfo structures 2016-10-05 08:01:38 +02:00
Shauren
f5a980be9b Core/Units: Clear UNIT_NPC_EMOTESTATE on death (blizzlike)
Closes #15263
Closes #18027
2016-10-04 18:07:59 +02:00
SnapperRy
1a29f04e00 Core/Unit: don't reset offhand timer for players when starting attack.
Creatures are unaffected by this change. Not sure how they should behave in this case, so leaving it alone for now.

Closes #945.
2016-10-04 06:36:39 +02:00
joschiwald
4ed2cd9500 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-03 14:42:37 +02:00
treeston
8a402b9f6b Core/Unit: Standardize SetFacingTo and SetFacingToObject behavior while moving. Both now fail while moving unless arg2 bool is true 2016-09-20 20:28:45 +02:00
Treeston
226762216a Map/Instances: Greatly simplify PermBindAllPlayers logic. (#17940) 2016-09-18 07:38:06 +02:00
Aokromes
a952526efe Core/Achievement: do not consider overkill damage for ACHIEVEMENT_CRI…
…TERIA_TYPE_DAMAGE_DONE.
2016-09-15 17:07:42 +02:00
ariel-
1bb7c63cf9 Core/Entities: moved duplicated triggered cast proc check to Unit::ProcDamageAndSpellFor, it was preventing some always triggered auras from proccing. 2016-09-08 07:07:15 +02:00
ariel-
97a404803d Another build fix.
(it was probably better to just revert the commit instead)
2016-09-02 10:48:29 +02:00
ariel-
8ab6ba6ebc Note to self: drycoding is bad 2016-09-02 10:48:06 +02:00
ariel-
f4957850e1 Core/Spell: no need to bloat existing parameter lists. (f81754a306 follow up) 2016-09-02 10:47:41 +02:00
ariel-
8e96d7fc8e Core/Spells: register SPELLMOD_CRITICAL_CHANCE in casting spell modifiers. 2016-09-01 15:19:49 +02:00
Naios
2f22212d0d Core/Unit: Force cancel unit events before invalidating the object on destruction
* Closes #16675
2016-08-29 22:08:02 +02:00
Aokromes
9feafe00bb Entities/Unit: Add overload to NearTeleportTo taking Position const&. 2016-08-27 09:30:32 +02:00
SnapperRy
ca98eaf408 Core/Unit: do not refresh last damaged timer if hit by SPELL_AURA_DAMAGE_SHIELD.
Fixes spells like Retribution Aura, Thorns and Damage Shield that were preventing units from evading.
2016-08-26 00:01:57 +02:00
ariel-
36d08ecd18 Core/Unit: removed ancient workaround changing spell caster based on triggering aura.
Keep an eye out for those broken scripts!

Closes #17739
2016-08-22 20:53:34 +02:00
Treeston
a29913187b Core/Spells: Fix orientation- and targeting-related issues if the creature isn't currently engaged in combat. (#17120)
Also disable spell focus system for vehicle control auras.

Closes #16572
Closes #17016
2016-08-21 13:16:30 +02:00
Aokromes
32d3f380bb more picks 2016-08-21 01:33:04 +02:00
Shauren
a778c8033f Core/Spells: Fixed possible null pointer dereference
Coverity CID 1357406

(cherry picked from commit cc07a491f6)
2016-08-20 15:54:14 +02:00
Aokromes
375b7a61c4 Core/Units: Fixed melee range check
* Split Spell::CheckRange() into 2 methods since that method had more than one responsibility.
* Moved melee range logic into its own function
* Moved melee range logic method GetMeleeRange from Spell to Unit class. Unit::IsWithinMeleeRange() and Spell::GetMinMaxRange() both use that method.
2016-08-16 12:25:53 +02:00
robinsch
c406fb2a73 Core/Spell: Remove all raid auras on party leave (#17663)
Core/Spell: Remove all raid auras on party leave
2016-08-15 00:03:33 +02:00
Aokromes
cb4861a7ad Core/Movement: Do not launch pathfinding for splines turning on the spot 2016-08-10 20:27:54 +02:00
Aokromes
5302d9112b Core/Game: Converted the game library to a shared library.
* There is still the possibility to static link against game.
2016-08-08 20:11:29 +02:00
Aokromes
340b0227bf Core/Logs: Fine tunning some logs 2016-08-07 21:28:07 +02:00