diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json index f6e1109..a68c87e 100755 --- a/DataCollection/gamedata.json +++ b/DataCollection/gamedata.json @@ -149,7 +149,7 @@ "you_could_purchase_this":"^T6You could purchase this ranch:^B6P^R1", "ranch_already_owned":"You already own a ranch, however.", "sub_only":"Only Horse Isle subscribers may purchase a ranch however.", - "ranch_desc_others":"
^H%DESCRIPTION%
" + "ranch_desc_others":"
^H%DESCRIPTION%
", "unowned_ranch_click":"Unowned Ranch", "click_message":"%USERNAME%'s %TITLE%", diff --git a/Horse Isle Server/HorseIsleServer/Game/GameExceptions.cs b/Horse Isle Server/HorseIsleServer/Game/GameExceptions.cs index 3d9a159..b848853 100755 --- a/Horse Isle Server/HorseIsleServer/Game/GameExceptions.cs +++ b/Horse Isle Server/HorseIsleServer/Game/GameExceptions.cs @@ -11,4 +11,5 @@ namespace HISP.Game // Drawingroom public class DrawingroomException : Exception { }; public class DrawingroomFullException : DrawingroomException { }; + } diff --git a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs index b54d399..4dfef0d 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs @@ -129,6 +129,8 @@ namespace HISP.Game.Horse return 0; } } + + public int TackOffset { get diff --git a/Horse Isle Server/HorseIsleServer/Game/Meta.cs b/Horse Isle Server/HorseIsleServer/Game/Meta.cs index 122dba0..ed608f0 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Meta.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Meta.cs @@ -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 != "") diff --git a/Horse Isle Server/HorseIsleServer/Game/World.cs b/Horse Isle Server/HorseIsleServer/Game/World.cs index 0b13fda..7aa5cd5 100755 --- a/Horse Isle Server/HorseIsleServer/Game/World.cs +++ b/Horse Isle Server/HorseIsleServer/Game/World.cs @@ -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); } diff --git a/Horse Isle Server/HorseIsleServer/Server/Converters.cs b/Horse Isle Server/HorseIsleServer/Server/Converters.cs index e61fdcd..de777c8 100755 --- a/Horse Isle Server/HorseIsleServer/Server/Converters.cs +++ b/Horse Isle Server/HorseIsleServer/Server/Converters.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; + namespace HISP.Server { @@ -34,6 +31,11 @@ namespace HISP.Server return arr; } + public static Double PointsToDistance(int x1, int y1, int x2, int y2) + { + return Math.Sqrt(Math.Pow(x1 - (-y1), 2) + Math.Pow(x2 - (-y2), 2)); + } + public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) { // Unix timestamp is seconds past epoch diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs index 699d59c..4a981d5 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs @@ -671,7 +671,7 @@ namespace HISP.Server Messages.RanchYouCouldPurchaseThisRanch = gameData.messages.meta.ranch.you_could_purchase_this; Messages.RanchYouAllreadyOwnARanch = gameData.messages.meta.ranch.ranch_already_owned; Messages.RanchSubscribersOnly = gameData.messages.meta.ranch.sub_only; - Messages.RanchDescriptionOthersFormat = gameData.meta.ranch.ranch_desc_others; + Messages.RanchDescriptionOthersFormat = gameData.messages.meta.ranch.ranch_desc_others; Messages.RanchUnownedRanchClicked = gameData.messages.meta.ranch.unowned_ranch_click; Messages.RanchClickMessageFormat = gameData.messages.meta.ranch.click_message; diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs index 7ac9e27..fed2a95 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs @@ -61,8 +61,6 @@ namespace HISP.Server Database.IncAllUsersFreeTime(1); } - - if (totalMinutesElapsed % 25 == 0) { @@ -84,6 +82,11 @@ namespace HISP.Server } } + foreach(GameClient client in ConnectedClients) + if (client.LoggedIn) + if (!client.LoggedinUser.MetaPriority) + UpdateArea(client); + Treasure.AddValue(); Database.IncPlayerTirednessForOfflineUsers(); DroppedItems.Update();