mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-10 23:25:41 +12:00
Replace ItemInstance List with ItemInstance array.
This commit is contained in:
parent
0cad1e0fac
commit
c1df5292ec
11 changed files with 56 additions and 35 deletions
HorseIsleServer
|
@ -42,15 +42,21 @@ Global
|
|||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.ActiveCfg = Linux|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.Build.0 = Linux|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.ActiveCfg = MacOS|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.Build.0 = MacOS|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.ActiveCfg = MacOS|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.Build.0 = MacOS|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.ActiveCfg = MacOS|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.Build.0 = MacOS|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.ActiveCfg = MacOS|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.Build.0 = MacOS|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.ActiveCfg = Windows|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.Build.0 = Windows|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.ActiveCfg = Windows|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.Build.0 = Windows|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.ActiveCfg = Windows|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.Build.0 = Windows|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.ActiveCfg = Windows|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.Build.0 = Windows|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace HISP.Game.Events
|
|||
|
||||
foreach (int itemId in Item.TradingCards)
|
||||
if (client.LoggedinUser.Inventory.HasItemId(itemId))
|
||||
totalCards += client.LoggedinUser.Inventory.GetItemByItemId(itemId).ItemInstances.Count;
|
||||
totalCards += client.LoggedinUser.Inventory.GetItemByItemId(itemId).ItemInstances.Length;
|
||||
|
||||
if (client.LoggedinUser.Inventory.HasItemId(Item.ColtTradingCard))
|
||||
totalTypes++;
|
||||
|
|
|
@ -8,14 +8,29 @@ namespace HISP.Game.Inventory
|
|||
{
|
||||
public InventoryItem()
|
||||
{
|
||||
ItemInstances = new List<ItemInstance>();
|
||||
itemInstances = new List<ItemInstance>();
|
||||
Infinite = false;
|
||||
ItemId = 0;
|
||||
}
|
||||
|
||||
public int ItemId;
|
||||
public bool Infinite;
|
||||
public List<ItemInstance> ItemInstances;
|
||||
private List<ItemInstance> itemInstances;
|
||||
public void RemoveItem(ItemInstance itm)
|
||||
{
|
||||
itemInstances.Remove(itm);
|
||||
}
|
||||
public void AddItem(ItemInstance itm)
|
||||
{
|
||||
itemInstances.Add(itm);
|
||||
}
|
||||
public ItemInstance[] ItemInstances
|
||||
{
|
||||
get
|
||||
{
|
||||
return itemInstances.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace HISP.Game.Inventory
|
|||
{
|
||||
if (invetoryItem.ItemId == item.ItemId)
|
||||
{
|
||||
invetoryItem.ItemInstances.Add(item);
|
||||
invetoryItem.AddItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ namespace HISP.Game.Inventory
|
|||
InventoryItem inventoryItem = new InventoryItem();
|
||||
|
||||
inventoryItem.ItemId = item.ItemId;
|
||||
inventoryItem.ItemInstances.Add(item);
|
||||
inventoryItem.AddItem(item);
|
||||
inventoryItems.Add(inventoryItem);
|
||||
}
|
||||
|
||||
|
@ -77,9 +77,9 @@ namespace HISP.Game.Inventory
|
|||
{
|
||||
if(instance.RandomId == item.RandomId)
|
||||
{
|
||||
inventoryItem.ItemInstances.Remove(instance);
|
||||
inventoryItem.RemoveItem(instance);
|
||||
|
||||
if (inventoryItem.ItemInstances.Count <= 0)
|
||||
if (inventoryItem.ItemInstances.Length <= 0)
|
||||
inventoryItems.Remove(inventoryItem);
|
||||
|
||||
return;
|
||||
|
@ -162,7 +162,7 @@ namespace HISP.Game.Inventory
|
|||
if(HasItemId(item.ItemId))
|
||||
{
|
||||
InventoryItem items = GetItemByItemId(item.ItemId);
|
||||
if (items.ItemInstances.Count >= ConfigReader.MAX_STACK)
|
||||
if (items.ItemInstances.Length >= ConfigReader.MAX_STACK)
|
||||
{
|
||||
throw new InventoryMaxStackException();
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace HISP.Game.Inventory
|
|||
if (invetoryItem.Infinite) // no need to add +1, theres allready infinite quanity.
|
||||
return;
|
||||
|
||||
invetoryItem.ItemInstances.Add(item);
|
||||
invetoryItem.AddItem(item);
|
||||
|
||||
goto retrn;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ namespace HISP.Game.Inventory
|
|||
|
||||
inventoryItem.ItemId = item.ItemId;
|
||||
inventoryItem.Infinite = false;
|
||||
inventoryItem.ItemInstances.Add(item);
|
||||
inventoryItem.AddItem(item);
|
||||
inventoryItems.Add(inventoryItem);
|
||||
|
||||
retrn:
|
||||
|
@ -74,7 +74,7 @@ namespace HISP.Game.Inventory
|
|||
inventoryItem.Infinite = true;
|
||||
|
||||
for(int i = 0; i < 25; i++) // add 25
|
||||
inventoryItem.ItemInstances.Add(new ItemInstance(inventoryItem.ItemId));
|
||||
inventoryItem.AddItem(new ItemInstance(inventoryItem.ItemId));
|
||||
|
||||
inventoryItems.Add(inventoryItem);
|
||||
}
|
||||
|
@ -155,16 +155,16 @@ namespace HISP.Game.Inventory
|
|||
{
|
||||
if (instance.RandomId == item.RandomId)
|
||||
{
|
||||
inventoryItem.ItemInstances.Remove(instance);
|
||||
inventoryItem.RemoveItem(instance);
|
||||
|
||||
if (inventoryItem.ItemInstances.Count <= 0)
|
||||
if (inventoryItem.ItemInstances.Length <= 0)
|
||||
inventoryItems.Remove(inventoryItem);
|
||||
|
||||
|
||||
if (!inventoryItem.Infinite) // no need to bug the database.
|
||||
Database.RemoveItemFromShopInventory(baseShop.Id, item);
|
||||
else
|
||||
inventoryItem.ItemInstances.Add(new ItemInstance(inventoryItem.ItemId)); // Gen new item in inventory to replace it.
|
||||
inventoryItem.AddItem(new ItemInstance(inventoryItem.ItemId)); // Gen new item in inventory to replace it.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ namespace HISP.Game
|
|||
message += Messages.R1;
|
||||
Item.ItemInformation itemInfo = Item.GetItemById(item.ItemId);
|
||||
|
||||
int count = item.ItemInstances.Count;
|
||||
int count = item.ItemInstances.Length;
|
||||
string countStr = count.ToString();
|
||||
if (item.Infinite)
|
||||
countStr = Messages.InfinitySign;
|
||||
|
@ -187,7 +187,7 @@ namespace HISP.Game
|
|||
continue;
|
||||
|
||||
|
||||
int count = shopperitem.ItemInstances.Count;
|
||||
int count = shopperitem.ItemInstances.Length;
|
||||
string countStr = count.ToString();
|
||||
|
||||
|
||||
|
@ -214,7 +214,7 @@ namespace HISP.Game
|
|||
else
|
||||
{
|
||||
InventoryItem wishingCoins = user.Inventory.GetItemByItemId(Item.WishingCoin);
|
||||
int totalCoins = wishingCoins.ItemInstances.Count;
|
||||
int totalCoins = wishingCoins.ItemInstances.Length;
|
||||
message += Messages.FormatNumberOfWishingCoins(totalCoins);
|
||||
message += Messages.WishingWellMeta;
|
||||
}
|
||||
|
@ -536,7 +536,7 @@ namespace HISP.Game
|
|||
Item.ItemInformation itemInfo = Item.GetItemById(item.ItemId);
|
||||
if (itemInfo.Type == "QUEST" || itemInfo.Type == "TEXT" || itemInfo.Id == Item.DorothyShoes)
|
||||
continue;
|
||||
message += Messages.FormatTradeOfferItem(itemInfo.IconId, itemInfo.Name, item.ItemInstances.Count, item.ItemId);
|
||||
message += Messages.FormatTradeOfferItem(itemInfo.IconId, itemInfo.Name, item.ItemInstances.Length, item.ItemId);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2170,11 +2170,11 @@ namespace HISP.Game
|
|||
{
|
||||
Item.ItemInformation itemInfo = Item.GetItemById(item.ItemId);
|
||||
string title = itemInfo.Name;
|
||||
if (item.ItemInstances.Count > 1 && itemInfo.PluralName != "")
|
||||
if (item.ItemInstances.Length > 1 && itemInfo.PluralName != "")
|
||||
title = itemInfo.PluralName;
|
||||
|
||||
|
||||
message += Messages.FormatPlayerInventoryItemMeta(itemInfo.IconId, item.ItemInstances.Count, title);
|
||||
message += Messages.FormatPlayerInventoryItemMeta(itemInfo.IconId, item.ItemInstances.Length, title);
|
||||
|
||||
int randomId = item.ItemInstances[0].RandomId;
|
||||
if (itemInfo.Type != "QUEST" && itemInfo.Type != "TEXT" && !(itemInfo.Id == Item.DorothyShoes || itemInfo.Id == Item.Telescope) && World.CanDropItems(inv.BaseUser.X, inv.BaseUser.Y))
|
||||
|
@ -2220,7 +2220,7 @@ namespace HISP.Game
|
|||
isHorseFood = (itemInfo.Effects[1].EffectsWhat == "MOOD" && itemInfo.Effects[0].EffectsWhat == "HUNGER");
|
||||
if (itemInfo.Type == "HORSEFOOD" || isHorseFood)
|
||||
{
|
||||
message += Messages.FormatHorseFeedEntry(itemInfo.IconId, item.ItemInstances.Count, itemInfo.Name, item.ItemInstances[0].RandomId);
|
||||
message += Messages.FormatHorseFeedEntry(itemInfo.IconId, item.ItemInstances.Length, itemInfo.Name, item.ItemInstances[0].RandomId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2257,7 +2257,7 @@ namespace HISP.Game
|
|||
Item.ItemInformation itemInfo = item.ItemInstances[0].GetItemInfo();
|
||||
if(itemInfo.Type == "COMPANION")
|
||||
{
|
||||
message += Messages.FormatHorseCompanionOption(itemInfo.IconId, item.ItemInstances.Count, itemInfo.Name, item.ItemId);
|
||||
message += Messages.FormatHorseCompanionOption(itemInfo.IconId, item.ItemInstances.Length, itemInfo.Name, item.ItemId);
|
||||
}
|
||||
}
|
||||
message += Messages.BackToHorse;
|
||||
|
@ -2519,7 +2519,7 @@ namespace HISP.Game
|
|||
continue;
|
||||
else if (itemInfo.GetMiscFlag(2) != 0)
|
||||
continue;
|
||||
message += Messages.FormatHorseEquip(itemInfo.IconId, item.ItemInstances.Count, itemInfo.Name, itemInfo.Id);
|
||||
message += Messages.FormatHorseEquip(itemInfo.IconId, item.ItemInstances.Length, itemInfo.Name, itemInfo.Id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ namespace HISP.Game
|
|||
InventoryItem[] items = user.Inventory.GetItemList();
|
||||
foreach (InventoryItem item in items)
|
||||
{
|
||||
if (item.ItemId == itemInfo.ItemId && item.ItemInstances.Count >= itemInfo.Quantity)
|
||||
if (item.ItemId == itemInfo.ItemId && item.ItemInstances.Length >= itemInfo.Quantity)
|
||||
{
|
||||
hasThisItem = true;
|
||||
break;
|
||||
|
|
|
@ -96,7 +96,7 @@ namespace HISP.Game
|
|||
User user = GameServer.GetUserById(Id);
|
||||
user.OwnedRanch = null;
|
||||
InventoryItem items = user.Inventory.GetItemByItemId(Item.DorothyShoes);
|
||||
foreach (ItemInstance itm in items.ItemInstances.ToArray())
|
||||
foreach (ItemInstance itm in items.ItemInstances)
|
||||
{
|
||||
user.Inventory.Remove(itm);
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@ namespace HISP.Player
|
|||
if (Trader.Inventory.HasItemId(inst[0].ItemId))
|
||||
{
|
||||
InventoryItem items = Trader.Inventory.GetItemByItemId(inst[0].ItemId);
|
||||
if (items.ItemInstances.Count + inst.Length >= ConfigReader.MAX_STACK)
|
||||
if (items.ItemInstances.Length + inst.Length >= ConfigReader.MAX_STACK)
|
||||
{
|
||||
itemYouFail = true;
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ namespace HISP.Player
|
|||
if (OtherTrade.Trader.Inventory.HasItemId(inst[0].ItemId))
|
||||
{
|
||||
InventoryItem items = OtherTrade.Trader.Inventory.GetItemByItemId(inst[0].ItemId);
|
||||
if (items.ItemInstances.Count + inst.Length >= ConfigReader.MAX_STACK)
|
||||
if (items.ItemInstances.Length + inst.Length >= ConfigReader.MAX_STACK)
|
||||
{
|
||||
itemOtherFail = true;
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
80b1cdea1957c5471347f46cf8bb541e2abf1ca1
|
||||
0cad1e0fac960fe59b55444cf1f0fd423d2e4951
|
||||
|
|
|
@ -511,7 +511,7 @@ namespace HISP.Server
|
|||
sender.LoggedinUser.TradeMenuPriority = true;
|
||||
sender.LoggedinUser.AttemptingToOfferItem = itemId;
|
||||
InventoryItem item = sender.LoggedinUser.Inventory.GetItemByItemId(itemId);
|
||||
byte[] addItemPacket = PacketBuilder.CreateMetaPacket(Meta.BuildTradeAddItem(item.ItemInstances.Count));
|
||||
byte[] addItemPacket = PacketBuilder.CreateMetaPacket(Meta.BuildTradeAddItem(item.ItemInstances.Length));
|
||||
sender.SendPacket(addItemPacket);
|
||||
break;
|
||||
|
||||
|
@ -2369,9 +2369,9 @@ namespace HISP.Server
|
|||
sender.SendPacket(MustBeAtleast1);
|
||||
break;
|
||||
}
|
||||
if(itemCount > item.ItemInstances.Count)
|
||||
if(itemCount > item.ItemInstances.Length)
|
||||
{
|
||||
byte[] TooMuchItems = PacketBuilder.CreateChat(Messages.FormatTradeItemOfferTooMuch(item.ItemInstances.Count, itemCount), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
byte[] TooMuchItems = PacketBuilder.CreateChat(Messages.FormatTradeItemOfferTooMuch(item.ItemInstances.Length, itemCount), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(TooMuchItems);
|
||||
break;
|
||||
}
|
||||
|
@ -6650,7 +6650,7 @@ namespace HISP.Server
|
|||
{
|
||||
if (sender.LoggedinUser.Inventory.HasItemId(reqItem.RequiredItemId))
|
||||
{
|
||||
if (sender.LoggedinUser.Inventory.GetItemByItemId(reqItem.RequiredItemId).ItemInstances.Count < reqItem.RequiredItemCount)
|
||||
if (sender.LoggedinUser.Inventory.GetItemByItemId(reqItem.RequiredItemId).ItemInstances.Length < reqItem.RequiredItemCount)
|
||||
goto failMissingItem;
|
||||
}
|
||||
else
|
||||
|
@ -6752,7 +6752,7 @@ namespace HISP.Server
|
|||
}
|
||||
invItem = sender.LoggedinUser.Inventory.GetItemByItemId(itemId);
|
||||
|
||||
totalSold = invItem.ItemInstances.Count;
|
||||
totalSold = invItem.ItemInstances.Length;
|
||||
message = 2;
|
||||
goto doSell;
|
||||
doSell:;
|
||||
|
@ -6926,7 +6926,7 @@ namespace HISP.Server
|
|||
}
|
||||
if (shop.Inventory.HasItemId(itemId))
|
||||
{
|
||||
if (shop.Inventory.GetItemByItemId(itemId).ItemInstances.Count < count)
|
||||
if (shop.Inventory.GetItemByItemId(itemId).ItemInstances.Length < count)
|
||||
{
|
||||
Logger.HackerPrint(sender.LoggedinUser.Username + " Tried to buy more of an item than is in stock.");
|
||||
break;
|
||||
|
@ -6937,7 +6937,7 @@ namespace HISP.Server
|
|||
if (sender.LoggedinUser.Inventory.HasItemId(itemId))
|
||||
{
|
||||
InventoryItem items = sender.LoggedinUser.Inventory.GetItemByItemId(itemId);
|
||||
if (items.ItemInstances.Count + count > ConfigReader.MAX_STACK)
|
||||
if (items.ItemInstances.Length + count > ConfigReader.MAX_STACK)
|
||||
{
|
||||
goto showError;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue