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

◆ GrabItems()

void Terraria.Player.GrabItems ( int i)
inlineprivate

Definition at line 33106 of file Player.cs.

33107 {
33108 for (int j = 0; j < 400; j++)
33109 {
33110 Item item = Main.item[j];
33111 if (!item.active || item.shimmerTime != 0f || item.noGrabDelay != 0 || item.playerIndexTheItemIsReservedFor != i || !CanAcceptItemIntoInventory(item) || (item.shimmered && !((double)item.velocity.Length() < 0.2)))
33112 {
33113 continue;
33114 }
33116 Rectangle hitbox = item.Hitbox;
33117 if (base.Hitbox.Intersects(hitbox))
33118 {
33119 if (i == Main.myPlayer && (inventory[selectedItem].type != 0 || itemAnimation <= 0))
33120 {
33121 item = PickupItem(i, j, item);
33122 }
33123 }
33124 else
33125 {
33127 {
33128 continue;
33129 }
33130 ItemSpaceStatus status = ItemSpace(item);
33131 if (CanPullItem(item, status))
33132 {
33133 item.shimmered = false;
33134 item.beingGrabbed = true;
33135 bool flag = false;
33137 {
33138 flag = true;
33139 }
33140 if (flag)
33141 {
33142 PullItem_Pickup(item, 7f, 1);
33143 }
33144 else if (manaMagnet && (item.type == 184 || item.type == 1735 || item.type == 1868))
33145 {
33146 PullItem_Pickup(item, 12f, 5);
33147 }
33148 else if (lifeMagnet && (item.type == 58 || item.type == 1734 || item.type == 1867))
33149 {
33150 PullItem_Pickup(item, 15f, 5);
33151 }
33152 else if (ItemID.Sets.NebulaPickup[item.type])
33153 {
33154 PullItem_Pickup(item, 12f, 5);
33155 }
33156 else if (status.ItemIsGoingToVoidVault)
33157 {
33159 }
33160 else if (goldRing && item.IsACoin)
33161 {
33162 PullItem_Pickup(item, 12f, 5);
33163 }
33164 else
33165 {
33166 PullItem_Common(item, 0.75f);
33167 }
33168 }
33169 }
33170 }
33171 }
Vector2 position
Definition Entity.cs:14
static bool[] NebulaPickup
Definition ItemID.cs:1058
void PullItem_ToVoidVault(Item itemToPickUp)
Definition Player.cs:33173
bool CanPullItem(Item item, ItemSpaceStatus status)
Definition Player.cs:36949
int GetItemGrabRange(Item item)
Definition Player.cs:33314
bool CanAcceptItemIntoInventory(Item item)
Definition Player.cs:33097
ItemSpaceStatus ItemSpace(Item newItem)
Definition Player.cs:36958
bool lifeMagnet
Definition Player.cs:713
void PullItem_Pickup(Item itemToPickUp, float speed, int acc)
Definition Player.cs:33226
Item PickupItem(int playerIndex, int worldItemArrayIndex, Item itemToPickUp)
Definition Player.cs:33239
void PullItem_Common(Item itemToPickUp, float xPullSpeed)
Definition Player.cs:33178
bool manaMagnet
Definition Player.cs:711
Item[] inventory
Definition Player.cs:1257
bool Intersects(Rectangle value)
Definition Rectangle.cs:129

References Terraria.GameContent.Creative.CreativePowerManager.Instance, Microsoft.Xna.Framework.Rectangle.Intersects(), Terraria.GameContent.Creative.CreativePowers.APerPlayerTogglePower.IsEnabledForPlayer(), System.item, Terraria.Main.item, Terraria.Player.ItemSpaceStatus.ItemIsGoingToVoidVault, Terraria.Main.myPlayer, Terraria.ID.ItemID.Sets.NebulaPickup, and Terraria.Item.type.