mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-07 13:45:42 +12:00
Do soemthing i guess?
This commit is contained in:
parent
5e460923dc
commit
cb00f79d48
7 changed files with 748 additions and 1084 deletions
File diff suppressed because it is too large
Load diff
|
@ -243,6 +243,7 @@ namespace HISP.Game
|
|||
public static string HorseIsTrainable;
|
||||
|
||||
public static string HorseCannotMountUntilTackedMessage;
|
||||
public static string HorseDismountedBecauseNotTackedMessageFormat;
|
||||
public static string HorseMountButtonFormat;
|
||||
public static string HorseDisMountButtonFormat;
|
||||
public static string HorseFeedButtonFormat;
|
||||
|
@ -765,7 +766,10 @@ namespace HISP.Game
|
|||
{
|
||||
return HorseCompanionEntryFormat.Replace("%ICONID%", icon.ToString()).Replace("%COUNT%", count.ToString("N0")).Replace("%NAME%", name).Replace("%ID%", id.ToString());
|
||||
}
|
||||
|
||||
public static string FormatHorseDismountedBecauseTackedMessage(string horsename)
|
||||
{
|
||||
return HorseDismountedBecauseNotTackedMessageFormat.Replace("%HORSENAME%", horsename);
|
||||
}
|
||||
public static string FormatAutoSellConfirmedMessage(int money)
|
||||
{
|
||||
return HorseAutoSellConfirmedFormat.Replace("%MONEY%", money.ToString("N0"));
|
||||
|
|
|
@ -1430,7 +1430,7 @@ namespace HISP.Game
|
|||
message += Messages.FormatHorseAdvancedStat(agilityStat.BreedValue, agilityStat.CompanionOffset, agilityStat.TackOffset, agilityStat.MaxValue);
|
||||
message += Messages.FormatHorseAdvancedStat(enduranceStat.BreedValue, enduranceStat.CompanionOffset, enduranceStat.TackOffset, enduranceStat.MaxValue);
|
||||
message += Messages.FormatHorseAdvancedStat(inteligenceStat.BreedValue, inteligenceStat.CompanionOffset, inteligenceStat.TackOffset, inteligenceStat.MaxValue);
|
||||
message += Messages.FormatHorseAdvancedStat(agilityStat.BreedValue, personalityStat.CompanionOffset, personalityStat.TackOffset, personalityStat.MaxValue);
|
||||
message += Messages.FormatHorseAdvancedStat(personalityStat.BreedValue, personalityStat.CompanionOffset, personalityStat.TackOffset, personalityStat.MaxValue);
|
||||
|
||||
message += Messages.FormatHorseBreedDetails(horse.Breed.Name, horse.Breed.Description);
|
||||
message += Messages.FormatHorseHeight(Convert.ToInt32(Math.Floor(HorseInfo.CalculateHands(horse.Breed.BaseStats.MinHeight))), Convert.ToInt32(Math.Floor(HorseInfo.CalculateHands(horse.Breed.BaseStats.MaxHeight))));
|
||||
|
|
51
Horse Isle Server/HorseIsleServer/Game/Services/Workshop.cs
Normal file
51
Horse Isle Server/HorseIsleServer/Game/Services/Workshop.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HISP.Game.Services
|
||||
{
|
||||
public class Workshop
|
||||
{
|
||||
public Workshop()
|
||||
{
|
||||
CraftableItems = new List<CraftableItem>();
|
||||
}
|
||||
public class RequiredItem
|
||||
{
|
||||
public int RequiredItemId;
|
||||
public int RequiredItemCount;
|
||||
}
|
||||
public class CraftableItem
|
||||
{
|
||||
public CraftableItem()
|
||||
{
|
||||
RequiredItems = new List<RequiredItem>();
|
||||
}
|
||||
public int Id;
|
||||
public int GiveItemId;
|
||||
public int MoneyCost;
|
||||
public List<RequiredItem> RequiredItems;
|
||||
}
|
||||
public int X;
|
||||
public int Y;
|
||||
public List<CraftableItem> CraftableItems;
|
||||
|
||||
public static List<Workshop> Workshops = new List<Workshop>();
|
||||
|
||||
public static CraftableItem GetCraftId(int id)
|
||||
{
|
||||
foreach(Workshop wkShop in Workshops)
|
||||
{
|
||||
foreach(CraftableItem crftItem in wkShop.CraftableItems)
|
||||
{
|
||||
if (crftItem.Id == id)
|
||||
return crftItem;
|
||||
}
|
||||
}
|
||||
throw new KeyNotFoundException("No craft id " + id + " was found.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -545,6 +545,34 @@ namespace HISP.Server
|
|||
Book book = new Book(id, title, author, text);
|
||||
Logger.DebugPrint("Registered Libary Book: " + book.Id + " " + book.Title + " by " + book.Author);
|
||||
|
||||
}
|
||||
int totalWorkshops = gameData.workshop.Count;
|
||||
for (int i = 0; i < totalWorkshops; i++)
|
||||
{
|
||||
Workshop wkShop = new Workshop();
|
||||
wkShop.X = gameData.workshop[i].pos_x;
|
||||
wkShop.Y = gameData.workshop[i].pos_y;
|
||||
int totalCraftableItems = gameData.workshop[i].craftable_items.Count;
|
||||
for(int ii = 0; ii < totalCraftableItems; ii++)
|
||||
{
|
||||
Workshop.CraftableItem craftableItem = new Workshop.CraftableItem();
|
||||
craftableItem.Id = gameData.workshop[i].craftable_items[ii].id;
|
||||
craftableItem.GiveItemId = gameData.workshop[i].craftable_items[ii].give_item;
|
||||
craftableItem.MoneyCost = gameData.workshop[i].craftable_items[ii].money_cost;
|
||||
int totalItemsRequired = gameData.workshop[i].craftable_items[ii].required_items.Count;
|
||||
for(int iii = 0; iii < 0; iii++)
|
||||
{
|
||||
Workshop.RequiredItem requiredItem = new Workshop.RequiredItem();
|
||||
requiredItem.RequiredItemId = totalItemsRequired = gameData.workshop[i].craftable_items[ii].required_items[iii].req_item;
|
||||
requiredItem.RequiredItemId = totalItemsRequired = gameData.workshop[i].craftable_items[ii].required_items[iii].req_quantity;
|
||||
craftableItem.RequiredItems.Add(requiredItem);
|
||||
}
|
||||
wkShop.CraftableItems.Add(craftableItem);
|
||||
}
|
||||
|
||||
Workshop.Workshops.Add(wkShop);
|
||||
Logger.DebugPrint("Registered Workshop at X: " + wkShop.X + " Y: " + wkShop.Y);
|
||||
|
||||
}
|
||||
HorseInfo.HorseNames = gameData.horses.names.ToObject<string[]>();
|
||||
|
||||
|
@ -759,6 +787,7 @@ namespace HISP.Server
|
|||
Messages.HorseIsTrainable = gameData.messages.meta.horse.horse_inventory.currently_trainable;
|
||||
|
||||
Messages.HorseCannotMountUntilTackedMessage = gameData.messages.meta.horse.cannot_mount_tacked;
|
||||
Messages.HorseDismountedBecauseNotTackedMessageFormat = gameData.messages.meta.horse.dismount_because_tack;
|
||||
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;
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace HISP.Server
|
|||
Database.IncAllUsersFreeTime(1);
|
||||
}
|
||||
|
||||
if(totalMinutesElapsed % 24 == 0)
|
||||
if(totalMinutesElapsed % 20 == 0)
|
||||
Database.DoIntrestPayments(ConfigReader.IntrestRate);
|
||||
|
||||
|
||||
|
@ -477,7 +477,7 @@ namespace HISP.Server
|
|||
}
|
||||
else
|
||||
{
|
||||
Logger.HackerPrint(sender.LoggedinUser.Username + " Tried to tack at a non existant horse.");
|
||||
Logger.HackerPrint(sender.LoggedinUser.Username + " Tried to release at a non existant horse.");
|
||||
break;
|
||||
}
|
||||
case PacketBuilder.HORSE_TACK:
|
||||
|
@ -712,6 +712,17 @@ namespace HISP.Server
|
|||
byte[] itemUnequipedMessage = PacketBuilder.CreateChat(Messages.FormatUnEquipTackMessage(sender.LoggedinUser.LastViewedHorse.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(itemUnequipedMessage);
|
||||
|
||||
if(sender.LoggedinUser.CurrentlyRidingHorse != null)
|
||||
{
|
||||
if(sender.LoggedinUser.CurrentlyRidingHorse.RandomId == sender.LoggedinUser.LastViewedHorse.RandomId)
|
||||
{
|
||||
sender.LoggedinUser.CurrentlyRidingHorse = null;
|
||||
sender.LoggedinUser.Facing %= 5;
|
||||
byte[] disMounted = PacketBuilder.CreateChat(Messages.FormatHorseDismountedBecauseTackedMessage(sender.LoggedinUser.CurrentlyRidingHorse.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(disMounted);
|
||||
}
|
||||
}
|
||||
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildTackMenu(sender.LoggedinUser.LastViewedHorse, sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
|
@ -1384,17 +1395,17 @@ namespace HISP.Server
|
|||
sender.SendPacket(metaPacket);
|
||||
}
|
||||
break;
|
||||
case "33":
|
||||
case "33": // View All stats (Horse)
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildAllBasicStats(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
break;
|
||||
case "34":
|
||||
case "34": // View Basic stats (Horse)
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildAllStats(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
break;
|
||||
case "38":
|
||||
case "38": // Read Books
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildBooksLibary());
|
||||
sender.SendPacket(metaPacket);
|
||||
|
|
|
@ -830,7 +830,7 @@ namespace HISP.Server
|
|||
ms.Seek(0x00, SeekOrigin.Begin);
|
||||
byte[] Packet = ms.ToArray();
|
||||
ms.Dispose();
|
||||
Logger.InfoPrint("Sending load "+(char)type + swf + " packet");
|
||||
Logger.DebugPrint("Sending load "+(char)type + swf + " packet");
|
||||
return Packet;
|
||||
}
|
||||
public static byte[] CreateAnnouncement(string announcement)
|
||||
|
|
Loading…
Add table
Reference in a new issue