public void llPursue(LSL_String target, LSL_List options)
{
IBotManager botManager = World.RequestModuleInterface<IBotManager>();
if (botManager != null)
{
float fuzz = 2;
Vector3 offset = Vector3.Zero;
bool requireLOS = false;
bool intercept = false;//Not implemented
for (int i = 0; i < options.Length; i += 2)
{
LSL_Types.LSLInteger opt = options.GetLSLIntegerItem(i);
if (opt == ScriptBaseClass.PURSUIT_FUZZ_FACTOR)
fuzz = (float)options.GetLSLFloatItem(i + 1).value;
if (opt == ScriptBaseClass.PURSUIT_OFFSET)
offset = options.GetVector3Item(i + 1).ToVector3();
if (opt == ScriptBaseClass.REQUIRE_LINE_OF_SIGHT)
requireLOS = options.GetLSLIntegerItem(i + 1) == 1;
if (opt == ScriptBaseClass.PURSUIT_INTERCEPT)
intercept = options.GetLSLIntegerItem(i + 1) == 1;
}
botManager.FollowAvatar(m_host.ParentEntity.UUID, target.m_string, fuzz, fuzz, requireLOS, offset, m_host.ParentEntity.OwnerID);
}
}