diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json index a8dd5fe..6e654f7 100755 --- a/DataCollection/gamedata.json +++ b/DataCollection/gamedata.json @@ -174,6 +174,7 @@ "basic_stat_format":"^AB%HEALTH%;%HUNGER%;%THIRST%;%MOOD%;%ENERGY%;%GROOM%;%SHOES%;", "horses_here":"HORSES HERE:
", "wild_horse":"^I252^T6%NAME%, It's a %BREED%^B3U%RANDOMID%^R1", + "cannot_mount_tacked":"Cannot ride horse until fully tacked.", "horse_timer":"You have 60 seconds to capture the horse. Good luck!", "horse_escaped":"The Horse Evaded Capture.", "hore_caught":"You Captured the Horse!", diff --git a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs index c794ba5..2d2691c 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Horse/HorseInfo.cs @@ -153,7 +153,7 @@ namespace HISP.Game.Horse private int getOffsetFrom(Item.ItemInformation tackPeice) { int offsetBy = 0; - foreach (Item.Effects effect in baseHorse.Equipment.Bridle.Effects) + foreach (Item.Effects effect in tackPeice.Effects) { string effects = effect.EffectsWhat; switch (effects) diff --git a/Horse Isle Server/HorseIsleServer/Game/Messages.cs b/Horse Isle Server/HorseIsleServer/Game/Messages.cs index 521a728..9dc5567 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Messages.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Messages.cs @@ -236,6 +236,7 @@ namespace HISP.Game public static string HorseTrainableInFormat; public static string HorseIsTrainable; + public static string HorseCannotMountUntilTackedMessage; public static string HorseMountButtonFormat; public static string HorseDisMountButtonFormat; public static string HorseFeedButtonFormat; diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs index 6ba0d55..9fb64c1 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs @@ -724,6 +724,7 @@ namespace HISP.Server Messages.HorseTrainableInFormat = gameData.messages.meta.horse.horse_inventory.trainable_in; Messages.HorseIsTrainable = gameData.messages.meta.horse.horse_inventory.currently_trainable; + Messages.HorseCannotMountUntilTackedMessage = gameData.messages.meta.horse.cannot_mount_tacked; Messages.HorseMountButtonFormat = gameData.messages.meta.horse.horse_inventory.mount_button; Messages.HorseDisMountButtonFormat = gameData.messages.meta.horse.horse_inventory.dismount_button; Messages.HorseFeedButtonFormat = gameData.messages.meta.horse.horse_inventory.feed_button; diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs index bbe4809..25d534d 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs @@ -759,6 +759,13 @@ namespace HISP.Server { HorseInstance horseInst = sender.LoggedinUser.HorseInventory.GetHorseById(randomId); + if(horseInst.Equipment.Saddle == null || horseInst.Equipment.SaddlePad == null || horseInst.Equipment.Bridle == null) + { + byte[] horseNotTackedMessage = PacketBuilder.CreateChat(Messages.HorseCannotMountUntilTackedMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); + sender.SendPacket(horseNotTackedMessage); + break; + } + string ridingHorseMessage = Messages.FormatHorseRidingMessage(horseInst.Name); byte[] ridingHorseMessagePacket = PacketBuilder.CreateChat(ridingHorseMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); sender.SendPacket(ridingHorseMessagePacket);