public void dropItemCheck()
{
if (!Main.playerInventory)
this.noThrow = 0;
if (this.noThrow > 0)
--this.noThrow;
if (!Main.craftGuide && Main.guideItem.itemId > 0)
{
Main.guideItem.position = this.Center;
Item obj = this.GetItem(this.whoAmI, Main.guideItem, false, true);
if (obj.stack > 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, obj.itemId, obj.stack, false, (int)Main.guideItem.prefix, true);
Main.item[number].newAndShiny = false;
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
Main.guideItem = new Item();
}
if (!Main.reforge && Main.reforgeItem.itemId > 0)
{
Main.reforgeItem.position = this.Center;
Item obj = this.GetItem(this.whoAmI, Main.reforgeItem, false, true);
if (obj.stack > 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, obj.itemId, obj.stack, false, (int)Main.reforgeItem.prefix, true);
Main.item[number].newAndShiny = false;
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
Main.reforgeItem = new Item();
}
if (Main.myPlayer == this.whoAmI)
this.inventory[58] = Main.mouseItem.Clone();
bool flag1 = true;
if (Main.mouseItem.itemId > 0 && Main.mouseItem.stack > 0 && !Main.gamePaused)
{
Player.tileTargetX = (int)(((double)Main.mouseX + (double)Main.screenPosition.X) / 16.0);
Player.tileTargetY = (int)(((double)Main.mouseY + (double)Main.screenPosition.Y) / 16.0);
if ((double)this.gravDir == -1.0)
Player.tileTargetY = (int)(((double)Main.screenPosition.Y + (double)Main.screenHeight - (double)Main.mouseY) / 16.0);
if (this.selectedItem != 58)
this.oldSelectItem = this.selectedItem;
this.selectedItem = 58;
flag1 = false;
}
if (flag1 && this.selectedItem == 58)
this.selectedItem = this.oldSelectItem;
if (WorldGen.InWorld(Player.tileTargetX, Player.tileTargetY, 0) && Main.tile[Player.tileTargetX, Player.tileTargetY] != null && ((int)Main.tile[Player.tileTargetX, Player.tileTargetY].type == 334 && this.ItemFitsWeaponRack(this.inventory[this.selectedItem])))
this.noThrow = 2;
if (WorldGen.InWorld(Player.tileTargetX, Player.tileTargetY, 0) && Main.tile[Player.tileTargetX, Player.tileTargetY] != null && ((int)Main.tile[Player.tileTargetX, Player.tileTargetY].type == 395 && this.ItemFitsItemFrame(this.inventory[this.selectedItem])))
this.noThrow = 2;
if (Main.mouseItem.itemId > 0 && !Main.playerInventory)
{
Main.mouseItem.position = this.Center;
Item obj = this.GetItem(this.whoAmI, Main.mouseItem, false, true);
if (obj.stack > 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, obj.itemId, obj.stack, false, 0, true);
Main.item[number].newAndShiny = false;
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
Main.mouseItem = new Item();
Recipe.FindRecipes();
}
if ((!this.controlThrow || !this.releaseThrow || (this.inventory[this.selectedItem].favorited || this.inventory[this.selectedItem].itemId <= 0) || Main.chatMode) && ((!Main.mouseRight || this.mouseInterface || !Main.mouseRightRelease) && Main.playerInventory || (Main.mouseItem.itemId <= 0 || Main.mouseItem.stack <= 0)) || this.noThrow > 0)
return;
if (this.inventory[this.selectedItem].favorited)
{
this.inventory[this.selectedItem] = this.GetItem(this.whoAmI, this.inventory[this.selectedItem], false, true);
if (this.selectedItem == 58)
Main.mouseItem = this.inventory[this.selectedItem];
Recipe.FindRecipes();
if (this.inventory[this.selectedItem].itemId == 0)
return;
}
Item obj1 = new Item();
bool flag2 = false;
if ((Main.mouseRight && !this.mouseInterface && Main.mouseRightRelease || !Main.playerInventory) && (Main.mouseItem.itemId > 0 && Main.mouseItem.stack > 0))
{
obj1 = this.inventory[this.selectedItem];
this.inventory[this.selectedItem] = Main.mouseItem;
this.delayUseItem = true;
this.controlUseItem = false;
flag2 = true;
}
int number1 = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, this.inventory[this.selectedItem].itemId, 1, false, 0, false);
if (!flag2 && this.inventory[this.selectedItem].itemId == 8 && this.inventory[this.selectedItem].stack > 1)
{
--this.inventory[this.selectedItem].stack;
}
else
{
this.inventory[this.selectedItem].position = Main.item[number1].position;
Main.item[number1] = this.inventory[this.selectedItem];
this.inventory[this.selectedItem] = new Item();
}
if (Main.netMode == 0)
Main.item[number1].noGrabDelay = 100;
Main.item[number1].velocity.Y = -2f;
Main.item[number1].velocity.X = (float)(4 * this.direction) + this.velocity.X;
Main.item[number1].favorited = false;
Main.item[number1].newAndShiny = false;
if ((Main.mouseRight && !this.mouseInterface || !Main.playerInventory) && Main.mouseItem.itemId > 0)
{
this.inventory[this.selectedItem] = obj1;
Main.mouseItem = new Item();
}
else
{
this.itemAnimation = 10;
this.itemAnimationMax = 10;
}
Recipe.FindRecipes();
if (Main.netMode != 1)
return;
NetMessage.SendData(21, -1, -1, "", number1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
}