*Small code cleanup, try to fix crash.
--HG-- branch : trunk
This commit is contained in:
+1
-1
@@ -18940,7 +18940,7 @@ void Player::learnSkillRewardedSpells(uint32 skill_id, uint32 skill_value )
|
||||
|
||||
void Player::SendAurasForTarget(Unit *target)
|
||||
{
|
||||
if(target->GetVisibleAuras()->empty()) // speedup things
|
||||
if(!target || target->GetVisibleAuras()->empty()) // speedup things
|
||||
return;
|
||||
|
||||
WorldPacket data(SMSG_AURA_UPDATE_ALL);
|
||||
|
||||
+6
-12
@@ -276,7 +276,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||
&Aura::HandleModManaRegen, //219 SPELL_AURA_MOD_MANA_REGEN_FROM_STAT
|
||||
&Aura::HandleModRatingFromStat, //220 SPELL_AURA_MOD_RATING_FROM_STAT
|
||||
&Aura::HandleNULL, //221 ignored
|
||||
&Aura::HandleUnused, //222 unused
|
||||
&Aura::HandleNULL, //222 unused
|
||||
&Aura::HandleNULL, //223 Cold Stare
|
||||
&Aura::HandleUnused, //224 unused
|
||||
&Aura::HandleNoImmediateEffect, //225 SPELL_AURA_PRAYER_OF_MENDING
|
||||
@@ -334,7 +334,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||
&Aura::HandleNoImmediateEffect, //277 SPELL_AURA_MOD_ABILITY_AFFECTED_TARGETS implemented in spell::settargetmap
|
||||
&Aura::HandleAuraModDisarm, //278 SPELL_AURA_MOD_DISARM_RANGED disarm ranged weapon
|
||||
&Aura::HandleNULL, //279
|
||||
&Aura::HandleNULL, //280 SPELL_AURA_MOD_TARGET_ARMOR_PCT
|
||||
&Aura::HandleNoImmediateEffect, //280 SPELL_AURA_MOD_WEAPONTYPE_IGNORE_TARGET_RESISTANCE
|
||||
&Aura::HandleNoImmediateEffect, //281 SPELL_AURA_MOD_HONOR_GAIN_PCT implemented in Player::RewardHonor
|
||||
&Aura::HandleAuraIncreaseBaseHealthPercent, //282 SPELL_AURA_INCREASE_BASE_HEALTH_PERCENT
|
||||
&Aura::HandleNoImmediateEffect //283 SPELL_AURA_MOD_HEALING_RECEIVED implemented in Unit::SpellHealingBonus
|
||||
@@ -840,11 +840,8 @@ void Aura::_AddAura()
|
||||
|
||||
SetAuraSlot( slot );
|
||||
|
||||
if(slot < MAX_AURAS) // slot found send data to client
|
||||
{
|
||||
// update for out of range group members (on 1 slot use)
|
||||
m_target->UpdateAuraForGroup(slot);
|
||||
}
|
||||
// update for out of range group members (on 1 slot use)
|
||||
m_target->UpdateAuraForGroup(slot);
|
||||
|
||||
//*****************************************************
|
||||
// Update target aura state flag (at 1 aura apply)
|
||||
@@ -1055,11 +1052,8 @@ bool Aura::modStackAmount(int32 num)
|
||||
void Aura::RefreshAura()
|
||||
{
|
||||
m_duration = m_maxduration;
|
||||
if(GetAuraSlot() < MAX_AURAS) // slot found send data to client
|
||||
{
|
||||
// update for out of range group members (on 1 slot use)
|
||||
m_target->UpdateAuraForGroup(GetAuraSlot());
|
||||
}
|
||||
// update for out of range group members (on 1 slot use)
|
||||
m_target->UpdateAuraForGroup(GetAuraSlot());
|
||||
}
|
||||
|
||||
bool Aura::isAffectedOnSpell(SpellEntry const *spell) const
|
||||
|
||||
+4
-5
@@ -4222,11 +4222,8 @@ void Unit::DelayAura(uint32 spellId, uint32 effindex, int32 delaytime)
|
||||
iter->second->SetAuraDuration(0);
|
||||
else
|
||||
iter->second->SetAuraDuration(iter->second->GetAuraDuration() - delaytime);
|
||||
if(iter->second->GetAuraSlot() < MAX_AURAS) // slot found send data to client
|
||||
{
|
||||
// update for out of range group members (on 1 slot use)
|
||||
UpdateAuraForGroup(iter->second->GetAuraSlot());
|
||||
}
|
||||
// update for out of range group members (on 1 slot use)
|
||||
UpdateAuraForGroup(iter->second->GetAuraSlot());
|
||||
sLog.outDebug("Aura %u partially interrupted on unit %u, new duration: %u ms",iter->second->GetModifier()->m_auraname, GetGUIDLow(), iter->second->GetAuraDuration());
|
||||
}
|
||||
}
|
||||
@@ -11647,6 +11644,8 @@ uint32 Unit::GetCastingTimeForBonus( SpellEntry const *spellProto, DamageEffectT
|
||||
|
||||
void Unit::UpdateAuraForGroup(uint8 slot)
|
||||
{
|
||||
if(slot >= MAX_AURAS) // slot not found, return
|
||||
return;
|
||||
if(GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
Player* player = (Player*)this;
|
||||
|
||||
Reference in New Issue
Block a user