/// <summary> /// Appends the gem percentage stats. /// </summary> /// <param name="gem">The gem to append the stats of.</param> private void AppendGemPercentage(Enums.Gem gem) { switch (gem) { case Enums.Gem.NormalPhoenixGem: case Enums.Gem.RefinedPhoenixGem: case Enums.Gem.SuperPhoenixGem: Player.PhoenixGemPercentage += (0.05 * ((byte)gem)); break; case Enums.Gem.NormalDragonGem: case Enums.Gem.RefinedDragonGem: case Enums.Gem.SuperDragonGem: Player.DragonGemPercentage += (0.05 * (((byte)gem) - 10)); break; case Enums.Gem.NormalRainbowGem: Player.RainbowGemPercentage += 0.1; break; case Enums.Gem.RefinedRainbowGem: Player.RainbowGemPercentage += 0.15; break; case Enums.Gem.SuperRainbowGem: Player.RainbowGemPercentage += 0.25; break; case Enums.Gem.NormalVioletGem: Player.VioletGemPercentage += 0.3; break; case Enums.Gem.RefinedVioletGem: Player.VioletGemPercentage += 0.5; break; case Enums.Gem.SuperVioletGem: Player.VioletGemPercentage += 1.0; break; // fury // kylin case Enums.Gem.NormalMoonGem: Player.MoonGemPercentage += 0.15; break; case Enums.Gem.RefinedMoonGem: Player.MoonGemPercentage += 0.3; break; case Enums.Gem.SuperMoonGem: Player.MoonGemPercentage += 0.5; break; case Enums.Gem.NormalTortoiseGem: case Enums.Gem.RefinedTortoiseGem: case Enums.Gem.SuperTortoiseGem: Player.TortoiseGemPercentage += (0.02 * (((byte)gem) - 70)); break; } }
/// <summary> /// Adds an item to the inventory. /// </summary> /// <param name="itemId">The item id.</param> /// <param name="plus">The plus.</param> /// <param name="bless">The bless.</param> /// <param name="enchant">The enchantment.</param> /// <param name="gem1">The first socket.</param> /// <param name="gem2">The second socket.</param> /// <returns>True if the item was added, false otherwise.</returns> public bool Add(uint itemId, byte plus = 0, byte bless = 0, byte enchant = 0, Enums.Gem gem1 = Enums.Gem.NoSocket, Enums.Gem gem2 = Enums.Gem.NoSocket) { if (_items.Count >= 40) { Player.SendSystemMessage("INVENTORY_FULL"); return(false); } var item = Collections.ItemCollection.CreateItemById(itemId); if (item == null) { return(false); } item.DbOwnerItem = new Database.Models.DbOwnerItem { PlayerId = Player.DbPlayer.Id, ItemId = itemId, Plus = plus, Bless = bless, Enchant = enchant, }; item.DbOwnerItem.MaxDura = item.DbItem.Amount; item.DbOwnerItem.CurrentDura = item.DbOwnerItem.MaxDura; item.DbOwnerItem.OwnedBy.AddItem(Player.Name); item.Gem1 = gem1; item.Gem2 = gem2; if (item.DbOwnerItem.Create(Database.Models.DbOwnerItem.Inventories)) { if (_items.TryAdd(item.ClientId, item)) { item.Position = Enums.ItemPosition.Inventory; item.UpdateClient(Player, Enums.ItemUpdateAction.Add); return(true); } else { item.DbOwnerItem.Delete(Database.Models.DbOwnerItem.Inventories); return(true); } } else { return(false); } }