@@ -842,6 +842,20 @@ public:
void UnlockLoot() {
MLootItems.unlock();
}
+ void ClearLoot() {
+
+ MLootItems.lock();
+ vector<Item*>::iterator itr;
+ for (itr = loot_items.begin(); itr != loot_items.end();) {
+ Item* itm = *itr;
+ itr++;
+ safe_delete(itm);
+ }
+ loot_items.clear();
+ MLootItems.unlock();
int32 GetLootCoins() {
return loot_coins;
@@ -4324,7 +4324,7 @@ void ZoneServer::KillSpawn(bool spawnListLocked, Spawn* dead, Spawn* killer, boo
if (!((NPC*)dead)->Brain()->PlayerInEncounter()) {
dead->SetLootCoins(0);
- dead->GetLootItems()->clear();
+ dead->ClearLoot();
// If dead has loot attempt to drop a chest