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;
}