Make nearby more accurate to public server.

This commit is contained in:
SilicaAndPina 2021-02-11 11:34:47 +13:00
parent 9f592fb51b
commit 9f3ebaa256
8 changed files with 34 additions and 14 deletions

View file

@ -11,4 +11,5 @@ namespace HISP.Game
// Drawingroom
public class DrawingroomException : Exception { };
public class DrawingroomFullException : DrawingroomException { };
}

View file

@ -129,6 +129,8 @@ namespace HISP.Game.Horse
return 0;
}
}
public int TackOffset
{
get

View file

@ -51,24 +51,36 @@ namespace HISP.Game
string usersNorth = "";
string usersEast = "";
string usersSouth = "";
foreach (User nearbyUser in nearbyUsers)
{
if (nearbyUser.X < x)
if (nearbyUser.X == x && nearbyUser.Y == y) // not yourself
continue;
int xDiff = x - nearbyUser.X;
int yDiff = y - nearbyUser.Y;
double angle = (Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI);
angle -= 45;
angle = (angle % 360 + 360) % 360;
if (angle >= 270 && angle <= 360 )
{
usersWest += " " + nearbyUser.Username + " ";
}
else if (nearbyUser.X > x)
else if (angle >= 90 && angle <= 180)
{
usersEast += " " + nearbyUser.Username + " ";
}
else if (nearbyUser.Y > y)
else if (angle >= 180 && angle <= 270)
{
usersSouth += " " + nearbyUser.Username + " ";
}
else if (nearbyUser.Y < y)
else if (angle >= 0 && angle <= 90)
{
usersNorth += " " + nearbyUser.Username + " ";
}
}
if (usersEast != "")

View file

@ -198,7 +198,7 @@ namespace HISP.Game
Database.SetServerTime(ServerTime.Minutes, ServerTime.Days, ServerTime.Years);
// Ranch Windmill Payments
if(hours % 12 == 0)
if(ServerTime.Minutes % 720 == 0) // every 12 hours
{
Logger.DebugPrint("Paying windmill owners . . . ");
foreach (Ranch ranch in Ranch.Ranches)
@ -220,7 +220,7 @@ namespace HISP.Game
{
ServerTime.Days += 1;
ServerTime.Minutes = 0;
Database.DoIntrestPayments(ConfigReader.IntrestRate);
}