Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public bool Add(MsgItemInfo item, Enums.ItemUse use)
- {
- if (!Database.ConquerItemInformation.BaseInformations.ContainsKey(item.ID))
- return false;
- //if (Owner.Player.Crossed && !MsgItemInfo.IsDrug(item.ID) && item.ID != 3600029) return false;
- if (Count == 40)
- {
- Owner.Send(Constants.FullInventory);
- return false;
- }
- if (!inventory.ContainsKey(item.UID))
- {
- item.Position = 0;
- MsgItemInfo _ExistingItem;
- Database.ConquerItemInformation iteminfo = new Database.ConquerItemInformation(item.ID, 0);
- if (Owner.Inventory.Contains(iteminfo.BaseInformation.ID, iteminfo.BaseInformation.StackSize, out _ExistingItem) && Owner.SpiltStack && use != Enums.ItemUse.None)
- {
- if (_ExistingItem.StackSize == 0)
- _ExistingItem.StackSize = 1;
- ushort _StackCount = iteminfo.BaseInformation.StackSize;
- _StackCount -= (ushort)_ExistingItem.StackSize;
- if (_StackCount >= 1)
- _StackCount += 1;
- _ExistingItem.StackSize += 1;
- Database.ConquerItemTable.UpdateStack(_ExistingItem);
- _ExistingItem.Mode = Game.Enums.ItemMode.Update;
- _ExistingItem.Send(Owner);
- _ExistingItem.Mode = Game.Enums.ItemMode.Default;
- switch (use)
- {
- case Enums.ItemUse.Add:
- Database.ConquerItemTable.DeleteItem(item.UID);
- break;
- case Enums.ItemUse.Move:
- Database.ConquerItemTable.DeleteItem(item.UID);
- break;
- }
- return true;
- }
- else
- {
- switch (use)
- {
- case Enums.ItemUse.CreateAndAdd:
- item.UID = COServer.Network.GamePackets.MsgItemInfo.ItemUID.Next;
- while (ConquerItemTable.IsThere(item.UID))
- item.UID = COServer.Network.GamePackets.MsgItemInfo.ItemUID.Next;
- Database.ConquerItemTable.AddItem(ref item, Owner);
- item.MobDropped = false;
- break;
- case Enums.ItemUse.Add:
- Database.ConquerItemTable.UpdateLocation(item, Owner);
- break;
- case Enums.ItemUse.Move:
- item.Position = 0;
- item.StatsLoaded = false;
- Database.ConquerItemTable.UpdateLocation(item, Owner);
- break;
- }
- inventory.Add(item.UID, item);
- Update();
- item.Mode = Enums.ItemMode.Default;
- if (use != Enums.ItemUse.None)
- item.Send(Owner);
- return true;
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement