protected int GetVerbEntrypointCore(int obj, int entry)
{
if (GetWhereIsObject(obj) == WhereIsObject.NotFound)
return 0;
ObjectData result = null;
if ((Game.Version != 0 || OBJECT_V0_TYPE(obj) == 0) && GetOwnerCore(obj) != OwnerRoom)
{
for (int i = 0; i < _resManager.NumInventory; i++)
{
if (_inventory[i] == obj)
result = _invData[i];
}
}
else
{
result = _objs.FirstOrDefault(o => o.Number == obj);
}
var FallbackEntry = Game.Version == 8 ? 0xFFFFFFFF : 0xFF;
foreach (var key in result.ScriptOffsets.Keys)
{
if (key == entry || key == FallbackEntry)
return result.ScriptOffsets[key];
}
return 0;
}