diff options
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r-- | src/game/Player.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index b73a49fb990..910a1bf70be 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -11717,7 +11717,7 @@ void Player::RemoveEnchantmentDurations(Item *item) } } -void Player::RemoveAllEnchantments(EnchantmentSlot slot) +void Player::RemoveArenaEnchantments(EnchantmentSlot slot) { // remove enchantments from equipped items first to clean up the m_enchantDuration list for(EnchantDurationList::iterator itr = m_enchantDuration.begin(),next;itr != m_enchantDuration.end();itr=next) @@ -11727,6 +11727,12 @@ void Player::RemoveAllEnchantments(EnchantmentSlot slot) { if(itr->item && itr->item->GetEnchantmentId(slot)) { + // Poisons and DK runes are enchants which are allowed on arenas + if (spellmgr.IsArenaAllowedEnchancment(itr->item->GetEnchantmentId(slot))) + { + ++next; + continue; + } // remove from stats ApplyEnchantment(itr->item,slot,false,false); // remove visual |