*Fix Invigoration
--HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (53397);
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
|
||||
(53397, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0); -- Invigoration
|
||||
@@ -1380,6 +1380,7 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
|
||||
(53382, 0x00, 10, 0x00800000, 0x00020000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Righteous Vengeance (Rank 3)
|
||||
(53383, 0x00, 10, 0x00800000, 0x00020000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Righteous Vengeance (Rank 4)
|
||||
(53384, 0x00, 10, 0x00800000, 0x00020000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Righteous Vengeance (Rank 5)
|
||||
(53397, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Invigoration
|
||||
(53486, 0x00, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- The Art of War (Rank 1)
|
||||
(53488, 0x00, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- The Art of War (Rank 2)
|
||||
(53501, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Sheath of Light (Rank 1)
|
||||
|
||||
@@ -7232,7 +7232,7 @@ void AuraEffect::HandleReflectSpells( bool Apply, bool Real , bool /*changeAmoun
|
||||
if (Unit * caster = GetCaster())
|
||||
{
|
||||
// Improved Spell Reflection
|
||||
if (caster->GetDummyAura(59089) || caster->GetDummyAura(59088))
|
||||
if (caster->GetDummyAura(SPELLFAMILY_WARRIOR,1935))
|
||||
{
|
||||
// aura remove - remove auras from all party members
|
||||
std::list<Unit*> PartyMembers;
|
||||
|
||||
@@ -5141,6 +5141,16 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||
{
|
||||
switch(m_spellInfo->Id)
|
||||
{
|
||||
// Invigoration
|
||||
case 53412:
|
||||
{
|
||||
if (AuraEffect * aurEff = unitTarget->GetDummyAura(SPELLFAMILY_HUNTER, 3487))
|
||||
{
|
||||
if (roll_chance_i(aurEff->GetAmount()))
|
||||
unitTarget->CastSpell(unitTarget, 53398, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Heart of the Pheonix
|
||||
case 55709:
|
||||
{
|
||||
|
||||
@@ -13039,6 +13039,19 @@ AuraEffect* Unit::GetDummyAura( uint32 spell_id ) const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
AuraEffect* Unit::GetDummyAura(SpellFamilyNames name, uint32 iconId) const
|
||||
{
|
||||
Unit::AuraEffectList const& mDummy = GetAurasByType(SPELL_AURA_DUMMY);
|
||||
for(Unit::AuraEffectList::const_iterator itr = mDummy.begin(); itr != mDummy.end(); ++itr)
|
||||
{
|
||||
SpellEntry const * spell = (*itr)->GetSpellProto();
|
||||
if (spell->SpellIconID == iconId && spell->SpellFamilyName == name
|
||||
&& !spell->SpellFamilyFlags)
|
||||
return *itr;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool Unit::IsUnderLastManaUseEffect() const
|
||||
{
|
||||
return getMSTimeDiff(m_lastManaUse,getMSTime()) < 5000;
|
||||
|
||||
+4
-1
@@ -36,6 +36,8 @@
|
||||
#include "DBCStructure.h"
|
||||
#include <list>
|
||||
|
||||
enum SpellFamilyNames;
|
||||
|
||||
#define WORLD_TRIGGER 12999
|
||||
|
||||
enum SpellInterruptFlags
|
||||
@@ -1563,6 +1565,8 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
bool HasAura(Aura * aur) const;
|
||||
bool HasAuraType(AuraType auraType) const;
|
||||
bool HasAuraTypeWithMiscvalue(AuraType auratype, uint32 miscvalue) const;
|
||||
AuraEffect* GetDummyAura(uint32 spell_id) const;
|
||||
AuraEffect* GetDummyAura(SpellFamilyNames name, uint32 iconId) const;
|
||||
uint32 GetDiseasesByCaster(uint64 casterGUID) const;
|
||||
uint32 GetDoTsByCaster(uint64 casterGUID) const;
|
||||
|
||||
@@ -1581,7 +1585,6 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
int32 GetMaxPositiveAuraModifierByMiscValue(AuraType auratype, int32 misc_value) const;
|
||||
int32 GetMaxNegativeAuraModifierByMiscValue(AuraType auratype, int32 misc_value) const;
|
||||
|
||||
AuraEffect* GetDummyAura(uint32 spell_id) const;
|
||||
uint32 GetInterruptMask() const { return m_interruptMask; }
|
||||
void AddInterruptMask(uint32 mask) { m_interruptMask |= mask; }
|
||||
void UpdateInterruptMask();
|
||||
|
||||
Reference in New Issue
Block a user