public bool AddBound996(uint id, uint soulitem, uint purfylevel, uint timeofpurfy, byte plus, byte times, bool purfystabliz = false, bool bound = false) { try { Database.ConquerItemInformation infos = new Database.ConquerItemInformation(id, plus); while (times > 0) { if (Count <= 39) { ConquerItem item = new ConquerItem(true); #region Stacksize if (infos.BaseInformation.StackSize > 1) { ushort _StackCount = infos.BaseInformation.StackSize; if (times <= infos.BaseInformation.StackSize) _StackCount = (ushort)times; item.StackSize = (ushort)_StackCount; Database.ConquerItemTable.UpdateStack(item); times -= (byte)_StackCount; } else { item = new ConquerItem(true); item.StackSize = 1; times--; } #endregion Stacksize item.ID = id; item.Plus = plus; item.Bound = true; item.Durability = item.MaximDurability = infos.BaseInformation.Durability; item.StackSize = 1; item.MaxStackSize = infos.BaseInformation.StackSize; Database.ConquerItemTable.UpdatePerfection(item); Add(item, Enums.ItemUse.CreateAndAdd); if (purfystabliz == false) { #region purfy with out stablize ItemAdding.Purification_ purify = new ItemAdding.Purification_(); purify.AddedOn = DateTime.Now; purify.Available = true; purify.ItemUID = item.UID; purify.PurificationLevel = purfylevel; purify.PurificationDuration = timeofpurfy * 24 * 60 * 60; purify.PurificationItemID = soulitem; Database.ItemAddingTable.AddPurification(purify); item.Purification = purify; item.Mode = ahmedfathy.Game.Enums.ItemMode.Update; item.Send(Owner); ItemAdding effect = new ItemAdding(true); effect.Type = ItemAdding.PurificationEffect; effect.Append2(purify); Owner.Send(effect); #endregion } else { #region purfy with stabliz ItemAdding.Purification_ purify = new ItemAdding.Purification_(); purify.AddedOn = DateTime.Now; purify.Available = true; purify.ItemUID = item.UID; purify.PurificationLevel = purfylevel; purify.PurificationDuration = timeofpurfy * 24 * 60 * 60; purify.PurificationItemID = soulitem; Database.ItemAddingTable.AddPurification(purify); item.Purification = purify; item.Mode = ahmedfathy.Game.Enums.ItemMode.Update; item.Send(Owner); ItemAdding effect = new ItemAdding(true); effect.Type = ItemAdding.PurificationEffect; effect.Append2(purify); Owner.Send(effect); var Backup = item.Purification; Backup.PurificationDuration = 0; item.Purification = Backup; item.Send(Owner); effect.Type = ItemAdding.StabilizationEffect; effect.Append2(Backup); Owner.Send(effect); Database.ItemAddingTable.Stabilize(item.UID, Backup.PurificationItemID); #endregion } } else { return false; } } times--; } catch (Exception e) { Program.SaveException(e); } return true; }
public bool Add989(uint id, byte plus, byte bless, byte enchant, byte onesoc, byte twosoc, byte times, bool bound = false) { try { Database.ConquerItemInformation infos = new Database.ConquerItemInformation(id, plus); while (times > 0) { ConquerItem _ExistingItem; Database.ConquerItemInformation iteminfo = new Database.ConquerItemInformation(id, 0); if (Owner.Inventory.Contains(iteminfo.BaseInformation.ID, bound, iteminfo.BaseInformation.StackSize, out _ExistingItem)) { 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; } else { if (Count <= 39) { ConquerItem item = new Network.GamePackets.ConquerItem(true); item.ID = id; item.Plus = plus; item.Bless = bless; item.Bound = bound; item.TimeStamp = DateTime.Now; item.Enchant = enchant; if (onesoc == 1) { item.SocketOne = Game.Enums.Gem.EmptySocket; } if (twosoc == 1) { item.SocketTwo = Game.Enums.Gem.EmptySocket; } if (id == 201009 && onesoc == 103 && twosoc == 103) { item.SocketOne = Game.Enums.Gem.SuperThunderGem; item.SocketTwo = Game.Enums.Gem.SuperThunderGem; } if (id == 202009 && onesoc == 123 && twosoc == 123) { item.SocketOne = Game.Enums.Gem.SuperGloryGem; item.SocketTwo = Game.Enums.Gem.SuperGloryGem; } if (id == 204009 && onesoc == 103 && twosoc == 123) { item.SocketOne = Game.Enums.Gem.SuperThunderGem; item.SocketTwo = Game.Enums.Gem.SuperGloryGem; } item.Durability = item.MaximDurability = infos.BaseInformation.Durability; item.StackSize = 1; item.MaxStackSize = infos.BaseInformation.StackSize; Add(item, Enums.ItemUse.CreateAndAdd); } } times--; } } catch (Exception e) { Program.SaveException(e); } return true; }
public bool AddBound998(uint id, uint soulitem, uint purfylevel, uint timeofpurfy, byte plus, byte times, bool purfystabliz = false, bool bound = false) { try { Database.ConquerItemInformation infos = new Database.ConquerItemInformation(id, plus); while (times > 0) { if (Count <= 39) { ConquerItem item = new ConquerItem(true); #region Stacksize if (infos.BaseInformation.StackSize > 1) { ushort _StackCount = infos.BaseInformation.StackSize; if (times <= infos.BaseInformation.StackSize) _StackCount = (ushort)times; item.StackSize = (ushort)_StackCount; Database.ConquerItemTable.UpdateStack(item); times -= (byte)_StackCount; } else { item = new ConquerItem(true); item.StackSize = 1; times--; } #endregion Stacksize item.ID = id; item.Plus = plus; item.Bound = true; item.Durability = item.MaximDurability = infos.BaseInformation.Durability; item.StackSize = 1; item.MaxStackSize = infos.BaseInformation.StackSize; /*item.SocketOne = Game.Enums.Gem.SuperDragonGem; item.SocketTwo = Game.Enums.Gem.SuperDragonGem; item.Enchant = 225; item.Bless = 7;*/ Database.ConquerItemTable.UpdatePerfection(item); Add(item, Enums.ItemUse.CreateAndAdd); if (purfystabliz == false) { #region purfy with out stablize ItemAdding.Purification_ purify = new ItemAdding.Purification_(); purify.AddedOn = DateTime.Now; purify.Available = true; purify.ItemUID = item.UID; purify.PurificationLevel = purfylevel; purify.PurificationDuration = timeofpurfy * 24 * 60 * 60; purify.PurificationItemID = soulitem; Database.ItemAddingTable.AddPurification(purify); item.Purification = purify; item.Mode = ahmedfathy.Game.Enums.ItemMode.Update; item.Send(Owner); ItemAdding effect = new ItemAdding(true); effect.Type = ItemAdding.PurificationEffect; effect.Append2(purify); Owner.Send(effect); #endregion } else { #region purfy with stabliz ItemAdding.Purification_ purify = new ItemAdding.Purification_(); purify.AddedOn = DateTime.Now; purify.Available = true; purify.ItemUID = item.UID; purify.PurificationLevel = purfylevel; purify.PurificationDuration = timeofpurfy * 24 * 60 * 60; purify.PurificationItemID = soulitem; Database.ItemAddingTable.AddPurification(purify); item.Purification = purify; item.Mode = ahmedfathy.Game.Enums.ItemMode.Update; item.Send(Owner); ItemAdding effect = new ItemAdding(true); effect.Type = ItemAdding.PurificationEffect; effect.Append2(purify); Owner.Send(effect); var Backup = item.Purification; Backup.PurificationDuration = 0; item.Purification = Backup; item.Send(Owner); effect.Type = ItemAdding.StabilizationEffect; effect.Append2(Backup); Owner.Send(effect); Database.ItemAddingTable.Stabilize(item.UID, Backup.PurificationItemID); #endregion } } else { return false; } } times--; } catch (Exception e) { Program.SaveException(e); } return true; }