From b939c9e142affd2d7c19e8c09acb2a7945f3fb35 Mon Sep 17 00:00:00 2001 From: SilicaAndPina Date: Fri, 1 Jan 2021 22:57:16 +1300 Subject: [PATCH] Fix interest. --- DataCollection/gamedata.json | 10 +++++----- Horse Isle Server/Horse Isle Server/Game/Meta.cs | 2 +- Horse Isle Server/Horse Isle Server/Player/User.cs | 5 +---- Horse Isle Server/Horse Isle Server/Server/Database.cs | 9 +++++++-- .../Horse Isle Server/Server/GameDataJson.cs | 6 +++--- .../Horse Isle Server/Server/GameServer.cs | 5 +++-- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json index 6454dcf..055447a 100644 --- a/DataCollection/gamedata.json +++ b/DataCollection/gamedata.json @@ -12,6 +12,11 @@ "click_nothing_message":"Nothing interesting here...", "playtime_timeout":"You have run out of playtime for now. In one minute you will be disconnected. You gain one minute of playtime every 8 minutes. Please come back later!", "random_movement":"You are sooo %STAT%. You wander dizzily in a different direction.", + "new_user":{ + "starting_message":"Welcome Newest Rider of Horse Isle!
Start by talking to Welcome Willy in the cabin. Click the TALK button by his name in the right hand window. He will know the location of a buried treasure on this island! Move to the spot he describes using the arrow keys. Then Click the WRENCH Icon at the lower right.", + "starting_x":522, + "starting_y":138 + }, "bank":{ "deposit_format":"You deposited $%MONEY% into the bank.", "withdraw_format":"You withdrew $%MONEY% from the bank." @@ -35248,11 +35253,6 @@ {"id":156,"cost":250,"goto_x":405,"goto_y":28,"type":"BOAT","place_title":"Glacier Isle"} ] }, - "new_user":{ - "starting_message":"Welcome Newest Rider of Horse Isle!
Start by talking to Welcome Willy in the cabin. Click the TALK button by his name in the right hand window. He will know the location of a buried treasure on this island! Move to the spot he describes using the arrow keys. Then Click the WRENCH Icon at the lower right.", - "starting_x":522, - "starting_y":138 - }, "places":{ "zones":[ {"start_x":862,"end_x":967,"start_y":37,"end_y":123,"name":"Zebra"}, diff --git a/Horse Isle Server/Horse Isle Server/Game/Meta.cs b/Horse Isle Server/Horse Isle Server/Game/Meta.cs index caf8577..f5c2f71 100644 --- a/Horse Isle Server/Horse Isle Server/Game/Meta.cs +++ b/Horse Isle Server/Horse Isle Server/Game/Meta.cs @@ -599,7 +599,7 @@ namespace HISP.Game double moneyMade = 0; if (user.BankInterest > user.BankMoney) { - moneyMade = user.BankMoney - user.BankInterest; + moneyMade = user.BankInterest - user.BankMoney; user.BankMoney = user.BankInterest; } diff --git a/Horse Isle Server/Horse Isle Server/Player/User.cs b/Horse Isle Server/Horse Isle Server/Player/User.cs index e3db0fc..10608f4 100644 --- a/Horse Isle Server/Horse Isle Server/Player/User.cs +++ b/Horse Isle Server/Horse Isle Server/Player/User.cs @@ -187,7 +187,7 @@ namespace HISP.Player { get { - return bankInterest; + return Database.GetPlayerBankInterest(Id); } set { @@ -195,7 +195,6 @@ namespace HISP.Player value = 9999999999.9999; Database.SetPlayerBankInterest(value, Id); - bankInterest = value; } } public double BankMoney @@ -318,7 +317,6 @@ namespace HISP.Player private int money; private int questPoints; private double bankMoney; - private double bankInterest; private int experience; private int hunger; private int thirst; @@ -422,7 +420,6 @@ namespace HISP.Player privateNotes = Database.GetPlayerNotes(UserId); hunger = Database.GetPlayerHunger(UserId); thirst = Database.GetPlayerThirst(UserId); - bankInterest = Database.GetPlayerBankInterest(UserId); tired = Database.GetPlayerTiredness(UserId); Gender = Database.GetGender(UserId); diff --git a/Horse Isle Server/Horse Isle Server/Server/Database.cs b/Horse Isle Server/Horse Isle Server/Server/Database.cs index ef46ac1..1b57a38 100644 --- a/Horse Isle Server/Horse Isle Server/Server/Database.cs +++ b/Horse Isle Server/Horse Isle Server/Server/Database.cs @@ -2177,12 +2177,17 @@ namespace HISP.Server public static void DoIntrestPayments(int intrestRate) { + if (intrestRate == 0) + { + Logger.WarnPrint("Intrest rate is 0, as deviding by 0 causes the universe to implode, adding intrest has been skipped."); + return; + } using (MySqlConnection db = new MySqlConnection(ConnectionString)) { db.Open(); MySqlCommand sqlCommand = db.CreateCommand(); - sqlCommand.CommandText = "UPDATE UserExt SET BankInterest=BankInterest * (1/@interestRate) AND NOT BankInterest * (1/@interestRate) > 9999999999.9999"; - sqlCommand.Parameters.AddWithValue("@interest", intrestRate); + sqlCommand.CommandText = "UPDATE UserExt SET BankInterest = BankInterest + (BankInterest * (1/@interestRate)) WHERE NOT BankInterest + (BankInterest * (1/@interestRate)) > 9999999999.9999"; + sqlCommand.Parameters.AddWithValue("@interestRate", intrestRate); sqlCommand.Prepare(); sqlCommand.ExecuteNonQuery(); diff --git a/Horse Isle Server/Horse Isle Server/Server/GameDataJson.cs b/Horse Isle Server/Horse Isle Server/Server/GameDataJson.cs index 392cd6c..e77521b 100644 --- a/Horse Isle Server/Horse Isle Server/Server/GameDataJson.cs +++ b/Horse Isle Server/Horse Isle Server/Server/GameDataJson.cs @@ -447,9 +447,9 @@ namespace HISP.Server Item.WishingCoin = gameData.item.special.wishing_coin; // New Users - Messages.NewUserMessage = gameData.new_user.starting_message; - Map.NewUserStartX = gameData.new_user.starting_x; - Map.NewUserStartY = gameData.new_user.starting_y; + Messages.NewUserMessage = gameData.messages.new_user.starting_message; + Map.NewUserStartX = gameData.messages.new_user.starting_x; + Map.NewUserStartY = gameData.messages.new_user.starting_y; // Records Messages.ProfileSavedMessage = gameData.messages.profile_save; diff --git a/Horse Isle Server/Horse Isle Server/Server/GameServer.cs b/Horse Isle Server/Horse Isle Server/Server/GameServer.cs index 742dee1..40d85aa 100644 --- a/Horse Isle Server/Horse Isle Server/Server/GameServer.cs +++ b/Horse Isle Server/Horse Isle Server/Server/GameServer.cs @@ -57,7 +57,9 @@ namespace HISP.Server Database.IncAllUsersFreeTime(1); } - Database.DoIntrestPayments(ConfigReader.IntrestRate); + if(totalMinutesElapsed % 24 == 0) + Database.DoIntrestPayments(ConfigReader.IntrestRate); + Database.IncPlayerTirednessForOfflineUsers(); DroppedItems.Update(); minuteTimer.Change(oneMinute, oneMinute); @@ -364,7 +366,6 @@ namespace HISP.Server byte[] MotdData = PacketBuilder.CreateMotd(); sender.SendPacket(MotdData); - } public static void OnWish(GameClient sender, byte[] packet)