From cb134800b94c7517f52af72cabccf0eb27161f73 Mon Sep 17 00:00:00 2001 From: SilicaAndPina Date: Sat, 6 Feb 2021 21:27:21 +1300 Subject: [PATCH] fix hands calculation --- .../HorseIsleServer/Game/Horse/HorseInfo.cs | 19 +++++++++++++++++-- .../HorseIsleServer/Game/Messages.cs | 3 ++- .../HorseIsleServer/Server/GameDataJson.cs | 5 +++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs index 5257189..c72992a 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs @@ -2,6 +2,7 @@ using HISP.Game.Items; using System.Collections.Generic; +using System.Globalization; namespace HISP.Game.Horse { @@ -520,13 +521,27 @@ namespace HISP.Game.Horse if(isBreedViewer) return ((double)height / 4.00); else - return ((double)height / 4.08); + { + int h1 = 0; + int h2 = 0; + for(int i = 0; i < height; i++) + { + h2++; + if (h2 == 4) + { + h2 = 0; + h1++; + } + } + double hands = double.Parse(h1 + "." + h2); // This is terrible. dont do this. + return hands; + } } public static string BreedViewerSwf(HorseInstance horse, string terrainTileType) { double hands = CalculateHands(horse.AdvancedStats.Height, true); - string swf = "breedviewer.swf?terrain=" + terrainTileType + "&breed=" + horse.Breed.Swf + "&color=" + horse.Color + "&hands=" + hands.ToString(); + string swf = "breedviewer.swf?terrain=" + terrainTileType + "&breed=" + horse.Breed.Swf + "&color=" + horse.Color + "&hands=" + hands.ToString(CultureInfo.InvariantCulture); if (horse.Equipment.Saddle != null) swf += "&saddle=" + horse.Equipment.Saddle.EmbedSwf; if (horse.Equipment.SaddlePad != null) diff --git a/Horse Isle Server/HorseIsleServer/Game/Messages.cs b/Horse Isle Server/HorseIsleServer/Game/Messages.cs index 5c042c3..f6fd31b 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Messages.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Messages.cs @@ -1,6 +1,7 @@ using HISP.Server; using System; using System.Drawing; +using System.Globalization; namespace HISP.Game { @@ -879,7 +880,7 @@ namespace HISP.Game } public static string FormatHorseHandsHigh(string color, string breed,string sex, double handsHigh) { - return HorseHandsHeightFormat.Replace("%COLOR%", color).Replace("%SEX%", sex).Replace("%HANDS%", handsHigh.ToString("0.0")).Replace("%BREED%", breed); + return HorseHandsHeightFormat.Replace("%COLOR%", color).Replace("%SEX%", sex).Replace("%HANDS%", handsHigh.ToString(CultureInfo.InvariantCulture)).Replace("%BREED%", breed); } public static string FormatHorseExperience(int experience) { diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs index 6b5bdd3..f753f78 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs @@ -8,6 +8,7 @@ using HISP.Game.Services; using HISP.Game.SwfModules; using HISP.Game.Horse; using HISP.Game.Items; +using System.Globalization; namespace HISP.Server { @@ -524,7 +525,7 @@ namespace HISP.Server double cost = gameData.services.vet.price_multipliers[i].cost; int id = gameData.services.vet.price_multipliers[i].id; Vet vet = new Vet(id, cost); - Logger.DebugPrint("Registered Vet: " + vet.Id + " selling at: " + vet.PriceMultiplier); + Logger.DebugPrint("Registered Vet: " + vet.Id + " selling at: " + vet.PriceMultiplier.ToString(CultureInfo.InvariantCulture)); } int totalGroomers = gameData.services.groomer.price_multipliers.Count; for (int i = 0; i < totalGroomers; i++) @@ -533,7 +534,7 @@ namespace HISP.Server int id = gameData.services.groomer.price_multipliers[i].id; int max = gameData.services.groomer.price_multipliers[i].max; Groomer groomer = new Groomer(id, cost, max); - Logger.DebugPrint("Registered Groomer: " + groomer.Id + " selling at: " + groomer.PriceMultiplier); + Logger.DebugPrint("Registered Groomer: " + groomer.Id + " selling at: " + groomer.PriceMultiplier.ToString(CultureInfo.InvariantCulture)); } int totalBooks = gameData.books.Count; for (int i = 0; i < totalBooks; i++)