diff options
-rw-r--r-- | sql/updates/3943_world_spell_proc_event.sql | 8 | ||||
-rw-r--r-- | sql/world_spell_full.sql | 3 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 6 | ||||
-rw-r--r-- | src/game/Unit.cpp | 7 |
4 files changed, 23 insertions, 1 deletions
diff --git a/sql/updates/3943_world_spell_proc_event.sql b/sql/updates/3943_world_spell_proc_event.sql new file mode 100644 index 00000000000..5776d411995 --- /dev/null +++ b/sql/updates/3943_world_spell_proc_event.sql @@ -0,0 +1,8 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN (52610); +INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES +(52610, 0x00, 7, 0x80000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0, 0, 0); -- Savage roar + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (52610, -52610); +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +( 52610, 62071, 0, 'Savage Roar'), +( -52610, -62071, 0, 'Savage Roar');
\ No newline at end of file diff --git a/sql/world_spell_full.sql b/sql/world_spell_full.sql index 0ca4fc884d1..61456af0c4a 100644 --- a/sql/world_spell_full.sql +++ b/sql/world_spell_full.sql @@ -78,6 +78,9 @@ INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comm ( 32391, 60468, 2, 'Shadow Embrace Rank5'), ( 33206, 44416, 2, 'Pain Suppression (threat)'), ( 50720, 59665, 0, 'Vigilance (redirect threat)'), +( 52610, 62071, 0, 'Savage Roar'), +( -52610, -62071, 0, 'Savage Roar'), + -- Creature ( 36574, 36650, 0, 'Apply Phase Slip Vulnerability'), -- instance diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index bd49f494b26..cbfebbb065c 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -398,6 +398,11 @@ m_auraSlot(MAX_AURAS), m_auraLevel(1), m_procCharges(0), m_stackAmount(1),m_aura if(!m_permanent && modOwner) { + // Glyph of Thorns + if (m_target == caster && m_spellProto->SpellFamilyName==SPELLFAMILY_DRUID && m_spellProto->SpellFamilyFlags[0] & 0x100) + if (AuraEffect * aurEff = m_target->GetDummyAura(57862)) + m_maxduration += aurEff->GetAmount() * MINUTE * IN_MILISECONDS; + modOwner->ApplySpellMod(GetId(), SPELLMOD_DURATION, m_maxduration); // Get zero duration aura after - need set m_maxduration > 0 for apply/remove aura work if (m_maxduration<=0) @@ -2754,7 +2759,6 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount) return; } } - // Lifebloom if ( GetSpellProto()->SpellFamilyFlags[1] & 0x10 ) { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index ca478a42c9e..4c1022d4ae9 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5814,6 +5814,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger { switch(dummySpell->Id) { + // Savage Roar (aura recast on return to cat form) + case 52610: + { + target = this; + triggered_spell_id = 62071; + break; + } // Leader of the Pack case 24932: { |