예제 #1
0
        /// <summary>
        /// Damages the item in the ItemStack
        /// </summary>
        public void DamageItem(int par1, EntityLiving par2EntityLiving)
        {
            if (!IsItemStackDamageable())
            {
                return;
            }

            if (par1 > 0 && (par2EntityLiving is EntityPlayer))
            {
                int i = EnchantmentHelper.GetUnbreakingModifier(((EntityPlayer)par2EntityLiving).Inventory);

                if (i > 0 && par2EntityLiving.WorldObj.Rand.Next(i + 1) > 0)
                {
                    return;
                }
            }

            ItemDamage += par1;

            if (ItemDamage > GetMaxDamage())
            {
                par2EntityLiving.RenderBrokenItemStack(this);

                if (par2EntityLiving is EntityPlayer)
                {
                    ((EntityPlayer)par2EntityLiving).AddStat(StatList.ObjectBreakStats[ItemID], 1);
                }

                StackSize--;

                if (StackSize < 0)
                {
                    StackSize = 0;
                }

                ItemDamage = 0;
            }
        }