From 15943c95d84bd47980820a94b6990db38faea0d0 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Mon, 10 Jan 2011 15:32:00 +0300 Subject: [PATCH] [10996] Move set max original aura stack cases to aura holder creating This will avoid show unexpected "gain Name Name(2) Name(N)" spam in log. Maybe exist more nice way seelct like spells instead raw listing but i not see currently it. --- src/game/SpellAuras.cpp | 63 ++++++++++++++++++++------------------- src/game/SpellEffects.cpp | 20 ++----------- src/shared/revision_nr.h | 2 +- 3 files changed, 36 insertions(+), 49 deletions(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 39e9a4cb8..f4b65756f 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2035,6 +2035,9 @@ void Aura::HandleAuraDummy(bool apply, bool Real) // Pet will be following owner, this makes him stop target->addUnitState(UNIT_STAT_STUNNED); return; + case 58914: // Kill Command + target->CastSpell(target, 34027, true, NULL, this); + return; case 62061: // Festive Holiday Mount if (target->HasAuraType(SPELL_AURA_MOUNTED)) // Reindeer Transformation @@ -2053,6 +2056,9 @@ void Aura::HandleAuraDummy(bool apply, bool Real) case 71342: // Big Love Rocket Spell::SelectMountByAreaAndSkill(target, 71344, 71345, 71346, 71347, 0); return; + case 71563: // Deadly Precision + target->CastSpell(target, 71564, true, NULL, this); + return; case 72286: // Invincible Spell::SelectMountByAreaAndSkill(target, 72281, 72282, 72283, 72284, 0); return; @@ -2117,17 +2123,8 @@ void Aura::HandleAuraDummy(bool apply, bool Real) switch(GetId()) { case 55198: // Tidal Force - { - // apply max stack bufs - SpellEntry const* buffEntry = sSpellStore.LookupEntry(55166); - if (!buffEntry) - return; - - for(uint32 k = 0; k < buffEntry->StackAmount; ++k) - target->CastSpell(target, buffEntry, true, NULL, this); - + target->CastSpell(target, 55166, true, NULL, this); return; - } } // Earth Shield @@ -2361,38 +2358,30 @@ void Aura::HandleAuraDummy(bool apply, bool Real) return; case 24658: // Unstable Power { - uint32 spellId = 24659; if (apply) { - SpellEntry const *spell = sSpellStore.LookupEntry(spellId); Unit* caster = GetCaster(); - if (!spell || !caster) + if (!caster) return; - for (uint32 i = 0; i < spell->StackAmount; ++i) - caster->CastSpell(target, spellId, true, NULL, NULL, GetCasterGuid()); - - return; + caster->CastSpell(target, 24659, true, NULL, NULL, GetCasterGuid()); } - target->RemoveAurasDueToSpell(spellId); + else + target->RemoveAurasDueToSpell(24659); return; } case 24661: // Restless Strength { - uint32 spellId = 24662; if (apply) { - SpellEntry const* spell = sSpellStore.LookupEntry(spellId); Unit* caster = GetCaster(); - if (!spell || !caster) + if (!caster) return; - for (uint32 i=0; i < spell->StackAmount; ++i) - caster->CastSpell(target, spell->Id, true, NULL, NULL, GetCasterGuid()); - - return; + caster->CastSpell(target, 24662, true, NULL, NULL, GetCasterGuid()); } - target->RemoveAurasDueToSpell(spellId); + else + target->RemoveAurasDueToSpell(24662); return; } case 29266: // Permanent Feign Death @@ -8035,11 +8024,25 @@ m_permanent(false), m_isRemovedOnShapeLost(true), m_deleted(false), m_in_use(0) if(modOwner) modOwner->ApplySpellMod(GetId(), SPELLMOD_CHARGES, m_procCharges); - if (caster && caster->GetObjectGuid().IsUnit() && m_spellProto->Id == 22959) // Improved Scorch + // some custom stack values at aura holder create + switch (m_spellProto->Id) { - // Glyph of Improved Scorch - if (Aura* glyph = ((Unit*)caster)->GetDummyAura(56371)) - m_stackAmount = glyph->GetModifier()->m_amount; + case 22959: // Improved Scorch + if (caster && caster->GetObjectGuid().IsUnit()) + // Glyph of Improved Scorch + if (Aura* glyph = ((Unit*)caster)->GetDummyAura(56371)) + m_stackAmount = glyph->GetModifier()->m_amount; + break; + // some auras applied with max stack + case 24575: // Brittle Armor + case 24662: // Restless Strength + case 24659: // Unstable Power + case 26464: // Mercurial Shield + case 34027: // Kill Command + case 55166: // Tidal Force + case 71564: // Deadly Precision + m_stackAmount = m_spellProto->StackAmount; + break; } for (int32 i = 0; i < MAX_EFFECT_INDEX; ++i) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 742d9a951..30befc24f 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2887,28 +2887,12 @@ void Spell::EffectTriggerSpell(SpellEffectIndex effIndex) return; // Brittle Armor - (need add max stack of 24575 Brittle Armor) case 29284: - { - // Brittle Armor - SpellEntry const* spell = sSpellStore.LookupEntry(24575); - if (!spell) - return; - - for (uint32 j=0; j < spell->StackAmount; ++j) - m_caster->CastSpell(unitTarget, spell->Id, true, m_CastItem, NULL, m_originalCasterGUID); + m_caster->CastSpell(unitTarget, 24575, true, m_CastItem, NULL, m_originalCasterGUID); return; - } // Mercurial Shield - (need add max stack of 26464 Mercurial Shield) case 29286: - { - // Mercurial Shield - SpellEntry const* spell = sSpellStore.LookupEntry(26464); - if (!spell) - return; - - for (uint32 j=0; j < spell->StackAmount; ++j) - m_caster->CastSpell(unitTarget, spell->Id, true, m_CastItem, NULL, m_originalCasterGUID); + m_caster->CastSpell(unitTarget, 26464, true, m_CastItem, NULL, m_originalCasterGUID); return; - } // Righteous Defense case 31980: { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 89b67a850..3644d339f 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 "10995" + #define REVISION_NR "10996" #endif // __REVISION_NR_H__