Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ GetItem_FillIntoOccupiedSlot()

bool Terraria.Player.GetItem_FillIntoOccupiedSlot ( int plr,
Item newItem,
GetItemSettings settings,
Item returnItem,
int i )
inlineprivate

Definition at line 37278 of file Player.cs.

37279 {
37280 if (inventory[i].type > 0 && inventory[i].stack < inventory[i].maxStack && returnItem.IsTheSameAs(inventory[i]))
37281 {
37282 if (newItem.IsACoin)
37283 {
37284 SoundEngine.PlaySound(38, (int)position.X, (int)position.Y);
37285 }
37286 else
37287 {
37288 SoundEngine.PlaySound(7, (int)position.X, (int)position.Y);
37289 }
37290 if (returnItem.stack + inventory[i].stack <= inventory[i].maxStack)
37291 {
37292 inventory[i].stack += returnItem.stack;
37293 if (!settings.NoText)
37294 {
37295 PopupText.NewText(PopupTextContext.RegularItemPickup, newItem, returnItem.stack, noStack: false, settings.LongText);
37296 }
37297 DoCoins(i);
37298 if (plr == Main.myPlayer)
37299 {
37300 Recipe.FindRecipes();
37301 }
37303 settings.HandlePostAction(inventory[i]);
37304 return true;
37305 }
37306 AchievementsHelper.NotifyItemPickup(this, returnItem, inventory[i].maxStack - inventory[i].stack);
37307 returnItem.stack -= inventory[i].maxStack - inventory[i].stack;
37308 if (!settings.NoText)
37309 {
37310 PopupText.NewText(PopupTextContext.RegularItemPickup, newItem, inventory[i].maxStack - inventory[i].stack, noStack: false, settings.LongText);
37311 }
37313 DoCoins(i);
37314 if (plr == Main.myPlayer)
37315 {
37316 Recipe.FindRecipes();
37317 }
37318 settings.HandlePostAction(inventory[i]);
37319 }
37320 return false;
37321 }
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 position
Definition Entity.cs:14
static void NotifyItemPickup(Player player, Item item)
int stack
Definition Item.cs:149
int maxStack
Definition Item.cs:151
void DoCoins(int i)
Definition Player.cs:37047
Item[] inventory
Definition Player.cs:1257

References Terraria.Recipe.FindRecipes(), Terraria.GetItemSettings.HandlePostAction(), Terraria.GetItemSettings.LongText, Terraria.Item.maxStack, Terraria.Main.myPlayer, Terraria.PopupText.NewText(), Terraria.GetItemSettings.NoText, Terraria.GameContent.Achievements.AchievementsHelper.NotifyItemPickup(), Terraria.Audio.SoundEngine.PlaySound(), Terraria.Item.stack, and System.type.