*Fix Desecration.
*Correct a typo which made some of charged auras to be not dropped. --HG-- branch : trunk
This commit is contained in:
@@ -766,7 +766,8 @@ void AreaAuraEffect::Update(uint32 diff)
|
||||
case AREA_AURA_PET:
|
||||
{
|
||||
if(Unit *owner = caster->GetCharmerOrOwner())
|
||||
targets.push_back(owner);
|
||||
if (owner->IsWithinDistInMap(source, m_radius))
|
||||
targets.push_back(owner);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -836,7 +837,7 @@ void AreaAuraEffect::Update(uint32 diff)
|
||||
}
|
||||
else if (!source->IsWithinDistInMap(m_target, m_radius))
|
||||
{
|
||||
if (needFriendly)
|
||||
if (needFriendly && source->isMoving())
|
||||
{
|
||||
m_removeTime -= diff;
|
||||
if (m_removeTime < 0)
|
||||
|
||||
@@ -3470,7 +3470,10 @@ void Spell::EffectSummonType(uint32 i)
|
||||
|
||||
TempSummon * summon = m_originalCaster->SummonCreature(entry,px,py,pz,m_caster->GetOrientation(),summonType,duration);
|
||||
if (properties->Category == SUMMON_CATEGORY_ALLY)
|
||||
summon->setFaction(m_caster->getFaction());
|
||||
{
|
||||
summon->SetUInt64Value(UNIT_FIELD_SUMMONEDBY, m_originalCaster->GetGUID());
|
||||
summon->setFaction(m_originalCaster->getFaction());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
|
||||
}
|
||||
|
||||
Spell *spell = new Spell(mover, spellInfo, false);
|
||||
spell->m_cast_count = cast_count; // set count of casts
|
||||
spell->m_cast_count = ++cast_count; // set count of casts
|
||||
spell->prepare(&targets);
|
||||
}
|
||||
|
||||
|
||||
@@ -3568,6 +3568,8 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
case 51904: // Summon Ghouls On Scarlet Crusade (core does not know the triggered spell is summon spell)
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER;
|
||||
break;
|
||||
case 29809: // Desecration Arm - 36 instead of 37 - typo? :/
|
||||
spellInfo->EffectRadiusIndex[0] = 37;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -12686,6 +12686,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
||||
DealDamageMods(damageInfo.target,damageInfo.damage,&damageInfo.absorb);
|
||||
SendSpellNonMeleeDamageLog(&damageInfo);
|
||||
DealSpellDamage(&damageInfo, true);
|
||||
takeCharges=true;
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_MANA_SHIELD:
|
||||
@@ -12751,6 +12752,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
||||
(isVictim?"a victim's":"an attacker's"),triggeredByAura->GetId());
|
||||
|
||||
HandleAuraRaidProcFromChargeWithValue(triggeredByAura);
|
||||
takeCharges=true;
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_RAID_PROC_FROM_CHARGE:
|
||||
@@ -12759,6 +12761,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
||||
(isVictim?"a victim's":"an attacker's"),triggeredByAura->GetId());
|
||||
|
||||
HandleAuraRaidProcFromCharge(triggeredByAura);
|
||||
takeCharges=true;
|
||||
break;
|
||||
}
|
||||
case SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE:
|
||||
|
||||
Reference in New Issue
Block a user