diff options
author | Machiavelli <none@none> | 2010-03-16 01:05:56 +0100 |
---|---|---|
committer | Machiavelli <none@none> | 2010-03-16 01:05:56 +0100 |
commit | b0b17e56de08e563a7b5f15d4f19a4070c8d0dbb (patch) | |
tree | 70aebf1c4181b21a0b4e30b95f4b6b490c64a947 /src/game/Player.cpp | |
parent | 5b277b11a7d419ef2f59b7eb8220571fb4c502b4 (diff) |
- Overload Item::SetState with player argument where possible to ensure updated data is saved to DB properly.
- Alter Item::SetEnchantmentDuration function, add parameter Player* because GetOwner() cannot be called in the function due to hashtable locking in the SaveAllPlayers process.
- Remove a sanity check prior to Item::AddToUpdateQueueOf, so assertions can detect whenever a higher level function was not called properly. Please report any crashes related to these assertions to get them resolved asap.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r-- | src/game/Player.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 44c666c5ed0..a48cd7f2f8e 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -12558,7 +12558,7 @@ void Player::RemoveEnchantmentDurations(Item *item) if (itr->item == item) { // save duration in item - item->SetEnchantmentDuration(EnchantmentSlot(itr->slot), itr->leftduration); + item->SetEnchantmentDuration(EnchantmentSlot(itr->slot), itr->leftduration, this); itr = m_enchantDuration.erase(itr); } else @@ -12624,7 +12624,7 @@ void Player::AddEnchantmentDuration(Item *item,EnchantmentSlot slot,uint32 durat { if (itr->item == item && itr->slot == slot) { - itr->item->SetEnchantmentDuration(itr->slot, itr->leftduration); + itr->item->SetEnchantmentDuration(itr->slot, itr->leftduration, this); m_enchantDuration.erase(itr); break; } @@ -17456,7 +17456,7 @@ void Player::_SaveInventory() // update enchantment durations for (EnchantDurationList::iterator itr = m_enchantDuration.begin(); itr != m_enchantDuration.end(); ++itr) - itr->item->SetEnchantmentDuration(itr->slot,itr->leftduration); + itr->item->SetEnchantmentDuration(itr->slot,itr->leftduration, this); // if no changes if (m_itemUpdateQueue.empty()) |