*Fix forbearance.

*Fix new ranks of Holy Nova.
*Fix Imp. holy concentration.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-02-25 19:35:44 +01:00
parent 98b8e2eeb6
commit 50d2fc34ec
3 changed files with 30 additions and 8 deletions
+13
View File
@@ -0,0 +1,13 @@
INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
(48077, 48075, 0, 'Holy Nova (rank8)'),
(48078, 48076, 0, 'Holy Nova (rank9)'),
(47585, 60069, 0, 'Dispersion (transform/regen)');
DELETE FROM `spell_proc_event` WHERE `entry` IN (47549);
INSERT INTO `spell_proc_event` VALUES (47549, 0x00, 6, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
DELETE FROM `spell_proc_event` WHERE `entry` IN (47551);
INSERT INTO `spell_proc_event` VALUES (47551, 0x00, 6, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
DELETE FROM `spell_proc_event` WHERE `entry` IN (47552);
INSERT INTO `spell_proc_event` VALUES (47552, 0x00, 6, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
+13 -7
View File
@@ -1127,7 +1127,20 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask)
// Apply additional spell effects to target // Apply additional spell effects to target
if (m_preCastSpell) if (m_preCastSpell)
{
// Special spell id
// TODO: Handle all of special spells in one place?
if(m_preCastSpell==61988)
{
//Cast forbearance
m_caster->CastSpell(unit,25771, true, m_CastItem);
// Cast Avenging Wrath Marker
m_caster->CastSpell(unit,61987, true, m_CastItem);
}
else
m_caster->CastSpell(unit,m_preCastSpell, true, m_CastItem); m_caster->CastSpell(unit,m_preCastSpell, true, m_CastItem);
}
for(uint32 effectNumber=0;effectNumber<3;effectNumber++) for(uint32 effectNumber=0;effectNumber<3;effectNumber++)
{ {
@@ -2179,13 +2192,6 @@ void Spell::cast(bool skipCheck)
m_preCastSpell = 23230; // Blood Fury - Healing Reduction m_preCastSpell = 23230; // Blood Fury - Healing Reduction
break; break;
} }
case SPELLFAMILY_PRIEST:
{
if (m_spellInfo->Id == 47585) // Dispersion (transform)
m_preCastSpell = 60069; // Dispersion (mana regen)
break;
}
} }
// traded items have trade slot instead of guid in m_itemTargetGUID // traded items have trade slot instead of guid in m_itemTargetGUID
// set to real guid to be sent later to the client // set to real guid to be sent later to the client
+3
View File
@@ -4332,6 +4332,9 @@ Aura* Unit::GetAura(AuraType type, uint32 family, uint32 familyFlag1, uint32 fam
bool Unit::HasAura(uint32 spellId) const bool Unit::HasAura(uint32 spellId) const
{ {
//Special case for non existing spell
if (spellId==61988)
return HasAura(61987) || HasAura(25771);
for (int i = 0; i < 3 ; ++i) for (int i = 0; i < 3 ; ++i)
{ {
AuraMap::const_iterator iter = m_Auras.find(spellEffectPair(spellId, i)); AuraMap::const_iterator iter = m_Auras.find(spellEffectPair(spellId, i));