mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 06:35:30 +00:00
Ignore containers, when we search for owner
This commit is contained in:
parent
abe1009e98
commit
7214f24f5c
@ -176,7 +176,7 @@ namespace MWBase
|
||||
///< Return a pointer to a liveCellRef with the given name.
|
||||
/// \param activeOnly do non search inactive cells.
|
||||
|
||||
virtual MWWorld::Ptr searchPtr (const std::string& name, bool activeOnly) = 0;
|
||||
virtual MWWorld::Ptr searchPtr (const std::string& name, bool activeOnly, bool searchInContainers = true) = 0;
|
||||
///< Return a pointer to a liveCellRef with the given name.
|
||||
/// \param activeOnly do non search inactive cells.
|
||||
|
||||
|
@ -994,7 +994,7 @@ namespace MWMechanics
|
||||
}
|
||||
|
||||
if (!cellref.getOwner().empty())
|
||||
victim = MWBase::Environment::get().getWorld()->searchPtr(cellref.getOwner(), true);
|
||||
victim = MWBase::Environment::get().getWorld()->searchPtr(cellref.getOwner(), true, false);
|
||||
|
||||
return (!isOwned && !isFactionOwned);
|
||||
}
|
||||
|
@ -679,7 +679,7 @@ namespace MWWorld
|
||||
mLocalScripts.remove (ref);
|
||||
}
|
||||
|
||||
Ptr World::searchPtr (const std::string& name, bool activeOnly)
|
||||
Ptr World::searchPtr (const std::string& name, bool activeOnly, bool searchInContainers)
|
||||
{
|
||||
Ptr ret;
|
||||
// the player is always in an active cell.
|
||||
@ -706,11 +706,14 @@ namespace MWWorld
|
||||
return ret;
|
||||
}
|
||||
|
||||
for (CellStore* cellstore : mWorldScene->getActiveCells())
|
||||
if (searchInContainers)
|
||||
{
|
||||
Ptr ptr = cellstore->searchInContainer(lowerCaseName);
|
||||
if (!ptr.isEmpty())
|
||||
return ptr;
|
||||
for (CellStore* cellstore : mWorldScene->getActiveCells())
|
||||
{
|
||||
Ptr ptr = cellstore->searchInContainer(lowerCaseName);
|
||||
if (!ptr.isEmpty())
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
|
||||
Ptr ptr = mPlayer->getPlayer().getClass()
|
||||
|
@ -285,7 +285,7 @@ namespace MWWorld
|
||||
///< Return a pointer to a liveCellRef with the given name.
|
||||
/// \param activeOnly do non search inactive cells.
|
||||
|
||||
Ptr searchPtr (const std::string& name, bool activeOnly) override;
|
||||
Ptr searchPtr (const std::string& name, bool activeOnly, bool searchInContainers = true) override;
|
||||
///< Return a pointer to a liveCellRef with the given name.
|
||||
/// \param activeOnly do non search inactive cells.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user