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()