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

◆ ItemCheck_UseWiringTools()

void Terraria.Player.ItemCheck_UseWiringTools ( Item sItem)
inlineprivate

Definition at line 46677 of file Player.cs.

46678 {
46679 //IL_082e: Unknown result type (might be due to invalid IL or missing references)
46680 //IL_0830: Unknown result type (might be due to invalid IL or missing references)
46681 //IL_0801: Unknown result type (might be due to invalid IL or missing references)
46682 //IL_0808: Unknown result type (might be due to invalid IL or missing references)
46683 //IL_0810: Unknown result type (might be due to invalid IL or missing references)
46684 //IL_0818: Unknown result type (might be due to invalid IL or missing references)
46685 if ((sItem.type != 509 && sItem.type != 510 && sItem.type != 849 && sItem.type != 850 && sItem.type != 851 && sItem.type != 3612 && sItem.type != 3620 && sItem.type != 3625) || !(position.X / 16f - (float)tileRangeX - (float)sItem.tileBoost - (float)blockRange <= (float)tileTargetX) || !((position.X + (float)width) / 16f + (float)tileRangeX + (float)sItem.tileBoost - 1f + (float)blockRange >= (float)tileTargetX) || !(position.Y / 16f - (float)tileRangeY - (float)sItem.tileBoost - (float)blockRange <= (float)tileTargetY) || !((position.Y + (float)height) / 16f + (float)tileRangeY + (float)sItem.tileBoost - 2f + (float)blockRange >= (float)tileTargetY))
46686 {
46687 return;
46688 }
46689 if (!Main.GamepadDisableCursorItemIcon)
46690 {
46691 cursorItemIconEnabled = true;
46692 Main.ItemIconCacheUpdate(sItem.type);
46693 }
46695 {
46696 return;
46697 }
46698 int num = tileTargetX;
46699 int num2 = tileTargetY;
46700 if (sItem.type == 509)
46701 {
46702 int num3 = -1;
46703 for (int i = 0; i < 58; i++)
46704 {
46705 if (inventory[i].stack > 0 && inventory[i].type == 530)
46706 {
46707 num3 = i;
46708 break;
46709 }
46710 }
46711 if (num3 >= 0 && WorldGen.PlaceWire(num, num2))
46712 {
46714 {
46715 inventory[num3].stack--;
46716 }
46717 if (inventory[num3].stack <= 0)
46718 {
46720 }
46722 NetMessage.SendData(17, -1, -1, null, 5, tileTargetX, tileTargetY);
46723 }
46724 }
46725 else if (sItem.type == 850)
46726 {
46727 int num4 = -1;
46728 for (int j = 0; j < 58; j++)
46729 {
46730 if (inventory[j].stack > 0 && inventory[j].type == 530)
46731 {
46732 num4 = j;
46733 break;
46734 }
46735 }
46736 if (num4 >= 0 && WorldGen.PlaceWire2(num, num2))
46737 {
46739 {
46740 inventory[num4].stack--;
46741 }
46742 if (inventory[num4].stack <= 0)
46743 {
46745 }
46747 NetMessage.SendData(17, -1, -1, null, 10, tileTargetX, tileTargetY);
46748 }
46749 }
46750 if (sItem.type == 851)
46751 {
46752 int num5 = -1;
46753 for (int k = 0; k < 58; k++)
46754 {
46755 if (inventory[k].stack > 0 && inventory[k].type == 530)
46756 {
46757 num5 = k;
46758 break;
46759 }
46760 }
46761 if (num5 >= 0 && WorldGen.PlaceWire3(num, num2))
46762 {
46764 {
46765 inventory[num5].stack--;
46766 }
46767 if (inventory[num5].stack <= 0)
46768 {
46770 }
46772 NetMessage.SendData(17, -1, -1, null, 12, tileTargetX, tileTargetY);
46773 }
46774 }
46775 if (sItem.type == 3612)
46776 {
46777 int num6 = -1;
46778 for (int l = 0; l < 58; l++)
46779 {
46780 if (inventory[l].stack > 0 && inventory[l].type == 530)
46781 {
46782 num6 = l;
46783 break;
46784 }
46785 }
46786 if (num6 >= 0 && WorldGen.PlaceWire4(num, num2))
46787 {
46789 {
46790 inventory[num6].stack--;
46791 }
46792 if (inventory[num6].stack <= 0)
46793 {
46795 }
46797 NetMessage.SendData(17, -1, -1, null, 16, tileTargetX, tileTargetY);
46798 }
46799 }
46800 else if (sItem.type == 510)
46801 {
46802 if (WorldGen.KillActuator(num, num2))
46803 {
46805 NetMessage.SendData(17, -1, -1, null, 9, tileTargetX, tileTargetY);
46806 }
46807 else if (WorldGen.KillWire4(num, num2))
46808 {
46810 NetMessage.SendData(17, -1, -1, null, 17, tileTargetX, tileTargetY);
46811 }
46812 else if (WorldGen.KillWire3(num, num2))
46813 {
46815 NetMessage.SendData(17, -1, -1, null, 13, tileTargetX, tileTargetY);
46816 }
46817 else if (WorldGen.KillWire2(num, num2))
46818 {
46820 NetMessage.SendData(17, -1, -1, null, 11, tileTargetX, tileTargetY);
46821 }
46822 else if (WorldGen.KillWire(num, num2))
46823 {
46825 NetMessage.SendData(17, -1, -1, null, 6, tileTargetX, tileTargetY);
46826 }
46827 }
46828 else if (sItem.type == 849 && sItem.stack > 0 && WorldGen.PlaceActuator(num, num2))
46829 {
46831 NetMessage.SendData(17, -1, -1, null, 8, tileTargetX, tileTargetY);
46832 if (ItemLoader.ConsumeItem(sItem, this))
46833 {
46834 sItem.stack--;
46835 }
46836 if (sItem.stack <= 0)
46837 {
46838 sItem.SetDefaults();
46839 }
46840 }
46841 if (sItem.type == 3620)
46842 {
46843 Tile tile = Main.tile[num, num2];
46844 if (tile != null && tile.actuator())
46845 {
46846 bool flag = tile.inActive();
46847 if ((!ActuationRodLock || ActuationRodLockSetting == tile.inActive()) && Wiring.Actuate(num, num2) && flag != tile.inActive())
46848 {
46849 ActuationRodLock = true;
46850 ActuationRodLockSetting = !tile.inActive();
46852 NetMessage.SendData(17, -1, -1, null, 19, tileTargetX, tileTargetY);
46853 }
46854 }
46855 }
46856 if (sItem.type == 3625)
46857 {
46858 Point point = default(Point);
46859 ((Point)(ref point))._002Ector(tileTargetX, tileTargetY);
46862 WiresUI.Settings.ToolMode &= ~WiresUI.Settings.MultiToolMode.Actuator;
46863 if (Main.netMode == 1)
46864 {
46865 NetMessage.SendData(109, -1, -1, null, point.X, point.Y, point.X, point.Y, (int)WiresUI.Settings.ToolMode);
46866 }
46867 else
46868 {
46869 Wiring.MassWireOperation(point, point, this);
46870 }
46871 WiresUI.Settings.ToolMode = toolMode;
46872 }
46873 }
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
int stack
The current stack of the item. F:Terraria.Item.maxStack indicates the max possible stack.
Definition Item.cs:396
void SetDefaults(int Type=0)
Definition Item.cs:48800
static bool ConsumeItem(Item item, Player player)
If ModItem.ConsumeItem or any of the GlobalItem.ConsumeItem hooks returns false, sets consume to fals...
This serves as the central class from which item-related functions are carried out....
Definition ItemLoader.cs:26
bool cursorItemIconEnabled
Definition Player.cs:2002
bool ItemTimeIsZero
Definition Player.cs:4402
bool ActuationRodLockSetting
Definition Player.cs:2777
bool ActuationRodLock
Definition Player.cs:2775
static int tileTargetY
Definition Player.cs:2652
static int tileRangeX
Definition Player.cs:2642
bool CanDoWireStuffHere(int x, int y)
Definition Player.cs:46875
static int tileTargetX
Definition Player.cs:2650
void ApplyItemTime(Item sItem, float multiplier=1f, bool? callUseItem=null)
Definition Player.cs:4907
static int tileRangeY
Definition Player.cs:2644
Item[] inventory
The player's normal inventory. Indexes 0-9 hold the hotbar items, 10-49 the rest of the main inventor...
Definition Player.cs:1767
bool controlUseItem
Definition Player.cs:1904

