*Allow damage shield hits to miss.

*Send overkill on damage shield hit.
*Correct data order for execute log of power take effects.

--HG--
branch : trunk
This commit is contained in:
QAston
2010-08-29 03:38:21 +02:00
parent f67441b863
commit 2d877bbbfd
5 changed files with 43 additions and 44 deletions
@@ -1238,12 +1238,8 @@ bool AuraEffect::IsPeriodicTickCrit(Unit * target, Unit const * caster) const
void AuraEffect::SendTickImmune(Unit * target, Unit *caster) const
{
WorldPacket data(SMSG_SPELLORDAMAGE_IMMUNE, 8+8+4+1);
data << uint64(caster ? caster->GetGUID() : target->GetGUID());
data << uint64(target->GetGUID());
data << uint32(m_spellProto->Id);
data << uint8(1);
target->SendMessageToSet(&data,true);
if (caster)
caster->SendSpellDamageImmune(target, m_spellProto->Id);
}
void AuraEffect::PeriodicTick(Unit * target, Unit * caster) const
+2 -2
View File
@@ -4153,8 +4153,8 @@ void Spell::ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit * target, uint3
{
InitEffectExecuteData(effIndex);
m_effectExecuteData[effIndex]->append(target->GetPackGUID());
*m_effectExecuteData[effIndex] << uint32(powerType);
*m_effectExecuteData[effIndex] << uint32(powerTaken);
*m_effectExecuteData[effIndex] << uint32(powerType);
*m_effectExecuteData[effIndex] << float(gainMultiplier);
}
@@ -4176,7 +4176,7 @@ void Spell::ExecuteLogEffectDurabilityDamage(uint8 effIndex, Unit * victim, uint
{
InitEffectExecuteData(effIndex);
m_effectExecuteData[effIndex]->append(victim->GetPackGUID());
*m_effectExecuteData[effIndex] << uint32(itemslot);
*m_effectExecuteData[effIndex] << uint32(m_spellInfo->Id);
*m_effectExecuteData[effIndex] << uint32(damage);
}
+1
View File
@@ -2585,6 +2585,7 @@ void Spell::EffectHealthLeech(SpellEffIndex effIndex)
float healMultiplier = SpellMgr::CalculateSpellEffectValueMultiplier(m_spellInfo, effIndex, m_originalCaster, this);
int32 newDamage = int32(damage * healMultiplier);
newDamage = std::min(int32(unitTarget->GetHealth()), newDamage);
m_damage += newDamage;
if (m_caster->isAlive())