From 53aecd6f09a81984eb444ba9d6552448bd6f256f Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 31 Jul 2016 17:26:46 +0200 Subject: Core/Loot: Fixed crash happening when looting items into new stack or items with random properties Closes #17700 --- src/server/game/Entities/Item/Item.cpp | 6 ++---- src/server/game/Entities/Player/Player.cpp | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 73b2b1ee31b..2fb7516ffb6 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -778,8 +778,7 @@ void Item::SetItemRandomProperties(int32 randomPropId) if (randomPropId > 0) { - ItemRandomPropertiesEntry const* item_rand = sItemRandomPropertiesStore.LookupEntry(-randomPropId); - if (sItemRandomPropertiesStore.LookupEntry(randomPropId)) + if (ItemRandomPropertiesEntry const* item_rand = sItemRandomPropertiesStore.LookupEntry(randomPropId)) { if (GetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID) != randomPropId) { @@ -792,8 +791,7 @@ void Item::SetItemRandomProperties(int32 randomPropId) } else { - ItemRandomSuffixEntry const* item_rand = sItemRandomSuffixStore.LookupEntry(-randomPropId); - if (item_rand) + if (ItemRandomSuffixEntry const* item_rand = sItemRandomSuffixStore.LookupEntry(-randomPropId)) { if (GetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID) != randomPropId || !GetItemSuffixFactor()) { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d6a2ac35aa2..e1d5c92b80e 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -11544,7 +11544,7 @@ Item* Player::StoreItem(ItemPosCountVec const& dest, Item* pItem, bool update) lastItem = _StoreItem(pos, pItem, count, true, update); } - AutoUnequipChildItem(pItem); + AutoUnequipChildItem(lastItem); return lastItem; } -- cgit v1.2.3