aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2009-04-07 18:05:56 +0200
committerQAston <none@none>2009-04-07 18:05:56 +0200
commit3ef20629df9288468e3d3a97fd53641d65e3483c (patch)
tree4e38e49f1814009a2f048aa559a956f31c90e27e /src/game/Player.cpp
parent37632e4e396da719330d242e02ef2eb7806e3f14 (diff)
*Some crashfixes.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 9227cb7414c..8dcb28224f7 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -6309,26 +6309,27 @@ void Player::DuelComplete(DuelCompleteType type)
duel->initiator->RemoveGameObject(obj,true);
/* remove auras */
- std::vector<uint32> auras2remove;
- AuraMap const& vAuras = duel->opponent->GetAuras();
- for (AuraMap::const_iterator i = vAuras.begin(); i != vAuras.end(); ++i)
+ AuraMap & vAuras = duel->opponent->GetAuras();
+ for(AuraMap::iterator i = vAuras.begin(); i != vAuras.end();)
{
if (!i->second->IsPositive() && i->second->GetCasterGUID() == GetGUID() && i->second->GetAuraApplyTime() >= duel->startTime)
- auras2remove.push_back(i->second->GetId());
+ {
+ RemoveAura(i);
+ }
+ else
+ ++i;
}
- for(size_t i=0; i<auras2remove.size(); i++)
- duel->opponent->RemoveAurasDueToSpell(auras2remove[i], GetGUID());
-
- auras2remove.clear();
- AuraMap const& auras = GetAuras();
- for (AuraMap::const_iterator i = auras.begin(); i != auras.end(); ++i)
+ vAuras = GetAuras();
+ for(AuraMap::iterator i = vAuras.begin(); i != vAuras.end();)
{
if (!i->second->IsPositive() && i->second->GetCasterGUID() == duel->opponent->GetGUID() && i->second->GetAuraApplyTime() >= duel->startTime)
- auras2remove.push_back(i->second->GetId());
+ {
+ RemoveAura(i);
+ }
+ else
+ ++i;
}
- for(size_t i=0; i<auras2remove.size(); i++)
- RemoveAurasDueToSpell(auras2remove[i], duel->opponent->GetGUID());
// cleanup combo points
if(GetComboTarget()==duel->opponent->GetGUID())
@@ -19052,8 +19053,7 @@ void Player::RemoveItemDependentAurasAndCasts( Item * pItem )
}
// no alt item, remove aura, restart check
- RemoveAurasDueToSpell(aura->GetId());
- itr = auras.begin();
+ RemoveAura(itr);
}
// currently casted spells can be dependent from item