aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-08-17 20:57:39 -0500
committerSubv <s.v.h21@hotmail.com>2012-08-17 20:57:39 -0500
commit7e2c8f5ed9bb431211fa9850e6b62ee957b9167c (patch)
tree29a75e911d47d9319d602e93bcdef05dcabff8d6 /src
parent40cfb0fa85f346aec5a4b7c679bc631c2baac55f (diff)
Core/Spells: Fixed some auras
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp3
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuraDefines.h10
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp3
3 files changed, 10 insertions, 6 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 7bb796cdb37..34a0528f6ec 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -9449,6 +9449,9 @@ uint32 Unit::SpellDamageBonusDone(Unit* victim, SpellInfo const* spellProto, uin
if (victim->HasAuraState(AuraStateType((*i)->GetMiscValue())))
AddPctN(DoneTotalMod, (*i)->GetAmount());
+ // Add SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC percent bonus
+ AddPctN(DoneTotalMod, GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC, spellProto->Mechanic));
+
// done scripted mod (take it from owner)
Unit* owner = GetOwner() ? GetOwner() : this;
AuraEffectList const& mOverrideClassScript= owner->GetAuraEffectsByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h
index 4be9f7c807b..b69f4b20b51 100755
--- a/src/server/game/Spells/Auras/SpellAuraDefines.h
+++ b/src/server/game/Spells/Auras/SpellAuraDefines.h
@@ -335,7 +335,7 @@ enum AuraType
SPELL_AURA_X_RAY = 273,
SPELL_AURA_ABILITY_CONSUME_NO_AMMO = 274,
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
- SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC = 276, // NYI
+ SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC = 276,
SPELL_AURA_MOD_MAX_AFFECTED_TARGETS = 277,
SPELL_AURA_MOD_DISARM_RANGED = 278,
SPELL_AURA_INITIALIZE_IMAGES = 279,
@@ -371,7 +371,7 @@ enum AuraType
SPELL_AURA_309 = 309,
SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE = 310,
SPELL_AURA_311 = 311,
- SPELL_AURA_312 = 312,
+ SPELL_AURA_312 = 312, // puts the caster in stealth?
SPELL_AURA_313 = 313,
SPELL_AURA_PREVENT_RESURRECTION = 314,
SPELL_AURA_UNDERWATER_WALKING = 315,
@@ -379,7 +379,7 @@ enum AuraType
SPELL_AURA_MOD_SPELL_POWER_PCT = 317,
SPELL_AURA_MASTERY = 318,
SPELL_AURA_MOD_MELEE_HASTE_3 = 319,
- SPELL_AURA_MOD_RANGED_ATTACK_SPEED = 320, // NYI
+ SPELL_AURA_MOD_RANGED_HASTE_2 = 320,
SPELL_AURA_321 = 321,
SPELL_AURA_INTERFERE_TARGETTING = 322, // NYI
SPELL_AURA_323 = 323,
@@ -391,8 +391,8 @@ enum AuraType
SPELL_AURA_MOD_RUNE_REGEN_SPEED = 329, // NYI
SPELL_AURA_CAST_WHILE_WALKING = 330, // NYI
SPELL_AURA_331 = 331,
- SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS = 332, // NYI
- SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS_2 = 333, // NYI
+ SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS = 332,
+ SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS_2 = 333,
SPELL_AURA_334 = 334,
SPELL_AURA_335 = 335,
SPELL_AURA_MOD_FLYING_RESTRICTIONS = 336, // NYI
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 3698e91e280..2c9f8773fd5 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -373,7 +373,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleNULL, //317 SPELL_AURA_MOD_SPELL_POWER_PCT
&AuraEffect::HandleNULL, //318 SPELL_AURA_MASTERY
&AuraEffect::HandleModMeleeSpeedPct, //319 SPELL_AURA_MOD_MELEE_HASTE_3
- &AuraEffect::HandleNULL, //320 SPELL_AURA_MOD_RANGED_ATTACK_SPEED
+ &AuraEffect::HandleAuraModRangedHaste, //320 SPELL_AURA_MOD_RANGED_HASTE_2
&AuraEffect::HandleNULL, //321 SPELL_AURA_321
&AuraEffect::HandleNULL, //322 SPELL_AURA_INTERFERE_TARGETTING
&AuraEffect::HandleNULL, //323 SPELL_AURA_323
@@ -4522,6 +4522,7 @@ void AuraEffect::HandleAuraModRangedHaste(AuraApplication const* aurApp, uint8 m
if (!(mode & (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_STAT)))
return;
+ //! ToDo: Haste auras with the same handler _CAN'T_ stack together
Unit* target = aurApp->GetTarget();
target->ApplyAttackTimePercentMod(RANGED_ATTACK, (float)GetAmount(), apply);