mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-10 07:05:41 +12:00
fix money related bugs and crashes.
This commit is contained in:
parent
99d9b401a2
commit
e600554555
21 changed files with 151 additions and 83 deletions
|
@ -143,7 +143,9 @@
|
||||||
},
|
},
|
||||||
"bank":{
|
"bank":{
|
||||||
"deposit_format":"You deposited $%MONEY% into the bank.",
|
"deposit_format":"You deposited $%MONEY% into the bank.",
|
||||||
"withdraw_format":"You withdrew $%MONEY% from the bank."
|
"withdraw_format":"You withdrew $%MONEY% from the bank.",
|
||||||
|
"cant_hold_that_much":"The bank cannot hold that amount of money for you!",
|
||||||
|
"cant_withdraw_that_much":"The bank does not condone walking around with over 2.1 billion dollars!"
|
||||||
},
|
},
|
||||||
"inn":{
|
"inn":{
|
||||||
"cant_afford":"You cannot afford that service!",
|
"cant_afford":"You cannot afford that service!",
|
||||||
|
@ -194,7 +196,8 @@
|
||||||
"brought_5":"You bought 5 %ITEM% for $%PRICE%.",
|
"brought_5":"You bought 5 %ITEM% for $%PRICE%.",
|
||||||
"brought_25":"You bought 25 %ITEM% for $%PRICE%.",
|
"brought_25":"You bought 25 %ITEM% for $%PRICE%.",
|
||||||
"sold_1":"You sold a %ITEM% for $%PRICE%.",
|
"sold_1":"You sold a %ITEM% for $%PRICE%.",
|
||||||
"sold_all":"You sold %AMOUNT% %ITEM% for $%PRICE%."
|
"sold_all":"You sold %AMOUNT% %ITEM% for $%PRICE%.",
|
||||||
|
"cant_hold_extra_money":"You cannot carry around the extra money this would earn you! (2.1B max)"
|
||||||
},
|
},
|
||||||
"tools":{
|
"tools":{
|
||||||
"binoculars":"You search high and low all around, but find nothing interesting.",
|
"binoculars":"You search high and low all around, but find nothing interesting.",
|
||||||
|
@ -406,7 +409,10 @@
|
||||||
"trade_received":"You received $%MONEY% in the trade.",
|
"trade_received":"You received $%MONEY% in the trade.",
|
||||||
|
|
||||||
"trade_not_allowed_while_bidding":"No trades allowed while you are bidding on a Horse at auction.",
|
"trade_not_allowed_while_bidding":"No trades allowed while you are bidding on a Horse at auction.",
|
||||||
"trade_not_allowed_while_other_is_bidding":"No trades allowed while other player bidding on a Horse at auction."
|
"trade_not_allowed_while_other_is_bidding":"No trades allowed while other player bidding on a Horse at auction.",
|
||||||
|
|
||||||
|
"trade_other_cannot_carry_that_much":"The other player can not carry that much more money",
|
||||||
|
"trade_you_cannot_carry_that_much":"You would not be able to carry all that money if trade completed. (2.1B max!)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"auction":{
|
"auction":{
|
||||||
|
|
|
@ -271,7 +271,7 @@ namespace HISP.Game
|
||||||
if (place == 0) // WINNER!
|
if (place == 0) // WINNER!
|
||||||
{
|
{
|
||||||
int prize = EntryCost * Entries.Count;
|
int prize = EntryCost * Entries.Count;
|
||||||
entry.EnteredUser.Money += prize;
|
entry.EnteredUser.AddMoney(prize);
|
||||||
|
|
||||||
|
|
||||||
byte[] youWinMessage = PacketBuilder.CreateChat(Messages.FormatArenaYouWinMessage(prize, expReward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] youWinMessage = PacketBuilder.CreateChat(Messages.FormatArenaYouWinMessage(prize, expReward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
|
|
@ -39,7 +39,7 @@ namespace HISP.Game.Chat
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
money = int.Parse(args[1]);
|
money = int.Parse(args[1]);
|
||||||
user.Money += money;
|
user.AddMoney(money);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,7 +98,7 @@ namespace HISP.Game.Events
|
||||||
byte[] wonIsleCardGame = PacketBuilder.CreateChat(Messages.EventWonIsleTradingGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] wonIsleCardGame = PacketBuilder.CreateChat(Messages.EventWonIsleTradingGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
client.SendPacket(wonIsleCardGame);
|
client.SendPacket(wonIsleCardGame);
|
||||||
|
|
||||||
client.LoggedinUser.Money += 25000;
|
client.LoggedinUser.AddMoney(25000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,8 +133,8 @@ namespace HISP.Game.Events
|
||||||
byte[] otherEarned = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedOther(thrower.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] otherEarned = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedOther(thrower.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
byte[] youEarned = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedYou(throwAt.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] youEarned = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedYou(throwAt.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
|
||||||
thrower.Money += 50;
|
thrower.AddMoney(50);
|
||||||
throwAt.Money += 500;
|
throwAt.AddMoney(500);
|
||||||
|
|
||||||
thrower.LoggedinClient.SendPacket(youEarned);
|
thrower.LoggedinClient.SendPacket(youEarned);
|
||||||
throwAt.LoggedinClient.SendPacket(otherEarned);
|
throwAt.LoggedinClient.SendPacket(otherEarned);
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace HISP.Game.Events
|
||||||
user.Inventory.AddIgnoringFull(new ItemInstance(rngEvent.GiveObject));
|
user.Inventory.AddIgnoringFull(new ItemInstance(rngEvent.GiveObject));
|
||||||
|
|
||||||
if(moneyEarned != 0)
|
if(moneyEarned != 0)
|
||||||
user.Money += moneyEarned;
|
user.AddMoney(moneyEarned);
|
||||||
|
|
||||||
HorseInstance effectedHorse = null;
|
HorseInstance effectedHorse = null;
|
||||||
|
|
||||||
|
|
|
@ -242,7 +242,7 @@ namespace HISP.Game.Events
|
||||||
participent.UserInstance.LoggedinClient.SendPacket(bonusMessage);
|
participent.UserInstance.LoggedinClient.SendPacket(bonusMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
participent.UserInstance.Money += money;
|
participent.UserInstance.AddMoney(money);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace HISP.Game.Events
|
||||||
winner.Awards.AddAward(Award.GetAwardById(34)); // Riddle Genius
|
winner.Awards.AddAward(Award.GetAwardById(34)); // Riddle Genius
|
||||||
|
|
||||||
|
|
||||||
winner.Money += Reward;
|
winner.AddMoney(Reward);
|
||||||
byte[] riddleWonMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForOthers(winner.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] riddleWonMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForOthers(winner.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
byte[] riddleYouWonMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForYou(Reward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] riddleYouWonMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForYou(Reward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
foreach (GameClient client in GameServer.ConnectedClients)
|
foreach (GameClient client in GameServer.ConnectedClients)
|
||||||
|
|
|
@ -73,7 +73,7 @@ namespace HISP.Game.Events
|
||||||
foreach (ThrownCounter winner in winnerCounter)
|
foreach (ThrownCounter winner in winnerCounter)
|
||||||
{
|
{
|
||||||
byte[] youWinMsg = PacketBuilder.CreateChat(Messages.EventWonWaterBallonGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] youWinMsg = PacketBuilder.CreateChat(Messages.EventWonWaterBallonGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
winner.UserHit.Money += 20000;
|
winner.UserHit.AddMoney(20000);
|
||||||
winner.UserHit.LoggedinClient.SendPacket(youWinMsg);
|
winner.UserHit.LoggedinClient.SendPacket(youWinMsg);
|
||||||
winner.UserHit.TrackedItems.GetTrackedItem(Tracking.TrackableItem.WaterbaloonGameWin).Count++;
|
winner.UserHit.TrackedItems.GetTrackedItem(Tracking.TrackableItem.WaterbaloonGameWin).Count++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ namespace HISP.Game.Items
|
||||||
if (isFirstLoad)
|
if (isFirstLoad)
|
||||||
Logger.InfoPrint("Generating items, (this may take awhile on a fresh database!)");
|
Logger.InfoPrint("Generating items, (this may take awhile on a fresh database!)");
|
||||||
else
|
else
|
||||||
Logger.InfoPrint("Generating items.");
|
Logger.DebugPrint("Generating items.");
|
||||||
|
|
||||||
int newItems = 0;
|
int newItems = 0;
|
||||||
foreach (Item.ItemInformation item in Item.Items)
|
foreach (Item.ItemInformation item in Item.Items)
|
||||||
|
|
|
@ -212,6 +212,9 @@ namespace HISP.Game
|
||||||
public static string TradeNotAllowedWhileBidding;
|
public static string TradeNotAllowedWhileBidding;
|
||||||
public static string TradeNotAllowedWhileOtherBidding;
|
public static string TradeNotAllowedWhileOtherBidding;
|
||||||
|
|
||||||
|
public static string TradeWillGiveYouTooMuchMoney;
|
||||||
|
public static string TradeWillGiveOtherTooMuchMoney;
|
||||||
|
|
||||||
// Player Interaction
|
// Player Interaction
|
||||||
public static string PlayerHereMenuFormat;
|
public static string PlayerHereMenuFormat;
|
||||||
|
|
||||||
|
@ -981,6 +984,7 @@ namespace HISP.Game
|
||||||
public static string Brought25Format;
|
public static string Brought25Format;
|
||||||
public static string Sold1Format;
|
public static string Sold1Format;
|
||||||
public static string SoldAllFormat;
|
public static string SoldAllFormat;
|
||||||
|
public static string CannotSellYoudGetTooMuchMoney;
|
||||||
|
|
||||||
// Bank
|
// Bank
|
||||||
public static string BankMadeInIntrestFormat;
|
public static string BankMadeInIntrestFormat;
|
||||||
|
@ -991,6 +995,9 @@ namespace HISP.Game
|
||||||
public static string BankWithdrewMoneyFormat;
|
public static string BankWithdrewMoneyFormat;
|
||||||
public static string BankDepositedMoneyFormat;
|
public static string BankDepositedMoneyFormat;
|
||||||
|
|
||||||
|
public static string BankCantHoldThisMuch;
|
||||||
|
public static string BankYouCantHoldThisMuch;
|
||||||
|
|
||||||
// Npc
|
// Npc
|
||||||
public static string NpcStartChatFormat;
|
public static string NpcStartChatFormat;
|
||||||
public static string NpcNoChatpoints;
|
public static string NpcNoChatpoints;
|
||||||
|
|
|
@ -471,7 +471,7 @@ namespace HISP.Game
|
||||||
int moneyLost = GameServer.RandomNumberGenerator.Next(0, 100);
|
int moneyLost = GameServer.RandomNumberGenerator.Next(0, 100);
|
||||||
if (moneyLost > user.Money)
|
if (moneyLost > user.Money)
|
||||||
moneyLost = user.Money;
|
moneyLost = user.Money;
|
||||||
user.Money -= moneyLost;
|
user.TakeMoney(moneyLost);
|
||||||
return Messages.FormatVenusFlyTrapMeta(moneyLost);
|
return Messages.FormatVenusFlyTrapMeta(moneyLost);
|
||||||
}
|
}
|
||||||
public static string buildInn(Inn inn)
|
public static string buildInn(Inn inn)
|
||||||
|
|
|
@ -182,9 +182,10 @@ namespace HISP.Game
|
||||||
user.Inventory.Remove(itm.ItemInstances[0]);
|
user.Inventory.Remove(itm.ItemInstances[0]);
|
||||||
|
|
||||||
}
|
}
|
||||||
user.Money -= quest.MoneyCost;
|
// Take Money
|
||||||
|
user.TakeMoney(quest.MoneyCost);
|
||||||
// Give money
|
// Give money
|
||||||
user.Money += quest.MoneyEarned;
|
user.AddMoney(quest.MoneyEarned);
|
||||||
// Give items
|
// Give items
|
||||||
foreach (QuestItemInfo itemInfo in quest.ItemsEarned)
|
foreach (QuestItemInfo itemInfo in quest.ItemsEarned)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace HISP.Game
|
||||||
|
|
||||||
byte[] riddleAnswerCorrectPacket = PacketBuilder.CreateChat(Messages.FormatRiddlerAnswerCorrect(this.Reason), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] riddleAnswerCorrectPacket = PacketBuilder.CreateChat(Messages.FormatRiddlerAnswerCorrect(this.Reason), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
user.LoggedinClient.SendPacket(riddleAnswerCorrectPacket);
|
user.LoggedinClient.SendPacket(riddleAnswerCorrectPacket);
|
||||||
user.Money += 10000;
|
user.AddMoney(10000);
|
||||||
|
|
||||||
if(Database.TotalRiddlesCompletedByPlayer(user.Id) >= riddlerRiddles.Count)
|
if(Database.TotalRiddlesCompletedByPlayer(user.Id) >= riddlerRiddles.Count)
|
||||||
user.Awards.AddAward(Award.GetAwardById(11)); // Riddlers Riddles
|
user.Awards.AddAward(Award.GetAwardById(11)); // Riddlers Riddles
|
||||||
|
|
|
@ -146,7 +146,7 @@ namespace HISP.Game.Services
|
||||||
User userWon = GameServer.GetUserById(highestBidder);
|
User userWon = GameServer.GetUserById(highestBidder);
|
||||||
byte[] wonAuction = PacketBuilder.CreateChat(Messages.FormatAuctionBroughtHorse(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] wonAuction = PacketBuilder.CreateChat(Messages.FormatAuctionBroughtHorse(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
userWon.LoggedinClient.SendPacket(wonAuction);
|
userWon.LoggedinClient.SendPacket(wonAuction);
|
||||||
userWon.Money -= highestBid;
|
userWon.TakeMoney(highestBid);
|
||||||
userWon.HorseInventory.AddHorse(Horse, false);
|
userWon.HorseInventory.AddHorse(Horse, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -159,7 +159,7 @@ namespace HISP.Game.Services
|
||||||
User userSold = GameServer.GetUserById(OwnerId);
|
User userSold = GameServer.GetUserById(OwnerId);
|
||||||
byte[] horseSold = PacketBuilder.CreateChat(Messages.FormatAuctionHorseSold(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] horseSold = PacketBuilder.CreateChat(Messages.FormatAuctionHorseSold(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
userSold.LoggedinClient.SendPacket(horseSold);
|
userSold.LoggedinClient.SendPacket(horseSold);
|
||||||
userSold.Money += highestBid;
|
userSold.AddMoney(highestBid);
|
||||||
userSold.HorseInventory.DeleteHorse(Horse, false);
|
userSold.HorseInventory.DeleteHorse(Horse, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -142,7 +142,7 @@ namespace HISP.Game
|
||||||
byte[] MovementPacket = PacketBuilder.CreateMovementPacket(user.X, user.Y, user.CharacterId, user.Facing, PacketBuilder.DIRECTION_TELEPORT, true);
|
byte[] MovementPacket = PacketBuilder.CreateMovementPacket(user.X, user.Y, user.CharacterId, user.Facing, PacketBuilder.DIRECTION_TELEPORT, true);
|
||||||
user.LoggedinClient.SendPacket(MovementPacket);
|
user.LoggedinClient.SendPacket(MovementPacket);
|
||||||
|
|
||||||
user.Money += Value;
|
user.AddMoney(Value);
|
||||||
|
|
||||||
if(this.Type == "BURIED")
|
if(this.Type == "BURIED")
|
||||||
{
|
{
|
||||||
|
|
|
@ -68,7 +68,7 @@ namespace HISP.Player
|
||||||
{
|
{
|
||||||
Database.AddAward(baseUser.Id, award.Id);
|
Database.AddAward(baseUser.Id, award.Id);
|
||||||
|
|
||||||
baseUser.Money += award.MoneyBonus;
|
baseUser.AddMoney(award.MoneyBonus);
|
||||||
|
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(award.CompletionText, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(award.CompletionText, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
baseUser.LoggedinClient.SendPacket(chatPacket);
|
baseUser.LoggedinClient.SendPacket(chatPacket);
|
||||||
|
|
|
@ -70,19 +70,30 @@ namespace HISP.Player
|
||||||
Trader.LoggedinClient.SendPacket(tradeNotAllowedWhileBidding);
|
Trader.LoggedinClient.SendPacket(tradeNotAllowedWhileBidding);
|
||||||
fail = true;
|
fail = true;
|
||||||
}
|
}
|
||||||
if (OtherTrade.Trader.HorseInventory.HorseList.Length > OtherTrade.Trader.MaxHorses)
|
if (OtherTrade.Trader.HorseInventory.HorseList.Length + HorsesOffered.Count > OtherTrade.Trader.MaxHorses)
|
||||||
{
|
{
|
||||||
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
||||||
fail = true;
|
fail = true;
|
||||||
}
|
}
|
||||||
if (Trader.HorseInventory.HorseList.Length > Trader.MaxHorses)
|
if (Trader.HorseInventory.HorseList.Length + OtherTrade.HorsesOffered.Count > Trader.MaxHorses)
|
||||||
{
|
{
|
||||||
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
||||||
fail = true;
|
fail = true;
|
||||||
}
|
}
|
||||||
|
if(OtherTrade.Trader.Money + MoneyOffered > 2100000000)
|
||||||
|
{
|
||||||
|
byte[] tradeOtherHasTooMuchMoney = PacketBuilder.CreateChat(Messages.TradeWillGiveOtherTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
Trader.LoggedinClient.SendPacket(tradeOtherHasTooMuchMoney);
|
||||||
|
fail = true;
|
||||||
|
}
|
||||||
|
if(Trader.Money + OtherTrade.MoneyOffered > 2100000000)
|
||||||
|
{
|
||||||
|
byte[] tradeYouHasTooMuchMoney = PacketBuilder.CreateChat(Messages.TradeWillGiveYouTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
Trader.LoggedinClient.SendPacket(tradeYouHasTooMuchMoney);
|
||||||
|
fail = true;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Item Checks
|
* Item Checks
|
||||||
|
@ -140,14 +151,14 @@ namespace HISP.Player
|
||||||
|
|
||||||
if (MoneyOffered > 0) // Transfer Money
|
if (MoneyOffered > 0) // Transfer Money
|
||||||
{
|
{
|
||||||
Trader.Money -= MoneyOffered;
|
Trader.TakeMoney(MoneyOffered);
|
||||||
byte[] tradeSpentMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouSpent(MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] tradeSpentMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouSpent(MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
Trader.LoggedinClient.SendPacket(tradeSpentMoney);
|
Trader.LoggedinClient.SendPacket(tradeSpentMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(OtherTrade.MoneyOffered > 0)
|
if(OtherTrade.MoneyOffered > 0)
|
||||||
{
|
{
|
||||||
Trader.Money += OtherTrade.MoneyOffered;
|
Trader.AddMoney(OtherTrade.MoneyOffered);
|
||||||
byte[] tradeReceivedMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouReceived(OtherTrade.MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] tradeReceivedMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouReceived(OtherTrade.MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
Trader.LoggedinClient.SendPacket(tradeReceivedMoney);
|
Trader.LoggedinClient.SendPacket(tradeReceivedMoney);
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,30 @@ namespace HISP.Player
|
||||||
public bool ListingAuction = false;
|
public bool ListingAuction = false;
|
||||||
public int TotalGlobalChatMessages = 1;
|
public int TotalGlobalChatMessages = 1;
|
||||||
|
|
||||||
|
public void TakeMoney(int amount)
|
||||||
|
{
|
||||||
|
money -= amount;
|
||||||
|
Database.SetPlayerMoney(money, Id);
|
||||||
|
GameServer.UpdatePlayer(LoggedinClient);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddMoney(int amount)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
checked
|
||||||
|
{
|
||||||
|
money += amount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(OverflowException)
|
||||||
|
{
|
||||||
|
money = 2147483647;
|
||||||
|
}
|
||||||
|
|
||||||
|
Database.SetPlayerMoney(money, Id);
|
||||||
|
GameServer.UpdatePlayer(LoggedinClient);
|
||||||
|
}
|
||||||
public string GetWeatherSeen()
|
public string GetWeatherSeen()
|
||||||
{
|
{
|
||||||
string weather = "SUNNY";
|
string weather = "SUNNY";
|
||||||
|
@ -256,25 +280,6 @@ namespace HISP.Player
|
||||||
{
|
{
|
||||||
return money;
|
return money;
|
||||||
}
|
}
|
||||||
set
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
checked
|
|
||||||
{
|
|
||||||
money = value;
|
|
||||||
Database.SetPlayerMoney(value, Id);
|
|
||||||
GameServer.UpdatePlayer(LoggedinClient);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(OverflowException)
|
|
||||||
{
|
|
||||||
money = 2147483647;
|
|
||||||
Database.SetPlayerMoney(2147483647, Id);
|
|
||||||
GameServer.UpdatePlayer(LoggedinClient);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1138,6 +1138,9 @@ namespace HISP.Server
|
||||||
Messages.TradeNotAllowedWhileBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_bidding;
|
Messages.TradeNotAllowedWhileBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_bidding;
|
||||||
Messages.TradeNotAllowedWhileOtherBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_other_is_bidding;
|
Messages.TradeNotAllowedWhileOtherBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_other_is_bidding;
|
||||||
|
|
||||||
|
Messages.TradeWillGiveYouTooMuchMoney = gameData.messages.meta.player_interaction.trade.trade_other_cannot_carry_that_much;
|
||||||
|
Messages.TradeWillGiveOtherTooMuchMoney = gameData.messages.meta.player_interaction.trade.trade_you_cannot_carry_that_much;
|
||||||
|
|
||||||
// Player Interation
|
// Player Interation
|
||||||
|
|
||||||
Messages.PlayerHereMenuFormat = gameData.messages.meta.player_interaction.menu;
|
Messages.PlayerHereMenuFormat = gameData.messages.meta.player_interaction.menu;
|
||||||
|
@ -1617,6 +1620,9 @@ namespace HISP.Server
|
||||||
Messages.BankDepositedMoneyFormat = gameData.messages.bank.deposit_format;
|
Messages.BankDepositedMoneyFormat = gameData.messages.bank.deposit_format;
|
||||||
Messages.BankWithdrewMoneyFormat = gameData.messages.bank.withdraw_format;
|
Messages.BankWithdrewMoneyFormat = gameData.messages.bank.withdraw_format;
|
||||||
|
|
||||||
|
Messages.BankCantHoldThisMuch = gameData.messages.bank.cant_hold_that_much;
|
||||||
|
Messages.BankYouCantHoldThisMuch = gameData.messages.bank.cant_withdraw_that_much;
|
||||||
|
|
||||||
// Riddler
|
// Riddler
|
||||||
Messages.RiddlerAnsweredAll = gameData.messages.meta.riddler.riddle_all_complete;
|
Messages.RiddlerAnsweredAll = gameData.messages.meta.riddler.riddle_all_complete;
|
||||||
Messages.RiddlerIncorrectAnswer = gameData.messages.meta.riddler.riddle_incorrect;
|
Messages.RiddlerIncorrectAnswer = gameData.messages.meta.riddler.riddle_incorrect;
|
||||||
|
@ -1876,6 +1882,7 @@ namespace HISP.Server
|
||||||
Messages.Brought25Format = gameData.messages.shop.brought_25;
|
Messages.Brought25Format = gameData.messages.shop.brought_25;
|
||||||
Messages.Sold1Format = gameData.messages.shop.sold_1;
|
Messages.Sold1Format = gameData.messages.shop.sold_1;
|
||||||
Messages.SoldAllFormat = gameData.messages.shop.sold_all;
|
Messages.SoldAllFormat = gameData.messages.shop.sold_all;
|
||||||
|
Messages.CannotSellYoudGetTooMuchMoney = gameData.messages.shop.cant_hold_extra_money;
|
||||||
|
|
||||||
Messages.Brought1ButInventoryFull = gameData.messages.shop.brought_1_but_inv_full;
|
Messages.Brought1ButInventoryFull = gameData.messages.shop.brought_1_but_inv_full;
|
||||||
Messages.Brought5ButInventoryFull = gameData.messages.shop.brought_5_but_inv_full;
|
Messages.Brought5ButInventoryFull = gameData.messages.shop.brought_5_but_inv_full;
|
||||||
|
|
|
@ -79,7 +79,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
int moneyToAdd = 5000 * ranch.GetBuildingCount(8); // Windmill
|
int moneyToAdd = 5000 * ranch.GetBuildingCount(8); // Windmill
|
||||||
if (GameServer.IsUserOnline(ranchOwner))
|
if (GameServer.IsUserOnline(ranchOwner))
|
||||||
GameServer.GetUserById(ranchOwner).Money += moneyToAdd;
|
GameServer.GetUserById(ranchOwner).AddMoney(moneyToAdd);
|
||||||
else
|
else
|
||||||
Database.SetPlayerMoney(Database.GetPlayerMoney(ranchOwner) + moneyToAdd, ranchOwner);
|
Database.SetPlayerMoney(Database.GetPlayerMoney(ranchOwner) + moneyToAdd, ranchOwner);
|
||||||
}
|
}
|
||||||
|
@ -920,7 +920,7 @@ namespace HISP.Server
|
||||||
byte[] healedMessagePacket = PacketBuilder.CreateChat(Messages.VetAllFullHealthRecoveredMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] healedMessagePacket = PacketBuilder.CreateChat(Messages.VetAllFullHealthRecoveredMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(healedMessagePacket);
|
sender.SendPacket(healedMessagePacket);
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -968,7 +968,7 @@ namespace HISP.Server
|
||||||
if(sender.LoggedinUser.Money >= price)
|
if(sender.LoggedinUser.Money >= price)
|
||||||
{
|
{
|
||||||
horseVetServiceInst.BasicStats.Health = 1000;
|
horseVetServiceInst.BasicStats.Health = 1000;
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatVetHorseAtFullHealthMessage(horseVetServiceInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatVetHorseAtFullHealthMessage(horseVetServiceInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(messagePacket);
|
sender.SendPacket(messagePacket);
|
||||||
|
@ -1041,7 +1041,7 @@ namespace HISP.Server
|
||||||
if (sender.LoggedinUser.Money >= price)
|
if (sender.LoggedinUser.Money >= price)
|
||||||
{
|
{
|
||||||
horseFarrierServiceInst.BasicStats.Shoes = incAmount;
|
horseFarrierServiceInst.BasicStats.Shoes = incAmount;
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
byte[] messagePacket = PacketBuilder.CreateChat(msg, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] messagePacket = PacketBuilder.CreateChat(msg, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(messagePacket);
|
sender.SendPacket(messagePacket);
|
||||||
|
@ -1091,7 +1091,7 @@ namespace HISP.Server
|
||||||
horse.BasicStats.Shoes = farrier.SteelShoesAmount;
|
horse.BasicStats.Shoes = farrier.SteelShoesAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sender.LoggedinUser.Money -= totalPrice;
|
sender.LoggedinUser.TakeMoney(totalPrice);
|
||||||
|
|
||||||
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatFarrierPutOnSteelShoesAllMesssage(farrier.SteelShoesAmount, 1000), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatFarrierPutOnSteelShoesAllMesssage(farrier.SteelShoesAmount, 1000), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(messagePacket);
|
sender.SendPacket(messagePacket);
|
||||||
|
@ -1143,7 +1143,7 @@ namespace HISP.Server
|
||||||
if (sender.LoggedinUser.Money >= price)
|
if (sender.LoggedinUser.Money >= price)
|
||||||
{
|
{
|
||||||
groomHorseInst.BasicStats.Groom = groomer.Max;
|
groomHorseInst.BasicStats.Groom = groomer.Max;
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatHorseGroomedToBestAbilities(groomHorseInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatHorseGroomedToBestAbilities(groomHorseInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(messagePacket);
|
sender.SendPacket(messagePacket);
|
||||||
|
@ -1199,7 +1199,7 @@ namespace HISP.Server
|
||||||
byte[] groomedAllHorsesPacket = PacketBuilder.CreateChat(Messages.GroomerBestToHisAbilitiesALL, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] groomedAllHorsesPacket = PacketBuilder.CreateChat(Messages.GroomerBestToHisAbilitiesALL, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(groomedAllHorsesPacket);
|
sender.SendPacket(groomedAllHorsesPacket);
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1251,7 +1251,7 @@ namespace HISP.Server
|
||||||
barnHorseInst.BasicStats.Tiredness = 1000;
|
barnHorseInst.BasicStats.Tiredness = 1000;
|
||||||
barnHorseInst.BasicStats.Hunger = 1000;
|
barnHorseInst.BasicStats.Hunger = 1000;
|
||||||
barnHorseInst.BasicStats.Thirst = 1000;
|
barnHorseInst.BasicStats.Thirst = 1000;
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
|
|
||||||
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatBarnHorseFullyFed(barnHorseInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] messagePacket = PacketBuilder.CreateChat(Messages.FormatBarnHorseFullyFed(barnHorseInst.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(messagePacket);
|
sender.SendPacket(messagePacket);
|
||||||
|
@ -1307,7 +1307,7 @@ namespace HISP.Server
|
||||||
byte[] barnedAllHorsesPacket = PacketBuilder.CreateChat(Messages.BarnAllHorsesFullyFed, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] barnedAllHorsesPacket = PacketBuilder.CreateChat(Messages.BarnAllHorsesFullyFed, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(barnedAllHorsesPacket);
|
sender.SendPacket(barnedAllHorsesPacket);
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= totalPrice;
|
sender.LoggedinUser.TakeMoney(totalPrice);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1360,7 +1360,7 @@ namespace HISP.Server
|
||||||
|
|
||||||
if(sender.LoggedinUser.Money >= trainer.MoneyCost)
|
if(sender.LoggedinUser.Money >= trainer.MoneyCost)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.Money -= trainer.MoneyCost;
|
sender.LoggedinUser.TakeMoney(trainer.MoneyCost);
|
||||||
trainHorseInst.BasicStats.Mood -= trainer.MoodCost;
|
trainHorseInst.BasicStats.Mood -= trainer.MoodCost;
|
||||||
trainHorseInst.BasicStats.Thirst -= trainer.ThirstCost;
|
trainHorseInst.BasicStats.Thirst -= trainer.ThirstCost;
|
||||||
trainHorseInst.BasicStats.Hunger -= trainer.HungerCost;
|
trainHorseInst.BasicStats.Hunger -= trainer.HungerCost;
|
||||||
|
@ -1623,7 +1623,7 @@ namespace HISP.Server
|
||||||
if (sender.LoggedinUser.Money >= arena.EntryCost)
|
if (sender.LoggedinUser.Money >= arena.EntryCost)
|
||||||
{
|
{
|
||||||
arena.AddEntry(sender.LoggedinUser, horseInstance);
|
arena.AddEntry(sender.LoggedinUser, horseInstance);
|
||||||
sender.LoggedinUser.Money -= arena.EntryCost;
|
sender.LoggedinUser.TakeMoney(arena.EntryCost);
|
||||||
|
|
||||||
byte[] enteredIntoCompetition = PacketBuilder.CreateChat(Messages.ArenaEnteredInto, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] enteredIntoCompetition = PacketBuilder.CreateChat(Messages.ArenaEnteredInto, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(enteredIntoCompetition);
|
sender.SendPacket(enteredIntoCompetition);
|
||||||
|
@ -2184,11 +2184,11 @@ namespace HISP.Server
|
||||||
case 1: // Bank
|
case 1: // Bank
|
||||||
if (dynamicInput.Length >= 2)
|
if (dynamicInput.Length >= 2)
|
||||||
{
|
{
|
||||||
int moneyDeposited = 0;
|
Int64 moneyDeposited = 0;
|
||||||
Int64 moneyWithdrawn = 0;
|
Int64 moneyWithdrawn = 0;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
moneyDeposited = int.Parse(dynamicInput[1]);
|
moneyDeposited = Int64.Parse(dynamicInput[1]);
|
||||||
moneyWithdrawn = Int64.Parse(dynamicInput[2]);
|
moneyWithdrawn = Int64.Parse(dynamicInput[2]);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
@ -2197,20 +2197,42 @@ namespace HISP.Server
|
||||||
UpdateArea(sender);
|
UpdateArea(sender);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if trying to deposit more than can be held in the bank.
|
||||||
|
|
||||||
|
if (Convert.ToInt64(sender.LoggedinUser.BankMoney) + moneyDeposited > 9999999999)
|
||||||
|
{
|
||||||
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.BankCantHoldThisMuch, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(chatPacket);
|
||||||
|
UpdateArea(sender);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if trying to deposit more than 2.1B
|
||||||
|
|
||||||
|
if (moneyWithdrawn > 2100000000)
|
||||||
|
{
|
||||||
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.BankYouCantHoldThisMuch, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(chatPacket);
|
||||||
|
UpdateArea(sender);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if((moneyDeposited <= sender.LoggedinUser.Money) && moneyDeposited != 0)
|
if((moneyDeposited <= sender.LoggedinUser.Money) && moneyDeposited != 0)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.Money -= moneyDeposited;
|
sender.LoggedinUser.TakeMoney(Convert.ToInt32(moneyDeposited));
|
||||||
sender.LoggedinUser.BankMoney += Convert.ToUInt64(moneyDeposited);
|
sender.LoggedinUser.BankMoney += moneyDeposited;
|
||||||
|
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatDepositedMoneyMessage(moneyDeposited), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatDepositedMoneyMessage(Convert.ToInt32(moneyDeposited)), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(chatPacket);
|
sender.SendPacket(chatPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((moneyWithdrawn <= sender.LoggedinUser.BankMoney) && moneyWithdrawn != 0)
|
if ((moneyWithdrawn <= sender.LoggedinUser.BankMoney) && moneyWithdrawn != 0)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.BankMoney -= moneyWithdrawn;
|
sender.LoggedinUser.BankMoney -= moneyWithdrawn;
|
||||||
sender.LoggedinUser.Money += Convert.ToInt32(moneyWithdrawn);
|
sender.LoggedinUser.AddMoney(Convert.ToInt32(moneyWithdrawn));
|
||||||
|
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatWithdrawMoneyMessage(Convert.ToInt32(moneyWithdrawn)), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatWithdrawMoneyMessage(Convert.ToInt32(moneyWithdrawn)), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(chatPacket);
|
sender.SendPacket(chatPacket);
|
||||||
|
@ -2237,7 +2259,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
int playerId = Database.GetUserid(to);
|
int playerId = Database.GetUserid(to);
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= 3;
|
sender.LoggedinUser.TakeMoney(3);
|
||||||
Mailbox.Mail mailMessage = new Mailbox.Mail();
|
Mailbox.Mail mailMessage = new Mailbox.Mail();
|
||||||
mailMessage.RandomId = RandomID.NextRandomId();
|
mailMessage.RandomId = RandomID.NextRandomId();
|
||||||
mailMessage.FromUser = sender.LoggedinUser.Id;
|
mailMessage.FromUser = sender.LoggedinUser.Id;
|
||||||
|
@ -3131,7 +3153,7 @@ namespace HISP.Server
|
||||||
byte[] serachResultMeta = PacketBuilder.CreateMetaPacket(Meta.BuildWhisperSearchResults(horsesFound.ToArray()));
|
byte[] serachResultMeta = PacketBuilder.CreateMetaPacket(Meta.BuildWhisperSearchResults(horsesFound.ToArray()));
|
||||||
sender.SendPacket(serachResultMeta);
|
sender.SendPacket(serachResultMeta);
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= cost;
|
sender.LoggedinUser.TakeMoney(cost);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (buttonIdStr.StartsWith("4c")) // Libary Breed Search
|
else if (buttonIdStr.StartsWith("4c")) // Libary Breed Search
|
||||||
|
@ -3253,7 +3275,7 @@ namespace HISP.Server
|
||||||
sender.LoggedinUser.HorseInventory.DeleteHorse(inst); // 1000% a "distant land.."
|
sender.LoggedinUser.HorseInventory.DeleteHorse(inst); // 1000% a "distant land.."
|
||||||
sender.LoggedinUser.LastViewedHorse = null;
|
sender.LoggedinUser.LastViewedHorse = null;
|
||||||
|
|
||||||
sender.LoggedinUser.Money += price;
|
sender.LoggedinUser.AddMoney(price);
|
||||||
byte[] soldHorseMessage = PacketBuilder.CreateChat(Messages.FormatPawneerSold(name, price), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] soldHorseMessage = PacketBuilder.CreateChat(Messages.FormatPawneerSold(name, price), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(soldHorseMessage);
|
sender.SendPacket(soldHorseMessage);
|
||||||
|
|
||||||
|
@ -3340,7 +3362,7 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
if (sender.LoggedinUser.Money >= 1000)
|
if (sender.LoggedinUser.Money >= 1000)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.Money -= 1000;
|
sender.LoggedinUser.TakeMoney(1000);
|
||||||
Auction.AuctionEntry entry = new Auction.AuctionEntry(8, 0, sender.LoggedinUser.Id);
|
Auction.AuctionEntry entry = new Auction.AuctionEntry(8, 0, sender.LoggedinUser.Id);
|
||||||
entry.Horse = inst;
|
entry.Horse = inst;
|
||||||
entry.OwnerId = sender.LoggedinUser.Id;
|
entry.OwnerId = sender.LoggedinUser.Id;
|
||||||
|
@ -3378,7 +3400,7 @@ namespace HISP.Server
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.MetaPriority = true;
|
sender.LoggedinUser.MetaPriority = true;
|
||||||
sender.LoggedinUser.Money -= horseLeaser.Price;
|
sender.LoggedinUser.TakeMoney(horseLeaser.Price);
|
||||||
|
|
||||||
HorseInstance leaseHorse = horseLeaser.GenerateLeaseHorse();
|
HorseInstance leaseHorse = horseLeaser.GenerateLeaseHorse();
|
||||||
|
|
||||||
|
@ -4111,7 +4133,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
case PacketBuilder.WISH_MONEY:
|
case PacketBuilder.WISH_MONEY:
|
||||||
int gainMoney = RandomNumberGenerator.Next(500, 1000);
|
int gainMoney = RandomNumberGenerator.Next(500, 1000);
|
||||||
sender.LoggedinUser.Money += gainMoney;
|
sender.LoggedinUser.AddMoney(gainMoney);
|
||||||
message = Messages.FormatWishMoneyMessage(gainMoney);
|
message = Messages.FormatWishMoneyMessage(gainMoney);
|
||||||
break;
|
break;
|
||||||
case PacketBuilder.WISH_ITEMS:
|
case PacketBuilder.WISH_ITEMS:
|
||||||
|
@ -4136,7 +4158,7 @@ namespace HISP.Server
|
||||||
itm = wishableItmes[item];
|
itm = wishableItmes[item];
|
||||||
|
|
||||||
|
|
||||||
sender.LoggedinUser.Money += earnMoney;
|
sender.LoggedinUser.AddMoney(earnMoney);
|
||||||
sender.LoggedinUser.Inventory.AddIgnoringFull(new ItemInstance(itm.Id));
|
sender.LoggedinUser.Inventory.AddIgnoringFull(new ItemInstance(itm.Id));
|
||||||
|
|
||||||
message = Messages.FormatWishWorldPeaceMessage(earnMoney, itm.Name);
|
message = Messages.FormatWishWorldPeaceMessage(earnMoney, itm.Name);
|
||||||
|
@ -4367,7 +4389,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
byte[] bestScoreBeaten = PacketBuilder.CreateChat(Messages.BeatBestHighscore, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] bestScoreBeaten = PacketBuilder.CreateChat(Messages.BeatBestHighscore, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(bestScoreBeaten);
|
sender.SendPacket(bestScoreBeaten);
|
||||||
sender.LoggedinUser.Money += 2500;
|
sender.LoggedinUser.AddMoney(2500);
|
||||||
}
|
}
|
||||||
else if (newHighscore)
|
else if (newHighscore)
|
||||||
{
|
{
|
||||||
|
@ -4455,7 +4477,7 @@ namespace HISP.Server
|
||||||
int moneyEarned = value * 10;
|
int moneyEarned = value * 10;
|
||||||
Logger.InfoPrint(sender.LoggedinUser.Username + " Earned $" + moneyEarned + " In: " + id);
|
Logger.InfoPrint(sender.LoggedinUser.Username + " Earned $" + moneyEarned + " In: " + id);
|
||||||
|
|
||||||
sender.LoggedinUser.Money += moneyEarned;
|
sender.LoggedinUser.AddMoney(moneyEarned);
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatMoneyEarnedMessage(moneyEarned), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatMoneyEarnedMessage(moneyEarned), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(chatPacket);
|
sender.SendPacket(chatPacket);
|
||||||
|
|
||||||
|
@ -5101,7 +5123,7 @@ namespace HISP.Server
|
||||||
sender.SendPacket(welcomeToIslePacket);
|
sender.SendPacket(welcomeToIslePacket);
|
||||||
|
|
||||||
if(cost > 0)
|
if(cost > 0)
|
||||||
sender.LoggedinUser.Money -= cost;
|
sender.LoggedinUser.TakeMoney(cost);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5170,7 +5192,7 @@ namespace HISP.Server
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int sellPrice = sender.LoggedinUser.OwnedRanch.GetSellPrice();
|
int sellPrice = sender.LoggedinUser.OwnedRanch.GetSellPrice();
|
||||||
sender.LoggedinUser.Money += sellPrice;
|
sender.LoggedinUser.AddMoney(sellPrice);
|
||||||
byte[] sellPacket = PacketBuilder.CreateChat(Messages.FormatRanchSoldMessage(sellPrice), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] sellPacket = PacketBuilder.CreateChat(Messages.FormatRanchSoldMessage(sellPrice), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.LoggedinUser.OwnedRanch.OwnerId = -1;
|
sender.LoggedinUser.OwnedRanch.OwnerId = -1;
|
||||||
sender.SendPacket(sellPacket);
|
sender.SendPacket(sellPacket);
|
||||||
|
@ -5208,7 +5230,7 @@ namespace HISP.Server
|
||||||
Ranch.RanchUpgrade nextUpgrade = Ranch.RanchUpgrade.GetRanchUpgradeById(currentUpgrade.Id + 1);
|
Ranch.RanchUpgrade nextUpgrade = Ranch.RanchUpgrade.GetRanchUpgradeById(currentUpgrade.Id + 1);
|
||||||
if (sender.LoggedinUser.Money >= nextUpgrade.Cost)
|
if (sender.LoggedinUser.Money >= nextUpgrade.Cost)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.Money -= nextUpgrade.Cost;
|
sender.LoggedinUser.TakeMoney(nextUpgrade.Cost);
|
||||||
sender.LoggedinUser.OwnedRanch.InvestedMoney += nextUpgrade.Cost;
|
sender.LoggedinUser.OwnedRanch.InvestedMoney += nextUpgrade.Cost;
|
||||||
sender.LoggedinUser.OwnedRanch.UpgradedLevel++;
|
sender.LoggedinUser.OwnedRanch.UpgradedLevel++;
|
||||||
|
|
||||||
|
@ -5271,7 +5293,7 @@ namespace HISP.Server
|
||||||
if (ranchBuilding.Id == buildingId)
|
if (ranchBuilding.Id == buildingId)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.OwnedRanch.SetBuilding(ranchBuild - 1, null);
|
sender.LoggedinUser.OwnedRanch.SetBuilding(ranchBuild - 1, null);
|
||||||
sender.LoggedinUser.Money += ranchBuilding.GetTeardownPrice();
|
sender.LoggedinUser.AddMoney(ranchBuilding.GetTeardownPrice());
|
||||||
sender.LoggedinUser.OwnedRanch.InvestedMoney -= building.Cost;
|
sender.LoggedinUser.OwnedRanch.InvestedMoney -= building.Cost;
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatBuildingTornDown(ranchBuilding.GetTeardownPrice()), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatBuildingTornDown(ranchBuilding.GetTeardownPrice()), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
|
||||||
|
@ -5325,7 +5347,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.OwnedRanch.SetBuilding(ranchBuild - 1, building);
|
sender.LoggedinUser.OwnedRanch.SetBuilding(ranchBuild - 1, building);
|
||||||
sender.LoggedinUser.OwnedRanch.InvestedMoney += building.Cost;
|
sender.LoggedinUser.OwnedRanch.InvestedMoney += building.Cost;
|
||||||
sender.LoggedinUser.Money -= building.Cost;
|
sender.LoggedinUser.TakeMoney(building.Cost);
|
||||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.RanchBuildingComplete, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] chatPacket = PacketBuilder.CreateChat(Messages.RanchBuildingComplete, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(chatPacket);
|
sender.SendPacket(chatPacket);
|
||||||
UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true);
|
UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true);
|
||||||
|
@ -5360,7 +5382,7 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
byte[] broughtRanch = PacketBuilder.CreateChat(Messages.FormatRanchBroughtMessage(ranch.Value), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
byte[] broughtRanch = PacketBuilder.CreateChat(Messages.FormatRanchBroughtMessage(ranch.Value), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
sender.SendPacket(broughtRanch);
|
sender.SendPacket(broughtRanch);
|
||||||
sender.LoggedinUser.Money -= ranch.Value;
|
sender.LoggedinUser.TakeMoney(ranch.Value);
|
||||||
ranch.OwnerId = sender.LoggedinUser.Id;
|
ranch.OwnerId = sender.LoggedinUser.Id;
|
||||||
ranch.InvestedMoney += ranch.Value;
|
ranch.InvestedMoney += ranch.Value;
|
||||||
sender.LoggedinUser.OwnedRanch = ranch;
|
sender.LoggedinUser.OwnedRanch = ranch;
|
||||||
|
@ -6265,7 +6287,7 @@ namespace HISP.Server
|
||||||
int looseAmount = RandomNumberGenerator.Next(0, 100);
|
int looseAmount = RandomNumberGenerator.Next(0, 100);
|
||||||
if (looseAmount > sender.LoggedinUser.Money)
|
if (looseAmount > sender.LoggedinUser.Money)
|
||||||
looseAmount = sender.LoggedinUser.Money;
|
looseAmount = sender.LoggedinUser.Money;
|
||||||
sender.LoggedinUser.Money -= looseAmount;
|
sender.LoggedinUser.TakeMoney(looseAmount);
|
||||||
msg = Messages.FormatDroppedMoneyMessage(looseAmount);
|
msg = Messages.FormatDroppedMoneyMessage(looseAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6429,7 +6451,7 @@ namespace HISP.Server
|
||||||
sender.SendPacket(inventoryFullMessage);
|
sender.SendPacket(inventoryFullMessage);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sender.LoggedinUser.Money -= itm.MoneyCost;
|
sender.LoggedinUser.TakeMoney(itm.MoneyCost);
|
||||||
|
|
||||||
// Remove the required items..
|
// Remove the required items..
|
||||||
foreach(Workshop.RequiredItem reqItem in itm.RequiredItems)
|
foreach(Workshop.RequiredItem reqItem in itm.RequiredItems)
|
||||||
|
@ -6525,14 +6547,23 @@ namespace HISP.Server
|
||||||
int sellPrice = shop.CalculateSellCost(itemInfo) * totalSold;
|
int sellPrice = shop.CalculateSellCost(itemInfo) * totalSold;
|
||||||
if (shop.CanSell(itemInfo))
|
if (shop.CanSell(itemInfo))
|
||||||
{
|
{
|
||||||
for(int i = 0; i < totalSold; i++)
|
// Check if goes over 2.1b
|
||||||
|
if (sender.LoggedinUser.Money + sellPrice > 2100000000)
|
||||||
|
{
|
||||||
|
byte[] cantSellMoneyCapCheck = PacketBuilder.CreateChat(Messages.CannotSellYoudGetTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||||
|
sender.SendPacket(cantSellMoneyCapCheck);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove items
|
||||||
|
for (int i = 0; i < totalSold; i++)
|
||||||
{
|
{
|
||||||
ItemInstance itemInstance = invItem.ItemInstances[0];
|
ItemInstance itemInstance = invItem.ItemInstances[0];
|
||||||
sender.LoggedinUser.Inventory.Remove(itemInstance);
|
sender.LoggedinUser.Inventory.Remove(itemInstance);
|
||||||
shop.Inventory.Add(itemInstance);
|
shop.Inventory.Add(itemInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.LoggedinUser.Money += sellPrice;
|
sender.LoggedinUser.AddMoney(sellPrice);
|
||||||
|
|
||||||
UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true);
|
UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true);
|
||||||
if(message == 1)
|
if(message == 1)
|
||||||
|
@ -6587,7 +6618,7 @@ namespace HISP.Server
|
||||||
int price = lastInn.CalculateBuyCost(itemInfo);
|
int price = lastInn.CalculateBuyCost(itemInfo);
|
||||||
if(sender.LoggedinUser.Money >= price)
|
if(sender.LoggedinUser.Money >= price)
|
||||||
{
|
{
|
||||||
sender.LoggedinUser.Money -= price;
|
sender.LoggedinUser.TakeMoney(price);
|
||||||
bool toMuch = Item.ConsumeItem(sender.LoggedinUser, itemInfo);
|
bool toMuch = Item.ConsumeItem(sender.LoggedinUser, itemInfo);
|
||||||
|
|
||||||
string tooMuchMessage = Messages.ConsumedButMaxReached;
|
string tooMuchMessage = Messages.ConsumedButMaxReached;
|
||||||
|
@ -6715,7 +6746,7 @@ namespace HISP.Server
|
||||||
shop.Inventory.Remove(itemInstance);
|
shop.Inventory.Remove(itemInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.LoggedinUser.Money -= buyCost;
|
sender.LoggedinUser.TakeMoney(buyCost);
|
||||||
|
|
||||||
|
|
||||||
// Send chat message to client.
|
// Send chat message to client.
|
||||||
|
|
Loading…
Add table
Reference in a new issue