aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnubisss <none@none>2009-04-07 00:25:03 +0200
committerAnubisss <none@none>2009-04-07 00:25:03 +0200
commit01b0fc45cb8cd06b989f0998960843a5b9e8049d (patch)
treeba33d8f97eb3775231f49792827dd5a21505a82b /src
parent0aab67c47d3a0cc6855cb97c5f95e04e0a9de561 (diff)
parentf646e0cc24b9681227d651fe0e64548e5a477b5e (diff)
*Merge with r2465.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Player.cpp2
-rw-r--r--src/game/SpellAuras.cpp2
-rw-r--r--src/game/SpellEffects.cpp6
3 files changed, 6 insertions, 4 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index fb784afca2d..f29b81c11f4 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15862,7 +15862,7 @@ void Player::_SaveAuras()
CharacterDatabase.PExecute("INSERT INTO character_aura (guid,caster_guid,spell,effect_mask,stackcount,amount0, amount1, amount2,maxduration,remaintime,remaincharges) "
"VALUES ('%u', '" I64FMTD "', '%u', '%u', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
GetGUIDLow(), itr->second->GetCasterGUID(),(uint32)itr->second->GetId(), (uint32)itr->second->GetEffectMask(),
- (uint32)itr->second->GetStackAmount(), (int32)amounts[0], (int32)amounts[1], (int32)amounts[2]
+ (int32)itr->second->GetStackAmount(), (int32)amounts[0], (int32)amounts[1], (int32)amounts[2]
,int(itr->second->GetAuraMaxDuration()),int(itr->second->GetAuraDuration()),int(itr->second->GetAuraCharges()));
}
}
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 11e8abb2d08..f2721efb485 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -1310,7 +1310,7 @@ void Aura::SetLoadedState(uint64 caster_guid,int32 maxduration,int32 duration,in
m_stackAmount = stackamount;
for (uint8 i=0; i<MAX_SPELL_EFFECTS;++i)
if (m_partAuras[i])
- m_partAuras[i]->SetAmount(amount[0]+i);
+ m_partAuras[i]->SetAmount(amount[i]);
}
void AuraEffect::HandleShapeshiftBoosts(bool apply)
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 7d56e3442b3..54bee661408 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2050,7 +2050,7 @@ void Spell::EffectTriggerSpell(uint32 i)
{
uint32 dispelMask = GetDispellMask(DISPEL_ALL);
Unit::AuraMap& Auras = m_caster->GetAuras();
- for(Unit::AuraMap::iterator iter = Auras.begin(); iter != Auras.end(); ++iter)
+ for(Unit::AuraMap::iterator iter = Auras.begin(); iter != Auras.end();)
{
// remove all harmful spells on you...
SpellEntry const* spell = iter->second->GetSpellProto();
@@ -2059,8 +2059,10 @@ void Spell::EffectTriggerSpell(uint32 i)
// ignore positive and passive auras
&& !iter->second->IsPositive() && !iter->second->IsPassive())
{
- m_caster->RemoveAura(iter->second);
+ m_caster->RemoveAura(iter);
}
+ else
+ iter++;
}
return;
}