diff --git a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs index cc10729..7cd60a0 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs @@ -223,7 +223,7 @@ namespace HISP.Game.Chat if (args.Length <= 2) return false; - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; try @@ -260,7 +260,7 @@ namespace HISP.Game.Chat { if(args.Length <= 0) return false; - if(!(user.Administrator || user.Moderator)) + if(!user.Administrator && !user.Moderator) return false; try{ @@ -295,9 +295,11 @@ namespace HISP.Game.Chat { if (args.Length <= 0) return false; - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; - try{ + + try + { string userName = args[0]; int id = Database.GetUserid(userName); string ip = Database.GetIpAddress(id); @@ -316,7 +318,6 @@ namespace HISP.Game.Chat try{ User bannedUser = GameServer.GetUserByName(args[0]); bannedUser.LoggedinClient.Kick(Messages.KickReasonBanned); - } catch(KeyNotFoundException){}; @@ -327,10 +328,9 @@ namespace HISP.Game.Chat } public static bool Escape(string message, string[] args, User user) { - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; - user.Teleport(Map.ModIsleX, Map.ModIsleY); byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)) + Messages.ModIsleMessage, PacketBuilder.CHAT_BOTTOM_LEFT); @@ -340,7 +340,7 @@ namespace HISP.Game.Chat public static bool Stealth(string message, string[] args, User user) { - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; user.Stealth = !user.Stealth; @@ -361,8 +361,9 @@ namespace HISP.Game.Chat public static bool Rules(string message, string[] args, User user) { - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; + if (args.Length <= 0) return false; @@ -386,8 +387,9 @@ namespace HISP.Game.Chat public static bool Prison(string message, string[] args, User user) { - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; + if (args.Length <= 0) return false; @@ -411,8 +413,9 @@ namespace HISP.Game.Chat } public static bool Kick(string message, string[] args, User user) { - if (!(user.Administrator || user.Moderator)) + if (!user.Administrator && !user.Moderator) return false; + if (args.Length <= 0) return false; @@ -426,7 +429,9 @@ namespace HISP.Game.Chat toKick.LoggedinClient.Kick(reason); } else + { toKick.LoggedinClient.Kick(Messages.KickReasonKicked); + } } catch (KeyNotFoundException) { diff --git a/HorseIsleServer/HorseIsleServer/Game/Messages.cs b/HorseIsleServer/HorseIsleServer/Game/Messages.cs index 54dd46f..ca8b6f8 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Messages.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Messages.cs @@ -2707,27 +2707,27 @@ namespace HISP.Game { return YouEarnedAnItemFormat.Replace("%ITEM%", itemName); } - public static string FormatSellMessage(string itemName, int price) + public static string FormatSellMessage(string itemName, UInt64 price) { return Sold1Format.Replace("%ITEM%", itemName).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } - public static string FormatSellAllMessage(string itemName, int price, int sellAmount) + public static string FormatSellAllMessage(string itemName, UInt64 price, int sellAmount) { return SoldAllFormat.Replace("%AMOUNT%",sellAmount.ToString()).Replace("%ITEM%", itemName).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } - public static string FormatBuy25Message(string itemName, int price) + public static string FormatBuy25Message(string itemName, UInt64 price) { return Brought25Format.Replace("%ITEM%", itemName).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } - public static string FormatBuy5Message(string itemName, int price) + public static string FormatBuy5Message(string itemName, UInt64 price) { return Brought5Format.Replace("%ITEM%", itemName).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } - public static string FormatBuyMessage(string itemName, int price) + public static string FormatBuyMessage(string itemName, UInt64 price) { return Brought1Format.Replace("%ITEM%", itemName).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } - public static string FormatShopEntry(int iconid, string count, string name, int price) + public static string FormatShopEntry(int iconid, string count, string name, UInt64 price) { return ShopEntryFormat.Replace("%ICONID%", iconid.ToString()).Replace("%COUNT%", count).Replace("%TITLE%", name).Replace("%PRICE%", price.ToString("N0", CultureInfo.InvariantCulture)); } diff --git a/HorseIsleServer/HorseIsleServer/Game/Services/Shop.cs b/HorseIsleServer/HorseIsleServer/Game/Services/Shop.cs index b0400fb..9e66de5 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Services/Shop.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Services/Shop.cs @@ -36,13 +36,13 @@ namespace HISP.Game.Services Shop.ShopList.Add(this); } - public int CalculateBuyCost(Item.ItemInformation item) + public UInt64 CalculateBuyCost(Item.ItemInformation item) { - return (int)Math.Round((float)item.SellPrice * (100.0 / (float)BuyPricePercentage)); + return (UInt64)Math.Round((float)item.SellPrice * (100.0 / (float)BuyPricePercentage)); } - public int CalculateSellCost(Item.ItemInformation item) + public UInt64 CalculateSellCost(Item.ItemInformation item) { - return (int)Math.Round((float)item.SellPrice * (100.0 / (float)SellPricePercentage)); + return (UInt64)Math.Round((float)item.SellPrice * (100.0 / (float)SellPricePercentage)); } public bool CanSell(Item.ItemInformation item) diff --git a/HorseIsleServer/HorseIsleServer/Player/User.cs b/HorseIsleServer/HorseIsleServer/Player/User.cs index 2f0540f..0b15ab8 100644 --- a/HorseIsleServer/HorseIsleServer/Player/User.cs +++ b/HorseIsleServer/HorseIsleServer/Player/User.cs @@ -68,8 +68,8 @@ namespace HISP.Player public int SecCodeCount = 0; public int Id; public string Username; - public bool Administrator; - public bool Moderator; + public bool Administrator = false; + public bool Moderator = false; public bool NewPlayer = false; public GameClient LoggedinClient; public CompetitionGear EquipedCompetitionGear; diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index 4e5535d..1aa7204 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -6909,11 +6909,11 @@ namespace HISP.Server Shop shop = sender.LoggedinUser.LastShoppedAt; if (shop != null) { - int sellPrice = shop.CalculateSellCost(itemInfo) * totalSold; + UInt64 sellPrice = (shop.CalculateSellCost(itemInfo) * (UInt64)totalSold); if (shop.CanSell(itemInfo)) { // Check if goes over 2.1b - if (sender.LoggedinUser.Money + sellPrice > 2100000000) + if ((UInt64)sender.LoggedinUser.Money + sellPrice > 2100000000) { byte[] cantSellMoneyCapCheck = PacketBuilder.CreateChat(Messages.CannotSellYoudGetTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT); sender.SendPacket(cantSellMoneyCapCheck); @@ -6928,7 +6928,7 @@ namespace HISP.Server shop.Inventory.Add(itemInstance); } - sender.LoggedinUser.AddMoney(sellPrice); + sender.LoggedinUser.AddMoney((int)sellPrice); UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true); if(message == 1) @@ -6939,10 +6939,11 @@ namespace HISP.Server if(message == 2) { string name = itemInfo.Name; + if (totalSold > 1) name = itemInfo.PluralName; - byte[] soldItemMessage = PacketBuilder.CreateChat(Messages.FormatSellAllMessage(name, sellPrice,totalSold), PacketBuilder.CHAT_BOTTOM_RIGHT); + byte[] soldItemMessage = PacketBuilder.CreateChat(Messages.FormatSellAllMessage(name, sellPrice, totalSold), PacketBuilder.CHAT_BOTTOM_RIGHT); sender.SendPacket(soldItemMessage); } @@ -7058,7 +7059,7 @@ namespace HISP.Server shop = sender.LoggedinUser.LastShoppedAt; if (shop != null) { - int buyCost = shop.CalculateBuyCost(itemInfo) * count; + UInt64 buyCost = (shop.CalculateBuyCost(itemInfo) * (UInt64)count); if (sender.LoggedinUser.Bids.Length > 0) { byte[] cantBuyWhileAuctioning = PacketBuilder.CreateChat(Messages.AuctionNoOtherTransactionAllowed, PacketBuilder.CHAT_BOTTOM_RIGHT); @@ -7066,7 +7067,7 @@ namespace HISP.Server return; } - if (sender.LoggedinUser.Money < buyCost) + if ((UInt64)sender.LoggedinUser.Money < buyCost) { byte[] cantAffordMessage = PacketBuilder.CreateChat(Messages.CantAfford1, PacketBuilder.CHAT_BOTTOM_RIGHT); sender.SendPacket(cantAffordMessage); @@ -7085,7 +7086,7 @@ namespace HISP.Server if (sender.LoggedinUser.Inventory.HasItemId(itemId)) { InventoryItem items = sender.LoggedinUser.Inventory.GetItemByItemId(itemId); - if (items.ItemInstances.Length + count > Item.MAX_STACK) + if (items.ItemInstances.Length + (int)count > Item.MAX_STACK) { goto showError; } @@ -7111,7 +7112,7 @@ namespace HISP.Server shop.Inventory.Remove(itemInstance); } - sender.LoggedinUser.TakeMoney(buyCost); + sender.LoggedinUser.TakeMoney((int)buyCost); // Send chat message to client.