rendered paste body public void PlotBox()
{
string RegionName;
int Degrees = 0;
double Distance = (MaximumBoxSize / 2) + 1;
double X1, X2, Y1, Y2, Z1, Z2;
LavishScriptAPI.Point3f Location = Bytebot.Global.WoW.Me.Location;
LavishScriptAPI.Point3f CollisionPoint;
double X, Y;
Z1 = Location.Z;
Z2 = Location.Z;
do
{
X = Location.X + (MaximumBoxSize / 2) * Math.Cos(Degrees);
Y = Location.Y - (MaximumBoxSize / 2) * Math.Sin(Degrees);
CollisionPoint = Bytebot.Global.WoW.IsPathObstructed(Location.X,Location.Y,Location.Z,X,Y,Location.Z);
if (CollisionPoint != null)
{
if (Bytebot.Global.Distance(Location.X, Location.Y, Location.Z, CollisionPoint.X, CollisionPoint.Y, Location.Z) < Distance)
{
Distance = Bytebot.Global.Distance(Location.X, Location.Y, Location.Z, CollisionPoint.X, CollisionPoint.Y, Location.Z);
}
}
Degrees = Degrees + 30;
}
while (Degrees <= 360);
X1 = Location.X - Distance;
Y1 = Location.Y - Distance;
X2 = Location.X + Distance;
Y2 = Location.Y + Distance;
Z1 = Location.Z;
Z2 = Location.Z + 1.3;
// Z handling is terrible but it's there. Improve when time.
RegionName = string.Format("R{0}",SubZone.ChildCount);
Bytebot.Global.Debug(string.Format("Added {0} Size: {1}",RegionName,(Distance * 2)));
SubZone.AddBox(RegionName, X1, X2, Y1, Y2, Z1, Z2, 0);
Save();
}