aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-01 15:26:44 -0500
committermegamage <none@none>2009-06-01 15:26:44 -0500
commit30544055ded8d8d617e8462f373b6d2a24b6a100 (patch)
treeb75828f4c9ecc808f07cb3b4cca85c6c283229ad /src/game/Spell.cpp
parent00d9a7b351fb0f474cb4859d120424dcbce97d78 (diff)
parent3a223e0e8075139f4a91572ec33fa2841fd60c2d (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index f0738d513d7..06a475d2df7 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -2271,7 +2271,9 @@ void Spell::SetTargetMap(uint32 i, uint32 cur)
}
else
{
- if (m_spellInfo->Id==57699) //Replenishment (special target selection) 10 targets with lowest mana
+ if(m_spellInfo->Id == 27285) // Seed of Corruption proc spell
+ unitList.remove(m_targets.getUnitTarget());
+ else if (m_spellInfo->Id==57699) //Replenishment (special target selection) 10 targets with lowest mana
{
typedef std::priority_queue<PrioritizeManaWraper, std::vector<PrioritizeManaWraper>, PrioritizeMana> TopMana;
TopMana manaUsers;
@@ -2990,9 +2992,13 @@ void Spell::finish(bool ok)
((Puppet*)charm)->UnSummon();
}
- // other code related only to successfully finished spells
if(!ok)
+ {
+ //restore spell mods
+ if (m_caster->GetTypeId() == TYPEID_PLAYER)
+ ((Player*)m_caster)->RestoreSpellMods(this);
return;
+ }
if (m_caster->GetTypeId()==TYPEID_UNIT && ((Creature*)m_caster)->isSummon())
{