I hope you're talking about angles and not angels.
Here's just something I thought of (it's like a scanner):
(I haven't tested it and wouldn't be surprised if it didn't work)
(And it's more of a cylinder than a cone)
function SceneObject::scanCone(%obj, %dist, %mask) {
// %dist is how far away the obj can see
// Mask is the type-mask you're searching for
%rad = %dist / 2;
%maxHeight = %dist * mSin(50);
%vec = VectorScale(%obj.getForwardVector(), %rad);
%pos = VectorAdd(%obj.getPosition(), %vec);
for(%i = 0; %i < %maxHeight; %i++) {
%pos = VectorAdd(%pos, "0 0 1");
%obj.setAimLocation(%pos); // For a cool effect?
InitContainerRadiusSearch(%pos, %rad, %mask);
while( (%targ=ContainerRadiusSearchNext()) != 0 ) {
// Found %targ... do whatever you want to it...?
}
}
}