public void GiftAdd(short itemVNum, byte amount)
{
if (Inventory != null)
{
lock (Inventory)
{
ItemInstance newItem = Inventory.InstantiateItemInstance(itemVNum, CharacterId, amount);
if (newItem != null)
{
if (newItem.Item.ItemType == ItemType.Armor || newItem.Item.ItemType == ItemType.Weapon || newItem.Item.ItemType == ItemType.Shell)
{
((WearableInstance)newItem).RarifyItem(Session, RarifyMode.Drop, RarifyProtection.None);
}
ItemInstance newInv = Inventory.AddToInventory(newItem);
if (newInv != null)
{
Session.SendPacket(GenerateInventoryAdd(newInv.ItemVNum, newInv.Amount, newInv.Type, newInv.Slot, newInv.Rare, newInv.Design, newInv.Upgrade, 0));
Session.SendPacket(GenerateSay($"{Language.Instance.GetMessageFromKey("ITEM_ACQUIRED")}: {newItem.Item.Name} x {amount}", 10));
}
else
{
if (MailList.Count <= 40)
{
SendGift(CharacterId, itemVNum, amount, newItem.Rare, newItem.Upgrade, false);
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("ITEM_ACQUIRED_BY_THE_GIANT_MONSTER"), 0));
}
}
}
}
}
}