Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ dropItemCheck()

void Terraria.Player.dropItemCheck ( )
inline

Definition at line 4220 of file Player.cs.

4221 {
4222 if (!Main.playerInventory)
4223 {
4224 noThrow = 0;
4225 }
4226 if (noThrow > 0)
4227 {
4228 noThrow--;
4229 }
4230 GetItemSettings getItemInDropItemCheck = GetItemSettings.GetItemInDropItemCheck;
4231 if (!Main.InGuideCraftMenu && Main.guideItem.type > 0)
4232 {
4233 Main.guideItem.position = base.Center;
4234 Item item = GetItem(whoAmI, Main.guideItem, getItemInDropItemCheck);
4235 if (item.stack > 0)
4236 {
4237 int num = Item.NewItem(GetItemSource_Misc(4), (int)position.X, (int)position.Y, width, height, item.type, item.stack, noBroadcast: false, Main.guideItem.prefix, noGrabDelay: true);
4238 Main.item[num].newAndShiny = false;
4239 if (Main.netMode == 1)
4240 {
4241 NetMessage.SendData(21, -1, -1, null, num, 1f);
4242 }
4243 }
4244 Main.guideItem = new Item();
4245 }
4246 if (!Main.InReforgeMenu && Main.reforgeItem.type > 0)
4247 {
4248 Main.reforgeItem.position = base.Center;
4249 Item item2 = GetItem(whoAmI, Main.reforgeItem, getItemInDropItemCheck);
4250 if (item2.stack > 0)
4251 {
4252 int num2 = Item.NewItem(GetItemSource_Misc(4), (int)position.X, (int)position.Y, width, height, item2.type, item2.stack, noBroadcast: false, Main.reforgeItem.prefix, noGrabDelay: true);
4253 Main.item[num2].newAndShiny = false;
4254 if (Main.netMode == 1)
4255 {
4256 NetMessage.SendData(21, -1, -1, null, num2, 1f);
4257 }
4258 }
4259 Main.reforgeItem = new Item();
4260 }
4261 if (Main.myPlayer == whoAmI)
4262 {
4263 inventory[58] = Main.mouseItem.Clone();
4264 }
4265 bool flag = true;
4266 if (Main.mouseItem.type > 0 && Main.mouseItem.stack > 0)
4267 {
4268 if (!Main.gamePaused)
4269 {
4270 tileTargetX = (int)(((float)Main.mouseX + Main.screenPosition.X) / 16f);
4271 tileTargetY = (int)(((float)Main.mouseY + Main.screenPosition.Y) / 16f);
4272 if (gravDir == -1f)
4273 {
4274 tileTargetY = (int)((Main.screenPosition.Y + (float)Main.screenHeight - (float)Main.mouseY) / 16f);
4275 }
4276 }
4277 if (selectedItem != 58)
4278 {
4280 }
4281 selectedItem = 58;
4282 flag = false;
4283 }
4284 if (flag && selectedItem == 58 && ItemTimeIsZero && itemAnimation == 0)
4285 {
4287 }
4288 if (Main.mouseItem.type > 0 && !Main.playerInventory)
4289 {
4290 Main.mouseItem.position = base.Center;
4291 Item item3 = GetItem(whoAmI, Main.mouseItem, getItemInDropItemCheck);
4292 if (item3.stack > 0)
4293 {
4294 int num3 = Item.NewItem(GetItemSource_Misc(4), (int)position.X, (int)position.Y, width, height, item3.type, item3.stack, noBroadcast: false, Main.mouseItem.prefix, noGrabDelay: true);
4295 Main.item[num3].newAndShiny = false;
4296 if (Main.netMode == 1)
4297 {
4298 NetMessage.SendData(21, -1, -1, null, num3, 1f);
4299 }
4300 }
4301 Main.mouseItem = new Item();
4302 inventory[58] = new Item();
4303 Recipe.FindRecipes();
4304 }
4305 if (((controlThrow && releaseThrow && !inventory[selectedItem].favorited && inventory[selectedItem].type > 0 && !Main.drawingPlayerChat) || (((Main.mouseRight && !mouseInterface && Main.mouseRightRelease) || !Main.playerInventory) && Main.mouseItem.type > 0 && Main.mouseItem.stack > 0)) && noThrow <= 0)
4306 {
4308 }
4309 if (Main.gamePaused && selectedItem == 58)
4310 {
4312 }
4313 }
Vector2 position
Definition Entity.cs:14
Item Clone()
Definition Item.cs:49916
Item GetItem(int plr, Item newItem, GetItemSettings settings)
Definition Player.cs:37130
bool ItemTimeIsZero
Definition Player.cs:3525
bool mouseInterface
Definition Player.cs:1137
bool controlThrow
Definition Player.cs:1395
bool releaseThrow
Definition Player.cs:1421
static int tileTargetY
Definition Player.cs:2085
IEntitySource GetItemSource_Misc(int itemSourceId)
Definition Player.cs:9287
static int tileTargetX
Definition Player.cs:2083
void DropSelectedItem()
Definition Player.cs:4315
Item[] inventory
Definition Player.cs:1257

References Terraria.Player.controlThrow, Terraria.Main.drawingPlayerChat, Terraria.Player.DropSelectedItem(), Terraria.Recipe.FindRecipes(), Terraria.Main.gamePaused, Terraria.Player.GetItem(), Terraria.GetItemSettings.GetItemInDropItemCheck, Terraria.Player.GetItemSource_Misc(), Terraria.Player.gravDir, Terraria.Main.guideItem, Terraria.Entity.height, Terraria.Main.InGuideCraftMenu, Terraria.Main.InReforgeMenu, Terraria.Player.inventory, System.item, Terraria.Main.item, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Player.mouseInterface, Terraria.Main.mouseItem, Terraria.Main.mouseRight, Terraria.Main.mouseRightRelease, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.Item.NewItem(), Terraria.Player.noThrow, Terraria.Player.oldSelectItem, Terraria.Main.playerInventory, Terraria.Entity.position, Terraria.Main.reforgeItem, Terraria.Player.releaseThrow, Terraria.Main.screenPosition, Terraria.Player.selectedItem, Terraria.NetMessage.SendData(), Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, System.type, Terraria.Entity.whoAmI, Terraria.Entity.width, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.