diff --git a/src/game/Player.h b/src/game/Player.h index 742a3f19b..8e299ec08 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -524,6 +524,10 @@ enum PlayerFieldByteFlags enum PlayerFieldByte2Flags { PLAYER_FIELD_BYTE2_NONE = 0x00, + PLAYER_FIELD_BYTE2_DETECT_AMORE_0 = 0x02, // SPELL_AURA_DETECT_AMORE, not used as value and maybe not relcted to, but used in code as base for mask apply + PLAYER_FIELD_BYTE2_DETECT_AMORE_1 = 0x04, // SPELL_AURA_DETECT_AMORE value 1 + PLAYER_FIELD_BYTE2_DETECT_AMORE_2 = 0x08, // SPELL_AURA_DETECT_AMORE value 2 + PLAYER_FIELD_BYTE2_DETECT_AMORE_3 = 0x10, // SPELL_AURA_DETECT_AMORE value 3 PLAYER_FIELD_BYTE2_STEALTH = 0x20, PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW = 0x40 }; diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index c210b6aad..a19ac8789 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -220,7 +220,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= &Aura::HandleAuraModRangedAttackPowerPercent, //167 SPELL_AURA_MOD_RANGED_ATTACK_POWER_PCT &Aura::HandleNoImmediateEffect, //168 SPELL_AURA_MOD_DAMAGE_DONE_VERSUS implemented in Unit::SpellDamageBonusDone, Unit::MeleeDamageBonusDone &Aura::HandleNoImmediateEffect, //169 SPELL_AURA_MOD_CRIT_PERCENT_VERSUS implemented in Unit::DealDamageBySchool, Unit::DoAttackDamage, Unit::SpellCriticalBonus - &Aura::HandleNULL, //170 SPELL_AURA_DETECT_AMORE different spells that ignore transformation effects + &Aura::HandleDetectAmore, //170 SPELL_AURA_DETECT_AMORE different spells that ignore transformation effects &Aura::HandleAuraModIncreaseSpeed, //171 SPELL_AURA_MOD_SPEED_NOT_STACK &Aura::HandleAuraModIncreaseMountedSpeed, //172 SPELL_AURA_MOD_MOUNTED_SPEED_NOT_STACK &Aura::HandleUnused, //173 unused (3.0.8a-3.2.2a) no spells, old SPELL_AURA_ALLOW_CHAMPION_SPELLS only for Proclaim Champion spell @@ -4557,6 +4557,11 @@ void Aura::HandleInvisibilityDetect(bool apply, bool Real) ((Player*)target)->GetCamera().UpdateVisibilityForOwner(); } +void Aura::HandleDetectAmore(bool apply, bool /*real*/) +{ + GetTarget()->ApplyModByteFlag(PLAYER_FIELD_BYTES2, 3, (PLAYER_FIELD_BYTE2_DETECT_AMORE_0 << m_modifier.m_amount), apply); +} + void Aura::HandleAuraModRoot(bool apply, bool Real) { // only at real add/remove aura diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h index c1c8a381d..51c553a2f 100644 --- a/src/game/SpellAuras.h +++ b/src/game/SpellAuras.h @@ -268,6 +268,7 @@ class MANGOS_DLL_SPEC Aura void HandleAuraModRoot(bool Apply, bool Real); void HandleAuraModSilence(bool Apply, bool Real); void HandleAuraModStat(bool Apply, bool Real); + void HandleDetectAmore(bool Apply, bool Real); void HandleAuraModIncreaseSpeed(bool Apply, bool Real); void HandleAuraModIncreaseMountedSpeed(bool Apply, bool Real); void HandleAuraModIncreaseFlightSpeed(bool Apply, bool Real); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 35d5295e9..0d2d7f200 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11699" + #define REVISION_NR "11700" #endif // __REVISION_NR_H__