
Untitled
By: a guest on
Jul 30th, 2012 | syntax:
C++ | size: 1.04 KB | hits: 21 | expires: Never
else if (m_spellInfo->Id == 596) // priere de soin
{
//sLog->outString("POH");
if(m_caster->HasAura(47509) || m_caster->HasAura(47511) || m_caster->HasAura(47515)) // egide divine talent rang 1,2,3
{
float amount = 0;
AuraEffect* ae;
if(m_caster->HasAura(47509)) //rang 1
amount = damage*0.1;
else if(m_caster->HasAura(47511)) //rang 2
amount = damage*0.2;
else if(m_caster->HasAura(47515)) //rang 3
amount = damage*0.3;
//appliquer maitrise
int32 mastery = (int)((m_caster->ToPlayer()->GetRatingBonusValue(CR_MASTERY) + 8) * 2.5);
amount = (amount/100.0) * (100.0 + (float)mastery);
if(unitTarget->HasAura(47753)) //si deja un on recup valeur puis enlever buff
{
ae = unitTarget->GetAuraEffect(47753, 0);
amount += ae->GetAmount();
unitTarget->RemoveAura(47753);
}
//mettre le buff
m_caster->AddAura(47753, unitTarget);
ae = unitTarget->GetAuraEffect(47753, 0);
if(amount > m_caster->GetMaxHealth()*0.4)
amount = m_caster->GetMaxHealth()*0.4;
ae->SetAmount((int32)amount);
}
}