diff --git a/src/LootObjectStack.cpp b/src/LootObjectStack.cpp index 2a4ebd7e..4a047a16 100644 --- a/src/LootObjectStack.cpp +++ b/src/LootObjectStack.cpp @@ -182,11 +182,11 @@ WorldObject* LootObject::GetWorldObject(Player* bot) return nullptr; } Creature* creature = botAI->GetCreature(guid); - if (creature && creature->getDeathState() == DeathState::Corpse) + if (creature && creature->getDeathState() == DeathState::Corpse && creature->IsInWorld()) return creature; GameObject* go = botAI->GetGameObject(guid); - if (go && go->isSpawned()) + if (go && go->isSpawned() && go->IsInWorld()) return go; return nullptr; diff --git a/src/strategy/values/DistanceValue.cpp b/src/strategy/values/DistanceValue.cpp index 3882eab0..00850ed6 100644 --- a/src/strategy/values/DistanceValue.cpp +++ b/src/strategy/values/DistanceValue.cpp @@ -19,7 +19,7 @@ float DistanceValue::Calculate() return 0.0f; WorldObject* obj = loot.GetWorldObject(bot); - if (!obj) + if (!obj || !obj->IsInWorld()) return 0.0f; return sServerFacade->GetDistance2d(botAI->GetBot(), obj);