From 39057e59ab67f86b19fca5d8df0b56fe3db428b7 Mon Sep 17 00:00:00 2001
From: SilicaAndPina <earsyum@gmail.com>
Date: Tue, 9 Feb 2021 22:14:04 +1300
Subject: [PATCH] More ranch stuffs

---
 DataCollection/gamedata.json                  |  2 +-
 .../HorseIsleServer/Game/Horse/HorseInfo.cs   |  1 +
 .../HorseIsleServer/Game/Messages.cs          | 86 ++++++++++++++++++-
 .../HorseIsleServer/Game/Ranch.cs             |  2 +-
 .../HorseIsleServer/Server/GameDataJson.cs    |  4 +-
 5 files changed, 89 insertions(+), 6 deletions(-)

diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json
index 619ce94..9313a95 100755
--- a/DataCollection/gamedata.json
+++ b/DataCollection/gamedata.json
@@ -2370,7 +2370,7 @@
 		"Zora","Zornery","Zoroaster","Zorro","Zorruno","Zucker",
 		"Zulu","Zulu Warrior"],
 	"categorys":[
-		{"name":"LEASED","message":"^LLEASED - Horses only temporarily cared for, limited use:^R1"},
+		{"name":"LEASED","message":"^LLEASED - Horses only temporarily cared for, limited use:^R1","message_others":"^LLEASED - Horses only temporarily cared for, limited use:^R1"},
 		{"name":"KEEPER","message":"^LKEEPERS - Horses I would not sell for any price:^R1","message_others":"^LKEEPERS - Horses not for sale for any price^R1"},
 		{"name":"TRAINING","message":"^LTRAINING - Horses I am actively training and competing with:^R1","message_others":"TRAINING - Horses actively being trained and competed with:^R1"},
 		{"name":"TRADING","message":"^LTRADING - Horses I am trading or auctioning:^R1","message_others":"^LTRADING - Horses for trading or auctioning:^R1"},
diff --git a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs
index 4ebe6ea..b54d399 100755
--- a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs	
+++ b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs	
@@ -502,6 +502,7 @@ namespace HISP.Game.Horse
         public struct Category
         {
             public string Name;
+            public string MetaOthers;
             public string Meta;
         }
 
diff --git a/Horse Isle Server/HorseIsleServer/Game/Messages.cs b/Horse Isle Server/HorseIsleServer/Game/Messages.cs
index 74c40c3..ec4c34d 100755
--- a/Horse Isle Server/HorseIsleServer/Game/Messages.cs	
+++ b/Horse Isle Server/HorseIsleServer/Game/Messages.cs	
@@ -30,7 +30,7 @@ namespace HISP.Game
 
         public static string RanchEditDescriptionMetaFormat;
         public static string RanchYourRanchMetaFormat;
-        public static string RanchDescription;
+        public static string RanchDescriptionFormat;
 
         // Ranch: Build.
         public static string RanchCanBuildOneOfTheFollowingInThisSpot;
@@ -586,7 +586,7 @@ namespace HISP.Game
         public static string East;
         public static string South;
         public static string West;
-        
+
         public static string TileFormat;
         public static string Seperator;
         public static string VenusFlyTrapFormat;
@@ -646,7 +646,7 @@ namespace HISP.Game
 
         // Password
         public static string IncorrectPasswordMessage;
-        
+
         // Swf
         public static string BoatCutscene;
         public static string WagonCutscene;
@@ -655,6 +655,86 @@ namespace HISP.Game
         // Click
         public static string NothingInterestingHere;
 
+        public static string FormatUnownedRanchMeta(int price)
+        {
+            return RanchUnownedRanchFormat.Replace("%PRICE%", price.ToString("N0"));
+        }
+        public static string FormatRanchClickMessage(string owner, string title)
+        {
+            return RanchClickMessageFormat.Replace("%USERNAME%", owner).Replace("%TITLE%", title);
+        }
+        public static string FormatRanchBroughtMessage(int price)
+        {
+            return RanchRanchBroughtMessageFormat.Replace("%PRICE%", price.ToString("N0"));
+        }
+        public static string FormatRanchEditDescriptonMeta(string curTitle, string curDesc)
+        {
+            return RanchEditDescriptionMetaFormat.Replace("%RANCHTITLE%", curTitle).Replace("%RANCHDESC%", curDesc);
+        }
+        public static string FormatRanchTitle(string username, string title)
+        {
+            return RanchYourRanchMetaFormat.Replace("%USERNAME%", username).Replace("%TITLE%", title);
+        }
+        public static string FormatRanchDescription(string description)
+        {
+            return RanchDescriptionFormat.Replace("%DESCRIPTION%", description);
+        }
+        public static string FormatBuildingEntry(string name, int price, int buildingId)
+        {
+            return RanchBuildingEntryFormat.Replace("%BUILDINGNAME%", name).Replace("%PRICE%", price.ToString("N0")).Replace("%BUILDINGID%", buildingId.ToString());
+        }
+        public static string FormatBuildingInformaton(string name, string description)
+        {
+            return RanchBuildingInformationFormat.Replace("%BUILDINGNAME%", name).Replace("%BUILINGDESCRIPTION%", description);
+        }
+        public static string FormatBuildingPlaced(string name, int buildingId, int price)
+        {
+            return RanchBuildingAlreadyHere.Replace("%BUILDINGNAME%", name).Replace("%BUILDINGID%", buildingId.ToString()).Replace("%PRICE%", price.ToString());
+        }
+        public static string FormatBuildingTornDown(int price)
+        {
+            return RanchTornDownRanchBuildingFormat.Replace("%PRICE%", price.ToString("N0"));
+        }
+        public static string FormatViewBuilding(string name, string description)
+        {
+            return RanchViewBuildingFormat.Replace("%BUILDINGNAME%", name).Replace("%BUILDINGDESC%", description);
+        }
+        public static string FormatBarn(string horseList)
+        {
+            return RanchBarnHorsesFormat.Replace("%HORSELIST%", horseList);
+        }
+        public static string FormatCurrentUpgrade(string curUpgradeName, string curUpgradeDesc, string YouCouldUpgrade, int ranchSellPrice)
+        {
+            return UpgradeCurrentUpgradeFormat.Replace("%UPGRADENAME%", curUpgradeName).Replace("%UPGRADEDESC%", curUpgradeDesc).Replace("%YOUCOULDUPGRADE%", YouCouldUpgrade).Replace("%SELLPRICE%", ranchSellPrice.ToString("N0"));
+        }
+        public static string FormatNextUpgrade(string nextUpgrade, int cost)
+        {
+            return UpgradeNextUpgradeFormat.Replace("%NEXTUPGRADE%", nextUpgrade).Replace("%COST%", cost.ToString("N0"));
+        }
+        public static string FormatBuildingBarn(int numbBarns, int numbHorses)
+        {
+            return BuildingBarnFormat.Replace("%COUNT%", numbBarns.ToString("N0")).Replace("%AMOUNT%", numbHorses.ToString("N0"));
+        }
+        public static string FormatBuildingBigBarn(int numbBarns, int numbHorses)
+        {
+            return BuildingBigBarnFormat.Replace("%COUNT%", numbBarns.ToString("N0")).Replace("%AMOUNT%", numbHorses.ToString("N0"));
+        }
+        public static string FormatBuildingGoldBarn(int numbBarns, int numbHorses)
+        {
+            return BuildingGoldBarnFormat.Replace("%COUNT%", numbBarns.ToString("N0")).Replace("%AMOUNT%", numbHorses.ToString("N0"));
+        }
+        public static string FormatBuildingWindmill(int numbWindmills, int moneyEarns)
+        {
+            return BuildingWindmillFormat.Replace("%COUNT%", numbWindmills.ToString("N0")).Replace("%AMOUNT%", moneyEarns.ToString("N0"));
+        }
+        public static string FormatTrainSuccess(string horseName)
+        {
+            return RanchTrainSuccess.Replace("%HORSENAME%", horseName);
+        }
+        public static string FormatCantTrain(string horseName)
+        {
+            return RanchTrainCantTrain.Replace("%HORSENAME%", horseName);
+        }
         public static string FormatRiddlerRiddle(string riddle)
         {
             return RiddlerEnterAnswerFormat.Replace("%RIDDLE%", riddle);
diff --git a/Horse Isle Server/HorseIsleServer/Game/Ranch.cs b/Horse Isle Server/HorseIsleServer/Game/Ranch.cs
index 40ca1c2..66de29d 100644
--- a/Horse Isle Server/HorseIsleServer/Game/Ranch.cs	
+++ b/Horse Isle Server/HorseIsleServer/Game/Ranch.cs	
@@ -239,7 +239,7 @@ namespace HISP.Game
 
         public string GetSwf(bool mine)
         {
-            string swf  = "ranchviewer.swf?H=" + upgradedLevel.ToString();
+            string swf  = "ranchviewer.swf?H=" + upgradedLevel+1.ToString();
             for(int i = 0; i < buildings.Length; i++)
             {
                 swf += "&B" + i.ToString() + "=";
diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs
index 490f0ac..84db6c3 100755
--- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs	
+++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs	
@@ -506,6 +506,7 @@ namespace HISP.Server
             {
                 HorseInfo.Category category = new HorseInfo.Category();
                 category.Name = gameData.horses.categorys[i].name;
+                category.MetaOthers = gameData.horses.categorys[i].message_others;
                 category.Meta = gameData.horses.categorys[i].message;
                 HorseInfo.HorseCategories.Add(category);
                 Logger.DebugPrint("Registered horse category type: " + category.Name);
@@ -682,7 +683,7 @@ namespace HISP.Server
             Messages.RanchDefaultRanchTitle = gameData.messages.meta.ranch.default_title;
             Messages.RanchEditDescriptionMetaFormat = gameData.messages.meta.ranch.edit_description;
             Messages.RanchYourRanchMetaFormat = gameData.messages.meta.ranch.your_ranch_meta;
-            Messages.RanchDescription = gameData.messages.meta.ranch.view_desc;
+            Messages.RanchDescriptionFormat = gameData.messages.meta.ranch.view_desc;
 
             // Ranch : Breed
 
@@ -715,6 +716,7 @@ namespace HISP.Server
             Messages.BuildingWagon = gameData.messages.meta.ranch.special.wagon;
             Messages.BuildingTrainingPen = gameData.messages.meta.ranch.special.training_pen;
             Messages.BuildingVegatableGarden = gameData.messages.meta.ranch.special.vegatable_garden;
+
             Messages.RanchTrainAllAttempt = gameData.messages.meta.ranch.special.train_all;
             Messages.RanchTrainSuccess = gameData.messages.meta.ranch.special.train_success;
             Messages.RanchTrainCantTrain = gameData.messages.meta.ranch.special.train_cant_train;