public void GenerateStartupInventory()
{
string inv0 = "inv 0", inv1 = "inv 1", inv2 = "inv 2", inv3 = "inv 3", inv6 = "inv 6", inv7 = "inv 7"; // inv 3 used for miniland objects
if (Inventory != null)
{
foreach (ItemInstance inv in Inventory.GetAllItems())
{
switch (inv.Type)
{
case InventoryType.Equipment:
if (inv.Item.EquipmentSlot == EquipmentType.Sp)
{
var specialistInstance = inv as SpecialistInstance;
if (specialistInstance != null)
inv0 += $" {inv.Slot}.{inv.ItemVNum}.{specialistInstance.Rare}.{specialistInstance.Upgrade}.{specialistInstance.SpStoneUpgrade}";
}
else
{
var wearableInstance = inv as WearableInstance;
if (wearableInstance != null)
inv0 += $" {inv.Slot}.{inv.ItemVNum}.{wearableInstance.Rare}.{(inv.Item.IsColored ? wearableInstance.Design : wearableInstance.Upgrade)}.0";
}
break;
case InventoryType.Main:
inv1 += $" {inv.Slot}.{inv.ItemVNum}.{inv.Amount}.0";
break;
case InventoryType.Etc:
inv2 += $" {inv.Slot}.{inv.ItemVNum}.{inv.Amount}.0";
break;
case InventoryType.Miniland:
inv3 += $" {inv.Slot}.{inv.ItemVNum}.{inv.Amount}";
break;
case InventoryType.Specialist:
var specialist = inv as SpecialistInstance;
if (specialist != null)
inv6 += $" {inv.Slot}.{inv.ItemVNum}.{specialist.Rare}.{specialist.Upgrade}.{specialist.SpStoneUpgrade}";
break;
case InventoryType.Costume:
var costumeInstance = inv as WearableInstance;
if (costumeInstance != null)
inv7 += $" {inv.Slot}.{inv.ItemVNum}.{costumeInstance.Rare}.{costumeInstance.Upgrade}.0";
break;
}
}
}
Session.SendPacket(inv0);
Session.SendPacket(inv1);
Session.SendPacket(inv2);
Session.SendPacket(inv6);
Session.SendPacket(inv7);
}