References Terraria.Wiring.Actuate(), Terraria.Player.ActuationRodLock, Terraria.Player.ActuationRodLockSetting, Terraria.Tile.actuator(), Terraria.Player.ApplyItemTime(), Terraria.Player.blockRange, Terraria.Player.CanDoWireStuffHere(), Terraria.ModLoader.ItemLoader.ConsumeItem(), Terraria.Player.controlUseItem, Terraria.Player.cursorItemIconEnabled, Terraria.Main.GamepadDisableCursorItemIcon, Terraria.Entity.height, Terraria.Tile.inActive(), Terraria.Player.inventory, Terraria.Player.itemAnimation, Terraria.Main.ItemIconCacheUpdate(), Terraria.Player.ItemTimeIsZero, Terraria.WorldGen.KillActuator(), Terraria.WorldGen.KillWire(), Terraria.WorldGen.KillWire2(), Terraria.WorldGen.KillWire3(), Terraria.WorldGen.KillWire4(), Terraria.Wiring.MassWireOperation(), Terraria.Main.netMode, Terraria.WorldGen.PlaceActuator(), Terraria.WorldGen.PlaceWire(), Terraria.WorldGen.PlaceWire2(), Terraria.WorldGen.PlaceWire3(), Terraria.WorldGen.PlaceWire4(), Terraria.Entity.position, Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.Item.stack, Terraria.Main.tile, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.GameContent.UI.WiresUI.Settings.ToolMode, and Terraria.Entity.width.

Referenced by Terraria.Player.ItemCheck_OwnerOnlyCode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: