add banks.

This commit is contained in:
SilicaAndPina 2021-01-01 13:21:02 +13:00
parent 8781ca6b84
commit 26245c66c3
8 changed files with 127 additions and 24 deletions

View file

@ -218,6 +218,15 @@ namespace HISP.Game
public static string Sold1Format;
public static string SoldAllFormat;
// Bank
public static string BankMadeInIntrestFormat;
public static string BankCarryingFormat;
public static string BankWhatToDo;
public static string BankOptionsFormat;
public static string BankWithdrewMoneyFormat;
public static string BankDepositedMoneyFormat;
// Npc
public static string NpcStartChatFormat;
public static string NpcChatpointFormat;
@ -320,6 +329,28 @@ namespace HISP.Game
// Click
public static string NothingInterestingHere;
public static string FormatBankIntrestMadeMeta(UInt64 intrestMade)
{
return BankMadeInIntrestFormat.Replace("%MONEY%", intrestMade.ToString("N0"));
}
public static string FormatBankCarryingMeta(int money, UInt64 bankMoney)
{
return BankCarryingFormat.Replace("%MONEY%", money.ToString("N0")).Replace("%BANKMONEY%", bankMoney.ToString("N0"));
}
public static string FormatBankOptionsMeta(int money, UInt64 bankMoney)
{
return BankOptionsFormat.Replace("%MONEY%", money.ToString("N0")).Replace("%BANKMONEY%", bankMoney.ToString("N0"));
}
public static string FormatDepositedMoneyMessage(int money)
{
return BankDepositedMoneyFormat.Replace("%MONEY%", money.ToString("N0"));
}
public static string FormatWithdrawMoneyMessage(int money)
{
return BankWithdrewMoneyFormat.Replace("%MONEY%", money.ToString("N0"));
}
public static string FormatNumberOfWishingCoins(int amount)
{
return YouHaveWishingCoinsFormat.Replace("%AMOUNT%", amount.ToString("N0"));

View file

@ -589,10 +589,22 @@ namespace HISP.Game
return message;
}
public static string buildFountain()
private static string buildFountain()
{
return Messages.FountainMeta;
}
private static string buildBank(User user)
{
string messages = Messages.FormatBankCarryingMeta(user.Money, user.BankMoney);
messages += Messages.BankWhatToDo;
messages += Messages.FormatBankOptionsMeta(user.Money, user.BankMoney);
messages += Messages.ExitThisPlace;
messages += Messages.MetaTerminator;
return messages;
}
public static string BuildSpecialTileInfo(User user, World.SpecialTile specialTile)
{
string message = "";
@ -650,9 +662,13 @@ namespace HISP.Game
message += buildShopInfo(shop,user.Inventory);
}
if(TileCode == "BANK")
{
message += buildBank(user);
}
if(TileCode == "WISHINGWELL")
{
message += Meta.buildWishingWell(user);
message += buildWishingWell(user);
}
if(TileCode == "INN")
{

View file

@ -191,6 +191,9 @@ namespace HISP.Player
}
set
{
if (value > 9999999999)
value = 9999999999;
Database.SetPlayerBankMoney(value, Id);
bankMoney = value;
}
@ -265,7 +268,7 @@ namespace HISP.Player
value = 1000;
if (value <= 0)
value = 0;
Database.SetPlayerHunger(Id, value);
Database.SetPlayerThirst(Id, value);
thirst = value;
}
}

View file

@ -528,6 +528,16 @@ namespace HISP.Server
Messages.AbuseReportFiled = gameData.messages.abuse_report.report_filed;
Messages.AbuseReportProvideValidReason = gameData.messages.abuse_report.valid_reason;
// Bank
Messages.BankMadeInIntrestFormat = gameData.messages.meta.bank.made_interest;
Messages.BankCarryingFormat = gameData.messages.meta.bank.carrying_message;
Messages.BankWhatToDo = gameData.messages.meta.bank.what_to_do;
Messages.BankOptionsFormat = gameData.messages.meta.bank.options;
Messages.BankDepositedMoneyFormat = gameData.messages.bank.deposit_format;
Messages.BankWithdrewMoneyFormat = gameData.messages.bank.withdraw_format;
// Chat
Messages.ChatViolationMessageFormat = gameData.messages.chat.violation_format;

View file

@ -99,10 +99,52 @@ namespace HISP.Server
return;
}
switch(inputId) // Private Notes
switch(inputId)
{
case 7:
if(dynamicInput.Length >= 2)
case 1: // Bank
if (dynamicInput.Length >= 2)
{
int moneyDeposited = 0;
int moneyWithdrawn = 0;
try
{
moneyDeposited = int.Parse(dynamicInput[1]);
moneyWithdrawn = int.Parse(dynamicInput[2]);
}
catch (FormatException)
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " tried to deposit/witthdraw NaN money....");
break;
}
if((moneyDeposited <= sender.LoggedinUser.Money) && moneyDeposited != 0)
{
sender.LoggedinUser.Money -= moneyDeposited;
sender.LoggedinUser.BankMoney += Convert.ToUInt64(moneyDeposited);
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatDepositedMoneyMessage(moneyDeposited), PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(chatPacket);
}
if ((Convert.ToUInt64(moneyWithdrawn) <= sender.LoggedinUser.BankMoney) && moneyWithdrawn != 0)
{
sender.LoggedinUser.BankMoney -= Convert.ToUInt64(moneyWithdrawn);
sender.LoggedinUser.Money += moneyWithdrawn;
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatWithdrawMoneyMessage(moneyWithdrawn), PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(chatPacket);
}
Update(sender);
break;
}
else
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to send a invalid dynamic input (private notes, wrong size)");
break;
}
case 7: // Private Notes
if (dynamicInput.Length >= 2)
{
sender.LoggedinUser.PrivateNotes = dynamicInput[1];
UpdateStats(sender);
@ -115,7 +157,7 @@ namespace HISP.Server
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to send a invalid dynamic input (private notes, wrong size)");
break;
}
case 12:
case 12: // Abuse Report
if (dynamicInput.Length >= 2)
{
string userName = dynamicInput[1];