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

◆ SmartSelect_PickToolForStrategy()

void Terraria.Player.SmartSelect_PickToolForStrategy ( int tX,
int tY,
int toolStrategy,
bool wetTile )
inlineprivate

Definition at line 17106 of file Player.cs.

17107 {
17108 for (int i = 0; i < 50; i++)
17109 {
17110 int type = inventory[i].type;
17111 switch (toolStrategy)
17112 {
17113 case 0:
17114 if (ItemID.Sets.Torches[type])
17115 {
17117 return;
17118 }
17119 if (type == 282 || type == 286 || type == 3002 || type == 3112 || type == 4776)
17120 {
17122 }
17123 break;
17124 case 1:
17125 if (inventory[i].hammer > 0)
17126 {
17128 return;
17129 }
17130 break;
17131 case 2:
17132 if (inventory[i].axe > 0)
17133 {
17135 return;
17136 }
17137 break;
17138 case 3:
17139 if (inventory[i].pick > 0)
17140 {
17142 return;
17143 }
17144 break;
17145 case 4:
17146 if (inventory[i].type != 282 && inventory[i].type != 286 && inventory[i].type != 3002 && inventory[i].type != 3112 && inventory[i].type != 4776 && inventory[i].type != 930 && ItemID.Sets.Torches[type] && !ItemID.Sets.WaterTorches[type])
17147 {
17148 if (nonTorch == -1)
17149 {
17151 }
17152 if (inventory[selectedItem].createTile != 4)
17153 {
17154 selectedItem = i;
17155 }
17156 break;
17157 }
17158 if ((type == 282 || type == 286 || type == 3002 || type == 3112 || type == 4776) && wetTile)
17159 {
17161 return;
17162 }
17163 if (type == 930 && wetTile)
17164 {
17165 bool flag = false;
17166 for (int num = 57; num >= 0; num--)
17167 {
17168 if (inventory[num].ammo == inventory[i].useAmmo && inventory[num].stack > 0)
17169 {
17170 flag = true;
17171 break;
17172 }
17173 }
17174 if (flag)
17175 {
17177 return;
17178 }
17179 }
17180 else if (ItemID.Sets.WaterTorches[type])
17181 {
17183 return;
17184 }
17185 break;
17186 case 5:
17187 if (ItemID.Sets.Torches[type])
17188 {
17189 if (nonTorch == -1)
17190 {
17192 }
17193 if (inventory[selectedItem].createTile != 4)
17194 {
17195 selectedItem = i;
17196 }
17197 break;
17198 }
17199 switch (type)
17200 {
17201 case 930:
17202 {
17203 bool flag2 = false;
17204 for (int num2 = 57; num2 >= 0; num2--)
17205 {
17206 if (inventory[num2].ammo == inventory[i].useAmmo && inventory[num2].stack > 0)
17207 {
17208 flag2 = true;
17209 break;
17210 }
17211 }
17212 if (flag2)
17213 {
17215 return;
17216 }
17217 break;
17218 }
17219 case 282:
17220 case 286:
17221 case 3002:
17222 case 3112:
17223 case 4776:
17225 return;
17226 }
17227 break;
17228 case 6:
17229 {
17230 int num3 = Main.tile[tX, tY].frameX / 72;
17231 int num4 = -1;
17232 switch (num3)
17233 {
17234 case 0:
17235 num4 = 929;
17236 break;
17237 case 1:
17238 num4 = 1338;
17239 break;
17240 case 2:
17241 num4 = 1345;
17242 break;
17243 }
17244 if (type == num4)
17245 {
17247 return;
17248 }
17249 break;
17250 }
17251 case 7:
17252 {
17254 if (itemTrader != null && itemTrader.TryGetTradeOption(inventory[i], out var _))
17255 {
17257 return;
17258 }
17260 {
17262 return;
17263 }
17264 break;
17265 }
17266 case 8:
17268 {
17270 return;
17271 }
17272 break;
17273 }
17274 }
17275 }
static bool[] IsPaintScraper
Definition ItemID.cs:229
static bool[] Torches
Definition ItemID.cs:1110
static bool[] WaterTorches
Definition ItemID.cs:1112
static int[] ExtractinatorMode
Definition ItemID.cs:1052
void SmartSelect_SelectItem(int t)
Definition Player.cs:17277
static ItemTrader TryGettingItemTraderFromBlock(Tile targetBlock)
Definition Player.cs:39351
Item[] inventory
Definition Player.cs:1257

References Terraria.ID.ItemID.Sets.ExtractinatorMode, Terraria.ID.ItemID.Sets.IsPaintScraper, Terraria.Main.tile, Terraria.ID.ItemID.Sets.Torches, System.type, Terraria.Item.type, and Terraria.ID.ItemID.Sets.WaterTorches.