--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-11 12:01:27 -05:00
4 changed files with 35 additions and 6 deletions
+4
View File
@@ -0,0 +1,4 @@
INSERT IGNORE INTO `spell_linked_spell` VALUES (53563, 53651, 2, 'Beacon of Light');
INSERT INTO `spell_proc_event` VALUES
(53651, 0x00, 10, 0xC0008000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0.000000, 0.000000, 0);
-4
View File
@@ -359,10 +359,6 @@ void Pet::SavePetToDB(PetSaveMode mode)
if(mode > PET_SAVE_AS_CURRENT)
{
RemoveAllAuras();
//only alive hunter pets get auras saved, the others don't
if(!(getPetType() == HUNTER_PET && isAlive()))
m_Auras.clear();
}
_SaveSpells();
+3 -2
View File
@@ -4641,8 +4641,9 @@ bool Spell::CanAutoCast(Unit* target)
}
else
{
if( (target->GetAuraEffect(m_spellInfo->Id, j))->GetParentAura()->GetStackAmount() >= m_spellInfo->StackAmount)
return false;
if( AuraEffect * aureff = target->GetAuraEffect(m_spellInfo->Id, j))
if (aureff->GetParentAura()->GetStackAmount() >= m_spellInfo->StackAmount)
return false;
}
}
else if ( IsAreaAuraEffect( m_spellInfo->Effect[j] ))
+28
View File
@@ -5834,6 +5834,34 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
basepoints0 = GetAttackTime(BASE_ATTACK) * int32(ap*0.022f + 0.044f * holy) / 1000;
break;
}
// Light's Beacon - Beacon of Light
if ( dummySpell->Id == 53651 )
{
if (Unit * caster = triggeredByAura->GetCaster())
{
// do not proc when target of beacon of light is healed
if (caster == pVictim)
return false;
if (Aura * aur = caster->GetAura(53563))
{
if (Unit * paladin = aur->GetCaster())
{
if (paladin != this)
return false;
basepoints0 = damage;
triggered_spell_id = 53654;
target = caster;
break;
}
else
{
pVictim->RemoveAura(triggeredByAura->GetParentAura());
return false;
}
}
}
else return false;
}
// Judgements of the Wise
if (dummySpell->SpellIconID == 3017)
{