From b4350d1e5fd453655cf8d0e4e474300329e47f33 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Mon, 8 Nov 2021 01:52:58 -0500 Subject: [PATCH] Add arena failed to join text --- HorseIsleData | 2 +- HorseIsleServer/HorseIsleServer/Game/Arena.cs | 18 +++++++++++++++++- .../HorseIsleServer/Game/Messages.cs | 1 + .../HorseIsleServer/Server/GameDataJson.cs | 2 ++ .../HorseIsleServer/Server/GameServer.cs | 5 ----- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/HorseIsleData b/HorseIsleData index 2135825..98f385f 160000 --- a/HorseIsleData +++ b/HorseIsleData @@ -1 +1 @@ -Subproject commit 2135825724166a05c6fabc0d7550f712aeada1fc +Subproject commit 98f385f4adaad7e58d265001f4f109869ca9c88d diff --git a/HorseIsleServer/HorseIsleServer/Game/Arena.cs b/HorseIsleServer/HorseIsleServer/Game/Arena.cs index 43be3a9..18668d7 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Arena.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Arena.cs @@ -348,7 +348,15 @@ namespace HISP.Game public void AddEntry(User user, HorseInstance horse) { if (Entries.Length + 1 > Slots) - return; + { + if (Entries.Length + 1 > Slots) + { + byte[] enterFailed = PacketBuilder.CreateChat(Messages.ArenaFullErrorMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); + user.LoggedinClient.SendPacket(enterFailed); + GameServer.UpdateArea(user.LoggedinClient); + return; + } + } if(!UserHasHorseEntered(user)) { @@ -357,6 +365,14 @@ namespace HISP.Game arenaEntry.EnteredHorse = horse; entries.Add(arenaEntry); } + + user.TakeMoney(EntryCost); + + byte[] enteredIntoCompetition = PacketBuilder.CreateChat(Messages.ArenaEnteredInto, PacketBuilder.CHAT_BOTTOM_RIGHT); + user.LoggedinClient.SendPacket(enteredIntoCompetition); + GameServer.UpdateAreaForAll(user.X, user.Y, true); + + return; } public static Arena GetArenaUserEnteredIn(User user) diff --git a/HorseIsleServer/HorseIsleServer/Game/Messages.cs b/HorseIsleServer/HorseIsleServer/Game/Messages.cs index bf2d2d8..69488f8 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Messages.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Messages.cs @@ -333,6 +333,7 @@ namespace HISP.Game public static string ArenaNeedsVet; public static string ArenaEventNameFormat; + public static string ArenaFullErrorMessage; public static string ArenaCurrentlyTakingEntriesFormat; public static string ArenaCompetitionInProgress; diff --git a/HorseIsleServer/HorseIsleServer/Server/GameDataJson.cs b/HorseIsleServer/HorseIsleServer/Server/GameDataJson.cs index 1a2c395..e740d8b 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameDataJson.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameDataJson.cs @@ -1255,6 +1255,8 @@ namespace HISP.Server Messages.ArenaYouHaveHorseEntered = gameData.messages.meta.arena.horse_entered; Messages.ArenaCompetitionFull = gameData.messages.meta.arena.competiton_full; + Messages.ArenaFullErrorMessage = gameData.messages.meta.arena.arena_join_fail_full; + Messages.ArenaEnterHorseFormat = gameData.messages.meta.arena.enter_horse; Messages.ArenaCurrentCompetitors = gameData.messages.meta.arena.current_competitors; Messages.ArenaCompetingHorseFormat = gameData.messages.meta.arena.competing_horses; diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index f4b0a35..ddd2003 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -1678,11 +1678,6 @@ namespace HISP.Server if (sender.LoggedinUser.Money >= arena.EntryCost) { arena.AddEntry(sender.LoggedinUser, horseInstance); - sender.LoggedinUser.TakeMoney(arena.EntryCost); - - byte[] enteredIntoCompetition = PacketBuilder.CreateChat(Messages.ArenaEnteredInto, PacketBuilder.CHAT_BOTTOM_RIGHT); - sender.SendPacket(enteredIntoCompetition); - UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y, true); break; } else