From 392a3dfcaaaca0e4f3aba9b428d07830550dbd78 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Tue, 26 Oct 2021 18:58:55 -0400 Subject: [PATCH] Fix Auctions --- .../HorseIsleServer/Game/Services/Auction.cs | 15 +---- .../HorseIsleServer/HorseIsleServer.csproj | 64 ++++++++++++------- .../HorseIsleServer/Server/GameServer.cs | 30 ++++----- .../HorseIsleServer/Server/PacketBuilder.cs | 2 - .../HorseIsleServer/Server/ServerVersion.cs | 7 +- 5 files changed, 61 insertions(+), 57 deletions(-) diff --git a/HorseIsleServer/HorseIsleServer/Game/Services/Auction.cs b/HorseIsleServer/HorseIsleServer/Game/Services/Auction.cs index c80359f..abbc066 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Services/Auction.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Services/Auction.cs @@ -274,19 +274,10 @@ namespace HISP.Game.Services public void UpdateAuctionRoom() { - foreach (World.SpecialTile tile in World.SpecialTiles) + World.SpecialTile[] tiles = World.GetSpecialTilesByName("AUCTION-" + this.RoomId.ToString()); + foreach (World.SpecialTile tile in tiles) { - if (tile.Code != null) - { - if (tile.Code.StartsWith("AUCTION-")) - { - int id = int.Parse(tile.Code.Split('-')[1]); - if (id == this.RoomId) - { - GameServer.UpdateAreaForAll(tile.X, tile.Y); - } - } - } + GameServer.UpdateAreaForAll(tile.X, tile.Y, true); } } public void DeleteEntry(AuctionEntry entry) diff --git a/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj b/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj index 00391fa..f819b08 100644 --- a/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj +++ b/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj @@ -43,8 +43,8 @@ OnBuildSuccess embedded False - latest - True + none + False Public Domain, 2021 https://islehorse.com https://github.com/islehorse/HISP @@ -57,28 +57,32 @@ true x86 OS_WINDOWS;ARCH_X86 - 0 + 3 + 1701;1702;2026 win-x64 true x64 OS_WINDOWS;ARCH_X86_64 - 0 + 3 + 1701;1702;2026 win-arm true ARM32 OS_WINDOWS;ARCH_ARM - 0 + 3 + 1701;1702;2026 win-arm64 true ARM64 OS_WINDOWS;ARCH_ARM64 - 0 + 3 + 1701;1702;2026 @@ -87,21 +91,24 @@ true x64 OS_LINUX;ARCH_X86_64 - 0 + 3 + 1701;1702;2026 linux-arm ARM true OS_LINUX;ARCH_ARM - 0 + 3 + 1701;1702;2026 linux-arm64 ARM64 true OS_LINUX;ARCH_ARM64 - 0 + 3 + 1701;1702;2026 @@ -109,13 +116,15 @@ true x64 OS_MACOS;ARCH_X86_64 - 0 + 3 + 1701;1702;2026 osx-arm64 true OS_MACOS;ARCH_ARM64 - 0 + 3 + 1701;1702;2026 @@ -131,7 +140,8 @@ ARM32 False DEBUG;TRACE;OS_DEBUG;ARCH_ARM - 0 + 3 + 1701;1702;2026 @@ -139,68 +149,78 @@ ARM64 False DEBUG;TRACE;OS_DEBUG;ARCH_ARM64 - 0 + 3 + 1701;1702;2026 False DEBUG;TRACE;OS_DEBUG;ARCH_X86_64 - 0 + 3 + 1701;1702;2026 False DEBUG;TRACE;OS_DEBUG;ARCH_X86 - 0 + 3 + 1701;1702;2026 True OS_MACOS;ARCH_X86 - 0 + 3 + 1701;1702;2026 True OS_LINUX;ARCH_X86 - 0 + 3 + 1701;1702;2026 True OS_LINUX;ARCH_ANYCPU - 0 + 3 + 1701;1702;2026 True OS_WINDOWS;ARCH_ANYCPU - 0 + 3 + 1701;1702;2026 True OS_MACOS;ARCH_ANYCPU - 0 + 3 + 1701;1702;2026 True OS_MACOS;ARCH_ARM - 0 + 3 + 1701;1702;2026 - 0 + 3 + 1701;1702;2026 diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index 68cc949..6438c34 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -768,9 +768,11 @@ namespace HISP.Server } if (!auctionRoom.HasAuctionEntry(auctionEntryId)) break; + Auction.AuctionEntry entry = auctionRoom.GetAuctionEntry(auctionEntryId); entry.Bid(sender.LoggedinUser, bidAmount); + UpdateAreaForAll(tile.X, tile.Y, true, null); } } } @@ -3803,8 +3805,7 @@ namespace HISP.Server catch(KeyNotFoundException) { Logger.ErrorPrint(sender.LoggedinUser.Username + " tried to load an invalid drawing room: " + roomId); - break; - + break; } if(room.Drawing != "") @@ -3923,7 +3924,6 @@ namespace HISP.Server } Database.SetLastPlayer("D" + room.Id.ToString(), sender.LoggedinUser.Id); - UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true); UpdateDrawingForAll("D" + room.Id, sender, drawingToAdd, true); byte[] loadedDrawingMessage = PacketBuilder.CreateChat(Messages.FormatDrawingRoomLoaded(slotNo), PacketBuilder.CHAT_BOTTOM_RIGHT); @@ -3975,7 +3975,6 @@ namespace HISP.Server break; } Database.SetLastPlayer("D" + room.Id.ToString(), sender.LoggedinUser.Id); - UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true); UpdateDrawingForAll("D" + room.Id, sender, drawing, false); } @@ -7650,19 +7649,20 @@ namespace HISP.Server public static void UpdateDrawingForAll(string id, GameClient sender, string drawing, bool includingSender=false) { - - UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y); - User[] usersHere = GetUsersOnSpecialTileCode("MULTIROOM-D" + id); - foreach (User user in usersHere) + World.SpecialTile[] tiles = World.GetSpecialTilesByName("MULTIROOM-D" + id); + foreach (World.SpecialTile tile in tiles) { - if(!includingSender) - if (user.Id == sender.LoggedinUser.Id) - continue; - - - byte[] patchDrawing = PacketBuilder.CreateDrawingUpdatePacket(drawing); - user.LoggedinClient.SendPacket(patchDrawing); + UpdateAreaForAll(tile.X, tile.Y, true, null); + User[] usersHere = GameServer.GetUsersAt(tile.X, tile.Y, true, true); + foreach (User user in usersHere) + { + if (!includingSender) + if (user.Id == sender.LoggedinUser.Id) + continue; + byte[] patchDrawing = PacketBuilder.CreateDrawingUpdatePacket(drawing); + user.LoggedinClient.SendPacket(patchDrawing); + } } } public static void UpdateHorseMenu(GameClient forClient, HorseInstance horseInst) diff --git a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs index 3388ba7..388750a 100644 --- a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs +++ b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs @@ -333,8 +333,6 @@ namespace HISP.Server } } - - ms.WriteByte(PACKET_TERMINATOR); ms.Seek(0x00, SeekOrigin.Begin); return ms.ToArray(); diff --git a/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs b/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs index 732aaa8..8834ccb 100644 --- a/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs +++ b/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs @@ -1,16 +1,11 @@ using HISP.Properties; -using System; -using System.Collections.Generic; - -using System.Text; -using System.Threading.Tasks; namespace HISP.Server { public class ServerVersion { public static int MAJOR = 1; - public static int MINOR = 3; + public static int MINOR = 2; public static string PRODUCT = "HISP"; public static string GetArchitecture()