Terraria.Player.FillAmmo C# (CSharp) Method

FillAmmo() public method

public FillAmmo ( int plr, Item newItem, bool noText = false ) : Item
plr int
newItem Item
noText bool
return Item
        public Item FillAmmo(int plr, Item newItem, bool noText = false)
        {
            Item obj = newItem;
            for (int i = 54; i < 58; ++i)
            {
                if (this.inventory[i].itemId > 0 && this.inventory[i].stack < this.inventory[i].maxStack && obj.IsTheSameAs(this.inventory[i]))
                {
                    Main.PlaySound(7, (int)this.position.X, (int)this.position.Y, 1);
                    if (obj.stack + this.inventory[i].stack <= this.inventory[i].maxStack)
                    {
                        this.inventory[i].stack += obj.stack;
                        if (!noText)
                            ItemText.NewText(newItem, obj.stack, false, false);
                        this.DoCoins(i);
                        if (plr == Main.myPlayer)
                            Recipe.FindRecipes();
                        return new Item();
                    }
                    obj.stack -= this.inventory[i].maxStack - this.inventory[i].stack;
                    if (!noText)
                        ItemText.NewText(newItem, this.inventory[i].maxStack - this.inventory[i].stack, false, false);
                    this.inventory[i].stack = this.inventory[i].maxStack;
                    this.DoCoins(i);
                    if (plr == Main.myPlayer)
                        Recipe.FindRecipes();
                }
            }
            if (obj.bait <= 0 && obj.itemId != 169 && (obj.itemId != 75 && obj.itemId != 23) && (obj.itemId != 408 && obj.itemId != 370 && (obj.itemId != 1246 && obj.itemId != 154)) && !obj.notAmmo)
            {
                for (int i = 54; i < 58; ++i)
                {
                    if (this.inventory[i].itemId == 0)
                    {
                        this.inventory[i] = obj;
                        if (!noText)
                            ItemText.NewText(newItem, newItem.stack, false, false);
                        this.DoCoins(i);
                        Main.PlaySound(7, (int)this.position.X, (int)this.position.Y, 1);
                        if (plr == Main.myPlayer)
                            Recipe.FindRecipes();
                        return new Item();
                    }
                }
            }
            return obj;
        }
Player